Compare commits
131 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 08a117416d | |||
| bd1525dcfb | |||
| 1e5eb1e3b8 | |||
| a1483d63c1 | |||
| 491687d4c1 | |||
| 66bd64cc5e | |||
| f9146cdd58 | |||
| 23e7ac767e | |||
| 3ac7a196c9 | |||
| 202e713cf1 | |||
| 63923da2ca | |||
| 7e22aed739 | |||
| 966b10e731 | |||
| 99eda4cd1b | |||
| 47292bb2bd | |||
| 37dc878f31 | |||
| 7da02460d8 | |||
| f73f4da665 | |||
| ef5985f841 | |||
| 71bb4f7c98 | |||
| 92af4a21c8 | |||
| 5d6c5bab39 | |||
| 8251be9c06 | |||
| 3d744cc8a2 | |||
| 1447bc772a | |||
| 7b24a1dc1e | |||
| d95f40ac88 | |||
| 82ac9a6b03 | |||
| 6ab46b6488 | |||
| 991082fbaf | |||
| 4d338ba2eb | |||
| 94b399e98f | |||
| 5aa41703f7 | |||
| d9aa73b597 | |||
| 6e4e94a8a8 | |||
| ae2a5b2c0d | |||
| 81cbcef31c | |||
| e3d9090e6c | |||
| b8e93270b4 | |||
| ef628d1c86 | |||
| d93b1cb282 | |||
| a66a517c40 | |||
| f3ee34d372 | |||
| c94d1e9894 | |||
| 46a2d6b53c | |||
| c9935007e8 | |||
| 7b9d37c787 | |||
| 8a6a064d37 | |||
| f35f3197c3 | |||
| 78499f44af | |||
| 5b5201f1a6 | |||
| f28ff15ffb | |||
| 4f8bbec9fb | |||
| 77ebf1326c | |||
| fdc95337cf | |||
| 0e053e5e61 | |||
| 6bbb4276c0 | |||
| 6d641c87c4 | |||
| 553f5fb9b8 | |||
| 88dd699715 | |||
| c092e0551b | |||
| c320dc421c | |||
| 0f489a5777 | |||
| 3df709be63 | |||
| 875ac2ce49 | |||
| 698275874f | |||
| 0d4470cd8c | |||
| 5dfc3481c1 | |||
| 8f1b456275 | |||
| b596bfc730 | |||
| d11d268597 | |||
| 4b0ba62c69 | |||
| 313d2bdb41 | |||
| 079f6e61e6 | |||
| 4a781b8cd8 | |||
| 87206f20c8 | |||
| 5a24d4095a | |||
| 3e62553d9c | |||
| d4fb5538e6 | |||
| f6393ef211 | |||
| 355b486595 | |||
| 2356a63aea | |||
| 57c0121cb3 | |||
| 9b97e06f71 | |||
| 9c5a636987 | |||
| 18b00a4192 | |||
| 988caa83fc | |||
| 18dc05c83d | |||
| 5cf18ba8c3 | |||
| 9454afe13a | |||
| 70d39bb4f3 | |||
| a4fd998539 | |||
| 1c673e38c7 | |||
| b43712cdb0 | |||
| 184d4720be | |||
| f08623be3c | |||
| 31218b1451 | |||
| cb34eef6aa | |||
| b9e9521128 | |||
| e59a2bcf80 | |||
| 6fcdca1bb7 | |||
| a985b8ee17 | |||
| c857f2fe70 | |||
| 9416e975e0 | |||
| 5f11d92458 | |||
| 97550dc37e | |||
| 4456e0470a | |||
| 561336aab6 | |||
| 82b38f5bae | |||
| 43a22bed46 | |||
| cd12d9d8e7 | |||
| 15e3245180 | |||
| 730dc5f6c3 | |||
| 3cdc68aaf1 | |||
| e3c08471b6 | |||
| a7048f41ab | |||
| 1c0001af8e | |||
| 8b1ee94296 | |||
| 791abbd9b1 | |||
| 6255a10e80 | |||
| d05a114241 | |||
| 6ebfe91661 | |||
| d0b357d532 | |||
| cc047a29c1 | |||
| 32c8b23199 | |||
| 21366ec47e | |||
| 699d730151 | |||
| a4274f9b59 | |||
| d6d6c7d9ee | |||
| 5bd85dded6 | |||
| e5ef3bad02 |
@@ -609,6 +609,25 @@ Original SolidCraft drawings, Open for owner review; no runtime assignments.
|
||||
| assets/icons/ui/design/svg/model/timeline_stop.svg | SolidCraft contributors | Original history playback icon; canonical grey_cube base and original action cue | MIT OR Apache-2.0 |
|
||||
| assets/icons/ui/design/svg/flat/status_pin.svg | SolidCraft contributors | Original analytic pin icon for persistent viewport results | MIT OR Apache-2.0 |
|
||||
| assets/locales/pending/render-wear.json | SolidCraft contributors | Original UI labels and translations | MIT OR Apache-2.0 |
|
||||
| assets/icons/ui/design/svg/model/equation_curve.svg | SolidCraft contributors | two-tone modelling icon master (64 grid), original SolidCraft artwork | MIT OR Apache-2.0 |
|
||||
| assets/locales/pending/sketch-recent-snap.json | SolidCraft contributors | Original preference messages for the recent centre and midpoint snap | MIT OR Apache-2.0 |
|
||||
| assets/icons/ui/design/svg/model/construction_line.svg | SolidCraft contributors | original icon master (64 grid) | MIT OR Apache-2.0 |
|
||||
| assets/icons/ui/design/svg/model/construction_line_horizontal.svg | SolidCraft contributors | original icon master (64 grid) | MIT OR Apache-2.0 |
|
||||
| assets/icons/ui/design/svg/model/construction_line_vertical.svg | SolidCraft contributors | original icon master (64 grid) | MIT OR Apache-2.0 |
|
||||
| assets/icons/ui/design/svg/model/construction_line_angle.svg | SolidCraft contributors | original icon master (64 grid) | MIT OR Apache-2.0 |
|
||||
| assets/icons/ui/design/svg/model/construction_line_parallel.svg | SolidCraft contributors | original icon master (64 grid) | MIT OR Apache-2.0 |
|
||||
| assets/icons/ui/design/svg/model/construction_line_perpendicular.svg | SolidCraft contributors | original icon master (64 grid) | MIT OR Apache-2.0 |
|
||||
| assets/icons/ui/design/svg/model/construction_line_tangent_external.svg | SolidCraft contributors | original icon master (64 grid) | MIT OR Apache-2.0 |
|
||||
| assets/icons/ui/design/svg/model/construction_line_tangent_at.svg | SolidCraft contributors | original icon master (64 grid) | MIT OR Apache-2.0 |
|
||||
| assets/icons/ui/design/svg/model/construction_line_tangent_two.svg | SolidCraft contributors | original icon master (64 grid) | MIT OR Apache-2.0 |
|
||||
| assets/icons/ui/design/svg/model/construction_line_bisector.svg | SolidCraft contributors | original icon master (64 grid) | MIT OR Apache-2.0 |
|
||||
| docs/book/src/generated/equation-circle.png | SolidCraft contributors | rendered by `cargo xtask book` (`solidcraft-cli snapshot docs/book/scripts/equation-circle.json`; gitignored) | MIT OR Apache-2.0 |
|
||||
| docs/book/src/generated/equation-flower.png | SolidCraft contributors | rendered by `cargo xtask book` (`solidcraft-cli snapshot docs/book/scripts/equation-flower.json`; gitignored) | MIT OR Apache-2.0 |
|
||||
| docs/book/src/generated/equation-involute.png | SolidCraft contributors | rendered by `cargo xtask book` (`solidcraft-cli snapshot docs/book/scripts/equation-involute.json`; gitignored) | MIT OR Apache-2.0 |
|
||||
| docs/book/src/generated/equation-line.png | SolidCraft contributors | rendered by `cargo xtask book` (`solidcraft-cli snapshot docs/book/scripts/equation-line.json`; gitignored) | MIT OR Apache-2.0 |
|
||||
| docs/book/src/generated/equation-parabola.png | SolidCraft contributors | rendered by `cargo xtask book` (`solidcraft-cli snapshot docs/book/scripts/equation-parabola.json`; gitignored) | MIT OR Apache-2.0 |
|
||||
| docs/book/src/generated/equation-spiral.png | SolidCraft contributors | rendered by `cargo xtask book` (`solidcraft-cli snapshot docs/book/scripts/equation-spiral.json`; gitignored) | MIT OR Apache-2.0 |
|
||||
| docs/book/src/generated/equation-wave.png | SolidCraft contributors | rendered by `cargo xtask book` (`solidcraft-cli snapshot docs/book/scripts/equation-wave.json`; gitignored) | MIT OR Apache-2.0 |
|
||||
|
||||
## Code adapted from sibling projects
|
||||
|
||||
|
||||
@@ -130,10 +130,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"cipher",
|
||||
"cipher 0.4.4",
|
||||
"cpufeatures 0.2.17",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "aes"
|
||||
version = "0.9.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "35f0f96ce78e38c3dc6d8948aa8163d06385be74000f3c7a95bf1eef35d3ea32"
|
||||
dependencies = [
|
||||
"cipher 0.5.2",
|
||||
"cpubits",
|
||||
"cpufeatures 0.3.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ahash"
|
||||
version = "0.8.12"
|
||||
@@ -148,6 +159,21 @@ dependencies = [
|
||||
"zerocopy",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "alloc-no-stdlib"
|
||||
version = "2.0.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3"
|
||||
|
||||
[[package]]
|
||||
name = "alloc-stdlib"
|
||||
version = "0.2.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0e76a019e91224d279006ff972f1e984179a6e9feb050adba6ce8274aef23195"
|
||||
dependencies = [
|
||||
"alloc-no-stdlib",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "allocator-api2"
|
||||
version = "0.2.21"
|
||||
@@ -504,6 +530,15 @@ dependencies = [
|
||||
"generic-array",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "block-padding"
|
||||
version = "0.4.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "710f1dd022ef4e93f8a438b4ba958de7f64308434fa6a87104481645cc30068b"
|
||||
dependencies = [
|
||||
"hybrid-array",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "block2"
|
||||
version = "0.5.1"
|
||||
@@ -544,6 +579,16 @@ dependencies = [
|
||||
"rustc_version",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "brotli-decompressor"
|
||||
version = "5.0.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3a32acac15fe1967bc3986b2a6347dffc965602354ea6f450ad07e8bfd253583"
|
||||
dependencies = [
|
||||
"alloc-no-stdlib",
|
||||
"alloc-stdlib",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "bumpalo"
|
||||
version = "3.20.3"
|
||||
@@ -755,7 +800,16 @@ version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6"
|
||||
dependencies = [
|
||||
"cipher",
|
||||
"cipher 0.4.4",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cbc"
|
||||
version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ce2dc9ee5f88d11e0beb842c88b33c8a5cf0d1329c4b19494af42b07dbfe8896"
|
||||
dependencies = [
|
||||
"cipher 0.5.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -844,7 +898,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
|
||||
dependencies = [
|
||||
"crypto-common 0.1.7",
|
||||
"inout",
|
||||
"inout 0.1.4",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cipher"
|
||||
version = "0.5.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e8cf2a2c93cd704877c0858356ed03480ff301ee950b43f1cbe4573b088bfa6c"
|
||||
dependencies = [
|
||||
"crypto-common 0.2.2",
|
||||
"inout 0.2.5",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -969,6 +1033,12 @@ version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7f8f80099a98041a3d1622845c271458a2d73e688351bf3cb999266764b81d48"
|
||||
|
||||
[[package]]
|
||||
name = "cpubits"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "15b85f9c39137c3a891689859392b1bd49812121d0d61c9caf00d46ed5ce06ae"
|
||||
|
||||
[[package]]
|
||||
name = "cpufeatures"
|
||||
version = "0.2.17"
|
||||
@@ -1078,9 +1148,9 @@ version = "4.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "708b509edf7889e53d7efb0ffadd994cc6c2345ccb62f55cfd6b0682165e4fa6"
|
||||
dependencies = [
|
||||
"aes",
|
||||
"block-padding",
|
||||
"cbc",
|
||||
"aes 0.8.4",
|
||||
"block-padding 0.3.3",
|
||||
"cbc 0.1.2",
|
||||
"dbus",
|
||||
"fastrand",
|
||||
"hkdf",
|
||||
@@ -1190,6 +1260,15 @@ version = "1.0.20"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555"
|
||||
|
||||
[[package]]
|
||||
name = "ecb"
|
||||
version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "26f2a8b3e564eba0877223dc343703ad0385794e882e6d13f3a4dd5c6b1f41ac"
|
||||
dependencies = [
|
||||
"cipher 0.5.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ecolor"
|
||||
version = "0.36.2"
|
||||
@@ -1706,7 +1785,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ee8cfcc411d9adbbaba82fb72661cc1bcca13e8bba98b364e62b2dba8f960159"
|
||||
dependencies = [
|
||||
"color_quant",
|
||||
"weezl",
|
||||
"weezl 0.1.12",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2164,10 +2243,20 @@ version = "0.1.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01"
|
||||
dependencies = [
|
||||
"block-padding",
|
||||
"block-padding 0.3.3",
|
||||
"generic-array",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "inout"
|
||||
version = "0.2.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3b5cf4372d022092674a83b8febf5865f7a573cc0c5baec5e49c879b6a20978f"
|
||||
dependencies = [
|
||||
"block-padding 0.4.2",
|
||||
"hybrid-array",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "itertools"
|
||||
version = "0.13.0"
|
||||
@@ -2432,6 +2521,33 @@ version = "0.4.34"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6"
|
||||
|
||||
[[package]]
|
||||
name = "lopdf"
|
||||
version = "0.45.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bfffda0fe1ab0157e1a13c14bebd3f28671f2fccb7922f0722ec53926e6922d3"
|
||||
dependencies = [
|
||||
"aes 0.9.3",
|
||||
"bitflags 2.13.2",
|
||||
"brotli-decompressor",
|
||||
"cbc 0.2.1",
|
||||
"ecb",
|
||||
"encoding_rs",
|
||||
"flate2",
|
||||
"getrandom 0.4.3",
|
||||
"indexmap",
|
||||
"itoa",
|
||||
"log",
|
||||
"md-5",
|
||||
"nom",
|
||||
"rand 0.10.3",
|
||||
"rangemap",
|
||||
"sha2 0.11.1",
|
||||
"stringprep",
|
||||
"thiserror 2.0.21",
|
||||
"weezl 0.2.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "matext4cgmath"
|
||||
version = "0.1.0"
|
||||
@@ -2441,6 +2557,16 @@ dependencies = [
|
||||
"num-complex",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "md-5"
|
||||
version = "0.11.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "69b6441f590336821bb897fb28fc622898ccceb1d6cea3fde5ea86b090c4de98"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"digest 0.11.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.8.3"
|
||||
@@ -2624,6 +2750,15 @@ version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451"
|
||||
|
||||
[[package]]
|
||||
name = "nom"
|
||||
version = "8.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num"
|
||||
version = "0.4.3"
|
||||
@@ -3430,6 +3565,7 @@ version = "0.10.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "65c9fb96cbc91e3478eaae79a69fcd3f1ae4ad052e471fe6732fff548984b4af"
|
||||
dependencies = [
|
||||
"chacha20",
|
||||
"getrandom 0.4.3",
|
||||
"rand_core 0.10.1",
|
||||
]
|
||||
@@ -3474,6 +3610,12 @@ version = "0.1.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ca45419789ae5a7899559e9512e58ca889e41f04f1f2445e9f4b290ceccd1d08"
|
||||
|
||||
[[package]]
|
||||
name = "rangemap"
|
||||
version = "1.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a611d15b50743feb4c76b7d03edcb0e64f399c26961e4efe6975bc398be6aa3d"
|
||||
|
||||
[[package]]
|
||||
name = "raw-window-handle"
|
||||
version = "0.6.2"
|
||||
@@ -3858,8 +4000,8 @@ version = "4.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e4d35ad99a181be0a60ffcbe85d680d98f87bdc4d7644ade319b87076b9dbfd4"
|
||||
dependencies = [
|
||||
"aes",
|
||||
"cbc",
|
||||
"aes 0.8.4",
|
||||
"cbc 0.1.2",
|
||||
"futures-util",
|
||||
"generic-array",
|
||||
"hkdf",
|
||||
@@ -4210,7 +4352,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft"
|
||||
version = "0.26.1"
|
||||
version = "0.27.1"
|
||||
dependencies = [
|
||||
"block2 0.6.2",
|
||||
"eframe",
|
||||
@@ -4246,11 +4388,11 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft-3dx-client"
|
||||
version = "0.26.1"
|
||||
version = "0.27.1"
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft-cli"
|
||||
version = "0.26.1"
|
||||
version = "0.27.1"
|
||||
dependencies = [
|
||||
"image",
|
||||
"log",
|
||||
@@ -4262,7 +4404,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft-derive"
|
||||
version = "0.26.1"
|
||||
version = "0.27.1"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -4271,7 +4413,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft-doc"
|
||||
version = "0.26.1"
|
||||
version = "0.27.1"
|
||||
dependencies = [
|
||||
"log",
|
||||
"serde",
|
||||
@@ -4288,7 +4430,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft-engine"
|
||||
version = "0.26.1"
|
||||
version = "0.27.1"
|
||||
dependencies = [
|
||||
"image",
|
||||
"log",
|
||||
@@ -4309,7 +4451,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft-geom"
|
||||
version = "0.26.1"
|
||||
version = "0.27.1"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"serde_json",
|
||||
@@ -4318,7 +4460,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft-gpu"
|
||||
version = "0.26.1"
|
||||
version = "0.27.1"
|
||||
dependencies = [
|
||||
"image",
|
||||
"log",
|
||||
@@ -4338,7 +4480,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft-io"
|
||||
version = "0.26.1"
|
||||
version = "0.27.1"
|
||||
dependencies = [
|
||||
"cadmpeg-core",
|
||||
"cadmpeg-ir",
|
||||
@@ -4362,7 +4504,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft-kernel"
|
||||
version = "0.26.1"
|
||||
version = "0.27.1"
|
||||
dependencies = [
|
||||
"log",
|
||||
"proptest",
|
||||
@@ -4382,7 +4524,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft-mcp"
|
||||
version = "0.26.1"
|
||||
version = "0.27.1"
|
||||
dependencies = [
|
||||
"serde_json",
|
||||
"solidcraft-engine",
|
||||
@@ -4391,7 +4533,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft-render"
|
||||
version = "0.26.1"
|
||||
version = "0.27.1"
|
||||
dependencies = [
|
||||
"image",
|
||||
"moxcms",
|
||||
@@ -4400,12 +4542,12 @@ dependencies = [
|
||||
"serde_json",
|
||||
"sha2 0.10.9",
|
||||
"solidcraft-geom",
|
||||
"weezl",
|
||||
"weezl 0.1.12",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft-sketch"
|
||||
version = "0.26.1"
|
||||
version = "0.27.1"
|
||||
dependencies = [
|
||||
"harfrust",
|
||||
"serde",
|
||||
@@ -4418,20 +4560,21 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft-space-mouse"
|
||||
version = "0.26.1"
|
||||
version = "0.27.1"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft-ui-egui"
|
||||
version = "0.26.1"
|
||||
version = "0.27.1"
|
||||
dependencies = [
|
||||
"arboard",
|
||||
"egui",
|
||||
"egui-wgpu",
|
||||
"image",
|
||||
"log",
|
||||
"lopdf",
|
||||
"minisign-verify",
|
||||
"nix 0.31.3",
|
||||
"pollster 0.4.0",
|
||||
@@ -4455,7 +4598,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "solidcraft-web"
|
||||
version = "0.26.1"
|
||||
version = "0.27.1"
|
||||
dependencies = [
|
||||
"eframe",
|
||||
"egui",
|
||||
@@ -4510,6 +4653,17 @@ version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731"
|
||||
|
||||
[[package]]
|
||||
name = "stringprep"
|
||||
version = "0.1.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1"
|
||||
dependencies = [
|
||||
"unicode-bidi",
|
||||
"unicode-normalization",
|
||||
"unicode-properties",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "subtle"
|
||||
version = "2.6.1"
|
||||
@@ -4566,7 +4720,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd"
|
||||
dependencies = [
|
||||
"fastrand",
|
||||
"getrandom 0.3.4",
|
||||
"getrandom 0.4.3",
|
||||
"once_cell",
|
||||
"rustix 1.1.5",
|
||||
"windows-sys 0.61.2",
|
||||
@@ -4631,7 +4785,7 @@ dependencies = [
|
||||
"flate2",
|
||||
"half",
|
||||
"quick-error",
|
||||
"weezl",
|
||||
"weezl 0.1.12",
|
||||
"zune-jpeg",
|
||||
]
|
||||
|
||||
@@ -4670,6 +4824,12 @@ dependencies = [
|
||||
"zerovec",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tinyvec"
|
||||
version = "1.13.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fd3ca314f692efd6c868f8408f53fe444634a845f96c028b97d35f6a1f79f0ee"
|
||||
|
||||
[[package]]
|
||||
name = "tokio"
|
||||
version = "1.53.2"
|
||||
@@ -4975,6 +5135,21 @@ version = "1.0.26"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-normalization"
|
||||
version = "0.1.26"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "75cd3fb03d5288b3ba9a1ee103ac7e9cbb59f0b03d64f8ddfcc04dd42758a85d"
|
||||
dependencies = [
|
||||
"tinyvec",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-properties"
|
||||
version = "0.1.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-segmentation"
|
||||
version = "1.13.3"
|
||||
@@ -5376,6 +5551,12 @@ version = "0.1.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88"
|
||||
|
||||
[[package]]
|
||||
name = "weezl"
|
||||
version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d4ca08e5ef825b65b056d9efbd95c8750683f0a6d0466d02e96dc2e4e360f3d2"
|
||||
|
||||
[[package]]
|
||||
name = "wgpu"
|
||||
version = "30.0.1"
|
||||
@@ -5998,7 +6179,7 @@ checksum = "e450f9b2ed1dff33c94c12589a87338689467b9c4f5d8a5710bd09a847d2c8a7"
|
||||
|
||||
[[package]]
|
||||
name = "xtask"
|
||||
version = "0.26.1"
|
||||
version = "0.27.1"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"serde",
|
||||
|
||||
@@ -5,7 +5,7 @@ members = ["crates/*", "apps/*", "xtask"]
|
||||
exclude = ["vendor"]
|
||||
|
||||
[workspace.package]
|
||||
version = "0.26.1"
|
||||
version = "0.27.1"
|
||||
edition = "2024"
|
||||
license = "MIT OR Apache-2.0"
|
||||
rust-version = "1.95"
|
||||
|
||||
@@ -42,8 +42,8 @@
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://trendshift.io/repositories/296178?utm_source=trendshift-badge&utm_medium=badge&utm_campaign=badge-trendshift-296178" target="_blank" rel="noopener noreferrer"><img src="https://trendshift.io/api/badge/trendshift/repositories/296178/daily" alt="tangency-labs%2Fsolidcraft | Trendshift" width="250" height="55"/></a>
|
||||
<a href="https://trendshift.io/repositories/296178?utm_source=trendshift-badge&utm_medium=badge&utm_campaign=badge-trendshift-296178" target="_blank" rel="noopener noreferrer"><img src="https://trendshift.io/api/badge/trendshift/repositories/296178/daily?language=Rust" alt="tangency-labs%2Fsolidcraft | Trendshift (Rust)" width="250" height="55"/></a>
|
||||
<a href="https://trendshift.io/repositories/296178?utm_source=trendshift-badge&utm_medium=badge&utm_campaign=badge-trendshift-296178" target="_blank" rel="noopener noreferrer"><img src="https://trendshift.io/api/badge/trendshift/repositories/296178/daily" alt="tangency-labs%2Fsolidcraft | Trendshift" width="250" height="55"/></a>
|
||||
<a href="https://trendshift.io/repositories/296178?utm_source=trendshift-badge&utm_medium=badge&utm_campaign=badge-trendshift-296178" target="_blank" rel="noopener noreferrer"><img src="https://trendshift.io/api/badge/trendshift/repositories/296178/daily?language=Rust" alt="tangency-labs%2Fsolidcraft | Trendshift (Rust)" width="250" height="55"/></a>
|
||||
</p>
|
||||
|
||||

|
||||
@@ -98,7 +98,7 @@ More commands, the Windows cross-build and the browser build are in [docs/buildi
|
||||
runs its own design session, or with `--connect` it drives the running app so you can watch.
|
||||
Claude Code: `claude mcp add solidcraft -- solidcraft-cli mcp`. If a terminal doesn't find
|
||||
`solidcraft-cli` (older Windows installers don't put it on `PATH`), give its full path (by default
|
||||
`"C:\Program Files\SolidCraft\solidcraft-cli.exe"`). Tools, access rules and an example session:
|
||||
`"C:\\Program Files\\SolidCraft\\solidcraft-cli.exe"`). Tools, access rules and an example session:
|
||||
[docs/mcp.md](docs/mcp.md).
|
||||
|
||||
## Scripts
|
||||
@@ -150,3 +150,4 @@ Tinkercad are trademarks of their respective owners, named only to describe comp
|
||||
[linux-appimage]: https://github.com/tangency-labs/solidcraft/releases/latest/download/solidcraft-linux-x86_64.AppImage
|
||||
[snap-store]: https://snapcraft.io/solidcraft
|
||||
[web-app]: https://solidcraft.io/app
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@ fn run() -> Result<(), String> {
|
||||
let mut session = Session::default();
|
||||
eprintln!("Generating original CAD scene from {recipe_path}");
|
||||
let generation_start = Instant::now();
|
||||
let (commands, command_timings) = session.run_script_timed(&recipe, false).map_err(|e| e.to_string())?;
|
||||
let (commands, command_timings) = session.run_script_timed(&recipe, false, &mut |_, _| {}).map_err(|e| e.to_string())?;
|
||||
let generation_seconds = generation_start.elapsed().as_secs_f64();
|
||||
let design_path = output.with_extension(solidcraft_engine::io::DESIGN_EXT);
|
||||
session.execute("file.save_as", &json!({"path":design_path})).map_err(|e| e.to_string())?;
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
//!
|
||||
//! ```text
|
||||
//! solidcraft-cli run <script.json|design.sc|part.step|mesh.3mf> [--in design|part.step|mesh.3mf] [--out FILE]... [--save FILE] [--quiet] [--results] [--timings] [--profile] [--json-out FILE] [--allow-errors]
|
||||
//! [--param-check off|warn|strict]
|
||||
//! solidcraft-cli eval <script.json|design.sc|part.step> [--in design.sc|part.step] [--json-out FILE] (alias: inspect) measurements as JSON
|
||||
//! solidcraft-cli script <design.sc> [--out script.json] the design's history as a command script
|
||||
//! solidcraft-cli bench-open <design.sc | part.step> [--parse-only] [--save OUT.sc] [--display LEVEL [--edit NAME EXPR]] [--ops script.json] loading timings as JSON lines
|
||||
@@ -57,7 +58,7 @@ struct Command {
|
||||
}
|
||||
|
||||
/// `run`'s lines in the usage.
|
||||
const USAGE_RUN: &str = " solidcraft-cli run <script.json|design.sc|part.step> [--in design.sc|part.step] [--out FILE]... [--save FILE] [--quiet] [--results] [--timings] [--profile] [--json-out FILE] [--allow-errors]\n solidcraft-cli run --in <design.sc|part.step> [--out FILE]...\n (a timeline feature that fails fails the run and nothing is written; --allow-errors writes anyway)\n (--timings prints {timings: [{index, command, ms}], total_ms} for a script, with --results its results too;\n --profile adds each command's profile: {boolean_ms, tessellate_ms, other_ms}, the kernel's share)\n";
|
||||
const USAGE_RUN: &str = " solidcraft-cli run <script.json|design.sc|part.step> [--in design.sc|part.step] [--out FILE]... [--save FILE] [--quiet] [--results] [--timings] [--profile] [--json-out FILE] [--allow-errors]\n [--param-check off|warn|strict]\n solidcraft-cli run --in <design.sc|part.step> [--out FILE]...\n (a timeline feature that fails fails the run and nothing is written; --allow-errors writes anyway)\n (--param-check checks each step against its command's contract: warn reports on stderr, strict stops the run)\n (--timings prints {timings: [{index, command, ms}], total_ms} for a script, with --results its results too;\n --profile adds each command's profile: {boolean_ms, tessellate_ms, other_ms}, the kernel's share)\n";
|
||||
/// `eval`'s lines in the usage.
|
||||
const USAGE_EVAL: &str = " solidcraft-cli eval <script.json|design.sc|part.step> [--in design.sc|part.step] [--json-out FILE] (alias: inspect)\n solidcraft-cli eval --in <script.json|design.sc|part.step> [--json-out FILE]\n (with both inputs, runs the positional script on --in before measuring; does not automatically save the modified design)\n (--json-out FILE writes the JSON that run (with --results, else the measurement) and eval print to FILE instead of stdout,\n as plain UTF-8: a shell's > can re-encode it, e.g. Windows PowerShell adds a byte-order mark)\n";
|
||||
/// `script`'s lines in the usage.
|
||||
@@ -299,18 +300,36 @@ fn load_checked(path: &str, check: solidcraft_engine::schema::ParamCheck) -> Res
|
||||
s.execute("doc.open", &json!({"path": path})).map_err(|e| e.to_string())?;
|
||||
} else {
|
||||
let script = if v.get("features").is_some() && v.get("commands").is_none() { recipe::to_script(&v)? } else { v };
|
||||
// Warn level: each step's `param_warnings` as it completes, even when a later step fails
|
||||
// (stderr, so stdout stays the caller's).
|
||||
let mut warn = |step: usize, r: &Value| {
|
||||
for w in r.get("param_warnings").and_then(Value::as_array).into_iter().flatten() {
|
||||
eprintln!("{path}: step {}: {}", step + 1, w.as_str().unwrap_or_default());
|
||||
}
|
||||
};
|
||||
s.run_script_each(&script, &mut warn).map_err(|e| e.to_string())?;
|
||||
run_script_warning(&mut s, path, &script)?;
|
||||
}
|
||||
Ok(s)
|
||||
}
|
||||
|
||||
/// Run `script`, read from `path`, on `s`. At the warn level each step's `param_warnings` go to
|
||||
/// stderr as the step completes, even when a later step fails (stdout stays the caller's).
|
||||
fn run_script_warning(s: &mut Session, path: &str, script: &Value) -> Result<Vec<Value>, String> {
|
||||
s.run_script_each(script, &mut |step, r| print_param_warnings(path, step, r)).map_err(|e| e.to_string())
|
||||
}
|
||||
|
||||
/// Step `step`'s `param_warnings` on stderr, one per line, named after the script at `path`.
|
||||
fn print_param_warnings(path: &str, step: usize, r: &Value) {
|
||||
for w in r.get("param_warnings").and_then(Value::as_array).into_iter().flatten() {
|
||||
eprintln!("{path}: step {}: {}", step + 1, w.as_str().unwrap_or_default());
|
||||
}
|
||||
}
|
||||
|
||||
/// `--param-check off|warn|strict`: how calls that break a command's parameter contract are
|
||||
/// treated (docs/mcp.md); off when the option isn't given.
|
||||
fn parse_param_check(cmd: &str, args: &[String]) -> Result<solidcraft_engine::schema::ParamCheck, String> {
|
||||
match flag(args, "--param-check") {
|
||||
None if args.iter().any(|a| a == "--param-check") => Err(format!("{cmd}: --param-check wants off, warn or strict")),
|
||||
None => Ok(solidcraft_engine::schema::ParamCheck::Off),
|
||||
Some(v) => {
|
||||
solidcraft_engine::schema::ParamCheck::parse(v).ok_or_else(|| format!("{cmd}: --param-check wants off, warn or strict, not `{v}`"))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn flag<'a>(args: &'a [String], name: &str) -> Option<&'a str> {
|
||||
args.iter().position(|a| a == name).and_then(|i| args.get(i + 1)).map(String::as_str)
|
||||
}
|
||||
@@ -367,7 +386,15 @@ fn print_json(v: &Value, file: Option<&str>) -> Result<(), String> {
|
||||
fn cmd_run(args: &[String]) -> Result<(), String> {
|
||||
install_renderer();
|
||||
let json_out = json_out(args)?;
|
||||
known_args("run", args, &["--in", "--out", "--save", "--json-out"], &["--quiet", "--results", "--timings", "--profile", "--allow-errors"], true)?;
|
||||
// Before the option check, so a bare `--param-check` gets the words `mcp` uses.
|
||||
let check = parse_param_check("run", args)?;
|
||||
known_args(
|
||||
"run",
|
||||
args,
|
||||
&["--in", "--out", "--save", "--json-out", "--param-check"],
|
||||
&["--quiet", "--results", "--timings", "--profile", "--allow-errors"],
|
||||
true,
|
||||
)?;
|
||||
let base = flag(args, "--in");
|
||||
let path = positional(args);
|
||||
if path.is_none() && base.is_none() {
|
||||
@@ -380,23 +407,25 @@ fn cmd_run(args: &[String]) -> Result<(), String> {
|
||||
let (mut s, results) = if want_results || timings {
|
||||
// Collect every command's result or time (scripts only), then process requested files too.
|
||||
let mut s = match base {
|
||||
Some(b) => load(b)?,
|
||||
Some(b) => load_checked(b, check)?,
|
||||
None => Session::default(),
|
||||
};
|
||||
s.param_check = check;
|
||||
let needs = if want_results { "--results needs a script" } else { "--timings needs a script" };
|
||||
let v = read_json(path.ok_or(needs)?)?;
|
||||
let script = path.ok_or(needs)?;
|
||||
let v = read_json(script)?;
|
||||
let out = if timings {
|
||||
let (r, mut t) = s.run_script_timed(&v, profile).map_err(|e| e.to_string())?;
|
||||
let (r, mut t) = s.run_script_timed(&v, profile, &mut |step, r| print_param_warnings(script, step, r)).map_err(|e| e.to_string())?;
|
||||
if want_results && let Some(o) = t.as_object_mut() {
|
||||
o.insert("results".into(), Value::Array(r));
|
||||
}
|
||||
t
|
||||
} else {
|
||||
Value::Array(s.run_script(&v).map_err(|e| e.to_string())?)
|
||||
Value::Array(run_script_warning(&mut s, script, &v)?)
|
||||
};
|
||||
(s, Some(out))
|
||||
} else {
|
||||
(open(base, path)?, None)
|
||||
(open(base, path, check)?, None)
|
||||
};
|
||||
// A feature that fails leaves the bodies as they were before it (a parameter change can
|
||||
// break a feature without failing the command that made it): writing them would hand out
|
||||
@@ -421,16 +450,16 @@ fn cmd_run(args: &[String]) -> Result<(), String> {
|
||||
}
|
||||
|
||||
/// The session `run`, `eval` and `snapshot` start from: `--in` (a design or STEP file) with the
|
||||
/// positional script run on top of it, or either one alone.
|
||||
fn open(base: Option<&str>, path: Option<&String>) -> Result<Session, String> {
|
||||
/// positional script run on top of it, or either one alone, with scripts run at `check`.
|
||||
fn open(base: Option<&str>, path: Option<&String>, check: solidcraft_engine::schema::ParamCheck) -> Result<Session, String> {
|
||||
match (base, path) {
|
||||
(Some(b), Some(p)) => {
|
||||
let mut s = load(b)?;
|
||||
s.run_script(&read_json(p)?).map_err(|e| e.to_string())?;
|
||||
let mut s = load_checked(b, check)?;
|
||||
run_script_warning(&mut s, p, &read_json(p)?)?;
|
||||
Ok(s)
|
||||
}
|
||||
(Some(b), None) => load(b),
|
||||
(None, Some(p)) => load(p),
|
||||
(Some(b), None) => load_checked(b, check),
|
||||
(None, Some(p)) => load_checked(p, check),
|
||||
(None, None) => Err(usage()),
|
||||
}
|
||||
}
|
||||
@@ -473,7 +502,7 @@ fn timeline_ok(s: &Session) -> Result<(), String> {
|
||||
fn cmd_eval(args: &[String]) -> Result<(), String> {
|
||||
let json_out = json_out(args)?;
|
||||
known_args("eval", args, &["--in", "--json-out"], &[], true)?;
|
||||
let mut s = open(flag(args, "--in"), positional(args))?;
|
||||
let mut s = open(flag(args, "--in"), positional(args), solidcraft_engine::schema::ParamCheck::Off)?;
|
||||
let m = s.execute("inspect.measure", &json!({})).map_err(|e| e.to_string())?;
|
||||
let d = s.execute("document.inspect", &json!({})).map_err(|e| e.to_string())?;
|
||||
let out = json!({
|
||||
@@ -567,7 +596,7 @@ fn cmd_snapshot(args: &[String]) -> Result<(), String> {
|
||||
Some(x) => x.parse().ok().filter(|n| (16..=8192).contains(n)).ok_or_else(|| format!("{name} must be 16 to 8192 pixels, not `{x}`")),
|
||||
};
|
||||
let (w, h) = (size("--width", 1280)?, size("--height", 800)?);
|
||||
let mut s = open(flag(args, "--in"), positional(args))?;
|
||||
let mut s = open(flag(args, "--in"), positional(args), solidcraft_engine::schema::ParamCheck::Off)?;
|
||||
// How the bodies are drawn and where the model is cut, through the commands the app's
|
||||
// Appearance dialog and Section Analysis run (`preview`).
|
||||
preview::apply(&mut s, &flags(args, "--body"), &flags(args, "--tool"), flag(args, "--section"))?;
|
||||
@@ -691,17 +720,8 @@ fn cmd_mcp(args: &[String]) -> Result<(), String> {
|
||||
eprintln!("solidcraft mcp: the design's folder is left out because {why}; add it with --allow-path if you mean it");
|
||||
}
|
||||
}
|
||||
// How a headless session treats calls that break a command's parameter contract (docs/mcp.md).
|
||||
let param_check = match flag(args, "--param-check") {
|
||||
None if args.iter().any(|a| a == "--param-check") => return Err("mcp: --param-check wants off, warn or strict".into()),
|
||||
None => solidcraft_engine::schema::ParamCheck::Off,
|
||||
Some(v) => {
|
||||
solidcraft_engine::schema::ParamCheck::parse(v).ok_or_else(|| format!("mcp: --param-check wants off, warn or strict, not `{v}`"))?
|
||||
}
|
||||
};
|
||||
if param_check != solidcraft_engine::schema::ParamCheck::Off && flag(args, "--connect").is_some() {
|
||||
eprintln!("solidcraft mcp: --param-check applies to headless sessions; calls to the app are not checked yet");
|
||||
}
|
||||
// How calls that break a command's parameter contract are treated, headless or bridged.
|
||||
let param_check = parse_param_check("mcp", args)?;
|
||||
let backend: Box<dyn solidcraft_mcp::Backend> = match (flag(args, "--connect"), flag(args, "--in")) {
|
||||
(Some(_), Some(_)) => return Err("mcp: use either --connect or --in, not both".into()),
|
||||
(Some(addr), None) => {
|
||||
@@ -709,7 +729,7 @@ fn cmd_mcp(args: &[String]) -> Result<(), String> {
|
||||
return Err(format!("mcp: --connect wants HOST:PORT, such as 127.0.0.1:7878, not `{addr}`"));
|
||||
};
|
||||
// Serve without the app too: the tools connect once it runs, and say it isn't until then.
|
||||
let mut remote = solidcraft_mcp::Remote::new(addr, flag(args, "--token"));
|
||||
let mut remote = solidcraft_mcp::Remote::new(addr, flag(args, "--token")).with_param_check(param_check);
|
||||
if let Err(e) = remote.try_connect() {
|
||||
eprintln!(
|
||||
"solidcraft mcp: no SolidCraft app at {addr} yet ({e}); start it with `solidcraft --control {port}` \
|
||||
@@ -729,7 +749,8 @@ fn cmd_mcp(args: &[String]) -> Result<(), String> {
|
||||
let auto = !args.iter().any(|a| a == "--headless");
|
||||
if auto && let Some(port) = discover_app() {
|
||||
eprintln!("solidcraft mcp: bridged to the running app at 127.0.0.1:{port} (--headless starts a session of its own)");
|
||||
return serve_mcp(Box::new(solidcraft_mcp::Remote::new(&format!("127.0.0.1:{port}"), flag(args, "--token"))), scope);
|
||||
let remote = solidcraft_mcp::Remote::new(&format!("127.0.0.1:{port}"), flag(args, "--token")).with_param_check(param_check);
|
||||
return serve_mcp(Box::new(remote), scope);
|
||||
}
|
||||
let mut headless = solidcraft_mcp::Headless::default();
|
||||
headless.session.param_check = param_check;
|
||||
|
||||
@@ -288,3 +288,47 @@ fn undoing_an_edit_after_opening_reuses_the_saved_results() {
|
||||
let _ = std::fs::remove_file(&path);
|
||||
let _ = std::fs::remove_file(format!("{}.bak", path.display()));
|
||||
}
|
||||
|
||||
/// A design saved before body names were pinned (#6403) pins them as it opens, as its first
|
||||
/// command would, and opening it is no change. That command pinned them as part of itself, so
|
||||
/// undoing it went back to the unpinned design, which no evaluated result matched: the first
|
||||
/// undo after opening from the command line evaluated every feature again (82-93 s in a
|
||||
/// 5,484-feature design); `doc.open` pinned them after opening, which marked the design changed.
|
||||
#[test]
|
||||
fn a_design_saved_before_names_were_pinned_opens_pinned_and_unchanged() {
|
||||
let plate = solidcraft_engine::sample::samples().into_iter().find(|s| s.name == "Sample Plate").unwrap();
|
||||
let mut built = Session::default();
|
||||
for c in (plate.script)()["commands"].as_array().unwrap() {
|
||||
built.execute(c["command"].as_str().unwrap(), &c["params"]).unwrap();
|
||||
}
|
||||
let mut doc = built.design().into_owned();
|
||||
for f in &mut doc.features {
|
||||
f.body_names.clear();
|
||||
}
|
||||
doc.reserved_body_names.clear();
|
||||
let unpinned = Session::new(doc);
|
||||
let design = unpinned.design();
|
||||
let saved = unpinned.model.saved(&design).unwrap();
|
||||
let bytes = solidcraft_engine::io::write_design_container_with_cache(&design, solidcraft_engine::io::DesignCompression::Fast, None, Some(&saved))
|
||||
.unwrap();
|
||||
let path = temp("unpinned");
|
||||
std::fs::write(&path, &bytes).unwrap();
|
||||
let file = path.to_string_lossy().to_string();
|
||||
// As the command line opens a design (`load`), and as the app does (`doc.open`).
|
||||
let (doc, saved) = solidcraft_engine::io::read_design_file(&file, None::<fn(solidcraft_engine::io::DesignPreview)>).unwrap();
|
||||
for (how, mut s) in [("opened_at", Session::opened_at(doc, saved.as_ref(), Some(&file))), ("doc.open", open(&path))] {
|
||||
assert_eq!(s.model.last_recomputed, 0, "{how}: taken from the file");
|
||||
assert!(s.doc.features.iter().any(|f| !f.body_names.is_empty()), "{how}: the names are pinned");
|
||||
assert!(!s.is_dirty(), "{how}: opening is no change");
|
||||
let read: Vec<Arc<ModelState>> = s.model.results.iter().map(|r| r.state.clone()).collect();
|
||||
s.execute("solid.box", &json!({"length": 3, "width": 3, "height": 3, "operation": "new"})).unwrap();
|
||||
// As in a large design, whose evaluation cache keeps only a few results: undo finds the
|
||||
// results in the model itself or evaluates them again.
|
||||
*s.model.cache.lock().unwrap() = Default::default();
|
||||
s.execute("edit.undo", &json!({})).unwrap();
|
||||
assert_eq!(s.model.last_recomputed, 0, "{how}: the first undo evaluates nothing");
|
||||
assert!(s.model.results.iter().zip(&read).all(|(r, st)| Arc::ptr_eq(&r.state, st)), "{how}: the states read from the file");
|
||||
assert!(!s.is_dirty(), "{how}: undone to the design as opened");
|
||||
}
|
||||
let _ = std::fs::remove_file(&path);
|
||||
}
|
||||
|
||||
@@ -496,6 +496,78 @@ fn timings_and_profile_report_each_command() {
|
||||
assert!(String::from_utf8_lossy(&output.stderr).contains("--timings needs a script"));
|
||||
}
|
||||
|
||||
/// #6921: `--param-check` checks a script's steps against their contracts on every path `run`
|
||||
/// takes (a script alone, on an `--in` design or script, with `--results`, `--timings` or
|
||||
/// `--profile`), and a warning reaches stderr even when a later step fails.
|
||||
#[test]
|
||||
fn param_check_reaches_every_script_run_takes() {
|
||||
let dir = Scratch::new();
|
||||
let typo = dir.0.join("typo.json");
|
||||
let step = json!({"command": "solid.box", "params": {"length": 2, "width": 3, "height": 4, "operaton": "new"}});
|
||||
std::fs::write(&typo, json!({"commands": [step.clone()]}).to_string()).unwrap();
|
||||
let base = dir.0.join("base.solidcraft");
|
||||
json_output(cli().arg("run").arg(dir.script()).arg("--save").arg(&base).output().unwrap());
|
||||
let saved = dir.0.join("saved.solidcraft");
|
||||
let start = dir.script();
|
||||
let (typo, base, saved_arg, start) = (typo.to_str().unwrap(), base.to_str().unwrap(), saved.to_str().unwrap(), start.to_str().unwrap());
|
||||
let paths = [&[][..], &["--in", base], &["--in", start], &["--results"], &["--timings"], &["--timings", "--profile"]];
|
||||
let run = |level: Option<&str>, extra: &[&str]| {
|
||||
std::fs::remove_file(&saved).ok();
|
||||
let check = level.map(|l| ["--param-check", l]).into_iter().flatten();
|
||||
cli().args(["run", typo, "--save", saved_arg]).args(check).args(extra).output().unwrap()
|
||||
};
|
||||
|
||||
// Off, the default: the step runs as it always has, without a word.
|
||||
let off = run(None, &[]);
|
||||
assert!(off.status.success() && !String::from_utf8_lossy(&off.stderr).contains("operaton"), "{off:?}");
|
||||
assert_eq!(body_count(&saved), 1);
|
||||
|
||||
// Warn: each path runs the step, saves, and reports it on stderr; `--results` keeps it too.
|
||||
for extra in paths {
|
||||
let output = run(Some("warn"), extra);
|
||||
let stderr = String::from_utf8_lossy(&output.stderr);
|
||||
assert!(output.status.success(), "{extra:?}: {stderr}");
|
||||
assert!(stderr.contains("step 1: unknown key `operaton`; did you mean `operation`?"), "{extra:?}: {stderr}");
|
||||
assert!(saved.exists(), "{extra:?}");
|
||||
if extra == ["--results"] {
|
||||
let results: Value = serde_json::from_slice(&output.stdout).unwrap();
|
||||
assert!(results[0]["param_warnings"][0].as_str().is_some_and(|w| w.contains("operaton")), "{results}");
|
||||
}
|
||||
}
|
||||
|
||||
// Strict: on each path the run stops at the step, and nothing is written.
|
||||
for extra in paths {
|
||||
let output = run(Some("strict"), extra);
|
||||
let stderr = String::from_utf8_lossy(&output.stderr);
|
||||
assert_eq!(output.status.code(), Some(1), "{extra:?}: {stderr}");
|
||||
assert!(stderr.contains("unknown key `operaton`"), "{extra:?}: {stderr}");
|
||||
assert!(!saved.exists(), "{extra:?}");
|
||||
}
|
||||
|
||||
// Warn, with a later step that fails: the run fails, and the first step's warning is still
|
||||
// reported, timed or not.
|
||||
let failing = dir.0.join("failing.json");
|
||||
let fail = json!({"command": "solid.extrude", "params": {"sketch": "Nope"}});
|
||||
std::fs::write(&failing, json!({"commands": [step, fail]}).to_string()).unwrap();
|
||||
for extra in [&[][..], &["--timings"]] {
|
||||
let output = cli().arg("run").arg(&failing).args(["--param-check", "warn"]).args(extra).output().unwrap();
|
||||
let stderr = String::from_utf8_lossy(&output.stderr);
|
||||
assert_eq!(output.status.code(), Some(1), "{extra:?}: {stderr}");
|
||||
assert!(stderr.contains("step 1: unknown key `operaton`") && stderr.contains("no sketch `Nope`"), "{extra:?}: {stderr}");
|
||||
}
|
||||
|
||||
// A level it doesn't know and a missing value fail.
|
||||
for (bad, says) in [
|
||||
(&["--param-check", "loud"][..], "--param-check wants off, warn or strict, not `loud`"),
|
||||
(&["--param-check"], "run: --param-check wants off, warn or strict"),
|
||||
] {
|
||||
let output = cli().args(["run", typo]).args(bad).output().unwrap();
|
||||
let stderr = String::from_utf8_lossy(&output.stderr);
|
||||
assert_eq!(output.status.code(), Some(1), "{bad:?}: {stderr}");
|
||||
assert!(stderr.contains(says), "{bad:?}: {stderr}");
|
||||
}
|
||||
}
|
||||
|
||||
fn render_setup_script(dir: &Scratch, job: Value) -> PathBuf {
|
||||
let path = dir.0.join("render.json");
|
||||
std::fs::write(
|
||||
|
||||
@@ -34,7 +34,7 @@ serde_json = { workspace = true }
|
||||
web-sys = { version = "0.3", features = [
|
||||
"Window", "Document", "Element", "HtmlElement", "HtmlCanvasElement", "Location", "Navigator", "StorageManager",
|
||||
"FileSystemHandle", "FileSystemDirectoryHandle", "FileSystemFileHandle", "FileSystemGetFileOptions", "FileSystemWritableFileStream",
|
||||
"WritableStream", "File", "FileList", "Blob", "BlobPropertyBag", "Url", "HtmlAnchorElement", "HtmlInputElement", "Storage",
|
||||
"WritableStream", "File", "FileList", "Blob", "BlobPropertyBag", "Url", "HtmlAnchorElement", "HtmlInputElement", "Storage", "StorageEvent",
|
||||
"IdbFactory", "IdbDatabase", "IdbObjectStore", "IdbOpenDbRequest", "IdbRequest", "IdbTransaction", "IdbTransactionMode",
|
||||
"Headers", "ReadableStream", "ReadableStreamDefaultReader",
|
||||
"BeforeUnloadEvent", "Event", "EventTarget", "KeyboardEvent", "Response", "FormData", "RequestInit", "MediaQueryList", "Gamepad", "Performance",
|
||||
|
||||
@@ -119,6 +119,43 @@ fn closes_design(key: &str, command: bool, shift: bool, alt: bool, design_shown:
|
||||
design_shown && command && !shift && !alt && key.eq_ignore_ascii_case("w")
|
||||
}
|
||||
|
||||
/// The settings a tab last wrote to the browser's storage, or loaded from another tab (#8644).
|
||||
/// Every open tab of the app shares that storage, and eframe saves each tab's whole copy every
|
||||
/// 30 s and when the page loses focus, so a tab still holding old settings put them back over a
|
||||
/// change made in another. A change is now written in the frame it is made, and the other tabs
|
||||
/// load it ([`settings_written`]).
|
||||
#[cfg(any(target_arch = "wasm32", test))]
|
||||
#[derive(Default, Debug)]
|
||||
struct PrefsWriter {
|
||||
written: Option<String>,
|
||||
}
|
||||
|
||||
#[cfg(any(target_arch = "wasm32", test))]
|
||||
impl PrefsWriter {
|
||||
/// `prefs` if they are not the settings written or loaded last (they count as written from
|
||||
/// now on).
|
||||
fn take(&mut self, prefs: String) -> Option<String> {
|
||||
if self.written.as_deref() == Some(prefs.as_str()) {
|
||||
return None;
|
||||
}
|
||||
self.written = Some(prefs.clone());
|
||||
Some(prefs)
|
||||
}
|
||||
|
||||
/// The settings the tab holds after loading another tab's: the tab doesn't write them back.
|
||||
fn loaded(&mut self, prefs: String) {
|
||||
self.written = Some(prefs);
|
||||
}
|
||||
}
|
||||
|
||||
/// The settings another tab wrote, from a `storage` event (the browser sends one to every other
|
||||
/// tab of the page when one tab writes). Other keys, and settings taken away (clearing the site's
|
||||
/// data), leave this tab's settings as they are.
|
||||
#[cfg(any(target_arch = "wasm32", test))]
|
||||
fn settings_written(key: Option<&str>, value: Option<String>) -> Option<String> {
|
||||
value.filter(|_| key == Some(solidcraft_ui_egui::prefs::STORAGE_KEY))
|
||||
}
|
||||
|
||||
#[cfg(target_arch = "wasm32")]
|
||||
mod web {
|
||||
use std::rc::Rc;
|
||||
@@ -217,6 +254,24 @@ mod web {
|
||||
on_key.forget();
|
||||
}
|
||||
|
||||
/// Settings another tab wrote, waiting for this tab's next frame (#8644).
|
||||
type PrefsInbox = Rc<std::cell::Cell<Option<String>>>;
|
||||
|
||||
/// Settings another tab of the app writes go to `inbox`, and this tab draws a frame, which
|
||||
/// loads them.
|
||||
fn hear_settings_from_other_tabs(window: &web_sys::Window, ctx: &egui::Context, inbox: PrefsInbox) {
|
||||
let ctx = ctx.clone();
|
||||
let on_storage = wasm_bindgen::closure::Closure::<dyn FnMut(web_sys::StorageEvent)>::new(move |e: web_sys::StorageEvent| {
|
||||
if let Some(prefs) = crate::settings_written(e.key().as_deref(), e.new_value()) {
|
||||
inbox.set(Some(prefs));
|
||||
ctx.request_repaint();
|
||||
}
|
||||
});
|
||||
let _ = window.add_event_listener_with_callback("storage", on_storage.as_ref().unchecked_ref());
|
||||
// The listener lives as long as the page.
|
||||
on_storage.forget();
|
||||
}
|
||||
|
||||
const JAPANESE_FONT_PATH: &str = "./fonts/BIZUDPGothic-Regular.ttf";
|
||||
|
||||
type FontLoadResult = Rc<std::cell::RefCell<Option<Result<Vec<u8>, String>>>>;
|
||||
@@ -246,9 +301,48 @@ mod web {
|
||||
font_language: String,
|
||||
space_mouse: SpaceMouse,
|
||||
wheel_gestures: solidcraft_ui_egui::WebWheelGestures,
|
||||
/// The settings this tab wrote or loaded last, and those another tab wrote since (#8644).
|
||||
prefs_writer: crate::PrefsWriter,
|
||||
other_tab_prefs: PrefsInbox,
|
||||
}
|
||||
|
||||
impl Shell {
|
||||
/// The settings as they are kept between visits: with the user's own language, not a
|
||||
/// session-only English fallback.
|
||||
fn persisted_prefs(&mut self) -> String {
|
||||
let saved = self.font.persisted_language(&self.app.preferences.language).to_owned();
|
||||
let live = std::mem::replace(&mut self.app.preferences.language, saved);
|
||||
let prefs = self.app.prefs();
|
||||
self.app.preferences.language = live;
|
||||
prefs
|
||||
}
|
||||
|
||||
/// A settings change goes to the browser's storage in the frame it is made, and from
|
||||
/// there to the other open tabs (#8644). Input is what changes settings, so a frame
|
||||
/// without any is skipped; eframe's own save still catches anything else.
|
||||
fn store_prefs(&mut self, ctx: &egui::Context) {
|
||||
if !self.launch.persists() || ctx.input(|i| i.events.is_empty()) {
|
||||
return;
|
||||
}
|
||||
let prefs = self.persisted_prefs();
|
||||
let Some(prefs) = self.prefs_writer.take(prefs) else { return };
|
||||
let stored =
|
||||
web_sys::window().and_then(|w| w.local_storage().ok().flatten()).map(|s| s.set_item(solidcraft_ui_egui::prefs::STORAGE_KEY, &prefs));
|
||||
if !matches!(stored, Some(Ok(()))) {
|
||||
log::warn!("settings: the browser's storage did not take them; they are saved again later");
|
||||
self.prefs_writer = crate::PrefsWriter::default();
|
||||
}
|
||||
}
|
||||
|
||||
/// Settings another tab wrote replace this tab's, so this tab's own saves keep them
|
||||
/// instead of putting its older copy back (#8644).
|
||||
fn load_other_tabs_prefs(&mut self) {
|
||||
let Some(prefs) = self.other_tab_prefs.take() else { return };
|
||||
self.app.load_prefs(&prefs);
|
||||
let held = self.persisted_prefs();
|
||||
self.prefs_writer.loaded(held);
|
||||
}
|
||||
|
||||
/// Files from the computer, writes to store, messages and the autosave.
|
||||
fn files_tick(&mut self, ctx: &egui::Context) {
|
||||
if !self.launch.persists() {
|
||||
@@ -647,6 +741,8 @@ mod web {
|
||||
|
||||
impl eframe::App for Shell {
|
||||
fn logic(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) {
|
||||
// First: a language another tab chose fetches its font this frame.
|
||||
self.load_other_tabs_prefs();
|
||||
self.tick_font(ctx);
|
||||
self.app.logic(ctx);
|
||||
self.api.poll();
|
||||
@@ -689,6 +785,7 @@ mod web {
|
||||
self.recovery_prompt(&ctx);
|
||||
}
|
||||
self.watch_text_for_font(&ctx);
|
||||
self.store_prefs(&ctx);
|
||||
}
|
||||
fn persist_egui_memory(&self) -> bool {
|
||||
self.launch.persists()
|
||||
@@ -697,11 +794,8 @@ mod web {
|
||||
if !self.launch.persists() {
|
||||
return;
|
||||
}
|
||||
// Persist the user's own language, not a session-only English fallback.
|
||||
let saved = self.font.persisted_language(&self.app.preferences.language).to_owned();
|
||||
let live = std::mem::replace(&mut self.app.preferences.language, saved);
|
||||
storage.set_string(solidcraft_ui_egui::prefs::STORAGE_KEY, self.app.prefs());
|
||||
self.app.preferences.language = live;
|
||||
let prefs = self.persisted_prefs();
|
||||
storage.set_string(solidcraft_ui_egui::prefs::STORAGE_KEY, prefs);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -822,6 +916,12 @@ mod web {
|
||||
let (sender, receiver) = std::sync::mpsc::channel();
|
||||
let mut app = SolveApp::new(Session::default(), services).with_control(receiver);
|
||||
app.embedded = launch.embed;
|
||||
// Listening before reading: settings another tab writes from now on are
|
||||
// newer than those read here.
|
||||
let other_tab_prefs = PrefsInbox::default();
|
||||
if launch.persists() {
|
||||
hear_settings_from_other_tabs(&window, &cc.egui_ctx, other_tab_prefs.clone());
|
||||
}
|
||||
if launch.persists() && let Some(p) = cc.storage.and_then(|s| solidcraft_ui_egui::prefs::stored(|k| s.get_string(k))) {
|
||||
app.load_prefs(&p);
|
||||
}
|
||||
@@ -865,6 +965,8 @@ mod web {
|
||||
font_language,
|
||||
space_mouse: SpaceMouse::default(),
|
||||
wheel_gestures: solidcraft_ui_egui::WebWheelGestures::default(),
|
||||
prefs_writer: crate::PrefsWriter::default(),
|
||||
other_tab_prefs,
|
||||
}))
|
||||
}),
|
||||
)
|
||||
@@ -1001,4 +1103,28 @@ mod tests {
|
||||
assert!(!closes_design("w", false, false, false, true));
|
||||
assert!(!closes_design("s", true, false, false, true));
|
||||
}
|
||||
|
||||
/// A tab writes its settings when they change, and not again while they stay the same; the
|
||||
/// settings it loaded from another tab aren't written back (#8644).
|
||||
#[test]
|
||||
fn changed_settings_are_written_once_and_loaded_ones_not_at_all() {
|
||||
let mut writer = PrefsWriter::default();
|
||||
assert_eq!(writer.take(r#"{"a":1}"#.into()).as_deref(), Some(r#"{"a":1}"#), "the first settings are written");
|
||||
assert_eq!(writer.take(r#"{"a":1}"#.into()), None, "the same settings are not written again");
|
||||
assert_eq!(writer.take(r#"{"a":2}"#.into()).as_deref(), Some(r#"{"a":2}"#), "a change is written at once");
|
||||
writer.loaded(r#"{"a":3}"#.into());
|
||||
assert_eq!(writer.take(r#"{"a":3}"#.into()), None, "settings from another tab are not written back");
|
||||
assert_eq!(writer.take(r#"{"a":4}"#.into()).as_deref(), Some(r#"{"a":4}"#), "this tab's next change is written");
|
||||
}
|
||||
|
||||
/// Only the settings another tab wrote are loaded: not other keys, and not settings taken
|
||||
/// away by clearing the site's data (#8644).
|
||||
#[test]
|
||||
fn only_settings_another_tab_wrote_are_loaded() {
|
||||
let key = solidcraft_ui_egui::prefs::STORAGE_KEY;
|
||||
assert_eq!(settings_written(Some(key), Some("{}".into())).as_deref(), Some("{}"));
|
||||
assert_eq!(settings_written(Some("solidcraft.webgl"), Some("1".into())), None);
|
||||
assert_eq!(settings_written(Some(key), None), None, "removed settings leave this tab's");
|
||||
assert_eq!(settings_written(None, None), None, "clearing all storage leaves this tab's settings");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -475,6 +475,14 @@ fn send_events(design: &DesignWatch, lines: &Lines, stop: &AtomicBool, mut seen:
|
||||
}
|
||||
}
|
||||
|
||||
/// What this app's control channel does beyond the methods every version has, for a client to
|
||||
/// find out before it relies on it (an older app answers `control.capabilities` with "unknown
|
||||
/// method"). `param_check`: the levels `engine.execute`, `engine.batch` and `engine.script` take
|
||||
/// as a request's own parameter check (#9184).
|
||||
fn capabilities() -> Value {
|
||||
json!({"param_check": solidcraft_engine::schema::ParamCheck::ALL.map(|l| l.name())})
|
||||
}
|
||||
|
||||
/// Write `reply` on the connection: through its subscription once it has one.
|
||||
fn answer(out: &mut TcpStream, events: Option<&Subscription>, reply: &Value) -> std::io::Result<()> {
|
||||
match events {
|
||||
@@ -535,15 +543,20 @@ fn serve_with(
|
||||
let id = msg.get("id").cloned().unwrap_or(Value::Null);
|
||||
let method = msg.get("method").and_then(Value::as_str).unwrap_or("").to_string();
|
||||
let params = msg.get("params").cloned().unwrap_or(json!({}));
|
||||
// A request that timed out may have finished since (#1618). `control.running` only
|
||||
// looks, so it leaves that reply where it is.
|
||||
let late = pending.as_ref().filter(|_| method != "control.running").and_then(|p| match p.reply.try_recv() {
|
||||
// A request that timed out may have finished since (#1618). `control.running` and
|
||||
// `control.capabilities` only look, so they leave that reply where it is.
|
||||
let late = pending.as_ref().filter(|_| !matches!(method.as_str(), "control.running" | "control.capabilities")).and_then(|p| match p
|
||||
.reply
|
||||
.try_recv()
|
||||
{
|
||||
Ok(reply) => Some(reply),
|
||||
Err(TryRecvError::Disconnected) => Some(json!({"ok": false, "error": "the app ended the request without a reply"})),
|
||||
Err(TryRecvError::Empty) => None,
|
||||
});
|
||||
let mut r = if method == "control.running" {
|
||||
json!({"ok": true, "result": running.result(connection)})
|
||||
} else if method == "control.capabilities" {
|
||||
json!({"ok": true, "result": capabilities()})
|
||||
} else if method == "control.pending" {
|
||||
match (pending.take(), late) {
|
||||
(None, _) => json!({"ok": true, "result": {"pending": null}}),
|
||||
@@ -750,6 +763,9 @@ mod tests {
|
||||
let mut watcher = open();
|
||||
let (r, rows) = running(&mut watcher, &|_| true);
|
||||
assert!(r["ok"] == true && rows.is_empty(), "idle: {r}");
|
||||
// What the app's control channel does beyond the methods every version has (#9184).
|
||||
let r = watcher(json!({"id": 0, "method": "control.capabilities", "token": token}));
|
||||
assert_eq!((&r["ok"], &r["result"]["param_check"]), (&json!(true), &json!(["off", "warn", "strict"])), "{r}");
|
||||
|
||||
let mut export = open();
|
||||
let path = "/private/part.step";
|
||||
@@ -781,6 +797,9 @@ mod tests {
|
||||
let own: Vec<&Value> = r["result"]["running"].as_array().unwrap().iter().filter(|row| row["self"] == true).collect();
|
||||
assert_eq!(own.len(), 1, "{r}");
|
||||
assert_eq!(own[0]["command"], "file.export", "{r}");
|
||||
// So may it ask what the app can do: answered at once, not refused as busy.
|
||||
let r = export(json!({"id": 8, "method": "control.capabilities"}));
|
||||
assert_eq!(r["result"]["param_check"], json!(["off", "warn", "strict"]), "{r}");
|
||||
|
||||
gate_tx.send(()).unwrap();
|
||||
assert_eq!(queued.join().unwrap()["result"], "engine.batch");
|
||||
|
||||
@@ -1016,6 +1016,10 @@ fn main() -> eframe::Result {
|
||||
app.session.doc_mut().name = "Sample Plate".into();
|
||||
app.session.mark_saved();
|
||||
app.session.undo.clear();
|
||||
// Built straight into the session, so nothing asked for a fit: frame it at the
|
||||
// home view as any opened design is (#9195). The fit waits for the first layout.
|
||||
app.cam.set_view(solidcraft_engine::render::StandardView::Iso);
|
||||
app.fit_view();
|
||||
}
|
||||
// Lock files next to open designs: a design open on another computer says so (#5467),
|
||||
// the files given at launch included.
|
||||
|
||||
@@ -188,7 +188,7 @@ surface = [
|
||||
sketch = [
|
||||
"arc3", "arc_center", "arc_slot", "arc_slot_center", "arc_tangent",
|
||||
"blend", "circle", "circle2", "circle3", "circle_tt",
|
||||
"circle_ttt", "conic", "constrainer", "dimension", "ellipse",
|
||||
"circle_ttt", "conic", "constrainer", "dimension", "ellipse", "equation_curve",
|
||||
"extend", "finish", "fit_section", "include",
|
||||
"intersect", "intersection_curve", "iso_curve", "line", "line_mid",
|
||||
"offset", "offset_two_sides", "offset_symmetric", "point", "polygon", "polygon_circumscribed", "polygon_edge",
|
||||
@@ -204,7 +204,10 @@ constraint = [
|
||||
"c_polygon", "c_smooth", "c_symmetry", "c_tangent",
|
||||
]
|
||||
construction = [
|
||||
"centerline", "construction", "infinite",
|
||||
"centerline", "construction", "construction_line", "construction_line_angle",
|
||||
"construction_line_bisector", "construction_line_horizontal", "construction_line_parallel",
|
||||
"construction_line_perpendicular", "construction_line_tangent_at", "construction_line_tangent_external",
|
||||
"construction_line_tangent_two", "construction_line_vertical", "infinite",
|
||||
]
|
||||
mesh = [
|
||||
"mesh_body",
|
||||
|
||||
@@ -70,6 +70,16 @@ configuration_table false
|
||||
conic false
|
||||
constrainer false
|
||||
construction false
|
||||
construction_line false
|
||||
construction_line_angle false
|
||||
construction_line_bisector false
|
||||
construction_line_horizontal false
|
||||
construction_line_parallel false
|
||||
construction_line_perpendicular false
|
||||
construction_line_tangent_at false
|
||||
construction_line_tangent_external false
|
||||
construction_line_tangent_two false
|
||||
construction_line_vertical false
|
||||
contact_all false
|
||||
contact_new false
|
||||
contact_off false
|
||||
@@ -95,6 +105,7 @@ edit false
|
||||
ellipse false
|
||||
emboss false
|
||||
environment_map false
|
||||
equation_curve false
|
||||
error false
|
||||
explode false
|
||||
export false
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
|
||||
<title>Construction line through two points</title>
|
||||
<path d="M8 52L56 12" fill="none" stroke="#236ead" stroke-width="4.25" stroke-linejoin="round" stroke-linecap="round" stroke-dasharray="10 5"/>
|
||||
<circle cx="20" cy="42" r="5.8" fill="#ffffff"/>
|
||||
<circle cx="20" cy="42" r="3.4" fill="#236ead"/>
|
||||
<circle cx="44" cy="22" r="5.8" fill="#ffffff"/>
|
||||
<circle cx="44" cy="22" r="3.4" fill="#236ead"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 472 B |
@@ -0,0 +1,8 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
|
||||
<title>Construction line at an angle</title>
|
||||
<path d="M10.26 48.66L58.26 48.66" fill="none" stroke="#6f879c" stroke-width="2.55" stroke-linejoin="round" stroke-linecap="round"/>
|
||||
<path d="M28.65 33.23A24 24 0 0 1 34.26 48.66" fill="none" stroke="#6f879c" stroke-width="2.55" stroke-linejoin="round" stroke-linecap="round"/>
|
||||
<path d="M10.26 48.66L54.26 11.66" fill="none" stroke="#236ead" stroke-width="4.25" stroke-linejoin="round" stroke-linecap="round"/>
|
||||
<circle cx="10.26" cy="48.66" r="5.8" fill="#ffffff"/>
|
||||
<circle cx="10.26" cy="48.66" r="3.4" fill="#236ead"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 646 B |
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
|
||||
<title>Angle bisector</title>
|
||||
<path d="M13.92 12.18L9.92 52.17L54.92 44.17" fill="none" stroke="#6f879c" stroke-width="2.55" stroke-linejoin="round" stroke-linecap="round"/>
|
||||
<path d="M12.11 30.29A22 22 0 0 1 31.58 48.33" fill="none" stroke="#6f879c" stroke-width="2.55" stroke-linejoin="round" stroke-linecap="round"/>
|
||||
<path d="M9.92 52.17L47.3 11.83" fill="none" stroke="#236ead" stroke-width="4.25" stroke-linejoin="round" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 526 B |
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
|
||||
<title>Horizontal construction line</title>
|
||||
<path d="M8 32L56 32" fill="none" stroke="#236ead" stroke-width="4.25" stroke-linejoin="round" stroke-linecap="round" stroke-dasharray="10 5"/>
|
||||
<circle cx="32" cy="32" r="5.8" fill="#ffffff"/>
|
||||
<circle cx="32" cy="32" r="3.4" fill="#236ead"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 362 B |
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
|
||||
<title>Parallel construction line</title>
|
||||
<path d="M9 37L41 9" fill="none" stroke="#6f879c" stroke-width="2.55" stroke-linejoin="round" stroke-linecap="round"/>
|
||||
<path d="M23 55L55 27" fill="none" stroke="#236ead" stroke-width="4.25" stroke-linejoin="round" stroke-linecap="round" stroke-dasharray="10 5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 380 B |
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
|
||||
<title>Perpendicular construction line</title>
|
||||
<path d="M8 44L56 44" fill="none" stroke="#6f879c" stroke-width="2.55" stroke-linejoin="round" stroke-linecap="round"/>
|
||||
<path d="M32 8L32 56" fill="none" stroke="#236ead" stroke-width="4.25" stroke-linejoin="round" stroke-linecap="round"/>
|
||||
<path d="M32 34L42 34L42 44" fill="none" stroke="#6f879c" stroke-width="2.55" stroke-linejoin="round" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 490 B |
@@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
|
||||
<title>Tangent at a curve point</title>
|
||||
<circle cx="32" cy="34.26" r="17" fill="none" stroke="#6f879c" stroke-width="2.55" stroke-linejoin="round" stroke-linecap="round"/>
|
||||
<path d="M8 17.26L56 17.26" fill="none" stroke="#236ead" stroke-width="4.25" stroke-linejoin="round" stroke-linecap="round"/>
|
||||
<circle cx="32" cy="17.26" r="5.8" fill="#ffffff"/>
|
||||
<circle cx="32" cy="17.26" r="3.4" fill="#236ead"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 480 B |
@@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
|
||||
<title>Tangent through an external point</title>
|
||||
<circle cx="21.74" cy="38.77" r="14" fill="none" stroke="#6f879c" stroke-width="2.55" stroke-linejoin="round" stroke-linecap="round"/>
|
||||
<path d="M53.6 8.23L28.55 55.9" fill="none" stroke="#236ead" stroke-width="4.25" stroke-linejoin="round" stroke-linecap="round"/>
|
||||
<circle cx="51.74" cy="11.77" r="5.8" fill="#ffffff"/>
|
||||
<circle cx="51.74" cy="11.77" r="3.4" fill="#236ead"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 502 B |
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
|
||||
<title>Common tangent to two curves</title>
|
||||
<circle cx="20" cy="33.59" r="12" fill="none" stroke="#6f879c" stroke-width="2.55" stroke-linejoin="round" stroke-linecap="round"/>
|
||||
<circle cx="46" cy="33.59" r="8" fill="none" stroke="#6f879c" stroke-width="2.55" stroke-linejoin="round" stroke-linecap="round"/>
|
||||
<path d="M6 19.27L58 27.36" fill="none" stroke="#236ead" stroke-width="4.25" stroke-linejoin="round" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 509 B |
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
|
||||
<title>Vertical construction line</title>
|
||||
<path d="M32 8L32 56" fill="none" stroke="#236ead" stroke-width="4.25" stroke-linejoin="round" stroke-linecap="round" stroke-dasharray="10 5"/>
|
||||
<circle cx="32" cy="32" r="5.8" fill="#ffffff"/>
|
||||
<circle cx="32" cy="32" r="3.4" fill="#236ead"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 360 B |
@@ -0,0 +1,9 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
|
||||
<title>Equation curve</title>
|
||||
<path d="M12 8L12 56M6 32L58 32" fill="none" stroke="#6f879c" stroke-width="2.55" stroke-linejoin="round" stroke-linecap="round"/>
|
||||
<path d="M12 32C15.42 24.83 18.72 18 22.5 18C26.28 18 29.58 24.83 33 32C36.42 39.17 39.72 46 43.5 46C47.28 46 50.58 39.17 54 32" fill="none" stroke="#236ead" stroke-width="4.25" stroke-linejoin="round" stroke-linecap="round"/>
|
||||
<circle cx="12" cy="32" r="5.8" fill="#ffffff"/>
|
||||
<circle cx="12" cy="32" r="3.4" fill="#236ead"/>
|
||||
<circle cx="54" cy="32" r="5.8" fill="#ffffff"/>
|
||||
<circle cx="54" cy="32" r="3.4" fill="#236ead"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 666 B |
@@ -206,6 +206,7 @@
|
||||
"Edges": "الحواف",
|
||||
"Edit": "تعديل",
|
||||
"Edit Profile Sketch": "تعديل رسم المقطع",
|
||||
"Edit shortcuts": "تعديل الاختصارات",
|
||||
"Enable rule": "تفعيل القاعدة",
|
||||
"Enabled": "مفعّل",
|
||||
"End Radius": "نصف القطر النهائي",
|
||||
@@ -468,6 +469,7 @@
|
||||
"Radius": "نصف القطر",
|
||||
"Radius Fit": "ملاءمة نصف القطر",
|
||||
"Ratio": "النسبة",
|
||||
"Read-only list: shortcuts can't be changed here.": "قائمة للقراءة فقط: لا يمكن تغيير الاختصارات هنا.",
|
||||
"Reattach selected face": "إعادة ربط الوجه المحدد",
|
||||
"Recover": "استعادة",
|
||||
"Recover unsaved design?": "استعادة التصميم غير المحفوظ؟",
|
||||
@@ -730,7 +732,7 @@
|
||||
"a picked edge is gone": "الحافة المحددة لم تعد موجودة",
|
||||
"a picked edge's body is gone": "جسم الحافة المحددة لم يعد موجودًا",
|
||||
"add a key for a joint first": "أضف أولًا مفتاحًا لمفصل",
|
||||
"ai.connected_toast": "أصبح SolidCraft متاحًا في {clients}. أعد تشغيلها لاستخدامه (الإعدادات > المساعد).",
|
||||
"ai.connected_toast": "أصبح SolidCraft متاحًا في {clients}. أعد تشغيلها لاستخدامه (التفضيلات > المساعد).",
|
||||
"ai.prefs.allow_control": "السماح لوكلاء الذكاء الاصطناعي بالاتصال (قناة التحكم / MCP)",
|
||||
"ai.prefs.allow_control_note": "يفتح قناة تحكم على هذا الحاسوب فقط (127.0.0.1، المنفذ 27878 أو أول منفذ متاح بعده). على البرنامج الذي يتصل أن يقدّم أيضًا رمزًا سريًا لا يقرؤه إلا حساب المستخدم الخاص بك، ويُنشأ من جديد عند كل تشغيل. يُطبّق في المرة القادمة التي يبدأ فيها SolidCraft. عند الإيقاف: لا شيء يستمع ما لم تشغّل SolidCraft مع --control.",
|
||||
"ai.prefs.availability": "عناصر تحكم المساعد",
|
||||
@@ -773,6 +775,8 @@
|
||||
"at the face": "عند الوجه",
|
||||
"bom.group_children": "الأجزاء الفرعية في صف الجزء الأصلي",
|
||||
"browser.body_name": "جسم {number}",
|
||||
"browser.calibrate_click_a": "انقر على الصورة لتحديد النقطة A، أو اكتب إحداثياتها.",
|
||||
"browser.calibrate_click_b": "انقر على الصورة لتحديد النقطة B، أو اكتب إحداثياتها.",
|
||||
"browser.calibrate_title": "معايرة: {name}",
|
||||
"browser.capture_many": "تم تحريك {count} مكوّنات دون تثبيت مواضعها.",
|
||||
"browser.capture_note": "التثبيت يحتفظ بالموضع الجديد، والإرجاع يعيده كما كان.",
|
||||
@@ -822,6 +826,7 @@
|
||||
"cmd.browser_move": "نقل عناصر المستعرض",
|
||||
"cmd.browser_order": "ترتيب عناصر المستعرض",
|
||||
"cmd.browser_rename_group": "إعادة تسمية المجموعة",
|
||||
"cmd.browser_reparent": "نقل إلى مكوّن",
|
||||
"cmd.browser_ungroup": "فك التجميع",
|
||||
"cmd.browser_visibility": "إظهار/إخفاء",
|
||||
"cmd.canvas_calibrate": "معايرة اللوحة",
|
||||
@@ -848,7 +853,9 @@
|
||||
"cmd.component_metadata": "خصائص القطعة",
|
||||
"cmd.component_metadata_set": "تغيير خصائص القطعة",
|
||||
"cmd.component_move_bodies": "نقل الأجسام إلى مكوّن",
|
||||
"cmd.component_move_features": "نقل الميزات إلى مكوّن",
|
||||
"cmd.component_move_sketches": "نقل الرسومات إلى مكوّن",
|
||||
"cmd.component_paste_from_design": "لصق من تصميم آخر",
|
||||
"cmd.component_paste_new": "لصق كجديد",
|
||||
"cmd.component_properties": "الخصائص الفيزيائية للمكوّن",
|
||||
"cmd.component_relink": "إعادة ربط المصدر",
|
||||
@@ -1076,6 +1083,13 @@
|
||||
"cmd.render_start": "تصيير صورة",
|
||||
"cmd.render_status": "تقدّم التصيير",
|
||||
"cmd.select_clear": "مسح التحديد",
|
||||
"cmd.settings_profile_apply": "تطبيق ملف تعريف الإعدادات",
|
||||
"cmd.settings_profile_delete": "حذف ملف تعريف الإعدادات",
|
||||
"cmd.settings_profile_export": "تصدير ملف تعريف الإعدادات",
|
||||
"cmd.settings_profile_import": "استيراد ملف تعريف الإعدادات",
|
||||
"cmd.settings_profile_list": "ملفات تعريف الإعدادات",
|
||||
"cmd.settings_profile_rename": "إعادة تسمية ملف تعريف الإعدادات",
|
||||
"cmd.settings_profile_save": "حفظ ملف تعريف الإعدادات",
|
||||
"cmd.sheet_convert": "تحويل إلى صفائح معدنية",
|
||||
"cmd.sheet_export_bend_table": "تصدير جدول الثني",
|
||||
"cmd.sheet_export_dxf": "تصدير النمط المسطح بصيغة DXF",
|
||||
@@ -1089,6 +1103,16 @@
|
||||
"cmd.sheet_refold": "إعادة الطي",
|
||||
"cmd.sheet_rules": "قائمة قواعد الصفائح المعدنية",
|
||||
"cmd.sheet_unfold": "فرد",
|
||||
"cmd.sketch.construction_line": "خط إنشائي",
|
||||
"cmd.sketch.construction_line.angle": "خط إنشائي بزاوية",
|
||||
"cmd.sketch.construction_line.bisector": "منصف الزاوية",
|
||||
"cmd.sketch.construction_line.horizontal": "خط إنشائي أفقي",
|
||||
"cmd.sketch.construction_line.parallel": "خط إنشائي موازٍ",
|
||||
"cmd.sketch.construction_line.perpendicular": "خط إنشائي عمودي",
|
||||
"cmd.sketch.construction_line.tangent_at": "مماس عند نقطة على المنحنى",
|
||||
"cmd.sketch.construction_line.tangent_external": "مماس يمر بنقطة خارجية",
|
||||
"cmd.sketch.construction_line.tangent_two": "مماس مشترك",
|
||||
"cmd.sketch.construction_line.vertical": "خط إنشائي رأسي",
|
||||
"cmd.sketch_arc3d": "قوس ثلاثي الأبعاد",
|
||||
"cmd.sketch_arc_center_point": "قوس بنقطة مركز",
|
||||
"cmd.sketch_arc_tangent": "قوس مماسي",
|
||||
@@ -1121,6 +1145,8 @@
|
||||
"cmd.sketch_drawing_bounds": "حجم الرسمة",
|
||||
"cmd.sketch_edit": "تعديل الرسم",
|
||||
"cmd.sketch_edit_text": "تعديل النص",
|
||||
"cmd.sketch_equation_curve": "منحنى معادلة",
|
||||
"cmd.sketch_equation_curve_edit": "تحرير منحنى المعادلة",
|
||||
"cmd.sketch_export_dxf": "حفظ بصيغة DXF",
|
||||
"cmd.sketch_finish_auto_constrain": "إنهاء مع التقييد التلقائي",
|
||||
"cmd.sketch_fit_curves_to_section": "ملاءمة منحنيات لمقطع الشبكة",
|
||||
@@ -1217,6 +1243,7 @@
|
||||
"cmd.view.render_browser": "متصفح التصيير",
|
||||
"cmd.view.render_dock": "نقل لوحة التصيير",
|
||||
"cmd.view.render_focus": "عرض تركيز التصيير",
|
||||
"cmd.view.status_items": "عناصر حالة منطقة العرض",
|
||||
"cmd.view_ambient_occlusion": "الإظلال المحيطي",
|
||||
"cmd.view_angle_readout": "زوايا العرض",
|
||||
"cmd.view_apply": "استعادة عرض مسمّى",
|
||||
@@ -1374,6 +1401,17 @@
|
||||
"help.occurrence.move": "يحرّك جزءًا في التجميع فقط ضمن درجات الحرية التي تسمح بها مفاصله. حدد وجهًا للجزء، ثم اسحب سهمًا أو قوسًا متاحًا.",
|
||||
"help.parameters.change": "يفتح جدول القيم المسماة والتعبيرات التي تتحكم في أبعاد التصميم. استخدمه لتغيير مقاس في مكان واحد فتتبعه كل الميزات التي تستخدمه.",
|
||||
"help.pointcloud.insert": "أدرج مسحًا بصيغة PLY أو XYZ أو PTS كسحابة نقاط بجانب النموذج. استخدمه كمرجع عند النمذجة انطلاقًا من بيانات القياس.",
|
||||
"help.sketch.construction_line": "أنشئ خطًا إنشائيًا لا نهائيًا يمر بنقطتين. استخدمه لتخطيط الرسم دون تقسيم مقاطعه.",
|
||||
"help.sketch.construction_line.angle": "أنشئ خطًا إنشائيًا لا نهائيًا بزاوية من محور X للرسم. اختر النقطة ثم اكتب الزاوية، أو اختر اتجاهه.",
|
||||
"help.sketch.construction_line.bisector": "اختر خطين مستقيمين متقاطعين في الرسم، ثم اختر أحد منصفي الزاوية. يتبع الناتج الخطين اللذين أُنشئ منهما.",
|
||||
"help.sketch.construction_line.horizontal": "أنشئ خطًا إنشائيًا أفقيًا لا نهائيًا يمر بنقطة. يحافظ القيد الأفقي على الاتجاه بعد التعديلات.",
|
||||
"help.sketch.construction_line.parallel": "اختر خطًا مستقيمًا في الرسم ثم ضع خطًا إنشائيًا لا نهائيًا موازيًا له. انقر بزر الفأرة الأيمن لتغيير المرجع.",
|
||||
"help.sketch.construction_line.perpendicular": "اختر خطًا مستقيمًا في الرسم ثم ضع خطًا إنشائيًا لا نهائيًا عموديًا عليه. انقر بزر الفأرة الأيمن لتغيير المرجع.",
|
||||
"help.sketch.construction_line.tangent_at": "أنشئ مماسًا عند نقطة على دائرة أو قوس دائري، أو عند نهاية منحنى شريحي مفتوح أو قطع مخروطي مفتوح. اختر المنحنى ثم نقطة التماس.",
|
||||
"help.sketch.construction_line.tangent_external": "اختر دائرة أو قوسًا دائريًا، ثم نقطة خارجية وحل المماس. تعرض المعاينة نقاط التماس الواقعة على القوس المرسوم فقط.",
|
||||
"help.sketch.construction_line.tangent_two": "اختر دائرتين أو قوسين دائريين ثم اختر مماسًا مشتركًا من المعاينة. يجب أن تقع نقطتا التماس على المنحنيين المرسومين.",
|
||||
"help.sketch.construction_line.vertical": "أنشئ خطًا إنشائيًا رأسيًا لا نهائيًا يمر بنقطة. يحافظ القيد الرأسي على الاتجاه بعد التعديلات.",
|
||||
"help.sketch.equation_curve": "يرسم منحنى من صيغ على مدى: x(t) و y(t)، أو y = f(x). يمكن أن تستخدم الصيغ المعلمات فيتبعها المنحنى: استخدمه لموجة جيبية أو لولب أو منحنى انفلات لسن ترس.",
|
||||
"help.solid.align": "يحرّك الأجسام المحددة بحيث تلتقي نقطة أو وجه أو مستوى منها بنقطة أو وجه أو مستوى في مكان آخر. استخدمه لوضع قطعة ملاصقة لأخرى دون قياس المسافة.",
|
||||
"help.solid.chamfer": "يقطع الحواف المحددة بشطفة مستوية بالمسافة التي تحددها. استخدمه لكسر الحواف الحادة أو لتسهيل إدخال مسمار أو برغي.",
|
||||
"help.solid.combine": "يضم الأجسام، أو يقتطعها من جسم هدف، أو يُبقي الحجم المشترك بينها فقط، ويمكنه الاحتفاظ بأجسام الأداة. استخدمه لدمج القطع، أو لقطع شكل بشكل آخر، أو لمعرفة موضع تداخل جسمين.",
|
||||
@@ -1467,7 +1505,7 @@
|
||||
"home.recovery_hint": "أُغلق SolidCraft قبل حفظ هذه التصاميم.",
|
||||
"home.report_issue": "الإبلاغ عن مشكلة",
|
||||
"home.samples": "أمثلة",
|
||||
"home.settings": "الإعدادات",
|
||||
"home.settings": "التفضيلات",
|
||||
"home.short_date": "{day} {month}",
|
||||
"home.shortcuts": "اختصارات لوحة المفاتيح",
|
||||
"home.start_hint": "أنشئ تصميمًا، أو افتح ملفًا حديثًا، أو استكشف مثالًا.",
|
||||
@@ -1642,7 +1680,7 @@
|
||||
"navbar.custom.hidden_design": "مخفي في التصميم",
|
||||
"navbar.custom.hidden_render": "مخفي في التصيير",
|
||||
"navbar.custom.hide": "إخفاء شريط التنقل",
|
||||
"navbar.custom.hide_idle": "إخفاء حتى التمرير",
|
||||
"navbar.custom.hide_idle": "إخفاء حتى يمر المؤشر فوقه",
|
||||
"navbar.custom.icon_only": "الأيقونة فقط",
|
||||
"navbar.custom.icon_value": "الأيقونة والقيمة",
|
||||
"navbar.custom.icons": "الأيقونات",
|
||||
@@ -1743,6 +1781,7 @@
|
||||
"parts.dimension.thickness": "السماكة",
|
||||
"parts.dimension.width": "العرض",
|
||||
"parts.family.bearing": "محمل كريات أخدودي عميق (الغلاف)",
|
||||
"parts.family.button_head_cap_screw": "برغي برأس زرّي بتجويف سداسي",
|
||||
"parts.family.dowel_pin": "مسمار توجيه أسطواني",
|
||||
"parts.family.hex_bolt": "برغي سداسي الرأس",
|
||||
"parts.family.hex_nut": "صامولة سداسية",
|
||||
@@ -1801,8 +1840,8 @@
|
||||
"prefs.bottom_centre": "أسفل الوسط",
|
||||
"prefs.bottom_right": "أسفل اليمين",
|
||||
"prefs.browser": "المستعرض",
|
||||
"prefs.browser_reveal_on_hover": "إظهار عند التمرير",
|
||||
"prefs.browser_show_note": "«ظاهر» يُبقي المستعرض على الشاشة. «إظهار عند التمرير» يُخفيه حتى يمر المؤشر فوق مكانه أو فوق الشريط الرفيع عند حافته اليسرى، ويبقى مفتوحًا ما دام المؤشر داخله أو كانت قائمة منه مفتوحة.",
|
||||
"prefs.browser_reveal_on_hover": "إظهار عند مرور المؤشر",
|
||||
"prefs.browser_show_note": "«ظاهر» يُبقي المستعرض على الشاشة. «إظهار عند مرور المؤشر» يُخفيه حتى يمر المؤشر فوق مكانه أو فوق الشريط الرفيع عند حافته اليسرى، ويبقى مفتوحًا ما دام المؤشر داخله أو كانت قائمة منه مفتوحة.",
|
||||
"prefs.browser_shown": "ظاهر",
|
||||
"prefs.built_in": "مدمج",
|
||||
"prefs.button_left": "سحب بالزر الأيسر",
|
||||
@@ -1874,6 +1913,8 @@
|
||||
"prefs.layout_note": "المضغوط يثبّت اللوحات على حواف النافذة. شفافية المستعرض متاحة في الوضع العائم. غيّر جهة المساعد من صفحة المساعد.",
|
||||
"prefs.left": "يسار",
|
||||
"prefs.left_click": "نقر أيسر",
|
||||
"prefs.line_drag_draws_one": "الضغط والسحب يرسم خطًا واحدًا",
|
||||
"prefs.line_drag_draws_one_note": "في أداة الخط، الضغط ثم السحب ثم الإفلات يرسم خطًا واحدًا من نقطة الضغط إلى نقطة الإفلات وينتهي هناك. لا تزال النقرات ترسم سلسلة. عند الإيقاف: يضع السحب نقطة حيث يُفلت، كما تفعل النقرة.",
|
||||
"prefs.linked_designs": "التصاميم المرتبطة",
|
||||
"prefs.live_input": "الإدخال المباشر",
|
||||
"prefs.live_preview": "المعاينة المباشرة",
|
||||
@@ -1906,10 +1947,28 @@
|
||||
"prefs.origin_plane_names": "أسماء مستويات الأصل",
|
||||
"prefs.origin_plane_names_note": "الأسماء المعروضة في المستعرض والحوارات والقوائم. {top} هو XY و{front} هو XZ و{right} هو YZ، والمحور Z للأعلى. تحتفظ الأوامر والسكربتات والتصاميم المحفوظة بـ XY وXZ وYZ.",
|
||||
"prefs.overall_speed": "السرعة العامة",
|
||||
"prefs.persistent_ribbon_pressed": "تمييز أوامر الشريط النشطة",
|
||||
"prefs.persistent_ribbon_pressed_help": "تمييز أوامر الشريط أثناء تفعيل تأثيراتها. أوقف هذا الخيار للاحتفاظ بالمظهر المحايد السابق ومساعدة الأوامر.",
|
||||
"prefs.perspective_fov": "مجال الرؤية",
|
||||
"prefs.placement": "الموضع",
|
||||
"prefs.prefer_free_sketch_points": "تفضيل نقاط الرسم القابلة للتحريك عند تداخل النقاط",
|
||||
"prefs.preview_choices": "معاينة اختياراتك",
|
||||
"prefs.project_options_dialog": "مربع حوار خيارات Project",
|
||||
"prefs.profile_active": "ملف التعريف النشط",
|
||||
"prefs.profile_applied": "تم تطبيق ملف التعريف.",
|
||||
"prefs.profile_changed": "تغيّرت الإعدادات منذ حفظ ملف التعريف. «حفظ» يحفظها فيه.",
|
||||
"prefs.profile_deleted": "تم حذف ملف التعريف.",
|
||||
"prefs.profile_export": "تصدير…",
|
||||
"prefs.profile_exported": "تم تصدير ملف التعريف.",
|
||||
"prefs.profile_imported": "تم استيراد ملف التعريف. اختره في «ملف التعريف النشط» للتبديل إليه.",
|
||||
"prefs.profile_name_hint": "اسم ملف التعريف، مثل: حاسوب محمول",
|
||||
"prefs.profile_rename": "إعادة تسمية",
|
||||
"prefs.profile_renamed": "تمت إعادة تسمية ملف التعريف.",
|
||||
"prefs.profile_save": "حفظ",
|
||||
"prefs.profile_saved": "تم حفظ الإعدادات الحالية في ملف التعريف.",
|
||||
"prefs.profile_skipped": "تم تطبيق ملف التعريف؛ احتفظ {n} من الإعدادات بقيمها الحالية (راجع السجل).",
|
||||
"prefs.profiles": "ملفات تعريف الإعدادات",
|
||||
"prefs.profiles_note": "الاختصارات وشريط الأدوات والتنقل والقائمة الدائرية وإعدادات الواجهة، محفوظة معًا تحت اسم واحد وتُبدَّل دفعة واحدة.",
|
||||
"prefs.project_options_dialog": "مربع حوار خيارات الإسقاط",
|
||||
"prefs.project_options_dialog_note": "تشغيل: اختر الهندسة أو الأجسام ورابط الإسقاط قبل الإسقاط. إيقاف: الإبقاء على سير العمل السابق بالاختيار المباشر.",
|
||||
"prefs.quality_default": "افتراضي",
|
||||
"prefs.quality_fastest": "الأسرع",
|
||||
@@ -1918,6 +1977,8 @@
|
||||
"prefs.render_previous_geometry_budget": "استخدام ميزانية الهندسة السابقة لمعاينة التصيير",
|
||||
"prefs.render_previous_geometry_budget_help": "استعادة حد الهندسة الثابت السابق (512 ميبيبايت على سطح المكتب 64 بت، و128 ميبيبايت على المنصات الأخرى) بدلًا من الميزانية المعتمدة على الجهاز.",
|
||||
"prefs.reports_saved": "{n} محفوظة",
|
||||
"prefs.ribbon_reveal": "إظهار مكان نتائج البحث في الشريط",
|
||||
"prefs.ribbon_reveal_note": "عند تمرير المؤشر فوق نتيجة في «البحث في الأوامر» يظهر مكان الأمر في الشريط: تبويبه أو زره أو صفه في القائمة المنسدلة للوحة. ويومض هناك الأمر الذي بدأ من البحث، ويُعلِّم الأمر الجاري من قائمة منسدلة لوحتَه.",
|
||||
"prefs.right_click": "نقر أيمن",
|
||||
"prefs.saving": "الحفظ التلقائي والاستعادة",
|
||||
"prefs.scale_note": "أو Ctrl + / Ctrl − في النافذة. الأزرار 28 px عند 100%.",
|
||||
@@ -1931,13 +1992,22 @@
|
||||
"prefs.shift_add_ctrl_toggle": "Shift يضيف فقط، وCtrl / Cmd يبدّل",
|
||||
"prefs.shift_add_note": "عند التشغيل: Shift يضيف، وCtrl / Cmd يبدّل. عند الإيقاف (الافتراضي): كلاهما يبدّل.",
|
||||
"prefs.shortcuts": "الاختصارات",
|
||||
"prefs.single_surface_analysis": "استخدام تحليل سطح واحد",
|
||||
"prefs.single_surface_analysis_help": "عند إيقاف هذا الخيار، يمكن إبقاء تظليل السطح وتحليل الاستمرارية مفعّلين معًا. عند تشغيله، يبقى آخر تحليل تم بدؤه أو تغييره فقط.",
|
||||
"prefs.sketch_align_points": "المحاذاة مع نقاط الرسم الأخرى أثناء الرسم",
|
||||
"prefs.sketch_align_points_note": "أثناء الرسم، تتحاذى النقطة أفقيًا مع نقطة رسم وعموديًا مع نقطة أخرى في الوقت نفسه، مع خط إرشادي منقط، وتحتفظ النقرة بالمحاذاتين. عند الإيقاف: مع النقطة السابقة فقط، محور واحد في كل مرة.",
|
||||
"prefs.sketch_conflict_colour": "الهندسة المتعارضة بلون التعارض",
|
||||
"prefs.sketch_conflict_colour_note": "عندما تتعارض قيود الرسم، تُرسم المنحنيات والنقاط التي يمسكها قيد فاشل بلون التعارض أيضًا، لا رمزه أو بُعده فقط. عند الإيقاف: تحتفظ بألوانها المعتادة.",
|
||||
"prefs.sketch_construction_lines": "أدوات الخطوط الإنشائية الموسعة",
|
||||
"prefs.sketch_exit_view": "عند انتهاء الرسم",
|
||||
"prefs.sketch_exit_view.keep": "إبقاء العرض الحالي",
|
||||
"prefs.sketch_exit_view.previous": "العودة إلى العرض السابق",
|
||||
"prefs.sketch_exit_view.unless_rotated": "العودة ما لم يُدوَّر العرض",
|
||||
"prefs.sketch_exit_view_note": "أين ينتقل العرض بعد إنهاء الرسم أو الإلغاء أو الضغط على Esc مرتين.",
|
||||
"prefs.sketch_open_look_at": "توجيه العرض نحو الرسم عند فتحه",
|
||||
"prefs.sketch_open_look_at_note": "عند الإيقاف: إنشاء الرسم أو تحريره يُبقي العرض كما هو. يوجّه «النظر إلى» العرض نحو الرسم عند الحاجة.",
|
||||
"prefs.sketch_recent_snap": "الالتقاط التلقائي إلى المراكز ونقاط المنتصف الأخيرة",
|
||||
"prefs.sketch_recent_snap_note": "أثناء الرسم، يلتقط المؤشر الموضع الذي يتقاطع فيه دليلا آخر مركزي دائرتين أو نقطتي منتصف حافتين مستقيمتين. عند الإيقاف: تبقى تلك الأدلة للعرض فقط ولا يتحرك المؤشر.",
|
||||
"prefs.sketch_selection": "الرسم والتحديد",
|
||||
"prefs.sketch_selection_heading": "الرسم والتحديد",
|
||||
"prefs.sketch_selection_note": "كيف تلتقط الرسومات وكيف تحدد النقرات.",
|
||||
@@ -1988,7 +2058,7 @@
|
||||
"prefs.trackpad_zoom_modifier.alt": "⌥ / Alt",
|
||||
"prefs.trackpad_zoom_modifier.cmd": "⌘",
|
||||
"prefs.trackpad_zoom_modifier.ctrl": "Ctrl",
|
||||
"prefs.trackpad_zoom_modifier.help": "اضغط على هذا المفتاح فقط للتكبير عند المؤشر بالتمرير العمودي. يحافظ الإيقاف على سلوك التمرير الحالي.",
|
||||
"prefs.trackpad_zoom_modifier.help": "اضغط مع الاستمرار على هذا المفتاح وحده للتكبير عند المؤشر بالتمرير العمودي. عند الإيقاف يبقى سلوك التمرير كما هو.",
|
||||
"prefs.trackpad_zoom_modifier.off": "إيقاف",
|
||||
"prefs.translucent": "شفاف",
|
||||
"prefs.under_browser": "تحت المستعرض",
|
||||
@@ -2005,10 +2075,16 @@
|
||||
"prefs.wheel": "العجلة",
|
||||
"prefs.wheel_trackpad": "العجلة ولوحة اللمس",
|
||||
"prefs.workspace": "مساحة العمل",
|
||||
"prefs.zoom_stop_at_model": "إيقاف التكبير عند النموذج",
|
||||
"prefs.zoom_stop_at_model_tip": "تُكبّر الفأرة ثلاثية الأبعاد وتطبيق الجهاز نحو السطح في منتصف العرض، ويثبّت التكبير بالسحب نقطة بدء السحب. عند الإيقاف يمكن للتكبير المرور عبر النموذج. تستخدم العجلة وإيماءة القرص إعداد التكبير نحو المؤشر بشكل مستقل",
|
||||
"prefs.zoom_toward_cursor": "التكبير نحو المؤشر",
|
||||
"properties.title": "الخصائص: {name}",
|
||||
"recovery.days_ago": "قبل {count} يوم",
|
||||
"recovery.detail": "{file} · {features} ميزة · حُفظ تلقائيًا {when}",
|
||||
"recovery.discard_all": "تجاهل الكل",
|
||||
"recovery.discard_all_detail": "لا يمكن التراجع عن هذا الإجراء.",
|
||||
"recovery.discard_all_title": "تجاهل {count} من عمليات الحفظ التلقائي؟",
|
||||
"recovery.discard_all_title_one": "تجاهل حفظ تلقائي واحد؟",
|
||||
"recovery.hours_ago": "قبل {count} ساعة",
|
||||
"recovery.just_now": "الآن",
|
||||
"recovery.min_ago": "قبل {count} دقيقة",
|
||||
@@ -2702,7 +2778,7 @@
|
||||
"render.light_intensity": "الشدة",
|
||||
"render.light_missing": "هذا الضوء لم يعد موجودًا. اختر ضوءًا في المتصفح.",
|
||||
"render.light_place_highlight": "وضع بالتمييز",
|
||||
"render.light_place_pending": "الوضع بالتمييز يتطلب اختيار الأضواء في منفذ العرض وهو غير مدعوم بعد.",
|
||||
"render.light_place_pending": "الوضع بالتمييز يتطلب اختيار الأضواء في منطقة العرض وهو غير مدعوم بعد.",
|
||||
"render.light_position": "الموضع",
|
||||
"render.light_preview_help": "العرض الحي بلا ظلال؛ الأضواء المساحية تستخدم تقريب عينة المركز. التصيير يستخدم نموذج الضوء الكامل.",
|
||||
"render.light_product_centre": "مركز المنتج",
|
||||
@@ -3355,6 +3431,7 @@
|
||||
"settings.double_click_components": "انقر نقرًا مزدوجًا على مكوّن لتنشيطه، أو لتحرير مكوّن مرتبط في مكانه",
|
||||
"settings.frame_rate_details_note": "يضيف رسمًا لأزمنة الإطارات الأخيرة مع المثلثات المرسومة فوقه، ومدرّجًا تكراريًا لأزمنة الإطارات، وما رسمته وحدة GPU. انقر معدل الإطارات في العرض لإظهارها أو إخفائها.",
|
||||
"settings.frame_rate_note": "يعرض الإطارات في الثانية في الزاوية اليمنى السفلية من العرض. أثناء تفعيله يُعاد رسم العرض باستمرار.",
|
||||
"settings.insert_lists_open_designs": "يعرض إدراج تصميم أولًا التصاميم المفتوحة في علامات التبويب الأخرى",
|
||||
"settings.measure_axis_distances": "إظهار المسافات على X/Y/Z",
|
||||
"settings.measure_axis_distances_help": "إظهار مركّبات الأبعاد على محاور العالم بجانب المسافة الكلية أثناء فتح أداة القياس.",
|
||||
"settings.msaa_applies_on_restart": "يُطبّق تنعيم الحواف في المرة القادمة التي يبدأ فيها SolidCraft",
|
||||
@@ -3379,6 +3456,10 @@
|
||||
"shortcut.unpin": "إلغاء التثبيت",
|
||||
"sketch is missing": "الرسم مفقود",
|
||||
"sketch.degrees_of_freedom": "{count} درجات حرية",
|
||||
"sketch.dimension_added_driven": "الرسم يحدد هذا البُعد بالفعل، لذا أُضيف بُعدًا مُشتقًا (مرجعيًا)",
|
||||
"sketch.dimension_applied": "تم تطبيق البُعد",
|
||||
"sketch.dimension_applied_defined": "تم تطبيق البُعد؛ تم تعريف المعامل `{name}`",
|
||||
"sketch.dimension_applied_renamed": "تم تطبيق البُعد؛ أصبح اسم المعامل `{name}`",
|
||||
"sketch.dof_left": "تبقّت {count} درجات حرية",
|
||||
"sketch.dof_left_one": "تبقّت {count} درجة حرية",
|
||||
"sketch.draw_curves": "الرسم كـ {linetype}",
|
||||
@@ -3448,8 +3529,10 @@
|
||||
"timeline.delete_folders_tip": "الإبقاء على ميزاتها ومجلداتها الفرعية في السجل",
|
||||
"timeline.delete_folders_with_features_tip": "حذف المجلدات مع كل الميزات التي فيها والمجلدات المتداخلة فيها",
|
||||
"timeline.delete_many": "حذف {count} ميزات محددة",
|
||||
"timeline.edited_rolled_back": "تم تغيير {name}، لكنه يقع بعد مؤشر السجل ولذلك لا يُبنى: انقل المؤشر إلى ما بعده لرؤية النتيجة",
|
||||
"timeline.feature_error": "خطأ: {message}",
|
||||
"timeline.feature_hint": "انقر نقرًا مزدوجًا للتحرير · اسحب لإعادة الترتيب · انقر بالزر الأيمن للمزيد",
|
||||
"timeline.feature_rolled_back": "تم التراجع: بعد مؤشر السجل، لذلك لا يُبنى",
|
||||
"timeline.feature_warning": "تحذير: {message}",
|
||||
"timeline.group": "مجلد ميزات جديد",
|
||||
"timeline.move_many": "نقل عناصر الخط الزمني",
|
||||
@@ -3531,6 +3614,10 @@
|
||||
"ui.3d_mouse_offer": "معايرة الفأرة ثلاثية الأبعاد تصلح المحاور المتبادلة أو المعكوسة وتضبط سرعتها وإحساسها.",
|
||||
"ui.3d_mouse_offer_never": "عدم الإظهار مرة أخرى",
|
||||
"ui.3d_mouse_offer_swap": "التبديل إلى Hidraw",
|
||||
"ui.3d_mouse_orbit": "تدوير العرض",
|
||||
"ui.3d_mouse_orbit_classic": "كلاسيكي",
|
||||
"ui.3d_mouse_orbit_tip": "متتبَّع: تُدير الفأرة ثلاثية الأبعاد العرض حول جزء النموذج الموجود في منتصف العرض عند بدء الدوران، وتُعلّمه بكرة باهتة. كلاسيكي: حول مركز العرض",
|
||||
"ui.3d_mouse_orbit_traced": "متتبَّع",
|
||||
"ui.3d_mouse_reading": "القراءة",
|
||||
"ui.3d_mouse_reset_axes": "إعادة تعيين المحاور",
|
||||
"ui.3d_mouse_reset_view": "إعادة تعيين العرض",
|
||||
@@ -3917,6 +4004,15 @@
|
||||
"ui.constant": "ثابت",
|
||||
"ui.constraints_conflict": "تعارض في القيود",
|
||||
"ui.construction": "مساعد",
|
||||
"ui.construction.angle_hint": "خط إنشائي: انقر نقطة ثم أدخل زاوية أو اختر اتجاهًا",
|
||||
"ui.construction.bisector_hint": "منصف زاوية: اختر خطين مستقيمين متقاطعين ثم الحل المطلوب",
|
||||
"ui.construction.common_hint": "مماس مشترك: اختر دائرتين/قوسين ثم الحل المطلوب",
|
||||
"ui.construction.contact_hint": "مماس: اختر دائرة/قوسًا أو منحنى شريحيًا/قطعًا مخروطيًا مفتوحًا ثم نقطة التماس (للمنحنيات الحرة: النهايات فقط)",
|
||||
"ui.construction.external_hint": "مماس: اختر دائرة أو قوسًا ثم نقطة خارجية ثم الحل المطلوب",
|
||||
"ui.construction.free_hint": "خط إنشائي: انقر نقطتين؛ انقر بزر الفأرة الأيمن للبدء من جديد",
|
||||
"ui.construction.point_hint": "خط إنشائي: انقر نقطة المرور",
|
||||
"ui.construction.reference_hint": "خط إنشائي: اختر خطًا مستقيمًا ثم نقطة؛ انقر بزر الفأرة الأيمن لتغيير المرجع",
|
||||
"ui.construction.ribbon_label": "خطوط مساعدة",
|
||||
"ui.context_menu": "القائمة السياقية",
|
||||
"ui.continuity_g0": "G0 تجعّد",
|
||||
"ui.continuity_g1": "G1 مماس",
|
||||
@@ -4008,6 +4104,14 @@
|
||||
"ui.end_scale": "مقياس النهاية",
|
||||
"ui.entities": "العناصر",
|
||||
"ui.equal": "متساوٍ",
|
||||
"ui.equation_end": "النهاية",
|
||||
"ui.equation_explicit": "صريح",
|
||||
"ui.equation_form": "الشكل",
|
||||
"ui.equation_note": "المتغير رقم بلا وحدة: تأخذه sin(t) بالراديان. والنتيجة التي بلا وحدة تكون بوحدة التصميم.",
|
||||
"ui.equation_parametric": "بارامتري",
|
||||
"ui.equation_x_of_t": "x(t)",
|
||||
"ui.equation_y_of_t": "y(t)",
|
||||
"ui.equation_y_of_x": "y(x)",
|
||||
"ui.equivalent_radius": "نصف القطر المكافئ",
|
||||
"ui.expand": "توسيع",
|
||||
"ui.exportDxf": "تصدير DXF…",
|
||||
@@ -4073,6 +4177,7 @@
|
||||
"ui.heading_design": "التصميم",
|
||||
"ui.heading_draft": "ميل السحب",
|
||||
"ui.heading_edit": "تعديل",
|
||||
"ui.heading_equation_curve": "منحنى معادلة",
|
||||
"ui.heading_extrude": "بثق",
|
||||
"ui.heading_fillet": "تقويس",
|
||||
"ui.heading_finish_editing": "إنهاء التحرير",
|
||||
@@ -4164,6 +4269,10 @@
|
||||
"ui.import_ellipsis": "استيراد…",
|
||||
"ui.infinite": "لا نهائي",
|
||||
"ui.insert": "إدراج",
|
||||
"ui.insert_design.browse": "استعراض…",
|
||||
"ui.insert_design.open_designs": "التصاميم المفتوحة",
|
||||
"ui.insert_design.saved_file": "في {name} تغييرات غير محفوظة، لذا أُدرج ملفه المحفوظ. احفظه، ثم استخدم تحديث الروابط لإدخال التغييرات.",
|
||||
"ui.insert_design.unsaved": "تغييرات غير محفوظة",
|
||||
"ui.inspect": "فحص",
|
||||
"ui.intersect": "تقاطع",
|
||||
"ui.isolate": "عزل",
|
||||
@@ -4387,6 +4496,7 @@
|
||||
"ui.select": "تحديد",
|
||||
"ui.selectOther": "تحديد آخر…",
|
||||
"ui.selectTangentChain": "تحديد سلسلة مماسية",
|
||||
"ui.select_all": "تحديد الكل",
|
||||
"ui.selection": "التحديد",
|
||||
"ui.selection_modifiers": "مُعدِّلات التحديد",
|
||||
"ui.selection_shift_add_only": "Shift مع النقر يضيف دون إزالة",
|
||||
|
||||
@@ -206,6 +206,7 @@
|
||||
"Edges": "Ivice",
|
||||
"Edit": "Uredi",
|
||||
"Edit Profile Sketch": "Uredi skicu profila",
|
||||
"Edit shortcuts": "Uredi prečice",
|
||||
"Enable rule": "Omogući pravilo",
|
||||
"Enabled": "Omogućeno",
|
||||
"End Radius": "Krajnji poluprečnik",
|
||||
@@ -468,6 +469,7 @@
|
||||
"Radius": "Poluprečnik",
|
||||
"Radius Fit": "Uklapanje poluprečnika",
|
||||
"Ratio": "Omjer",
|
||||
"Read-only list: shortcuts can't be changed here.": "Popis samo za čitanje: prečice se ovdje ne mogu mijenjati.",
|
||||
"Reattach selected face": "Ponovo pričvrsti izabrano lice",
|
||||
"Recover": "Oporavi",
|
||||
"Recover unsaved design?": "Oporaviti nesačuvani dizajn?",
|
||||
@@ -652,6 +654,7 @@
|
||||
"Third point": "Treća tačka",
|
||||
"This child is shared. Deleting it removes it from every copy of its parent.": "Ovaj podređeni element je dijeljen. Brisanjem se uklanja iz svake kopije njegovog roditelja.",
|
||||
"This child is shared. Position changes apply to every copy of its parent.": "Ovaj podređeni element je dijeljen. Promjene položaja primjenjuju se na svaku kopiju njegovog roditelja.",
|
||||
"This component is inside a subassembly placed more than once: aligning it moves it in every placement.": "Ova komponenta je unutar podsklopa koji je postavljen više puta: njeno poravnavanje pomjera je u svakom postavljanju.",
|
||||
"This face cannot provide a durable attachment. Choose another face or explicitly use a fixed plane.": "Ovo lice ne može dati trajno pričvršćenje. Izaberite drugo lice ili izričito koristite fiksnu ravan.",
|
||||
"This image is not attached to GitHub yet. Copy or save it, then attach it on GitHub.": "Ova slika još nije priložena na GitHubu. Kopirajte je ili sačuvajte, a zatim je priložite na GitHubu.",
|
||||
"Thread depth": "Dubina navoja",
|
||||
@@ -793,6 +796,11 @@
|
||||
"cam.roller": "Valjak",
|
||||
"cam.roller_pick": "Valjak (neobavezno)",
|
||||
"cam.tip_pick": "Vrh (neobavezno)",
|
||||
"camera.shot_pitch": "Nagib",
|
||||
"camera.shot_roll": "Valjanje",
|
||||
"camera.shot_yaw": "Skretanje",
|
||||
"canvas.decal_place_hint": "Kliknite lice da postavite naljepnicu",
|
||||
"canvas.place_hint": "Kliknite ravan ili lice da postavite platno",
|
||||
"choose a profile": "izaberite profil",
|
||||
"choose the cam's and the follower's joints": "izaberite spojeve brijega i pratioca",
|
||||
"choose the joints to couple": "izaberite spojeve koje treba spregnuti",
|
||||
@@ -800,9 +808,12 @@
|
||||
"click sketch curves": "kliknite na krive skice",
|
||||
"cmd.appearance_assign": "Izgled",
|
||||
"cmd.appearance_chain": "Lanac izgleda",
|
||||
"cmd.appearance_copy": "Kopiraj izgled",
|
||||
"cmd.appearance_favorite": "Omiljeni izgled",
|
||||
"cmd.appearance_library": "Biblioteka izgleda",
|
||||
"cmd.appearance_list": "Popis izgleda",
|
||||
"cmd.appearance_paint": "Oboji izgledom",
|
||||
"cmd.appearance_paste": "Zalijepi izgled",
|
||||
"cmd.appearance_pick_up": "Preuzmi izgled",
|
||||
"cmd.appearance_replace": "Zamijeni izgled",
|
||||
"cmd.assembly_bom": "Sastavnica",
|
||||
@@ -813,6 +824,7 @@
|
||||
"cmd.browser_move": "Premjesti stavke stabla modela",
|
||||
"cmd.browser_order": "Poredaj stavke stabla modela",
|
||||
"cmd.browser_rename_group": "Preimenuj grupu",
|
||||
"cmd.browser_reparent": "Premjesti u komponentu",
|
||||
"cmd.browser_ungroup": "Razgrupiši",
|
||||
"cmd.browser_visibility": "Prikaži/sakrij",
|
||||
"cmd.canvas_calibrate": "Kalibriši platno",
|
||||
@@ -839,7 +851,9 @@
|
||||
"cmd.component_metadata": "Svojstva dijela",
|
||||
"cmd.component_metadata_set": "Promijeni svojstva dijela",
|
||||
"cmd.component_move_bodies": "Premjesti tijela u komponentu",
|
||||
"cmd.component_move_features": "Premjesti operacije u komponentu",
|
||||
"cmd.component_move_sketches": "Premjesti skice u komponentu",
|
||||
"cmd.component_paste_from_design": "Zalijepi iz drugog dizajna",
|
||||
"cmd.component_paste_new": "Zalijepi kao novo",
|
||||
"cmd.component_properties": "Fizička svojstva komponente",
|
||||
"cmd.component_relink": "Ponovo poveži izvor",
|
||||
@@ -976,6 +990,7 @@
|
||||
"cmd.motion_trace": "Trag kretanja",
|
||||
"cmd.motion_trace_edit": "Uredi trag kretanja",
|
||||
"cmd.motion_trace_keep": "Zadrži trag kretanja",
|
||||
"cmd.occurrence_align": "Poravnaj primjerak",
|
||||
"cmd.occurrence_copy": "Zalijepi (primjerak)",
|
||||
"cmd.occurrence_drag": "Povuci primjerak",
|
||||
"cmd.occurrence_ground": "Učvrsti",
|
||||
@@ -1033,11 +1048,17 @@
|
||||
"cmd.render_library_surface_unbind": "Ukloni vezu površine",
|
||||
"cmd.render_library_targets": "Pronađi ciljeve biblioteke renderovanja",
|
||||
"cmd.render_lights_add": "Dodaj svjetlo",
|
||||
"cmd.render_lights_duplicate": "Dupliciraj svjetlo renderovanja",
|
||||
"cmd.render_lights_list": "Popis svjetala renderovanja",
|
||||
"cmd.render_lights_mute": "Isključi svjetlo",
|
||||
"cmd.render_lights_remove": "Ukloni svjetlo renderovanja",
|
||||
"cmd.render_lights_set": "Postavi svjetlo renderovanja",
|
||||
"cmd.render_lights_solo": "Samo ovo svjetlo",
|
||||
"cmd.render_optics_bind": "Sačuvaj optičku vezu",
|
||||
"cmd.render_optics_unbind": "Ukloni optičku vezu",
|
||||
"cmd.render_output_size": "Postavi veličinu izlaza renderovanja",
|
||||
"cmd.render_preflight": "Provjeri zahtjev za renderovanje",
|
||||
"cmd.render_preflight_copy": "Kopiraj izvještaj provjere renderovanja",
|
||||
"cmd.render_preset_apply": "Primijeni izvorni studio",
|
||||
"cmd.render_preset_resolve": "Pregledaj izvorni studio",
|
||||
"cmd.render_quality_prepare": "Pregledaj fiksni budžet uzorkovanja",
|
||||
@@ -1060,6 +1081,13 @@
|
||||
"cmd.render_start": "Renderuj sliku",
|
||||
"cmd.render_status": "Napredak renderovanja",
|
||||
"cmd.select_clear": "Poništi izbor",
|
||||
"cmd.settings_profile_apply": "Primijeni profil postavki",
|
||||
"cmd.settings_profile_delete": "Izbriši profil postavki",
|
||||
"cmd.settings_profile_export": "Izvezi profil postavki",
|
||||
"cmd.settings_profile_import": "Uvezi profil postavki",
|
||||
"cmd.settings_profile_list": "Profili postavki",
|
||||
"cmd.settings_profile_rename": "Preimenuj profil postavki",
|
||||
"cmd.settings_profile_save": "Sačuvaj profil postavki",
|
||||
"cmd.sheet_convert": "Pretvori u lim",
|
||||
"cmd.sheet_export_bend_table": "Izvezi tabelu savijanja",
|
||||
"cmd.sheet_export_dxf": "Izvezi razvijeni oblik kao DXF",
|
||||
@@ -1073,6 +1101,16 @@
|
||||
"cmd.sheet_refold": "Ponovo presavij",
|
||||
"cmd.sheet_rules": "Popis pravila za lim",
|
||||
"cmd.sheet_unfold": "Razvij",
|
||||
"cmd.sketch.construction_line": "Pomoćna prava",
|
||||
"cmd.sketch.construction_line.angle": "Pomoćna prava pod uglom",
|
||||
"cmd.sketch.construction_line.bisector": "Simetrala ugla",
|
||||
"cmd.sketch.construction_line.horizontal": "Horizontalna pomoćna prava",
|
||||
"cmd.sketch.construction_line.parallel": "Paralelna pomoćna prava",
|
||||
"cmd.sketch.construction_line.perpendicular": "Okomita pomoćna prava",
|
||||
"cmd.sketch.construction_line.tangent_at": "Tangenta u tački krive",
|
||||
"cmd.sketch.construction_line.tangent_external": "Tangenta kroz vanjsku tačku",
|
||||
"cmd.sketch.construction_line.tangent_two": "Zajednička tangenta",
|
||||
"cmd.sketch.construction_line.vertical": "Vertikalna pomoćna prava",
|
||||
"cmd.sketch_arc3d": "3D luk",
|
||||
"cmd.sketch_arc_center_point": "Luk iz centra",
|
||||
"cmd.sketch_arc_tangent": "Tangentni luk",
|
||||
@@ -1105,6 +1143,8 @@
|
||||
"cmd.sketch_drawing_bounds": "Veličina crteža",
|
||||
"cmd.sketch_edit": "Uredi skicu",
|
||||
"cmd.sketch_edit_text": "Uredi tekst",
|
||||
"cmd.sketch_equation_curve": "Kriva iz jednačine",
|
||||
"cmd.sketch_equation_curve_edit": "Uredi krivu iz jednačine",
|
||||
"cmd.sketch_export_dxf": "Sačuvaj kao DXF",
|
||||
"cmd.sketch_finish_auto_constrain": "Završi s automatskim ograničenjima",
|
||||
"cmd.sketch_fit_curves_to_section": "Uklopi krive u presjek mreže",
|
||||
@@ -1201,6 +1241,7 @@
|
||||
"cmd.view.render_browser": "Stablo renderovanja",
|
||||
"cmd.view.render_dock": "Premjesti panel renderovanja",
|
||||
"cmd.view.render_focus": "Prikaz fokusa renderovanja",
|
||||
"cmd.view.status_items": "Stavke statusa prozora prikaza",
|
||||
"cmd.view_ambient_occlusion": "Ambijentalna okluzija",
|
||||
"cmd.view_angle_readout": "Uglovi prikaza",
|
||||
"cmd.view_apply": "Vrati imenovani prikaz",
|
||||
@@ -1222,6 +1263,7 @@
|
||||
"cmd.view_normal_to": "Okomito na izbor",
|
||||
"cmd.view_previous_tab": "Prethodna kartica",
|
||||
"cmd.view_rename": "Preimenuj imenovani prikaz",
|
||||
"cmd.view_render_frame": "Pomoćne linije kadra renderovanja",
|
||||
"cmd.view_right": "Pogled zdesna",
|
||||
"cmd.view_save": "Novi imenovani prikaz",
|
||||
"cmd.view_shots_strip": "Traka kadrova",
|
||||
@@ -1232,10 +1274,14 @@
|
||||
"color.copy": "Kliknite da kopirate vrijednosti boje",
|
||||
"color.edit": "Kliknite da uredite boju",
|
||||
"color.gamma": "Prikaz vrijednosti boje u gama prostoru 0-255",
|
||||
"color.hex": "Hex",
|
||||
"color.hex_help": "Unesite #rrggbb ili #rrggbbaa; šest cifara zadržava neprozirnost",
|
||||
"color.hex_hint": "#rrggbb",
|
||||
"color.hue": "Nijansa",
|
||||
"color.linear": "Prikaz vrijednosti boje u linearnom prostoru 0-1",
|
||||
"color.saturation_value": "Zasićenost i vrijednost",
|
||||
"color.selected": "Izabrana boja",
|
||||
"config.column_filter_empty": "Nema odgovarajućih kolona",
|
||||
"contact.components_count": "Komponente: {count}",
|
||||
"contact.enabled_label": "omogućeno",
|
||||
"coupling.gear_1": "Zupčanik 1",
|
||||
@@ -1350,8 +1396,10 @@
|
||||
"help.material.assign": "Određuje od čega su izabrana tijela napravljena, npr. čelik, aluminij ili ABS. Koristite ga da masa i težina odgovaraju stvarnom dijelu.",
|
||||
"help.mit": "MIT licenca",
|
||||
"help.notice": "NOTICE",
|
||||
"help.occurrence.move": "Pomjera dio sklopa samo duž stepeni slobode koje dozvoljavaju njegovi spojevi. Izaberite lice dijela, a zatim prevucite dostupnu strelicu ili luk.",
|
||||
"help.parameters.change": "Otvara tabelu imenovanih vrijednosti i izraza koji upravljaju kotama dizajna. Koristite je da promijenite mjeru na jednom mjestu, a sve operacije koje je koriste je slijede.",
|
||||
"help.pointcloud.insert": "Umetnite PLY, XYZ ili PTS skeniranje kao oblak tačaka uz model. Koristite ga kao referencu pri izradi modela iz izmjerenih podataka.",
|
||||
"help.sketch.equation_curve": "Crta krivu iz formula: x(t) i y(t) ili y = f(x), u zadanom rasponu. Formule mogu koristiti parametre i kriva ih prati: koristite je za sinusoidu, spiralu ili evolventu zupca zupčanika.",
|
||||
"help.solid.align": "Pomjera izabrana tijela tako da se tačka, lice ili ravan na njima poklopi s tačkom, licem ili ravni negdje drugdje. Koristite ga da postavite dio uz drugi bez mjerenja odmaka.",
|
||||
"help.solid.chamfer": "Odsijeca izabrane ivice ravnim skošenjem zadate udaljenosti. Koristite ga da ublažite oštre ivice ili olakšate uvođenje zatika ili vijka.",
|
||||
"help.solid.combine": "Spaja tijela, oduzima ih od ciljnog tijela ili zadržava samo zajedničku zapreminu, a može zadržati i alatna tijela. Koristite ga da spojite dijelove, da jednim oblikom odsiječete drugi ili da pronađete gdje se dva tijela preklapaju.",
|
||||
@@ -1480,6 +1528,21 @@
|
||||
"joint.one_component": "Ovi dijelovi su tijela jedne komponente: {bodies}. Spoj pomjera jednu komponentu u odnosu na drugu, pa svaki dio treba svoju komponentu.",
|
||||
"joint.rigid_group_one_component": "Sva tijela ({count}) su u jednoj komponenti (ili u samom dizajnu): prvo koristite {command}.",
|
||||
"joint.rigid_group_select_components": "Izaberite dvije ili više komponenti.",
|
||||
"joint_move.blocked_hint": "Provjerite vrstu spoja (npr. Kruti), učvršćenje, granice spoja i vrijednosti koje pokreću parametri.",
|
||||
"joint_move.blocked_title": "Ovaj dio se ne može pomjeriti",
|
||||
"joint_move.coarse": "Korak rotacije blizu ose (°)",
|
||||
"joint_move.distance": "Udaljenost od početka",
|
||||
"joint_move.done": "Gotovo",
|
||||
"joint_move.fine": "Korak rotacije dalje od ose (°)",
|
||||
"joint_move.fixed": "Ovaj dio nema pomičnu osu spoja.",
|
||||
"joint_move.help": "Pomjeri — prevucite strelicu ili prsten. Esc otkazuje trenutno povlačenje.",
|
||||
"joint_move.legacy_hint": "Isključite da biste koristili prethodni panel Pomjeri.",
|
||||
"joint_move.precision": "Povucite izvan isprekidane vodilje za finu rotaciju.",
|
||||
"joint_move.rotation": "Rotacija od početka",
|
||||
"joint_move.select": "Izaberite lice ili jedan dio sklopa, a zatim izaberite Pomjeri.",
|
||||
"joint_move.settings": "Pomjeranje u sklopu",
|
||||
"joint_move.step": "Korak",
|
||||
"joint_move.use_handles": "Koristi ručice kretanja spojeva za Pomjeri u sklopu",
|
||||
"keymap.command_id": "ID komande",
|
||||
"keymap.empty": "Nema odgovarajućih komandi",
|
||||
"keymap.use_anyway": "Ipak koristi {key} ovdje",
|
||||
@@ -1574,6 +1637,8 @@
|
||||
"nav.maya.help": "Alt+lijevo povlačenje orbitira, Alt+srednje pomjera, Alt+desno zumira; srednje povlačenje također pomjera",
|
||||
"nav.openscad.help": "Povlačenje lijevim dugmetom po praznom prostoru orbitira, Shift+povlačenje lijevim bira okvirom, povlačenje geometrije skice je uređuje; povlačenje desnim ili srednjim dugmetom pomjera, Shift+desno ili Shift+srednje zumira",
|
||||
"nav.perspective.sketch": "Uređivanje skice koristi ortografski prikaz. Završite skicu da prebacite na perspektivu.",
|
||||
"nav.right_drag_orbits.help": "Isključeno: povlačenje desnim dugmetom ne dira kameru, a desno dugme samo otvara kontekstni meni. Izbor mapiranja miša SolidWorks to isključuje.",
|
||||
"nav.right_drag_orbits.label": "Povlačenje desnim dugmetom orbitira",
|
||||
"nav.solidworks.help": "Povlačenje srednjim dugmetom orbitira, Ctrl+srednje pomjera, Shift+srednje zumira, povlačenje desnim orbitira",
|
||||
"nav.tinkercad.help": "Povlačenje desnim dugmetom orbitira, povlačenje srednjim ili Shift+desnim pomjera",
|
||||
"nav.touchpad.help": "Držite Shift i pomjerajte pokazivač za pomjeranje prikaza; držite Alt/Option i pomjerajte ga za orbitiranje. Dugme miša nije potrebno. Vertikalno skrolovanje zumira.",
|
||||
@@ -1595,6 +1660,9 @@
|
||||
"navbar.custom.customise": "Prilagodi navigacijsku traku…",
|
||||
"navbar.custom.design": "Dizajn",
|
||||
"navbar.custom.duplicate": "Ovo mjesto je već na traci.",
|
||||
"navbar.custom.edge": "Rub",
|
||||
"navbar.custom.edge_bottom": "Dolje",
|
||||
"navbar.custom.edge_top": "Gore",
|
||||
"navbar.custom.fade": "Izblijedi",
|
||||
"navbar.custom.full": "Uklonite jedno mjesto da biste dodali drugo.",
|
||||
"navbar.custom.hidden_design": "Skriveno u Dizajnu",
|
||||
@@ -1701,6 +1769,7 @@
|
||||
"parts.dimension.thickness": "Debljina",
|
||||
"parts.dimension.width": "Širina",
|
||||
"parts.family.bearing": "Kuglični ležaj s dubokim žlijebom (omotač)",
|
||||
"parts.family.button_head_cap_screw": "Vijak s poluokruglom glavom i imbusom",
|
||||
"parts.family.dowel_pin": "Cilindrični zatik",
|
||||
"parts.family.hex_bolt": "Vijak sa šestougaonom glavom",
|
||||
"parts.family.hex_nut": "Šestougaona matica",
|
||||
@@ -1759,6 +1828,9 @@
|
||||
"prefs.bottom_centre": "Dolje u sredini",
|
||||
"prefs.bottom_right": "Dolje desno",
|
||||
"prefs.browser": "Stablo modela",
|
||||
"prefs.browser_reveal_on_hover": "Prikaži pri prelasku mišem",
|
||||
"prefs.browser_show_note": "Prikazano drži stablo modela na ekranu. Prikaži pri prelasku mišem drži ga skrivenim dok pokazivač ne pređe preko njegovog mjesta ili tankog jezička na njegovom lijevom rubu, a ostaje otvoreno dok je pokazivač u njemu ili dok je otvoren neki meni iz njega.",
|
||||
"prefs.browser_shown": "Prikazano",
|
||||
"prefs.built_in": "Ugrađeno",
|
||||
"prefs.button_left": "Povlačenje lijevim dugmetom",
|
||||
"prefs.button_middle": "Povlačenje srednjim dugmetom",
|
||||
@@ -1829,6 +1901,8 @@
|
||||
"prefs.layout_note": "Kompaktno pričvršćuje panele uz ivice prozora. Prozirnost stabla modela dostupna je u opciji Plutajuće. Stranu Asistenta promijenite na stranici Asistent.",
|
||||
"prefs.left": "Lijevo",
|
||||
"prefs.left_click": "Lijevi klik",
|
||||
"prefs.line_drag_draws_one": "Pritisak i povlačenje crta jednu liniju",
|
||||
"prefs.line_drag_draws_one_note": "U alatu Linija pritisak, povlačenje i puštanje crta jednu liniju od mjesta pritiska do mjesta puštanja i tu se završava. Klikovi i dalje crtaju lanac. Isključeno: povlačenje postavlja tačku tamo gdje se pusti, kao i klik.",
|
||||
"prefs.linked_designs": "Povezani dizajni",
|
||||
"prefs.live_input": "Ulaz uživo",
|
||||
"prefs.live_preview": "Pregled uživo",
|
||||
@@ -1861,14 +1935,36 @@
|
||||
"prefs.origin_plane_names": "Nazivi ravni ishodišta",
|
||||
"prefs.origin_plane_names_note": "Nazivi prikazani u stablu modela, dijalozima i listama. {top} je XY, {front} je XZ, a {right} je YZ, sa Z prema gore. Komande, skripte i sačuvani dizajni zadržavaju XY, XZ i YZ.",
|
||||
"prefs.overall_speed": "Ukupna brzina",
|
||||
"prefs.perspective_fov": "Vidno polje",
|
||||
"prefs.placement": "Postavljanje",
|
||||
"prefs.prefer_free_sketch_points": "Daj prednost pokretnim tačkama skice kada se tačke preklapaju",
|
||||
"prefs.preview_choices": "Pregled vaših izbora",
|
||||
"prefs.profile_active": "Aktivni profil",
|
||||
"prefs.profile_applied": "Profil je primijenjen.",
|
||||
"prefs.profile_changed": "Postavke su promijenjene otkako je profil sačuvan. Sačuvaj ih upisuje u profil.",
|
||||
"prefs.profile_deleted": "Profil je izbrisan.",
|
||||
"prefs.profile_export": "Izvezi…",
|
||||
"prefs.profile_exported": "Profil je izvezen.",
|
||||
"prefs.profile_imported": "Profil je uvezen. Izaberite ga pod Aktivni profil da se prebacite na njega.",
|
||||
"prefs.profile_name_hint": "Naziv profila, npr. Laptop",
|
||||
"prefs.profile_rename": "Preimenuj",
|
||||
"prefs.profile_renamed": "Profil je preimenovan.",
|
||||
"prefs.profile_save": "Sačuvaj",
|
||||
"prefs.profile_saved": "Trenutne postavke su sačuvane u profil.",
|
||||
"prefs.profile_skipped": "Profil je primijenjen; postavke koje su zadržale trenutnu vrijednost: {n} (pogledajte zapisnik).",
|
||||
"prefs.profiles": "Profili postavki",
|
||||
"prefs.profiles_note": "Prečice, traka s alatima, navigacija, radijalni meni i postavke interfejsa čuvaju se zajedno pod jednim nazivom i mijenjaju odjednom.",
|
||||
"prefs.project_options_dialog": "Dijalog opcija za projektovanje",
|
||||
"prefs.project_options_dialog_note": "Uključeno: prije projektovanja izaberite Geometrija ili Tijela i Veza projekcije. Isključeno: zadržava se prethodni tok rada s direktnim izborom.",
|
||||
"prefs.quality_default": "podrazumijevano",
|
||||
"prefs.quality_fastest": "najbrže",
|
||||
"prefs.quality_slowest": "najsporije",
|
||||
"prefs.quality_smoother": "glađe",
|
||||
"prefs.render_previous_geometry_budget": "Koristi prethodni budžet geometrije za pregled renderovanja",
|
||||
"prefs.render_previous_geometry_budget_help": "Vraća prethodno fiksno ograničenje geometrije (512 MiB na 64-bitnim desktop računarima, 128 MiB drugdje) umjesto budžeta prema uređaju.",
|
||||
"prefs.reports_saved": "Sačuvano: {n}",
|
||||
"prefs.ribbon_reveal": "Prikaži rezultate pretrage na traci",
|
||||
"prefs.ribbon_reveal_note": "Zadržavanje pokazivača iznad rezultata u Pretraži komande pokazuje gdje se komanda nalazi na traci: njenu karticu, njeno dugme ili njen red u padajućem meniju panela. Komanda pokrenuta iz pretrage tamo trepće, a pokrenuta komanda iz padajućeg menija označava svoj panel.",
|
||||
"prefs.right_click": "Desni klik",
|
||||
"prefs.saving": "Automatsko čuvanje i oporavak",
|
||||
"prefs.scale_note": "Također Ctrl + / Ctrl − u prozoru. Dugmad su 28 px pri 100%.",
|
||||
@@ -1882,6 +1978,10 @@
|
||||
"prefs.shift_add_ctrl_toggle": "Shift samo dodaje; Ctrl / Cmd uključuje i isključuje",
|
||||
"prefs.shift_add_note": "Uključeno: Shift dodaje, Ctrl / Cmd uključuje i isključuje. Isključeno (podrazumijevano): oba uključuju i isključuju.",
|
||||
"prefs.shortcuts": "Prečice",
|
||||
"prefs.single_surface_analysis": "Koristi samo jednu analizu površi",
|
||||
"prefs.single_surface_analysis_help": "Kada je isključeno, sjenčenje površi i Kontinuitet mogu ostati uključeni zajedno. Uključivanje zadržava posljednju pokrenutu ili promijenjenu analizu.",
|
||||
"prefs.sketch_align_points": "Poravnaj s drugim tačkama skice tokom crtanja",
|
||||
"prefs.sketch_align_points_note": "Tokom crtanja tačka se istovremeno poravnava vodoravno s jednom tačkom skice i okomito s drugom, uz tačkastu pomoćnu liniju, a klik zadržava oba poravnanja. Isključeno: samo s prethodnom tačkom, po jedna osa.",
|
||||
"prefs.sketch_conflict_colour": "Geometrija u sukobu u boji sukoba",
|
||||
"prefs.sketch_conflict_colour_note": "Dok su ograničenja skice u sukobu, krive i tačke koje drži ograničenje koje ne uspijeva crtaju se također u boji sukoba, ne samo njegov simbol ili kota. Isključeno: zadržavaju uobičajene boje.",
|
||||
"prefs.sketch_exit_view": "Kada se skica završi",
|
||||
@@ -1889,6 +1989,8 @@
|
||||
"prefs.sketch_exit_view.previous": "Vrati se na prethodni prikaz",
|
||||
"prefs.sketch_exit_view.unless_rotated": "Vrati se osim ako je rotirano",
|
||||
"prefs.sketch_exit_view_note": "Kuda prikaz ide nakon Završi skicu, Otkaži ili dvostrukog Esc.",
|
||||
"prefs.sketch_recent_snap": "Automatski privlači na nedavne centre i središnje tačke",
|
||||
"prefs.sketch_recent_snap_note": "Tokom crtanja pokazivač se privlači tamo gdje se sijeku pomoćne linije dvaju posljednjih centara krugova ili središnjih tačaka pravih ivica. Isključeno: te pomoćne linije služe samo za prikaz i pokazivač se ne pomjera.",
|
||||
"prefs.sketch_selection": "Skica i izbor",
|
||||
"prefs.sketch_selection_heading": "Skica i izbor",
|
||||
"prefs.sketch_selection_note": "Kako se skice privlače i kako klikovi biraju.",
|
||||
@@ -1933,7 +2035,14 @@
|
||||
"prefs.toast_place": "Obavještenja",
|
||||
"prefs.toggle_item": "Dodaj stavku ili je ponovo ukloni",
|
||||
"prefs.toolbar": "Traka s alatima",
|
||||
"prefs.toolbar_tabs": "Kartice trake s alatima",
|
||||
"prefs.top": "Gore",
|
||||
"prefs.trackpad_zoom_modifier": "Zumiranje skrolovanjem s dva prsta uz držanje tipke",
|
||||
"prefs.trackpad_zoom_modifier.alt": "⌥ / Alt",
|
||||
"prefs.trackpad_zoom_modifier.cmd": "⌘",
|
||||
"prefs.trackpad_zoom_modifier.ctrl": "Ctrl",
|
||||
"prefs.trackpad_zoom_modifier.help": "Držite samo ovu tipku da zumirate prema pokazivaču vertikalnim skrolovanjem. Isključeno zadržava postojeće ponašanje skrolovanja.",
|
||||
"prefs.trackpad_zoom_modifier.off": "Isključeno",
|
||||
"prefs.translucent": "Prozirno",
|
||||
"prefs.under_browser": "Ispod stabla modela",
|
||||
"prefs.under_cursor": "Ispod pokazivača",
|
||||
@@ -1943,9 +2052,14 @@
|
||||
"prefs.view_confirm_corner": "U redu i Otkaži u uglu prikaza",
|
||||
"prefs.view_confirm_corner_note": "Dok je otvoren dijalog ili skica, kvačica i krstić gore desno u prikazu rade isto što i dugmad U redu i Otkaži u dijalogu, odnosno završavaju i otkazuju skicu. Navigator prikaza pomjera se ispod njih.",
|
||||
"prefs.viewport": "Prozor prikaza",
|
||||
"prefs.viewport_background": "Pozadina",
|
||||
"prefs.viewport_background_colour": "Boja",
|
||||
"prefs.viewport_background_theme": "Gradijent teme",
|
||||
"prefs.wheel": "Točkić",
|
||||
"prefs.wheel_trackpad": "Točkić i trackpad",
|
||||
"prefs.workspace": "Radni prostor",
|
||||
"prefs.zoom_stop_at_model": "Zaustavi zumiranje na modelu",
|
||||
"prefs.zoom_stop_at_model_tip": "3D miš i aplikacija uređaja zumiraju prema površini u sredini prikaza; zumiranje povlačenjem drži tačku na kojoj je povlačenje počelo. Isključeno: zumiranje može proći kroz model. Točkić i štipanje zasebno koriste Zumiranje prema pokazivaču",
|
||||
"prefs.zoom_toward_cursor": "Zumiranje prema pokazivaču",
|
||||
"properties.title": "Svojstva: {name}",
|
||||
"recovery.days_ago": "prije {count} dana",
|
||||
@@ -2034,6 +2148,7 @@
|
||||
"render.appearance_editor.weight": "Težina",
|
||||
"render.appearance_physics_separate": "Vizuelni izgled ne dodjeljuje gustinu, toplotne podatke niti druga inženjerska svojstva.",
|
||||
"render.appearances": "Izgledi",
|
||||
"render.assign_help": "Kliknite za primjenu na izbor; prevucite za pregled i ispustite ili kliknite kada ništa nije izabrano da bojite.",
|
||||
"render.availability_native": "Izvorni sastav; pregledajte prije primjene",
|
||||
"render.availability_projection": "Podržana projekcija; pogledajte opseg i izostavke",
|
||||
"render.availability_reference": "Referentni podaci; nije automatska dodjela",
|
||||
@@ -2072,6 +2187,7 @@
|
||||
"render.bloom_threshold": "Prag linearnih svijetlih dijelova",
|
||||
"render.browse_capabilities": "Pregledaj kompletan katalog mogućnosti",
|
||||
"render.browse_environments": "Pregledaj izvorna HDR okruženja",
|
||||
"render.browse_looks": "Pregledaj…",
|
||||
"render.browse_native_scenes": "Pregledaj izvorne studije",
|
||||
"render.browse_physical": "Pregledaj fizičke reference",
|
||||
"render.browse_quality": "Pregledaj specifikacije kvaliteta",
|
||||
@@ -2095,6 +2211,82 @@
|
||||
"render.check_opaque": "Prozirnost: samo neprozirne površi; alfa pozadine je podržana.",
|
||||
"render.check_sorted_alpha": "Prozirnost: aproksimacija sortirane alfe.",
|
||||
"render.check_transmission": "Prozirnost: fizička transmisija.",
|
||||
"render.children.absolute_floor": "Apsolutni donji prag",
|
||||
"render.children.adaptive": "Adaptivno",
|
||||
"render.children.add_look_reason": "Dodajte izgled da biste uredili njegovo uključivanje i jačinu.",
|
||||
"render.children.all_shots": "Svi kadrovi",
|
||||
"render.children.bloom": "Sjaj",
|
||||
"render.children.check": "Provjera",
|
||||
"render.children.check_now": "Provjeri sada",
|
||||
"render.children.chromatic": "Hromatski pomak",
|
||||
"render.children.compact": "Kompaktno",
|
||||
"render.children.contrast": "Kontrast",
|
||||
"render.children.copy_image": "Kopiraj",
|
||||
"render.children.copy_job": "Kopiraj JSON posla",
|
||||
"render.children.copy_request": "Kopiraj JSON zahtjeva",
|
||||
"render.children.coverage_error": "Greška pokrivenosti",
|
||||
"render.children.cpu": "CPU praćenje zraka",
|
||||
"render.children.denoise": "Smanji šum na završenoj slici",
|
||||
"render.children.depth": "Dubina putanje",
|
||||
"render.children.distortion": "Izobličenje",
|
||||
"render.children.edge_samples": "Uzorci ivica",
|
||||
"render.children.effects_banner": "Ovi efekti zahtijevaju GPU praćenje putanja. Otvaranje ovoga nikad ne mijenja metodu.",
|
||||
"render.children.enable_adaptive": "Omogućite nezavisne probne uzorke da biste uredili adaptivna ograničenja.",
|
||||
"render.children.enable_bloom": "Omogućite sjaj da biste uredili njegovu jačinu, prag i poluprečnik.",
|
||||
"render.children.finishing": "Završna obrada",
|
||||
"render.children.flare": "Odsjaj",
|
||||
"render.children.fresnel": "Fresnelovi slojevi",
|
||||
"render.children.ghosts": "Duhovi prstenova",
|
||||
"render.children.glass": "Transport kroz staklo",
|
||||
"render.children.go_to": "Idi na {editor}",
|
||||
"render.children.grain": "Zrno",
|
||||
"render.children.halo": "Oreol",
|
||||
"render.children.hdr": "HDR",
|
||||
"render.children.keep_master": "Zadrži sirovi linearni master",
|
||||
"render.children.last_result": "Posljednje: {number} · {width} × {height} · {phase}",
|
||||
"render.children.lens_effects": "Efekti objektiva",
|
||||
"render.children.look_summary": "{tone} · izgledi: {count}",
|
||||
"render.children.looks": "Kreativni izgledi",
|
||||
"render.children.memory": "Memorija",
|
||||
"render.children.method": "Metoda",
|
||||
"render.children.minimum": "Minimum",
|
||||
"render.children.needs_cpu": "Potrebno je CPU praćenje zraka. Otvaranje ovoga nikad ne mijenja metodu.",
|
||||
"render.children.nested": "Potvrđeni ugniježđeni dielektrici",
|
||||
"render.children.not_checked": "Nije provjereno",
|
||||
"render.children.path": "Praćenje putanja",
|
||||
"render.children.pilots": "Probni uzorci",
|
||||
"render.children.preview": "Podaci pregleda",
|
||||
"render.children.progressive_reason": "Izaberite Progresivno da biste uredili broj uzoraka i sjeme.",
|
||||
"render.children.radius": "Poluprečnik",
|
||||
"render.children.reflect_depth": "Dubina refleksije",
|
||||
"render.children.reflect_samples": "Uzorci refleksije",
|
||||
"render.children.regrade": "Ponovna gradacija",
|
||||
"render.children.relative_error": "Relativna greška",
|
||||
"render.children.render": "Renderovanje",
|
||||
"render.children.render_shot": "Renderuj kadar",
|
||||
"render.children.renderer": "Renderer",
|
||||
"render.children.renderers": "Rendereri",
|
||||
"render.children.request": "Ovaj zahtjev",
|
||||
"render.children.reset_finishing": "Resetuj završnu obradu",
|
||||
"render.children.review_quality": "Pregledaj specifikaciju kvaliteta…",
|
||||
"render.children.rgb_gain": "RGB pojačanje",
|
||||
"render.children.samples": "Uzorci",
|
||||
"render.children.sampling": "Uzorkovanje",
|
||||
"render.children.saturation": "Zasićenost",
|
||||
"render.children.scene_summary": "Tijela: {bodies} · trouglovi: {triangles}",
|
||||
"render.children.seed": "Sjeme",
|
||||
"render.children.sharpening": "Izoštravanje",
|
||||
"render.children.single_image": "Jedna slika",
|
||||
"render.children.soft_focus": "Meki fokus",
|
||||
"render.children.streak": "Pruga",
|
||||
"render.children.strength": "Jačina",
|
||||
"render.children.studio": "Studio",
|
||||
"render.children.threshold": "Prag",
|
||||
"render.children.tone": "Ton",
|
||||
"render.children.under_hood": "Ispod haube",
|
||||
"render.children.vignette": "Vinjeta",
|
||||
"render.children.workstation": "Radna stanica",
|
||||
"render.choose_look": "Prvo izaberite izgled u Izgledima",
|
||||
"render.chromatic_offset": "Hromatski pomak ivica",
|
||||
"render.clear_stage": "Ukloni sačuvanu scenu",
|
||||
"render.copy_request": "Kopiraj JSON",
|
||||
@@ -2346,8 +2538,33 @@
|
||||
"render.flare_strength": "Jačina odsjaja svijetlih dijelova",
|
||||
"render.flare_threshold": "Linearni prag odsjaja scene",
|
||||
"render.fold_browser": "Skupi stablo modela",
|
||||
"render.frame_aspect": "Omjer",
|
||||
"render.frame_centre_mark": "Oznaka centra",
|
||||
"render.frame_copy_limit": "Nema slobodnog naziva za duplikat kadra",
|
||||
"render.frame_copy_name": "{name} kopija {number}",
|
||||
"render.frame_custom": "Prilagođeno",
|
||||
"render.frame_distance_unit": " × veličina",
|
||||
"render.frame_duplicate": "Dupliciraj",
|
||||
"render.frame_exposure": "Ekspozicija",
|
||||
"render.frame_fov": "Vidno polje",
|
||||
"render.frame_guides": "Pomoćne linije",
|
||||
"render.frame_invalid_aspect": "Neispravan predložak omjera",
|
||||
"render.frame_lens": "FOV {fov}° · ≈ {mm} mm",
|
||||
"render.frame_name": "Naziv",
|
||||
"render.frame_output_size": "Veličina izlaza",
|
||||
"render.frame_photo": "3:2 · Fotografija",
|
||||
"render.frame_portrait": "4:5 · Portret",
|
||||
"render.frame_presets": "Predlošci kadra",
|
||||
"render.frame_presets_pending": "Stiže s uređivačem kadrova",
|
||||
"render.frame_projection": "Projekcija",
|
||||
"render.frame_render_shot": "Renderuj ovaj kadar",
|
||||
"render.frame_rule_thirds": "Pravilo trećina",
|
||||
"render.frame_safe_area": "Sigurna zona",
|
||||
"render.frame_shot_title": "Kadar · {name}",
|
||||
"render.frame_square": "1:1 · Kvadrat",
|
||||
"render.frame_tall": "9:16 · Vertikalno",
|
||||
"render.frame_thirds": "Trećine",
|
||||
"render.frame_wide": "16:9 · Široki ekran",
|
||||
"render.gpu_depth": "Maksimalna dubina putanje",
|
||||
"render.gpu_options_help": "Uzorci, dubina, sjeme i ekspozicija čuvaju se s ovom postavkom. Čuva se samo aktivna metoda slike.",
|
||||
"render.gpu_path_failed": "GPU praćenje putanja nije dostupno",
|
||||
@@ -2375,6 +2592,7 @@
|
||||
"render.heading_results": "REZULTATI",
|
||||
"render.heading_shots": "KADROVI",
|
||||
"render.hide_shots_label": "Sakrij traku kadrova",
|
||||
"render.hover_look": "{object} · {look} · kliknite za izbor",
|
||||
"render.image_advanced": "Napredne GPU kontrole",
|
||||
"render.image_cancelled": "Renderovanje je otkazano",
|
||||
"render.image_cancelling": "Otkazivanje",
|
||||
@@ -2521,17 +2739,95 @@
|
||||
"render.library_uniform_ack": "Koristi jednoličnu aproksimaciju bez prostornih ili naprednih efekata",
|
||||
"render.library_usable": "Izvršne projekcije",
|
||||
"render.library_users": "Korisnici",
|
||||
"render.light_aim": "Usmjeri na",
|
||||
"render.light_anchor_pending": "Promjena koordinatnog sistema svjetla još nije podržana.",
|
||||
"render.light_azimuth": "Azimut",
|
||||
"render.light_backend_limit": "Izaberite CPU praćenje zraka ili izričit GPU studio da biste uređivali svjetla. Svjetla starog GPU studija ostaju samo za čitanje.",
|
||||
"render.light_behaviour": "PONAŠANJE",
|
||||
"render.light_default_fill": "Popunjavajuće",
|
||||
"render.light_default_key": "Glavno",
|
||||
"render.light_default_number": "Svjetlo {number}",
|
||||
"render.light_default_rim": "Rubno",
|
||||
"render.light_delete": "Izbriši",
|
||||
"render.light_distance": "Udaljenost",
|
||||
"render.light_duplicate": "Dupliciraj",
|
||||
"render.light_elevation": "Elevacija",
|
||||
"render.light_gpu_punctual": "Tačkasta svjetla i reflektori dostupni su uz CPU praćenje zraka.",
|
||||
"render.light_hard_shadow": "Ovo svjetlo ima oštre sjene; mekoća emitera nije dostupna.",
|
||||
"render.light_intensity": "Intenzitet",
|
||||
"render.light_missing": "Ovo svjetlo više ne postoji. Izaberite svjetlo u stablu modela.",
|
||||
"render.light_place_highlight": "Postavi prema odsjaju",
|
||||
"render.light_place_pending": "Postavljanje prema odsjaju zahtijeva izbor svjetla u prozoru prikaza i još nije podržano.",
|
||||
"render.light_position": "POLOŽAJ",
|
||||
"render.light_preview_help": "Prikaz uživo je bez sjena; površinska svjetla koriste aproksimaciju uzorkom iz centra. Renderovanje koristi potpuni model svjetla.",
|
||||
"render.light_product_centre": "Centar proizvoda",
|
||||
"render.light_size": "Veličina",
|
||||
"render.light_softness": "Mekoća",
|
||||
"render.light_temperature": "Temperatura boje",
|
||||
"render.light_temperature_help": "Približna nijansa crnog tijela; čuva se kao linearni RGB.",
|
||||
"render.light_type": "Vrsta",
|
||||
"render.light_type_area": "Površinsko",
|
||||
"render.light_type_point": "Tačkasto",
|
||||
"render.light_type_spot": "Reflektor",
|
||||
"render.light_type_sun": "Sunce",
|
||||
"render.light_view_only": "Samo ovo svjetlo i isključivanje svjetla utiču na ovaj prikaz i njegova renderovanja; nikad se ne čuvaju u dizajnu.",
|
||||
"render.light_world_origin": "Ishodište svijeta",
|
||||
"render.lighting_aim_point": "Tačka usmjeravanja",
|
||||
"render.lighting_apply": "Primijeni postavku",
|
||||
"render.lighting_area_samples": "Uzorci površinskog svjetla",
|
||||
"render.lighting_budget": "Budžet",
|
||||
"render.lighting_budget_help": "Brojevi su samo za čitanje. Dodajte, duplicirajte ili izbrišite svjetla da ih promijenite; metoda određuje ograničenja.",
|
||||
"render.lighting_colour": "Boja",
|
||||
"render.lighting_consent": "Zamijeni usmjerena svjetla ovom postavkom",
|
||||
"render.lighting_custom": "Prilagođena svjetla",
|
||||
"render.lighting_custom_help": "Izbor opcije Prilagođeno pretvara postavku u svjetla koja se mogu uređivati, svako u svom redu u stablu.",
|
||||
"render.lighting_direction": "Smjer X Y Z",
|
||||
"render.lighting_direction_help": "Ili upišite smjer prema svjetlu (X Y Z).",
|
||||
"render.lighting_distance_unit": " × veličina",
|
||||
"render.lighting_edge_u": "Vektor stranice U",
|
||||
"render.lighting_edge_v": "Vektor stranice V",
|
||||
"render.lighting_falloff": "Slabljenje",
|
||||
"render.lighting_falloff_help": "Intenzitet se navodi na referentnoj udaljenosti.",
|
||||
"render.lighting_height": "Visina V",
|
||||
"render.lighting_minimum": "Minimum",
|
||||
"render.lighting_mute": "Isključi ovo svjetlo",
|
||||
"render.lighting_point": "Tačka",
|
||||
"render.lighting_preset": "Postavka studija",
|
||||
"render.lighting_preset_cpu": "Usmjerene postavke studija zahtijevaju CPU praćenje zraka. GPU osvjetljenje koristi izričita sunčeva i površinska svjetla.",
|
||||
"render.lighting_preset_row": "Postavka",
|
||||
"render.lighting_radiance": "Radijansa",
|
||||
"render.lighting_reference": "Referenca",
|
||||
"render.lighting_review_help": "Zamjenjuje popis usmjerenih svjetala. Zadržava tačkasta i površinska svjetla, okruženje, sjene, kameru i sve ostale postavke kadra.",
|
||||
"render.lighting_review_title": "Pregledaj postavku osvjetljenja",
|
||||
"render.lighting_samples_cpu": "Uzorci površinskog svjetla primjenjuju se na CPU praćenje zraka.",
|
||||
"render.lighting_samples_need_area": "Dodajte CPU površinsko svjetlo da biste postavili uzorke površinskog svjetla.",
|
||||
"render.lighting_samples_reason": "Uzorci površinskog svjetla moraju biti 1, 4, 16 ili 64.",
|
||||
"render.lighting_shadow_cpu": "Prekidač sjena zahtijeva CPU praćenje zraka. GPU praćenje putanja uvijek baca sjene.",
|
||||
"render.lighting_shadows": "Baci sjene",
|
||||
"render.lighting_shadows_section": "Sjene i uzorkovanje",
|
||||
"render.lighting_shape": "Oblik",
|
||||
"render.lighting_solo": "Samo ovo svjetlo",
|
||||
"render.lighting_source": "Izvor",
|
||||
"render.lighting_source_section": "Izvor svjetla",
|
||||
"render.lighting_spot_preserved": "Ovo tačkasto svjetlo zadržava sačuvani konus reflektora dok mu se ne promijeni vrsta.",
|
||||
"render.lighting_sun_distance": "Smjer sunca ne zavisi od udaljenosti i tačke usmjeravanja.",
|
||||
"render.lighting_unsupported": "nepodržano",
|
||||
"render.lighting_used": "{used} od {limit}",
|
||||
"render.lighting_width": "Širina U",
|
||||
"render.lighting_world_position": "Svjetski X Y Z",
|
||||
"render.lights_fixed_to": "Svjetla vezana za",
|
||||
"render.linear_help": "Zadržava 32-bitni float RGBA master prije uklanjanja šuma, ekspozicije, mapiranja tonova, filtera i pozadine. Linearni sRGB/D65; pomnožen pokrivenošću. Dodatna memorija se izričito odobrava. Bez kompresije i dodatnih prolaza.",
|
||||
"render.linear_retain": "Zadrži sirovi linearni EXR",
|
||||
"render.linear_unavailable": "Izabrani završeni kadar nema zadržani EXR. Omogućite zadržavanje prije renderovanja; stariji PNG ne može vratiti sirovu radijansu.",
|
||||
"render.look_add": "Dodaj izgled boje",
|
||||
"render.look_applied": "Primijenjeno: {name}",
|
||||
"render.look_bleach": "Po uzoru na bleach bypass",
|
||||
"render.look_cool": "Hladno",
|
||||
"render.look_cyanotype": "Po uzoru na cijanotipiju",
|
||||
"render.look_faded": "Izblijedjeli otisak",
|
||||
"render.look_material": "Materijal",
|
||||
"render.look_mono": "Jednobojno",
|
||||
"render.look_pasted": "Izgled je zalijepljen",
|
||||
"render.look_sepia": "Sepija",
|
||||
"render.look_strength": "Jačina izgleda",
|
||||
"render.look_teal_orange": "Tirkizno / narandžasto",
|
||||
@@ -2607,9 +2903,11 @@
|
||||
"render.output_advanced": "Napredno",
|
||||
"render.output_backend_ready": "Spremno",
|
||||
"render.output_check": "Provjeri",
|
||||
"render.output_check_failed": "Provjera · greška",
|
||||
"render.output_check_help": "Pokrenite provjeru da pregledate ovaj zahtjev bez pokretanja renderovanja.",
|
||||
"render.output_check_summary": "Provjera · Napomene: {count}",
|
||||
"render.output_copy": "Kopiraj",
|
||||
"render.output_copy_report": "Kopiraj izvještaj",
|
||||
"render.output_destination": "Odredište",
|
||||
"render.output_destination_help": "Odredišnu datoteku birate pri izvozu završene slike.",
|
||||
"render.output_dimensions": "Veličina",
|
||||
@@ -2619,6 +2917,7 @@
|
||||
"render.output_fit": "Uklopi",
|
||||
"render.output_format": "Format",
|
||||
"render.output_format_status": "PNG je tačna završena slika za prikaz. Neobavezni GPU EXR zadržava sirovu linearnu radijansu scene u formatu FLOAT32 prije filtera prikaza. Izvoz nikad ne zamjenjuje keš pregleda ni drugi posao.",
|
||||
"render.output_grading": "Gradacija",
|
||||
"render.output_image": "Slika",
|
||||
"render.output_largest": "Najviše {width} × {height}",
|
||||
"render.output_lock_ratio": "Zaključaj omjer stranica",
|
||||
@@ -2628,6 +2927,8 @@
|
||||
"render.output_quality_waiting": "čeka se specifikacija kvaliteta",
|
||||
"render.output_ratio_refused": "Povezana dimenzija premašuje ograničenje veličine ove metode. Prethodna veličina se zadržava; otključajte omjer ili izaberite manju vrijednost.",
|
||||
"render.output_ready": "Spremno za renderovanje",
|
||||
"render.output_run_check": "Pokreni provjeru",
|
||||
"render.output_size_limit": "{method}: do {dimension} px po strani i {pixels} piksela. Najveća veličina koja staje: {width} × {height}.",
|
||||
"render.output_size_ok": "Veličina u redu · {width} × {height} px",
|
||||
"render.output_swap_orientation": "Zamijeni širinu i visinu",
|
||||
"render.output_tools_inspector": "Veličinu i format uredite u inspektoru Izlaz.",
|
||||
@@ -2644,6 +2945,7 @@
|
||||
"render.page_output": "Izlaz",
|
||||
"render.page_scene": "Scena",
|
||||
"render.paint_label": "Oboji",
|
||||
"render.painting_with": "Bojenje izgledom: {name}",
|
||||
"render.passive_stage": "Podloga i pasivna scena",
|
||||
"render.passive_stage_help": "Konačni pasivni paneli pripadaju samo renderovanim slikama. Ne dodaju CAD tijela ni masu. Postavljanje je fiksno nakon primjene; presijecanje granica proizvoda se odbija. CPU ne daje difuzno odbijeno osvjetljenje.",
|
||||
"render.perspective": "Perspektivna kamera",
|
||||
@@ -2665,6 +2967,7 @@
|
||||
"render.pick_help": "Izaberite Tijelo, Lice ili Komponenta. Kliknite prazan prostor da očistite izbor; Shift ili Ctrl dodaje ili uključuje/isključuje. Isticanja se pojavljuju samo u živom prikazu proizvoda.",
|
||||
"render.pick_label": "Izaberi",
|
||||
"render.pick_up_label": "Preuzmi",
|
||||
"render.pick_up_prompt": "Kliknite objekt da preuzmete njegov izgled",
|
||||
"render.pick_waiting": "Izbor proizvoda još nije podržan.",
|
||||
"render.post_contrast": "Kontrast",
|
||||
"render.post_gain_b": "Pojačanje plave",
|
||||
@@ -2704,13 +3007,17 @@
|
||||
"render.radial_distortion": "Radijalno izobličenje",
|
||||
"render.radial_fit": "Uklopi proizvod",
|
||||
"render.radial_save": "Sačuvaj kadar",
|
||||
"render.recent_looks": "Nedavni izgledi",
|
||||
"render.regrade_action": "Ponovna gradacija sirovog mastera (bez uklanjanja šuma)",
|
||||
"render.regrade_help": "Pravi zaseban PNG iz izabranog završenog sirovog mastera, koristeći ove kontrole prikaza. Ne prati zrake, ne mijenja zabilježenu veličinu, kameru ni svjetla i ne prepisuje EXR. Uklanjanje šuma se ne primjenjuje ponovo: sirovi masteri ne čuvaju njegove vodilje. Izvedena slika se i dalje može izvesti istim kontrolama posla.",
|
||||
"render.regrade_label": "Ponovna gradacija",
|
||||
"render.reload_settings": "Ponovo učitaj sačuvane postavke",
|
||||
"render.remove_override": "Ukloni nadjačavanje",
|
||||
"render.replace_all": "Zamijeni sve",
|
||||
"render.replace_ground": "Potvrdi zamjenu postojeće scene",
|
||||
"render.replace_label": "Zamijeni",
|
||||
"render.replace_saved_surface": "Zamijeni postojeću sačuvanu vezu za ovaj cilj",
|
||||
"render.replace_with": "Zamijeni sa",
|
||||
"render.restore_camera": "Vrati sačuvanu kameru",
|
||||
"render.result_actual": "100%",
|
||||
"render.result_actual_help": "Jedan piksel slike po pikselu ekrana.",
|
||||
@@ -2762,14 +3069,28 @@
|
||||
"render.saved_surface_remove": "Ukloni sačuvanu vezu",
|
||||
"render.saved_surfaces": "Sačuvane veze površina",
|
||||
"render.saved_surfaces_help": "Fiksirane ugrađene mape prate izabrani primjerak u lokalnim milimetrima. Zamijenjen ili nedostajući cilj je greška, nikad automatska ponovna dodjela.",
|
||||
"render.scene_all_shots": "Svi kadrovi ({count})",
|
||||
"render.scene_apply": "Primijeni pregledani studio",
|
||||
"render.scene_batch_reason": "Za Svi kadrovi potreban je red čekanja za renderovanje sačuvanih kadrova, koji još nije dostupan.",
|
||||
"render.scene_check_now": "Provjeri sada",
|
||||
"render.scene_check_passed": "Provjera uspješna · napomene: {notes}",
|
||||
"render.scene_check_stale": "Provjera je zastarjela · provjerite ponovo",
|
||||
"render.scene_check_unchecked": "Još nije provjereno · 0 napomena",
|
||||
"render.scene_consent": "Potvrdi zamjenu osvjetljenja, okruženja, ekspozicije i scene",
|
||||
"render.scene_light_summary": "{environment} · svjetla: {lights}",
|
||||
"render.scene_look_summary": "Izgledi: {looks} · nadjačavanja: {overrides}",
|
||||
"render.scene_open_check": "Otvori provjeru",
|
||||
"render.scene_preserved_fields": "Kamera, uzorkovanje, dimenzije, optičke veze, CAD geometrija i inženjerski materijali se čuvaju.",
|
||||
"render.scene_preserves_design": "Sastavite osvjetljenje i pasivnu scenu za vidljivi predmet. Geometrija, inženjerski materijali i kamera ostaju odvojeni.",
|
||||
"render.scene_ready": "Spremno za renderovanje",
|
||||
"render.scene_reminder": "Scena čuva dizajn. Geometrija, inženjerska svojstva i CAD nikad se ne mijenjaju iz Renderovanja.",
|
||||
"render.scene_reminders": "Podsjetnici",
|
||||
"render.scene_renderer_ready": "{renderer}: spremno",
|
||||
"render.scene_replaces": "Zamjenjuje",
|
||||
"render.scene_review": "Razriješi i pregledaj",
|
||||
"render.scene_review_help": "Pregledajte kompletnu izvornu kompoziciju prije primjene. Nevezane napredne SCENE specifikacije se ne zamjenjuju.",
|
||||
"render.scene_scope_details": "Opseg kompozicije",
|
||||
"render.scene_stages": "Faze",
|
||||
"render.search_appearances": "Pretraži {count} izgleda",
|
||||
"render.setup_legacy_environment": "Ova starija postavka koristi naslijeđenu rotaciju ili intenzitet okruženja. Te vrijednosti se zadržavaju; izričito ih pretvorite prije čuvanja punog posla slike.",
|
||||
"render.setup_name": "Naziv postavke",
|
||||
@@ -2782,7 +3103,22 @@
|
||||
"render.shell_tab_camera": "KAMERA RENDERA",
|
||||
"render.shell_tab_lighting": "OSVJETLJENJE",
|
||||
"render.shell_tab_scene": "SCENA RENDERA",
|
||||
"render.shot_aperture": "Otvor blende",
|
||||
"render.shot_distance": "Udaljenost",
|
||||
"render.shot_dof": "Dubinska oštrina",
|
||||
"render.shot_duplicate": "Dupliciraj sačuvani kadar",
|
||||
"render.shot_edit_output": "Uredi u Izlazu",
|
||||
"render.shot_exposure_reason": "Ekspozicija zahtijeva CPU praćenje zraka ili GPU praćenje putanja.",
|
||||
"render.shot_exposure_section": "Ekspozicija",
|
||||
"render.shot_focus_distance": "Udaljenost fokusa",
|
||||
"render.shot_fov_reason": "Vidno polje zahtijeva perspektivnu projekciju.",
|
||||
"render.shot_frame_subject": "Uokviri predmet",
|
||||
"render.shot_invalid_camera": "Vrijednosti kamere moraju biti konačne i unutar raspona.",
|
||||
"render.shot_lens": "Objektiv",
|
||||
"render.shot_lens_enable_reason": "Omogućite dubinsku oštrinu da biste uredili otvor blende i udaljenost fokusa.",
|
||||
"render.shot_lens_gpu_reason": "Dubinska oštrina zahtijeva GPU praćenje putanja.",
|
||||
"render.shot_lens_perspective_reason": "Dubinska oštrina zahtijeva perspektivnu projekciju.",
|
||||
"render.shot_look_selection": "Usmjeri na izbor",
|
||||
"render.shot_manager": "Sačuvani kadrovi",
|
||||
"render.shot_new_name": "Naziv novog kadra",
|
||||
"render.shot_remove": "Ukloni sačuvani kadar",
|
||||
@@ -2790,6 +3126,9 @@
|
||||
"render.shot_remove_title": "Ukloniti sačuvani kadar?",
|
||||
"render.shot_rename": "Preimenuj sačuvani kadar",
|
||||
"render.shot_saved_only": "Prvo sačuvajte trenutni nacrt. Dupliciranje i preimenovanje čuvaju tačne sačuvane opcije i reference na resurse.",
|
||||
"render.shot_selection_reason": "Izaberite tijelo ili lice prema kojem treba usmjeriti kameru.",
|
||||
"render.shot_size": "Veličina",
|
||||
"render.shot_target": "Cilj",
|
||||
"render.shots_camera_changed": "Kamera je promijenjena od čuvanja ovog kadra",
|
||||
"render.shots_name_help": "Unesite jedinstven naziv za trenutni kadar.",
|
||||
"render.shots_no_result": "Još nema renderovanja",
|
||||
@@ -3052,6 +3391,7 @@
|
||||
"select an axis": "izaberite osu",
|
||||
"select an axis, a straight or circular edge, or a cylinder, cone or torus face first": "prvo izaberite osu, pravu ili kružnu ivicu, ili lice cilindra, konusa ili torusa",
|
||||
"select bodies first": "prvo izaberite tijela",
|
||||
"select components first": "prvo izaberite komponente",
|
||||
"select corner points, or the two lines of one corner": "izaberite tačke uglova ili dvije linije jednog ugla",
|
||||
"select one corner point, or the two lines of one corner": "izaberite jednu tačku ugla ili dvije linije jednog ugla",
|
||||
"select sheet edges first": "prvo izaberite ivice lima",
|
||||
@@ -3070,6 +3410,7 @@
|
||||
"settings.double_click_components": "Dvaput kliknite komponentu da je aktivirate ili da uredite povezanu komponentu na mjestu",
|
||||
"settings.frame_rate_details_note": "Dodaje graf vremena posljednjih kadrova s brojem iscrtanih trouglova, histogram vremena kadrova i šta je GPU nacrtao. Kliknite broj kadrova u sekundi u prikazu da ih prikažete ili sakrijete.",
|
||||
"settings.frame_rate_note": "Prikazuje broj kadrova u sekundi u donjem desnom uglu prikaza.",
|
||||
"settings.insert_lists_open_designs": "Umetni dizajn prvo navodi dizajne otvorene na drugim karticama",
|
||||
"settings.measure_axis_distances": "Prikaži udaljenosti X/Y/Z",
|
||||
"settings.measure_axis_distances_help": "Prikazuj komponente udaljenosti po svjetskim osama uz ukupnu udaljenost dok je Mjerenje otvoreno.",
|
||||
"settings.msaa_applies_on_restart": "Uglađivanje ivica primjenjuje se pri sljedećem pokretanju SolidCrafta",
|
||||
@@ -3094,6 +3435,10 @@
|
||||
"shortcut.unpin": "Otkači",
|
||||
"sketch is missing": "skica nedostaje",
|
||||
"sketch.degrees_of_freedom": "Stepeni slobode: {count}",
|
||||
"sketch.dimension_added_driven": "Skica već određuje tu kotu, pa je dodana kao zavisna (referentna) kota",
|
||||
"sketch.dimension_applied": "Kota je primijenjena",
|
||||
"sketch.dimension_applied_defined": "Kota je primijenjena; parametar `{name}` je definisan",
|
||||
"sketch.dimension_applied_renamed": "Kota je primijenjena; parametar je nazvan `{name}`",
|
||||
"sketch.dof_left": "Preostali stepeni slobode: {count}",
|
||||
"sketch.dof_left_one": "Preostali stepeni slobode: {count}",
|
||||
"sketch.draw_curves": "Crtaj kao {linetype}",
|
||||
@@ -3128,6 +3473,8 @@
|
||||
"sketch_text.use_font_file": "Koristi datoteku fonta {path}",
|
||||
"solid": "puno",
|
||||
"status.editing": "Uređivanje: {name}",
|
||||
"status.navigation": "Mapiranje miša: {mapping}",
|
||||
"status.navigation_tip": "Kako miš pomjera prikaz. Kliknite da izaberete drugo mapiranje",
|
||||
"status.under_constrained": "Nedovoljno ograničeno (stepeni slobode: {count})",
|
||||
"status.under_constrained_one": "Nedovoljno ograničeno ({count} stepen slobode)",
|
||||
"status.units_tip": "Jedinice dizajna. Kliknite da ih promijenite",
|
||||
@@ -3161,8 +3508,10 @@
|
||||
"timeline.delete_folders_tip": "Zadrži njihove operacije i ugniježđene foldere u vremenskoj traci",
|
||||
"timeline.delete_folders_with_features_tip": "Izbriši foldere sa svim operacijama u njima i njihove ugniježđene foldere",
|
||||
"timeline.delete_many": "Izbriši izabrane operacije: {count}",
|
||||
"timeline.edited_rolled_back": "Operacija {name} je promijenjena, ali je iza oznake vraćanja, pa se ne gradi: pomjerite oznaku iza nje da vidite rezultat",
|
||||
"timeline.feature_error": "Greška: {message}",
|
||||
"timeline.feature_hint": "Dvaput kliknite za uređivanje · povucite za promjenu redoslijeda · desni klik za više",
|
||||
"timeline.feature_rolled_back": "Vraćeno: iza oznake vraćanja, pa se ne gradi",
|
||||
"timeline.feature_warning": "Upozorenje: {message}",
|
||||
"timeline.group": "Novi folder operacija",
|
||||
"timeline.move_many": "Premjesti stavke vremenske trake",
|
||||
@@ -3244,6 +3593,10 @@
|
||||
"ui.3d_mouse_offer": "Kalibracija 3D miša ispravlja zamijenjene ili obrnute ose i podešava njegovu brzinu i osjećaj.",
|
||||
"ui.3d_mouse_offer_never": "Ne prikazuj više",
|
||||
"ui.3d_mouse_offer_swap": "Prebaci na Hidraw (direktni drajver)",
|
||||
"ui.3d_mouse_orbit": "Orbitiranje",
|
||||
"ui.3d_mouse_orbit_classic": "Klasično",
|
||||
"ui.3d_mouse_orbit_tip": "Prema modelu: 3D miš okreće prikaz oko dijela modela koji je u sredini prikaza kada okretanje počne, označenog blijedom kuglom. Klasično: oko centra prikaza",
|
||||
"ui.3d_mouse_orbit_traced": "Prema modelu",
|
||||
"ui.3d_mouse_reading": "Očitanje",
|
||||
"ui.3d_mouse_reset_axes": "Resetuj dodjelu osa",
|
||||
"ui.3d_mouse_reset_view": "Resetuj prikaz",
|
||||
@@ -3630,6 +3983,7 @@
|
||||
"ui.constant": "Konstantno",
|
||||
"ui.constraints_conflict": "Ograničenja su u sukobu",
|
||||
"ui.construction": "Pomoćna",
|
||||
"ui.construction.ribbon_label": "Pomoćne",
|
||||
"ui.context_menu": "Kontekstni meni",
|
||||
"ui.continuity_g0": "G0 pregib",
|
||||
"ui.continuity_g1": "G1 tangentno",
|
||||
@@ -3670,6 +4024,7 @@
|
||||
"ui.design_properties.part_number": "Broj dijela",
|
||||
"ui.design_properties.project": "Projekat",
|
||||
"ui.design_properties.revision": "Revizija",
|
||||
"ui.design_saved": "Sačuvano: {path}",
|
||||
"ui.diameter": "Prečnik",
|
||||
"ui.dimension": "Kota",
|
||||
"ui.direct_interaction": "Direktna interakcija",
|
||||
@@ -3720,6 +4075,14 @@
|
||||
"ui.end_scale": "Krajnje skaliranje",
|
||||
"ui.entities": "Elementi",
|
||||
"ui.equal": "Jednakost",
|
||||
"ui.equation_end": "Kraj",
|
||||
"ui.equation_explicit": "Eksplicitno",
|
||||
"ui.equation_form": "Oblik",
|
||||
"ui.equation_note": "Varijabla je običan broj: sin(t) je uzima u radijanima. Rezultat bez jedinice je u jedinici dizajna.",
|
||||
"ui.equation_parametric": "Parametarski",
|
||||
"ui.equation_x_of_t": "x(t)",
|
||||
"ui.equation_y_of_t": "y(t)",
|
||||
"ui.equation_y_of_x": "y(x)",
|
||||
"ui.equivalent_radius": "Ekvivalentni poluprečnik",
|
||||
"ui.expand": "Proširi",
|
||||
"ui.exportDxf": "Izvezi DXF…",
|
||||
@@ -3785,6 +4148,7 @@
|
||||
"ui.heading_design": "DIZAJN",
|
||||
"ui.heading_draft": "NAGIB",
|
||||
"ui.heading_edit": "UREDI",
|
||||
"ui.heading_equation_curve": "KRIVA IZ JEDNAČINE",
|
||||
"ui.heading_extrude": "EKSTRUDIRAJ",
|
||||
"ui.heading_fillet": "ZAOBLJENJE",
|
||||
"ui.heading_finish_editing": "ZAVRŠI UREĐIVANJE",
|
||||
@@ -3876,6 +4240,10 @@
|
||||
"ui.import_ellipsis": "Uvezi…",
|
||||
"ui.infinite": "Beskonačno",
|
||||
"ui.insert": "Umetni",
|
||||
"ui.insert_design.browse": "Pregledaj…",
|
||||
"ui.insert_design.open_designs": "Otvoreni dizajni",
|
||||
"ui.insert_design.saved_file": "{name} ima nesačuvane promjene, pa je umetnuta njegova sačuvana datoteka. Sačuvajte ga, a zatim pokrenite Ažuriraj veze da unesete promjene.",
|
||||
"ui.insert_design.unsaved": "Nesačuvane promjene",
|
||||
"ui.inspect": "Pregledaj",
|
||||
"ui.intersect": "Presjek",
|
||||
"ui.isolate": "Izoluj",
|
||||
@@ -4025,6 +4393,18 @@
|
||||
"ui.project": "Projektuj",
|
||||
"ui.project_face_edges_sketch": "Projektuj ivice lica u nove skice",
|
||||
"ui.properties": "Svojstva",
|
||||
"ui.properties.copy_matrix": "Kopiraj matricu",
|
||||
"ui.properties.first_moments": "Statički momenti",
|
||||
"ui.properties.inertia": "Moment inercije",
|
||||
"ui.properties.inertia_note": "Oko centra mase, u svjetskim osama (g·{unit}²)",
|
||||
"ui.properties.inertia_unavailable": "Nije dostupno: mreža jednog tijela nije zatvorena.",
|
||||
"ui.properties.inertia_x": "Ixx, Ixy, Ixz",
|
||||
"ui.properties.inertia_y": "Iyx, Iyy, Iyz",
|
||||
"ui.properties.inertia_z": "Izx, Izy, Izz",
|
||||
"ui.properties.measuring": "Mjerenje…",
|
||||
"ui.properties.measuring_failed": "Mjerenje je zaustavljeno prije završetka.",
|
||||
"ui.properties.principal_axis": "Glavna osa {number}",
|
||||
"ui.properties.principal_moments": "Glavni momenti",
|
||||
"ui.pull_direction": "Smjer vađenja iz kalupa",
|
||||
"ui.quality": "Kvalitet",
|
||||
"ui.quantity": "Broj",
|
||||
@@ -4087,6 +4467,7 @@
|
||||
"ui.select": "Izaberi",
|
||||
"ui.selectOther": "Izaberi drugo…",
|
||||
"ui.selectTangentChain": "Izaberi tangentni lanac",
|
||||
"ui.select_all": "Izaberi sve",
|
||||
"ui.selection": "Izbor",
|
||||
"ui.selection_modifiers": "Modifikatori izbora",
|
||||
"ui.selection_shift_add_only": "Shift+klik dodaje bez uklanjanja",
|
||||
@@ -4123,7 +4504,11 @@
|
||||
"ui.sketch": "Skica",
|
||||
"ui.sketch_dimension": "Kota skice",
|
||||
"ui.sketch_grid": "Mreža skice",
|
||||
"ui.sketch_intersect_geometry": "Geometrija",
|
||||
"ui.sketch_intersect_projection_link": "Veza projekcije",
|
||||
"ui.sketch_intersect_selection_filter": "Filter izbora",
|
||||
"ui.sketch_modifiers": "Modifikatori skice",
|
||||
"ui.sketch_project_geometry": "Geometrija",
|
||||
"ui.sketch_scale": "Skaliranje skice",
|
||||
"ui.sketches": "Skice",
|
||||
"ui.slice": "Presijeci",
|
||||
@@ -4170,6 +4555,11 @@
|
||||
"ui.symmetric": "Simetrično",
|
||||
"ui.symmetry": "Simetrija",
|
||||
"ui.system": "Sistem",
|
||||
"ui.tab_assemble": "Sklopi",
|
||||
"ui.tab_manage": "Upravljanje",
|
||||
"ui.tab_sheet_metal": "Lim",
|
||||
"ui.tab_view": "Prikaz",
|
||||
"ui.tab_weldments": "Zavarene konstrukcije",
|
||||
"ui.tangent": "Tangentno",
|
||||
"ui.taper_angle": "Ugao suženja",
|
||||
"ui.tapped": "S navojem",
|
||||
@@ -4185,6 +4575,7 @@
|
||||
"ui.tip_angle": "Ugao vrha",
|
||||
"ui.to_object": "Do objekta",
|
||||
"ui.tool_direction": "Smjer alata",
|
||||
"ui.toolbar_tabs_hidden": "Sve kartice trake s alatima su skrivene. Kliknite + ili kliknite desnim dugmetom ovdje da prikažete jednu.",
|
||||
"ui.top": "Odozgo",
|
||||
"ui.top_diameter": "Gornji prečnik",
|
||||
"ui.top_radius": "Gornji poluprečnik",
|
||||
@@ -4231,6 +4622,7 @@
|
||||
"ui.visual_shaded_with_edges": "Osjenčeno s ivicama",
|
||||
"ui.visual_style": "Vizuelni stil",
|
||||
"ui.visual_wireframe": "Žičani model",
|
||||
"ui.wheel_zoom_speed": "Brzina zumiranja točkićem miša",
|
||||
"ui.width": "Širina",
|
||||
"ui.window_system": "Sistem prozora",
|
||||
"ui.window_system_auto": "Automatski",
|
||||
@@ -4284,6 +4676,9 @@
|
||||
"update.prefs_managed": "Ovo je SolidCraft {version}, kojim upravlja {manager}. Provjera pita GitHub za najnovije izdanje i ne šalje ništa drugo; ažurirajte SolidCraft u {manager}.",
|
||||
"update.prefs_note": "Ovo je SolidCraft {version} ({kind}). Provjera pita GitHub za najnovije izdanje i ne šalje ništa drugo.",
|
||||
"update.prefs_web": "Ponovo učitajte stranicu da dobijete najnoviju web aplikaciju. Ako mreža nije dostupna ili se ažuriranje ne može preuzeti na vrijeme, otvara se sačuvana verzija; preuzimanje u toku nastavlja se za sljedeće ponovno učitavanje.",
|
||||
"update.refresh_checking": "Provjera najnovijeg izdanja…",
|
||||
"update.refresh_fallback": "Provjera novijeg izdanja nije uspjela; ažurira se na verziju {version}, pronađenu ranije.",
|
||||
"update.refresh_selected": "Ažuriranje na {version}.",
|
||||
"update.release_page": "Otvori stranicu izdanja",
|
||||
"update.restart": "Ponovo pokreni sada",
|
||||
"update.restart_later": "Kasnije",
|
||||
|
||||
@@ -204,6 +204,7 @@
|
||||
"Edges": "Hrany",
|
||||
"Edit": "Upravit",
|
||||
"Edit Profile Sketch": "Upravit náčrt profilu",
|
||||
"Edit shortcuts": "Upravit zkratky",
|
||||
"Enable rule": "Povolit pravidlo",
|
||||
"Enabled": "Povoleno",
|
||||
"End Radius": "Koncový poloměr",
|
||||
@@ -466,6 +467,7 @@
|
||||
"Radius": "Poloměr",
|
||||
"Radius Fit": "Proložení poloměrem",
|
||||
"Ratio": "Poměr",
|
||||
"Read-only list: shortcuts can't be changed here.": "Seznam jen pro čtení: zkratky zde nelze měnit.",
|
||||
"Reattach selected face": "Znovu připojit k vybrané ploše",
|
||||
"Recover": "Obnovit",
|
||||
"Recover unsaved design?": "Obnovit neuložený návrh?",
|
||||
@@ -649,6 +651,7 @@
|
||||
"Third point": "Třetí bod",
|
||||
"This child is shared. Deleting it removes it from every copy of its parent.": "Tento potomek je sdílený. Smazáním jej odeberete ze všech kopií jeho rodiče.",
|
||||
"This child is shared. Position changes apply to every copy of its parent.": "Tento potomek je sdílený. Změny polohy se projeví ve všech kopiích jeho rodiče.",
|
||||
"This component is inside a subassembly placed more than once: aligning it moves it in every placement.": "Tato komponenta je uvnitř podsestavy umístěné vícekrát: její zarovnání ji posune ve všech umístěních.",
|
||||
"This face cannot provide a durable attachment. Choose another face or explicitly use a fixed plane.": "Tato plocha nemůže poskytnout trvalé připojení. Zvolte jinou plochu nebo výslovně použijte pevnou rovinu.",
|
||||
"This image is not attached to GitHub yet. Copy or save it, then attach it on GitHub.": "Tento obrázek ještě není přiložen na GitHubu. Zkopírujte ho nebo uložte a na GitHubu ho přiložte.",
|
||||
"Thread depth": "Hloubka závitu",
|
||||
@@ -790,6 +793,11 @@
|
||||
"cam.roller": "Kladka",
|
||||
"cam.roller_pick": "Kladka (volitelné)",
|
||||
"cam.tip_pick": "Hrot (volitelné)",
|
||||
"camera.shot_pitch": "Náklon",
|
||||
"camera.shot_roll": "Natočení",
|
||||
"camera.shot_yaw": "Stáčení",
|
||||
"canvas.decal_place_hint": "Kliknutím na plochu umístíte obtisk",
|
||||
"canvas.place_hint": "Kliknutím na rovinu nebo plochu umístíte plátno",
|
||||
"choose a profile": "vyberte profil",
|
||||
"choose the cam's and the follower's joints": "vyberte klouby vačky a zdvihátka",
|
||||
"choose the joints to couple": "vyberte klouby ke spřažení",
|
||||
@@ -797,9 +805,12 @@
|
||||
"click sketch curves": "klikněte na křivky náčrtu",
|
||||
"cmd.appearance_assign": "Vzhled",
|
||||
"cmd.appearance_chain": "Řetězec vzhledů",
|
||||
"cmd.appearance_copy": "Kopírovat styl",
|
||||
"cmd.appearance_favorite": "Oblíbený styl",
|
||||
"cmd.appearance_library": "Knihovna vzhledů",
|
||||
"cmd.appearance_list": "Seznam vzhledů",
|
||||
"cmd.appearance_paint": "Nanést vzhled",
|
||||
"cmd.appearance_paste": "Vložit styl",
|
||||
"cmd.appearance_pick_up": "Převzít vzhled",
|
||||
"cmd.appearance_replace": "Nahradit vzhled",
|
||||
"cmd.assembly_bom": "Kusovník",
|
||||
@@ -810,6 +821,7 @@
|
||||
"cmd.browser_move": "Přesunout položky prohlížeče",
|
||||
"cmd.browser_order": "Seřadit položky prohlížeče",
|
||||
"cmd.browser_rename_group": "Přejmenovat skupinu",
|
||||
"cmd.browser_reparent": "Přesunout do komponenty",
|
||||
"cmd.browser_ungroup": "Zrušit skupinu",
|
||||
"cmd.browser_visibility": "Zobrazit/skrýt",
|
||||
"cmd.canvas_calibrate": "Kalibrovat plátno",
|
||||
@@ -836,7 +848,9 @@
|
||||
"cmd.component_metadata": "Vlastnosti dílu",
|
||||
"cmd.component_metadata_set": "Změnit vlastnosti dílu",
|
||||
"cmd.component_move_bodies": "Přesunout tělesa do komponenty",
|
||||
"cmd.component_move_features": "Přesunout prvky do komponenty",
|
||||
"cmd.component_move_sketches": "Přesunout náčrty do komponenty",
|
||||
"cmd.component_paste_from_design": "Vložit z jiného návrhu",
|
||||
"cmd.component_paste_new": "Vložit jako nové",
|
||||
"cmd.component_properties": "Fyzikální vlastnosti komponenty",
|
||||
"cmd.component_relink": "Znovu propojit zdroj",
|
||||
@@ -973,6 +987,7 @@
|
||||
"cmd.motion_trace": "Stopa pohybu",
|
||||
"cmd.motion_trace_edit": "Upravit stopu pohybu",
|
||||
"cmd.motion_trace_keep": "Ponechat stopu pohybu",
|
||||
"cmd.occurrence_align": "Zarovnat výskyt",
|
||||
"cmd.occurrence_copy": "Vložit (instance)",
|
||||
"cmd.occurrence_drag": "Táhnout výskyt",
|
||||
"cmd.occurrence_ground": "Ukotvit",
|
||||
@@ -1030,11 +1045,17 @@
|
||||
"cmd.render_library_surface_unbind": "Odebrat přiřazení povrchu",
|
||||
"cmd.render_library_targets": "Najít cíle renderovací knihovny",
|
||||
"cmd.render_lights_add": "Přidat světlo",
|
||||
"cmd.render_lights_duplicate": "Duplikovat světlo renderu",
|
||||
"cmd.render_lights_list": "Seznam světel renderu",
|
||||
"cmd.render_lights_mute": "Ztlumit světlo",
|
||||
"cmd.render_lights_remove": "Odebrat světlo renderu",
|
||||
"cmd.render_lights_set": "Nastavit světlo renderu",
|
||||
"cmd.render_lights_solo": "Sólo světlo",
|
||||
"cmd.render_optics_bind": "Uložit optické přiřazení",
|
||||
"cmd.render_optics_unbind": "Odebrat optické přiřazení",
|
||||
"cmd.render_output_size": "Nastavit velikost výstupu vykreslení",
|
||||
"cmd.render_preflight": "Zkontrolovat požadavek na render",
|
||||
"cmd.render_preflight_copy": "Kopírovat zprávu o kontrole renderu",
|
||||
"cmd.render_preset_apply": "Použít nativní studio",
|
||||
"cmd.render_preset_resolve": "Zkontrolovat nativní studio",
|
||||
"cmd.render_quality_prepare": "Zkontrolovat pevný rozpočet vzorkování",
|
||||
@@ -1057,6 +1078,13 @@
|
||||
"cmd.render_start": "Renderovat obrázek",
|
||||
"cmd.render_status": "Průběh renderu",
|
||||
"cmd.select_clear": "Zrušit výběr",
|
||||
"cmd.settings_profile_apply": "Použít profil nastavení",
|
||||
"cmd.settings_profile_delete": "Smazat profil nastavení",
|
||||
"cmd.settings_profile_export": "Exportovat profil nastavení",
|
||||
"cmd.settings_profile_import": "Importovat profil nastavení",
|
||||
"cmd.settings_profile_list": "Profily nastavení",
|
||||
"cmd.settings_profile_rename": "Přejmenovat profil nastavení",
|
||||
"cmd.settings_profile_save": "Uložit profil nastavení",
|
||||
"cmd.sheet_convert": "Převést na plech",
|
||||
"cmd.sheet_export_bend_table": "Exportovat tabulku ohybů",
|
||||
"cmd.sheet_export_dxf": "Exportovat rozvin do DXF",
|
||||
@@ -1070,6 +1098,16 @@
|
||||
"cmd.sheet_refold": "Znovu ohnout",
|
||||
"cmd.sheet_rules": "Seznam pravidel pro plech",
|
||||
"cmd.sheet_unfold": "Rozvinout",
|
||||
"cmd.sketch.construction_line": "Konstrukční přímka",
|
||||
"cmd.sketch.construction_line.angle": "Konstrukční přímka pod úhlem",
|
||||
"cmd.sketch.construction_line.bisector": "Osa úhlu",
|
||||
"cmd.sketch.construction_line.horizontal": "Vodorovná konstrukční přímka",
|
||||
"cmd.sketch.construction_line.parallel": "Rovnoběžná konstrukční přímka",
|
||||
"cmd.sketch.construction_line.perpendicular": "Kolmá konstrukční přímka",
|
||||
"cmd.sketch.construction_line.tangent_at": "Tečna v bodě křivky",
|
||||
"cmd.sketch.construction_line.tangent_external": "Tečna vedená vnějším bodem",
|
||||
"cmd.sketch.construction_line.tangent_two": "Společná tečna",
|
||||
"cmd.sketch.construction_line.vertical": "Svislá konstrukční přímka",
|
||||
"cmd.sketch_arc3d": "3D oblouk",
|
||||
"cmd.sketch_arc_center_point": "Oblouk ze středu",
|
||||
"cmd.sketch_arc_tangent": "Tečný oblouk",
|
||||
@@ -1102,6 +1140,8 @@
|
||||
"cmd.sketch_drawing_bounds": "Velikost výkresu",
|
||||
"cmd.sketch_edit": "Upravit náčrt",
|
||||
"cmd.sketch_edit_text": "Upravit text",
|
||||
"cmd.sketch_equation_curve": "Křivka z rovnice",
|
||||
"cmd.sketch_equation_curve_edit": "Upravit křivku z rovnice",
|
||||
"cmd.sketch_export_dxf": "Uložit jako DXF",
|
||||
"cmd.sketch_finish_auto_constrain": "Dokončit s automatickými vazbami",
|
||||
"cmd.sketch_fit_curves_to_section": "Proložit křivky řezem sítě",
|
||||
@@ -1198,6 +1238,7 @@
|
||||
"cmd.view.render_browser": "Prohlížeč renderu",
|
||||
"cmd.view.render_dock": "Přesunout panel renderu",
|
||||
"cmd.view.render_focus": "Soustředěný pohled na render",
|
||||
"cmd.view.status_items": "Stavové položky pohledu",
|
||||
"cmd.view_ambient_occlusion": "Okolní zastínění",
|
||||
"cmd.view_angle_readout": "Úhly pohledu",
|
||||
"cmd.view_apply": "Obnovit pojmenovaný pohled",
|
||||
@@ -1219,6 +1260,7 @@
|
||||
"cmd.view_normal_to": "Kolmo k výběru",
|
||||
"cmd.view_previous_tab": "Předchozí karta",
|
||||
"cmd.view_rename": "Přejmenovat pojmenovaný pohled",
|
||||
"cmd.view_render_frame": "Vodítka rámce renderu",
|
||||
"cmd.view_right": "Pohled zprava",
|
||||
"cmd.view_save": "Nový pojmenovaný pohled",
|
||||
"cmd.view_shots_strip": "Pás záběrů",
|
||||
@@ -1229,10 +1271,14 @@
|
||||
"color.copy": "Kliknutím zkopírujete hodnoty barvy",
|
||||
"color.edit": "Kliknutím upravíte barvu",
|
||||
"color.gamma": "Hodnoty barvy v gama prostoru 0–255",
|
||||
"color.hex": "Hex",
|
||||
"color.hex_help": "Zadejte #rrggbb nebo #rrggbbaa; šest číslic zachová neprůhlednost",
|
||||
"color.hex_hint": "#rrggbb",
|
||||
"color.hue": "Odstín",
|
||||
"color.linear": "Hodnoty barvy v lineárním prostoru 0–1",
|
||||
"color.saturation_value": "Sytost a jas",
|
||||
"color.selected": "Vybraná barva",
|
||||
"config.column_filter_empty": "Žádné odpovídající sloupce",
|
||||
"contact.components_count": "Počet komponent: {count}",
|
||||
"contact.enabled_label": "povoleno",
|
||||
"coupling.gear_1": "Kolo 1",
|
||||
@@ -1346,8 +1392,10 @@
|
||||
"help.material.assign": "Určí, z čeho jsou vybraná tělesa vyrobena, například z oceli, hliníku nebo ABS. Hodí se k tomu, aby hmotnost a tíha odpovídaly skutečnému dílu.",
|
||||
"help.mit": "Licence MIT",
|
||||
"help.notice": "NOTICE",
|
||||
"help.occurrence.move": "Posouvá díl sestavy jen v těch stupních volnosti, které povolují jeho klouby. Vyberte plochu dílu a pak táhněte za dostupnou šipku nebo oblouk.",
|
||||
"help.parameters.change": "Otevře tabulku pojmenovaných hodnot a výrazů, které řídí rozměry návrhu. Hodí se ke změně rozměru na jednom místě, kterou převezmou všechny prvky, jež jej používají.",
|
||||
"help.pointcloud.insert": "Vložte sken PLY, XYZ nebo PTS jako mračno bodů vedle modelu. Použijte ho jako referenci při tvorbě modelu z naměřených dat.",
|
||||
"help.sketch.equation_curve": "Nakreslí křivku podle vzorců: x(t) a y(t), nebo y = f(x), v zadaném rozsahu. Vzorce mohou používat parametry a křivka se podle nich mění: použijte ji pro sinusovku, spirálu nebo evolventu zubu ozubeného kola.",
|
||||
"help.solid.align": "Posune vybraná tělesa tak, aby se bod, plocha nebo rovina na nich setkala s bodem, plochou nebo rovinou jinde. Hodí se k přiložení dílu k jinému bez měření odsazení.",
|
||||
"help.solid.chamfer": "Zkosí vybrané hrany plochým sražením o zadanou vzdálenost. Hodí se k otupení ostrých hran nebo ke snadnějšímu zasunutí kolíku či šroubu.",
|
||||
"help.solid.combine": "Sjednotí tělesa, vyjme je z cílového tělesa nebo ponechá jen společný objem; nástrojová tělesa lze ponechat. Hodí se ke slučování dílů, k vyříznutí jednoho tvaru druhým nebo k nalezení místa, kde se dvě tělesa překrývají.",
|
||||
@@ -1474,6 +1522,21 @@
|
||||
"joint.one_component": "Tyto díly jsou tělesy jedné komponenty: {bodies}. Kloub pohybuje jednou komponentou vůči druhé, takže každý díl potřebuje vlastní komponentu.",
|
||||
"joint.rigid_group_one_component": "Těchto {count} těles patří do jedné komponenty (nebo přímo do návrhu): nejprve použijte {command}.",
|
||||
"joint.rigid_group_select_components": "Vyberte dvě nebo více komponent.",
|
||||
"joint_move.blocked_hint": "Zkontrolujte typ kloubu (např. Pevný), ukotvení, limity kloubu a hodnoty řízené parametry.",
|
||||
"joint_move.blocked_title": "Tento díl nelze posunout",
|
||||
"joint_move.coarse": "Krok otáčení blízko osy (°)",
|
||||
"joint_move.distance": "Vzdálenost od začátku",
|
||||
"joint_move.done": "Hotovo",
|
||||
"joint_move.fine": "Krok otáčení daleko od osy (°)",
|
||||
"joint_move.fixed": "Tento díl nemá žádnou pohyblivou osu kloubu.",
|
||||
"joint_move.help": "Posunout — táhněte za šipku nebo prstenec. Esc zruší aktuální tažení.",
|
||||
"joint_move.legacy_hint": "Vypnutím použijete předchozí panel Posunout.",
|
||||
"joint_move.precision": "Pro jemné otáčení táhněte mimo čárkované vodítko.",
|
||||
"joint_move.rotation": "Otočení od začátku",
|
||||
"joint_move.select": "Vyberte plochu nebo jeden díl sestavy a pak zvolte Posunout.",
|
||||
"joint_move.settings": "Posun v sestavě",
|
||||
"joint_move.step": "Krok",
|
||||
"joint_move.use_handles": "Pro Posunout v sestavě používat úchyty pohybu kloubů",
|
||||
"keymap.command_id": "ID příkazu",
|
||||
"keymap.empty": "Žádné odpovídající příkazy",
|
||||
"keymap.use_anyway": "Přesto zde použít {key}",
|
||||
@@ -1568,6 +1631,8 @@
|
||||
"nav.maya.help": "Alt+tažení levým tlačítkem otáčí, Alt+prostřední tlačítko posouvá, Alt+pravé tlačítko přibližuje; tažení prostředním tlačítkem také posouvá",
|
||||
"nav.openscad.help": "Tažení levým tlačítkem na prázdném místě otáčí, Shift+tažení levým vybírá obdélníkem, tažení geometrie náčrtu ji upravuje; tažení pravým nebo prostředním tlačítkem posouvá, Shift+tažení pravým nebo prostředním přibližuje",
|
||||
"nav.perspective.sketch": "Úpravy náčrtu používají ortografický pohled. Dokončením náčrtu přepnete na perspektivu.",
|
||||
"nav.right_drag_orbits.help": "Vypnuto: tažení pravým tlačítkem kameru nemění a pravé tlačítko jen otevírá kontextovou nabídku. Volba přiřazení myši SolidWorks tuto možnost vypne.",
|
||||
"nav.right_drag_orbits.label": "Tažení pravým tlačítkem otáčí",
|
||||
"nav.solidworks.help": "Tažení prostředním tlačítkem otáčí, Ctrl+prostřední posouvá, Shift+prostřední přibližuje, tažení pravým tlačítkem otáčí",
|
||||
"nav.tinkercad.help": "Tažení pravým tlačítkem otáčí, tažení prostředním tlačítkem nebo Shift+pravým posouvá",
|
||||
"nav.touchpad.help": "Podržením Shift a pohybem ukazatele posouváte; podržením Alt/Option a pohybem otáčíte. Tlačítko myši není potřeba. Svislé posouvání přibližuje.",
|
||||
@@ -1589,6 +1654,9 @@
|
||||
"navbar.custom.customise": "Přizpůsobit navigační lištu…",
|
||||
"navbar.custom.design": "Návrh",
|
||||
"navbar.custom.duplicate": "Tato pozice už na liště je.",
|
||||
"navbar.custom.edge": "Okraj",
|
||||
"navbar.custom.edge_bottom": "Dole",
|
||||
"navbar.custom.edge_top": "Nahoře",
|
||||
"navbar.custom.fade": "Zeslabit",
|
||||
"navbar.custom.full": "Pro přidání další pozice jednu odeberte.",
|
||||
"navbar.custom.hidden_design": "Skryto v Návrhu",
|
||||
@@ -1695,6 +1763,7 @@
|
||||
"parts.dimension.thickness": "Tloušťka",
|
||||
"parts.dimension.width": "Šířka",
|
||||
"parts.family.bearing": "Kuličkové ložisko s hlubokou drážkou (obalový tvar)",
|
||||
"parts.family.button_head_cap_screw": "Šroub s půlkulovou hlavou a vnitřním šestihranem",
|
||||
"parts.family.dowel_pin": "Válcový kolík (lícovaný)",
|
||||
"parts.family.hex_bolt": "Šroub se šestihrannou hlavou",
|
||||
"parts.family.hex_nut": "Šestihranná matice",
|
||||
@@ -1751,6 +1820,9 @@
|
||||
"prefs.bottom_centre": "Dole uprostřed",
|
||||
"prefs.bottom_right": "Vpravo dole",
|
||||
"prefs.browser": "Prohlížeč",
|
||||
"prefs.browser_reveal_on_hover": "Odkrýt při najetí myší",
|
||||
"prefs.browser_show_note": "Zobrazeno ponechá prohlížeč na obrazovce. Odkrýt při najetí myší jej skryje, dokud ukazatel nenajede na jeho místo nebo na tenký jazýček u jeho levého okraje, a prohlížeč zůstane otevřený, dokud je ukazatel uvnitř něj nebo je otevřená některá z jeho nabídek.",
|
||||
"prefs.browser_shown": "Zobrazeno",
|
||||
"prefs.built_in": "Vestavěný",
|
||||
"prefs.button_left": "Tažení levým tlačítkem",
|
||||
"prefs.button_middle": "Tažení prostředním tlačítkem",
|
||||
@@ -1821,6 +1893,8 @@
|
||||
"prefs.layout_note": "Kompaktní ukotví panely k okrajům okna. Průsvitnost prohlížeče je k dispozici v režimu Plovoucí. Stranu asistenta změníte na stránce Asistent.",
|
||||
"prefs.left": "Vlevo",
|
||||
"prefs.left_click": "Levé kliknutí",
|
||||
"prefs.line_drag_draws_one": "Stisknutí a tažení nakreslí jednu úsečku",
|
||||
"prefs.line_drag_draws_one_note": "V nástroji Úsečka nakreslí stisknutí, tažení a puštění jednu úsečku od místa stisknutí po místo puštění a tím kreslení skončí. Kliknutí stále kreslí řetězec. Vypnuto: tažení umístí bod tam, kde tlačítko pustíte, stejně jako kliknutí.",
|
||||
"prefs.linked_designs": "Propojené návrhy",
|
||||
"prefs.live_input": "Živý vstup",
|
||||
"prefs.live_preview": "Živý náhled",
|
||||
@@ -1853,14 +1927,36 @@
|
||||
"prefs.origin_plane_names": "Názvy rovin počátku",
|
||||
"prefs.origin_plane_names_note": "Názvy zobrazené v prohlížeči, dialozích a seznamech. {top} je XY, {front} je XZ a {right} je YZ, osa Z směřuje nahoru. Příkazy, skripty a uložené návrhy zachovávají XY, XZ a YZ.",
|
||||
"prefs.overall_speed": "Celková rychlost",
|
||||
"prefs.perspective_fov": "Zorný úhel",
|
||||
"prefs.placement": "Umístění",
|
||||
"prefs.prefer_free_sketch_points": "Při překrytí bodů upřednostnit pohyblivé body náčrtu",
|
||||
"prefs.preview_choices": "Náhled vašich voleb",
|
||||
"prefs.profile_active": "Aktivní profil",
|
||||
"prefs.profile_applied": "Profil byl použit.",
|
||||
"prefs.profile_changed": "Nastavení se od uložení profilu změnila. Uložit je do něj zapíše.",
|
||||
"prefs.profile_deleted": "Profil byl smazán.",
|
||||
"prefs.profile_export": "Exportovat…",
|
||||
"prefs.profile_exported": "Profil byl exportován.",
|
||||
"prefs.profile_imported": "Profil byl importován. Chcete-li se na něj přepnout, vyberte ho v části Aktivní profil.",
|
||||
"prefs.profile_name_hint": "Název profilu, např. Notebook",
|
||||
"prefs.profile_rename": "Přejmenovat",
|
||||
"prefs.profile_renamed": "Profil byl přejmenován.",
|
||||
"prefs.profile_save": "Uložit",
|
||||
"prefs.profile_saved": "Aktuální nastavení byla uložena do profilu.",
|
||||
"prefs.profile_skipped": "Profil byl použit; počet nastavení, která si ponechala aktuální hodnotu: {n} (viz protokol).",
|
||||
"prefs.profiles": "Profily nastavení",
|
||||
"prefs.profiles_note": "Zkratky, panel nástrojů, navigace, kruhová nabídka a nastavení rozhraní, uložené společně pod jedním názvem a přepínané najednou.",
|
||||
"prefs.project_options_dialog": "Dialog možností promítnutí",
|
||||
"prefs.project_options_dialog_note": "Zapnuto: před promítnutím zvolte Geometrie nebo Tělesa a Propojení promítnutí. Vypnuto: zachová se předchozí postup s přímým výběrem.",
|
||||
"prefs.quality_default": "výchozí",
|
||||
"prefs.quality_fastest": "nejrychlejší",
|
||||
"prefs.quality_slowest": "nejpomalejší",
|
||||
"prefs.quality_smoother": "hladší",
|
||||
"prefs.render_previous_geometry_budget": "Použít předchozí rozpočet geometrie náhledu renderu",
|
||||
"prefs.render_previous_geometry_budget_help": "Obnoví předchozí pevný limit geometrie (512 MiB na 64bitovém desktopu, 128 MiB jinde) místo rozpočtu podle zařízení.",
|
||||
"prefs.reports_saved": "{n} uloženo",
|
||||
"prefs.ribbon_reveal": "Ukazovat výsledky hledání na pásu karet",
|
||||
"prefs.ribbon_reveal_note": "Najetí na výsledek v Hledat příkazy ukáže, kde se příkaz na pásu karet nachází: jeho kartu, tlačítko nebo řádek v rozbalovací nabídce panelu. Příkaz spuštěný z hledání tam zabliká a běžící příkaz z rozbalovací nabídky označí svůj panel.",
|
||||
"prefs.right_click": "Pravé kliknutí",
|
||||
"prefs.saving": "Automatické ukládání a obnovení",
|
||||
"prefs.scale_note": "Také Ctrl + / Ctrl − v okně. Tlačítka mají při 100 % 28 px.",
|
||||
@@ -1874,6 +1970,10 @@
|
||||
"prefs.shift_add_ctrl_toggle": "Shift jen přidává; Ctrl / Cmd přepíná",
|
||||
"prefs.shift_add_note": "Zapnuto: Shift přidává, Ctrl / Cmd přepíná. Vypnuto (výchozí): obojí přepíná.",
|
||||
"prefs.shortcuts": "Zkratky",
|
||||
"prefs.single_surface_analysis": "Používat jen jednu analýzu povrchu",
|
||||
"prefs.single_surface_analysis_help": "Když je vypnuto, mohou stínování povrchu a Spojitost zůstat zapnuté současně. Zapnutím zůstane jen naposledy spuštěná nebo změněná analýza.",
|
||||
"prefs.sketch_align_points": "Při kreslení zarovnávat s jinými body náčrtu",
|
||||
"prefs.sketch_align_points_note": "Při kreslení se bod zarovná vodorovně s jedním bodem náčrtu a zároveň svisle s jiným, s tečkovaným vodítkem, a kliknutí zachová obě zarovnání. Vypnuto: jen s předchozím bodem, vždy v jedné ose.",
|
||||
"prefs.sketch_conflict_colour": "Konfliktní geometrie v barvě konfliktu",
|
||||
"prefs.sketch_conflict_colour_note": "Dokud jsou vazby náčrtu v konfliktu, vykreslují se v barvě konfliktu i křivky a body, které selhávající vazba drží, nejen její symbol nebo kóta. Vypnuto: ponechají si obvyklé barvy.",
|
||||
"prefs.sketch_exit_view": "Po ukončení náčrtu",
|
||||
@@ -1881,6 +1981,8 @@
|
||||
"prefs.sketch_exit_view.previous": "Vrátit se k předchozímu pohledu",
|
||||
"prefs.sketch_exit_view.unless_rotated": "Vrátit, pokud nebyl pohled otočen",
|
||||
"prefs.sketch_exit_view_note": "Kam se pohled přesune po příkazu Dokončit náčrt, Zrušit nebo dvojitém Esc.",
|
||||
"prefs.sketch_recent_snap": "Automaticky přichytávat k nedávným středům a středním bodům",
|
||||
"prefs.sketch_recent_snap_note": "Při kreslení se kurzor přichytí tam, kde se kříží vodítka dvou posledních středů kružnic nebo středů rovných hran. Vypnuto: tato vodítka se jen zobrazují a kurzor se nepohne.",
|
||||
"prefs.sketch_selection": "Náčrt a výběr",
|
||||
"prefs.sketch_selection_heading": "Náčrt a výběr",
|
||||
"prefs.sketch_selection_note": "Jak se v náčrtu přichytává a jak kliknutí vybírá.",
|
||||
@@ -1918,7 +2020,14 @@
|
||||
"prefs.toast_place": "Oznámení",
|
||||
"prefs.toggle_item": "Přidat položku, nebo ji znovu odebrat",
|
||||
"prefs.toolbar": "Panel nástrojů",
|
||||
"prefs.toolbar_tabs": "Karty panelu nástrojů",
|
||||
"prefs.top": "Nahoře",
|
||||
"prefs.trackpad_zoom_modifier": "Přibližovat posouváním dvěma prsty při podržení",
|
||||
"prefs.trackpad_zoom_modifier.alt": "⌥ / Alt",
|
||||
"prefs.trackpad_zoom_modifier.cmd": "⌘",
|
||||
"prefs.trackpad_zoom_modifier.ctrl": "Ctrl",
|
||||
"prefs.trackpad_zoom_modifier.help": "Podržením pouze této klávesy přibližujete svislým posouváním k ukazateli. Vypnuto ponechá stávající chování posouvání.",
|
||||
"prefs.trackpad_zoom_modifier.off": "Vypnuto",
|
||||
"prefs.translucent": "Průsvitné",
|
||||
"prefs.under_browser": "Pod prohlížečem",
|
||||
"prefs.under_cursor": "Pod kurzorem",
|
||||
@@ -1928,9 +2037,14 @@
|
||||
"prefs.view_confirm_corner": "OK a Zrušit v rohu pohledu",
|
||||
"prefs.view_confirm_corner_note": "Když je otevřen dialog nebo náčrt, zaškrtnutí a křížek vpravo nahoře v pohledu provedou totéž co OK a Zrušit v dialogu, nebo náčrt dokončí a zruší. Navigátor pohledu se posune pod ně.",
|
||||
"prefs.viewport": "Zobrazovací okno",
|
||||
"prefs.viewport_background": "Pozadí",
|
||||
"prefs.viewport_background_colour": "Barva",
|
||||
"prefs.viewport_background_theme": "Přechod motivu",
|
||||
"prefs.wheel": "Kolečko",
|
||||
"prefs.wheel_trackpad": "Kolečko a trackpad",
|
||||
"prefs.workspace": "Pracovní prostředí",
|
||||
"prefs.zoom_stop_at_model": "Zastavit přiblížení u modelu",
|
||||
"prefs.zoom_stop_at_model_tip": "3D myš a aplikace zařízení přibližují k povrchu uprostřed pohledu; přiblížení tažením drží bod, kde tažení začalo. Vypnuto: přiblížení může projít modelem. Kolečko a sevření prstů se řídí zvlášť volbou Přibližovat ke kurzoru",
|
||||
"prefs.zoom_toward_cursor": "Přiblížení směrem ke kurzoru",
|
||||
"properties.title": "Vlastnosti: {name}",
|
||||
"recovery.days_ago": "před {count} dny",
|
||||
@@ -2019,6 +2133,7 @@
|
||||
"render.appearance_editor.weight": "Váha",
|
||||
"render.appearance_physics_separate": "Vizuální vzhled nepřiřazuje hustotu, tepelné údaje ani jiné inženýrské vlastnosti.",
|
||||
"render.appearances": "Vzhledy",
|
||||
"render.assign_help": "Kliknutím použijete na výběr; tažením zobrazíte náhled a puštěním jej použijete, nebo kliknutím bez výběru zahájíte nanášení.",
|
||||
"render.availability_native": "Nativní kompozice; před použitím zkontrolujte",
|
||||
"render.availability_projection": "Podporované promítnutí; viz rozsah a vynechané části",
|
||||
"render.availability_reference": "Referenční data; nejde o automatické přiřazení",
|
||||
@@ -2057,6 +2172,7 @@
|
||||
"render.bloom_threshold": "Lineární práh jasů",
|
||||
"render.browse_capabilities": "Zobrazit úplný katalog možností",
|
||||
"render.browse_environments": "Procházet původní prostředí HDR",
|
||||
"render.browse_looks": "Procházet…",
|
||||
"render.browse_native_scenes": "Procházet nativní studia",
|
||||
"render.browse_physical": "Zobrazit fyzikální reference",
|
||||
"render.browse_quality": "Zobrazit specifikace kvality",
|
||||
@@ -2080,6 +2196,82 @@
|
||||
"render.check_opaque": "Průhlednost: pouze neprůhledné povrchy; alfa pozadí je podporována.",
|
||||
"render.check_sorted_alpha": "Průhlednost: aproximace seřazenou alfou.",
|
||||
"render.check_transmission": "Průhlednost: fyzikální prostup světla.",
|
||||
"render.children.absolute_floor": "Absolutní práh",
|
||||
"render.children.adaptive": "Adaptivní",
|
||||
"render.children.add_look_reason": "Chcete-li upravit zapnutí a sílu stylu, přidejte styl.",
|
||||
"render.children.all_shots": "Všechny záběry",
|
||||
"render.children.bloom": "Záře",
|
||||
"render.children.check": "Kontrola",
|
||||
"render.children.check_now": "Zkontrolovat nyní",
|
||||
"render.children.chromatic": "Chromatický posun",
|
||||
"render.children.compact": "Kompaktní",
|
||||
"render.children.contrast": "Kontrast",
|
||||
"render.children.copy_image": "Kopírovat",
|
||||
"render.children.copy_job": "Kopírovat JSON úlohy",
|
||||
"render.children.copy_request": "Kopírovat JSON požadavku",
|
||||
"render.children.coverage_error": "Chyba pokrytí",
|
||||
"render.children.cpu": "Trasování paprsků CPU",
|
||||
"render.children.denoise": "Potlačit šum v hotovém obrazu",
|
||||
"render.children.depth": "Hloubka cesty",
|
||||
"render.children.distortion": "Zkreslení",
|
||||
"render.children.edge_samples": "Vzorky hran",
|
||||
"render.children.effects_banner": "Tyto efekty vyžadují trasování cest GPU. Otevření této části nikdy nezmění metodu.",
|
||||
"render.children.enable_adaptive": "Chcete-li upravit adaptivní meze, zapněte nezávislé pilotní vzorky.",
|
||||
"render.children.enable_bloom": "Chcete-li upravit sílu, práh a poloměr záře, zapněte záři.",
|
||||
"render.children.finishing": "Finální úpravy",
|
||||
"render.children.flare": "Odlesk",
|
||||
"render.children.fresnel": "Fresnelovy vrstvy",
|
||||
"render.children.ghosts": "Prstence duchů",
|
||||
"render.children.glass": "Transport světla ve skle",
|
||||
"render.children.go_to": "Přejít na: {editor}",
|
||||
"render.children.grain": "Zrno",
|
||||
"render.children.halo": "Halo",
|
||||
"render.children.hdr": "HDR",
|
||||
"render.children.keep_master": "Zachovat surový lineární master",
|
||||
"render.children.last_result": "Poslední: {number} · {width} × {height} · {phase}",
|
||||
"render.children.lens_effects": "Efekty objektivu",
|
||||
"render.children.look_summary": "{tone} · stylů: {count}",
|
||||
"render.children.looks": "Kreativní styly",
|
||||
"render.children.memory": "Paměť",
|
||||
"render.children.method": "Metoda",
|
||||
"render.children.minimum": "Minimum",
|
||||
"render.children.needs_cpu": "Vyžaduje trasování paprsků CPU. Otevření této části nikdy nezmění metodu.",
|
||||
"render.children.nested": "Ověřená vnořená dielektrika",
|
||||
"render.children.not_checked": "Nezkontrolováno",
|
||||
"render.children.path": "Trasování cest",
|
||||
"render.children.pilots": "Pilotní vzorky",
|
||||
"render.children.preview": "Data náhledu",
|
||||
"render.children.progressive_reason": "Chcete-li upravit počet vzorků a semeno, zvolte Progresivní.",
|
||||
"render.children.radius": "Poloměr",
|
||||
"render.children.reflect_depth": "Hloubka odrazů",
|
||||
"render.children.reflect_samples": "Vzorky odrazu",
|
||||
"render.children.regrade": "Nová korekce barev",
|
||||
"render.children.relative_error": "Relativní chyba",
|
||||
"render.children.render": "Renderovat",
|
||||
"render.children.render_shot": "Renderovat záběr",
|
||||
"render.children.renderer": "Vykreslovač",
|
||||
"render.children.renderers": "Vykreslovače",
|
||||
"render.children.request": "Tento požadavek",
|
||||
"render.children.reset_finishing": "Obnovit finální úpravy",
|
||||
"render.children.review_quality": "Zkontrolovat specifikaci kvality…",
|
||||
"render.children.rgb_gain": "Zesílení RGB",
|
||||
"render.children.samples": "Vzorky",
|
||||
"render.children.sampling": "Vzorkování",
|
||||
"render.children.saturation": "Sytost",
|
||||
"render.children.scene_summary": "těles: {bodies} · trojúhelníků: {triangles}",
|
||||
"render.children.seed": "Semeno",
|
||||
"render.children.sharpening": "Doostření",
|
||||
"render.children.single_image": "Jeden obrázek",
|
||||
"render.children.soft_focus": "Měkké ostření",
|
||||
"render.children.streak": "Pruh",
|
||||
"render.children.strength": "Síla",
|
||||
"render.children.studio": "Studio",
|
||||
"render.children.threshold": "Práh",
|
||||
"render.children.tone": "Tón",
|
||||
"render.children.under_hood": "Pod kapotou",
|
||||
"render.children.vignette": "Vinětace",
|
||||
"render.children.workstation": "Pracovní stanice",
|
||||
"render.choose_look": "Nejprve vyberte styl ve Vzhledech",
|
||||
"render.chromatic_offset": "Chromatický posun hran",
|
||||
"render.clear_stage": "Odebrat uloženou scénografii",
|
||||
"render.copy_request": "Kopírovat JSON",
|
||||
@@ -2331,8 +2523,33 @@
|
||||
"render.flare_strength": "Síla odlesku v jasných partiích",
|
||||
"render.flare_threshold": "Práh odlesku ve scénově lineárním prostoru",
|
||||
"render.fold_browser": "Sbalit prohlížeč",
|
||||
"render.frame_aspect": "Poměr stran",
|
||||
"render.frame_centre_mark": "Značka středu",
|
||||
"render.frame_copy_limit": "Není k dispozici žádný volný název pro kopii záběru",
|
||||
"render.frame_copy_name": "{name} kopie {number}",
|
||||
"render.frame_custom": "Vlastní",
|
||||
"render.frame_distance_unit": " × velikost",
|
||||
"render.frame_duplicate": "Duplikovat",
|
||||
"render.frame_exposure": "Expozice",
|
||||
"render.frame_fov": "Zorný úhel",
|
||||
"render.frame_guides": "Vodítka",
|
||||
"render.frame_invalid_aspect": "Neplatná předvolba poměru stran",
|
||||
"render.frame_lens": "Zorný úhel {fov}° · ≈ {mm} mm",
|
||||
"render.frame_name": "Název",
|
||||
"render.frame_output_size": "Velikost výstupu",
|
||||
"render.frame_photo": "3:2 · Fotografie",
|
||||
"render.frame_portrait": "4:5 · Portrét",
|
||||
"render.frame_presets": "Předvolby rámce",
|
||||
"render.frame_presets_pending": "Přijde s editorem záběru",
|
||||
"render.frame_projection": "Projekce",
|
||||
"render.frame_render_shot": "Renderovat tento záběr",
|
||||
"render.frame_rule_thirds": "Pravidlo třetin",
|
||||
"render.frame_safe_area": "Bezpečná oblast",
|
||||
"render.frame_shot_title": "Záběr · {name}",
|
||||
"render.frame_square": "1:1 · Čtverec",
|
||||
"render.frame_tall": "9:16 · Na výšku",
|
||||
"render.frame_thirds": "Třetiny",
|
||||
"render.frame_wide": "16:9 · Širokoúhlý",
|
||||
"render.gpu_depth": "Maximální hloubka cesty",
|
||||
"render.gpu_options_help": "Tyto volby platí pro tuto úlohu. Expozice vychází z uloženého nastavení.",
|
||||
"render.gpu_path_failed": "Trasování cest GPU není dostupné",
|
||||
@@ -2360,6 +2577,7 @@
|
||||
"render.heading_results": "VÝSLEDKY",
|
||||
"render.heading_shots": "ZÁBĚRY",
|
||||
"render.hide_shots_label": "Skrýt pás záběrů",
|
||||
"render.hover_look": "{object} · {look} · kliknutím vyberete",
|
||||
"render.image_advanced": "Pokročilé nastavení GPU",
|
||||
"render.image_cancelled": "Render zrušen",
|
||||
"render.image_cancelling": "Rušení",
|
||||
@@ -2506,17 +2724,95 @@
|
||||
"render.library_uniform_ack": "Použít jednotnou aproximaci bez prostorových nebo pokročilých efektů",
|
||||
"render.library_usable": "Spustitelná promítnutí",
|
||||
"render.library_users": "Použito na",
|
||||
"render.light_aim": "Mířit na",
|
||||
"render.light_anchor_pending": "Změna souřadnicového systému světla zatím není podporována.",
|
||||
"render.light_azimuth": "Azimut",
|
||||
"render.light_backend_limit": "Chcete-li upravovat světla, zvolte trasování paprsků CPU nebo výslovné studio GPU. Světla starších studií GPU zůstávají jen pro čtení.",
|
||||
"render.light_behaviour": "CHOVÁNÍ",
|
||||
"render.light_default_fill": "Doplňkové",
|
||||
"render.light_default_key": "Hlavní",
|
||||
"render.light_default_number": "Světlo {number}",
|
||||
"render.light_default_rim": "Obrysové",
|
||||
"render.light_delete": "Smazat",
|
||||
"render.light_distance": "Vzdálenost",
|
||||
"render.light_duplicate": "Duplikovat",
|
||||
"render.light_elevation": "Elevace",
|
||||
"render.light_gpu_punctual": "Bodová světla a reflektory jsou k dispozici s trasováním paprsků CPU.",
|
||||
"render.light_hard_shadow": "Toto světlo má ostré stíny; měkkost zářiče není k dispozici.",
|
||||
"render.light_intensity": "Intenzita",
|
||||
"render.light_missing": "Toto světlo už neexistuje. Vyberte světlo v prohlížeči.",
|
||||
"render.light_place_highlight": "Umístit podle odlesku",
|
||||
"render.light_place_pending": "Umístění podle odlesku vyžaduje výběr světla v pohledu a zatím není podporováno.",
|
||||
"render.light_position": "POLOHA",
|
||||
"render.light_preview_help": "Živý pohled je bez stínů; plošná světla používají aproximaci vzorkem ve středu. Render používá úplný model světla.",
|
||||
"render.light_product_centre": "Střed produktu",
|
||||
"render.light_size": "Velikost",
|
||||
"render.light_softness": "Měkkost",
|
||||
"render.light_temperature": "Barevná teplota",
|
||||
"render.light_temperature_help": "Přibližný odstín záření černého tělesa; ukládá se jako lineární RGB.",
|
||||
"render.light_type": "Typ",
|
||||
"render.light_type_area": "Plošné",
|
||||
"render.light_type_point": "Bodové",
|
||||
"render.light_type_spot": "Reflektor",
|
||||
"render.light_type_sun": "Slunce",
|
||||
"render.light_view_only": "Sólo a ztlumení ovlivňují tento pohled a jeho rendery; nikdy se neukládají do návrhu.",
|
||||
"render.light_world_origin": "Počátek světa",
|
||||
"render.lighting_aim_point": "Cílový bod",
|
||||
"render.lighting_apply": "Použít předvolbu",
|
||||
"render.lighting_area_samples": "Vzorky plošného světla",
|
||||
"render.lighting_budget": "Rozpočet",
|
||||
"render.lighting_budget_help": "Počty jsou jen pro čtení. Změníte je přidáním, duplikováním nebo smazáním světel; meze určuje metoda.",
|
||||
"render.lighting_colour": "Barva",
|
||||
"render.lighting_consent": "Nahradit směrová světla touto předvolbou",
|
||||
"render.lighting_custom": "Vlastní světla",
|
||||
"render.lighting_custom_help": "Volbou Vlastní se předvolba změní na upravitelná světla, každé na vlastním řádku stromu.",
|
||||
"render.lighting_direction": "Směr X Y Z",
|
||||
"render.lighting_direction_help": "Nebo zadejte směr ke světlu (X Y Z).",
|
||||
"render.lighting_distance_unit": " × velikost",
|
||||
"render.lighting_edge_u": "Vektor strany U",
|
||||
"render.lighting_edge_v": "Vektor strany V",
|
||||
"render.lighting_falloff": "Útlum",
|
||||
"render.lighting_falloff_help": "Intenzita je uvedena pro referenční vzdálenost.",
|
||||
"render.lighting_height": "Výška V",
|
||||
"render.lighting_minimum": "Minimum",
|
||||
"render.lighting_mute": "Ztlumit toto světlo",
|
||||
"render.lighting_point": "Bod",
|
||||
"render.lighting_preset": "Předvolba studia",
|
||||
"render.lighting_preset_cpu": "Směrové předvolby studia vyžadují trasování paprsků CPU. Osvětlení GPU používá výslovně zadaná světla Slunce a Plošné.",
|
||||
"render.lighting_preset_row": "Předvolba",
|
||||
"render.lighting_radiance": "Zář",
|
||||
"render.lighting_reference": "Reference",
|
||||
"render.lighting_review_help": "Nahradí seznam směrových světel. Zachová bodová a plošná světla, prostředí, stíny, kameru a všechna ostatní nastavení záběru.",
|
||||
"render.lighting_review_title": "Zkontrolovat předvolbu osvětlení",
|
||||
"render.lighting_samples_cpu": "Vzorky plošného světla platí pro trasování paprsků CPU.",
|
||||
"render.lighting_samples_need_area": "Chcete-li nastavit vzorky plošného světla, přidejte plošné světlo CPU.",
|
||||
"render.lighting_samples_reason": "Vzorky plošného světla musí být 1, 4, 16 nebo 64.",
|
||||
"render.lighting_shadow_cpu": "Přepínač stínů vyžaduje trasování paprsků CPU. Trasování cest GPU vrhá stíny vždy.",
|
||||
"render.lighting_shadows": "Vrhat stíny",
|
||||
"render.lighting_shadows_section": "Stíny a vzorkování",
|
||||
"render.lighting_shape": "Tvar",
|
||||
"render.lighting_solo": "Sólo pro toto světlo",
|
||||
"render.lighting_source": "Zdroj",
|
||||
"render.lighting_source_section": "Zdroj světla",
|
||||
"render.lighting_spot_preserved": "Toto bodové světlo si ponechá uložený kužel reflektoru, dokud se nezmění jeho typ.",
|
||||
"render.lighting_sun_distance": "Směr slunce nezávisí na vzdálenosti ani na cílovém bodě.",
|
||||
"render.lighting_unsupported": "nepodporováno",
|
||||
"render.lighting_used": "{used} z {limit}",
|
||||
"render.lighting_width": "Šířka U",
|
||||
"render.lighting_world_position": "Svět X Y Z",
|
||||
"render.lights_fixed_to": "Světla pevně vázána na",
|
||||
"render.linear_help": "Uchovává 32bitový master RGBA s plovoucí desetinnou čárkou před odstraněním šumu, expozicí, mapováním tónů, filtry a pozadím. Lineární sRGB/D65; premultiplikováno pokrytím. Dodatečná paměť se povoluje výslovně. Bez komprese a bez dalších průchodů.",
|
||||
"render.linear_retain": "Zachovat surový lineární EXR",
|
||||
"render.linear_unavailable": "Vybraný dokončený snímek nemá zachovaný EXR. Zapněte uchování před renderováním; starší PNG nemůže obnovit surovou radianci.",
|
||||
"render.look_add": "Přidat barevný styl",
|
||||
"render.look_applied": "Použito: {name}",
|
||||
"render.look_bleach": "Inspirováno technikou bleach bypass",
|
||||
"render.look_cool": "Studený",
|
||||
"render.look_cyanotype": "Inspirováno kyanotypií",
|
||||
"render.look_faded": "Vybledlý tisk",
|
||||
"render.look_material": "Materiál",
|
||||
"render.look_mono": "Monochromatický",
|
||||
"render.look_pasted": "Styl vložen",
|
||||
"render.look_sepia": "Sépie",
|
||||
"render.look_strength": "Síla stylu",
|
||||
"render.look_teal_orange": "Modrozelená / oranžová",
|
||||
@@ -2592,9 +2888,11 @@
|
||||
"render.output_advanced": "Rozšířené",
|
||||
"render.output_backend_ready": "Připraveno",
|
||||
"render.output_check": "Kontrola",
|
||||
"render.output_check_failed": "Kontrola · chyba",
|
||||
"render.output_check_help": "Spusťte Kontrolu a požadavek si prohlédněte bez zahájení vykreslování.",
|
||||
"render.output_check_summary": "Kontrola · Poznámky: {count}",
|
||||
"render.output_copy": "Kopírovat",
|
||||
"render.output_copy_report": "Kopírovat zprávu",
|
||||
"render.output_destination": "Cíl",
|
||||
"render.output_destination_help": "Cílový soubor vyberte při exportu hotového obrázku.",
|
||||
"render.output_dimensions": "Velikost",
|
||||
@@ -2604,6 +2902,7 @@
|
||||
"render.output_fit": "Přizpůsobit",
|
||||
"render.output_format": "Formát",
|
||||
"render.output_format_status": "PNG je přesný dokončený obraz. Volitelné GPU EXR uchovává lineární FLOAT32 radianci před filtry. Export nikdy nenahrazuje výsledek náhledem nebo jinou úlohou.",
|
||||
"render.output_grading": "Korekce barev",
|
||||
"render.output_image": "Obrázek",
|
||||
"render.output_largest": "max. {width} × {height}",
|
||||
"render.output_lock_ratio": "Zamknout poměr stran",
|
||||
@@ -2613,6 +2912,8 @@
|
||||
"render.output_quality_waiting": "čeká na specifikaci kvality",
|
||||
"render.output_ratio_refused": "Svázaný rozměr překračuje limit velikosti této metody. Předchozí velikost zůstává zachována; odemkněte poměr nebo zvolte menší hodnotu.",
|
||||
"render.output_ready": "Připraveno k vykreslení",
|
||||
"render.output_run_check": "Spustit kontrolu",
|
||||
"render.output_size_limit": "{method}: nejvýše {dimension} px na stranu a {pixels} pixelů. Největší vyhovující velikost: {width} × {height}.",
|
||||
"render.output_size_ok": "Velikost je v pořádku · {width} × {height} px",
|
||||
"render.output_swap_orientation": "Prohodit šířku a výšku",
|
||||
"render.output_tools_inspector": "Velikost a formát upravte v inspektoru Výstup.",
|
||||
@@ -2629,6 +2930,7 @@
|
||||
"render.page_output": "Výstup",
|
||||
"render.page_scene": "Scéna",
|
||||
"render.paint_label": "Nátěr",
|
||||
"render.painting_with": "Nanáší se: {name}",
|
||||
"render.passive_stage": "Podlaha a pasivní scénografie",
|
||||
"render.passive_stage_help": "Konečné pasivní panely patří pouze k vykresleným obrazům. Nepřidávají žádná tělesa CAD ani hmotnost. Umístění je po použití pevné; při průniku s hranicemi modelu se použití odmítne. Vykreslování na CPU neposkytuje difuzní odražené osvětlení.",
|
||||
"render.perspective": "Perspektivní kamera",
|
||||
@@ -2650,6 +2952,7 @@
|
||||
"render.pick_help": "Vyberte těleso, plochu nebo komponentu. Kliknutím do prázdného místa výběr zrušíte; Shift nebo Ctrl přidává či přepíná. Zvýraznění se zobrazí jen v živém zobrazení produktu.",
|
||||
"render.pick_label": "Vybrat",
|
||||
"render.pick_up_label": "Převzít",
|
||||
"render.pick_up_prompt": "Kliknutím na objekt převezmete jeho styl",
|
||||
"render.pick_waiting": "Výběr v zobrazení produktu zatím není podporován.",
|
||||
"render.post_contrast": "Kontrast",
|
||||
"render.post_gain_b": "Zesílení modré",
|
||||
@@ -2689,13 +2992,17 @@
|
||||
"render.radial_distortion": "Radiální zkreslení",
|
||||
"render.radial_fit": "Přizpůsobit produkt",
|
||||
"render.radial_save": "Uložit záběr",
|
||||
"render.recent_looks": "Nedávné styly",
|
||||
"render.regrade_action": "Znovu korigovat barvy surového masteru (bez odšumění)",
|
||||
"render.regrade_help": "Vytvoří samostatný PNG z vybraného dokončeného surového masteru pomocí těchto prezentačních nastavení. Nesleduje paprsky, nemění zachycenou velikost, kameru ani světla a nepřepisuje soubor EXR. Odšumění se znovu nepoužije: surové mastery neuchovávají jeho pomocné vrstvy. Odvozený obraz lze dál exportovat týmiž ovládacími prvky úlohy.",
|
||||
"render.regrade_label": "Nová korekce barev",
|
||||
"render.reload_settings": "Znovu načíst uložené nastavení",
|
||||
"render.remove_override": "Odebrat přepsání",
|
||||
"render.replace_all": "Nahradit vše",
|
||||
"render.replace_ground": "Potvrdit nahrazení stávající scénografie",
|
||||
"render.replace_label": "Nahradit",
|
||||
"render.replace_saved_surface": "Nahradit stávající uložené přiřazení povrchu pro tento cíl",
|
||||
"render.replace_with": "Nahradit za",
|
||||
"render.restore_camera": "Obnovit uloženou kameru",
|
||||
"render.result_actual": "100%",
|
||||
"render.result_actual_help": "Jeden pixel obrázku na jeden pixel obrazovky.",
|
||||
@@ -2747,14 +3054,28 @@
|
||||
"render.saved_surface_remove": "Odebrat uložené přiřazení",
|
||||
"render.saved_surfaces": "Uložená přiřazení povrchů",
|
||||
"render.saved_surfaces_help": "Připnuté vestavěné mapy sledují vybraný výskyt v lokálních milimetrech. Nahrazený nebo chybějící cíl je chyba, nikdy automatické přeřazení.",
|
||||
"render.scene_all_shots": "Všechny záběry ({count})",
|
||||
"render.scene_apply": "Použít zkontrolované studiové nastavení",
|
||||
"render.scene_batch_reason": "Všechny záběry vyžadují frontu renderování uložených záběrů, která zatím není k dispozici.",
|
||||
"render.scene_check_now": "Zkontrolovat nyní",
|
||||
"render.scene_check_passed": "Kontrola prošla · poznámek: {notes}",
|
||||
"render.scene_check_stale": "Kontrola je zastaralá · zkontrolujte znovu",
|
||||
"render.scene_check_unchecked": "Zatím nezkontrolováno · 0 poznámek",
|
||||
"render.scene_consent": "Potvrdit nahrazení osvětlení, prostředí, expozice a scénografie",
|
||||
"render.scene_light_summary": "{environment} · světel: {lights}",
|
||||
"render.scene_look_summary": "stylů: {looks} · přepsání: {overrides}",
|
||||
"render.scene_open_check": "Otevřít kontrolu",
|
||||
"render.scene_preserved_fields": "Kamera, vzorkování, rozměry, optická přiřazení, geometrie CAD a technické materiály zůstanou zachovány.",
|
||||
"render.scene_preserves_design": "Vytvoří osvětlení a pasivní scénografii pro viditelný objekt. Geometrie, technické materiály a kamera zůstávají oddělené.",
|
||||
"render.scene_ready": "Připraveno k vykreslení",
|
||||
"render.scene_reminder": "Scéna zachovává návrh. Geometrie, inženýrské vlastnosti ani CAD se z renderu nikdy nemění.",
|
||||
"render.scene_reminders": "Připomínky",
|
||||
"render.scene_renderer_ready": "{renderer}: připraveno",
|
||||
"render.scene_replaces": "Nahrazuje",
|
||||
"render.scene_review": "Vyřešit a zkontrolovat",
|
||||
"render.scene_review_help": "Před použitím zkontrolujte celou nativní kompozici. Nenavázané pokročilé specifikace SCENE se nedosazují.",
|
||||
"render.scene_scope_details": "Rozsah kompozice",
|
||||
"render.scene_stages": "Fáze",
|
||||
"render.search_appearances": "Hledat mezi {count} vzhledy",
|
||||
"render.setup_legacy_environment": "Toto starší nastavení používá zastaralé natočení nebo intenzitu prostředí. Tyto hodnoty zůstávají zachovány; před uložením úplné úlohy obrazu je výslovně převeďte.",
|
||||
"render.setup_name": "Název nastavení",
|
||||
@@ -2767,7 +3088,22 @@
|
||||
"render.shell_tab_camera": "KAMERA RENDERU",
|
||||
"render.shell_tab_lighting": "OSVĚTLENÍ",
|
||||
"render.shell_tab_scene": "SCÉNA RENDERU",
|
||||
"render.shot_aperture": "Clona",
|
||||
"render.shot_distance": "Vzdálenost",
|
||||
"render.shot_dof": "Hloubka ostrosti",
|
||||
"render.shot_duplicate": "Duplikovat uložený záběr",
|
||||
"render.shot_edit_output": "Upravit ve Výstupu",
|
||||
"render.shot_exposure_reason": "Expozice vyžaduje trasování paprsků CPU nebo trasování cest GPU.",
|
||||
"render.shot_exposure_section": "Expozice",
|
||||
"render.shot_focus_distance": "Zaostřovací vzdálenost",
|
||||
"render.shot_fov_reason": "Zorný úhel vyžaduje perspektivní projekci.",
|
||||
"render.shot_frame_subject": "Zarámovat objekt",
|
||||
"render.shot_invalid_camera": "Hodnoty kamery musí být konečné a v povoleném rozsahu.",
|
||||
"render.shot_lens": "Objektiv",
|
||||
"render.shot_lens_enable_reason": "Chcete-li upravit clonu a zaostřovací vzdálenost, zapněte hloubku ostrosti.",
|
||||
"render.shot_lens_gpu_reason": "Hloubka ostrosti vyžaduje trasování cest GPU.",
|
||||
"render.shot_lens_perspective_reason": "Hloubka ostrosti vyžaduje perspektivní projekci.",
|
||||
"render.shot_look_selection": "Zamířit na výběr",
|
||||
"render.shot_manager": "Uložené záběry",
|
||||
"render.shot_new_name": "Název nového záběru",
|
||||
"render.shot_remove": "Odebrat uložený záběr",
|
||||
@@ -2775,6 +3111,9 @@
|
||||
"render.shot_remove_title": "Odebrat uložený záběr?",
|
||||
"render.shot_rename": "Přejmenovat uložený záběr",
|
||||
"render.shot_saved_only": "Nejprve uložte aktuální koncept. Duplikace a přejmenování zachovají přesné uložené volby a odkazy na zdroje.",
|
||||
"render.shot_selection_reason": "Vyberte těleso nebo plochu, na kterou se má zamířit.",
|
||||
"render.shot_size": "Velikost",
|
||||
"render.shot_target": "Cíl",
|
||||
"render.shots_camera_changed": "Kamera se od uložení tohoto záběru změnila",
|
||||
"render.shots_name_help": "Zadejte jedinečný název aktuálního záběru.",
|
||||
"render.shots_no_result": "Zatím žádný render",
|
||||
@@ -2997,6 +3336,13 @@
|
||||
"render.wait_pick_up": "zatím nepodporováno: výběr produktu a odebírání vzorků vzhledu",
|
||||
"render.wait_replace": "zatím nepodporováno: nahrazení všech použití vzhledu",
|
||||
"render.wait_solo": "zatím nepodporováno: viditelnost světel a ovládání sóla",
|
||||
"render.wear_applies_to": "Platí pro",
|
||||
"render.wear_layer_count": "Vrstev: {count}",
|
||||
"render.wear_layer_one": "{count} vrstva",
|
||||
"render.wear_layers": "Vrstvy",
|
||||
"render.wear_no_layers": "Žádné vrstvy",
|
||||
"render.wear_selected_layer": "Vybraná vrstva",
|
||||
"render.wear_title": "Opotřebení",
|
||||
"sample.bracket.about": "Základní příruba s okrajovými přírubami a lemem podle pravidla 2 mm",
|
||||
"sample.bracket.name": "Plechový držák",
|
||||
"sample.enclosure.about": "Skořepinová krabička s osazením, nálitky pro šrouby, opěrkou a zacvakávacím spojem",
|
||||
@@ -3030,6 +3376,7 @@
|
||||
"select an axis": "vyberte osu",
|
||||
"select an axis, a straight or circular edge, or a cylinder, cone or torus face first": "nejprve vyberte osu, přímou nebo kruhovou hranu, nebo plochu válce, kužele či anuloidu",
|
||||
"select bodies first": "nejprve vyberte tělesa",
|
||||
"select components first": "nejprve vyberte komponenty",
|
||||
"select corner points, or the two lines of one corner": "vyberte rohové body nebo dvě úsečky jednoho rohu",
|
||||
"select one corner point, or the two lines of one corner": "vyberte jeden rohový bod nebo dvě úsečky jednoho rohu",
|
||||
"select sheet edges first": "nejprve vyberte hrany plechu",
|
||||
@@ -3048,6 +3395,7 @@
|
||||
"settings.double_click_components": "Dvojitým kliknutím na komponentu ji aktivujete, propojenou komponentu upravíte na místě",
|
||||
"settings.frame_rate_details_note": "Přidá graf časů posledních snímků s vykreslenými trojúhelníky, histogram časů snímků a to, co vykreslila GPU. Kliknutím na snímkovou frekvenci v pohledu je zobrazíte nebo skryjete.",
|
||||
"settings.frame_rate_note": "Zobrazuje snímky za sekundu v pravém dolním rohu pohledu.",
|
||||
"settings.insert_lists_open_designs": "Vložit návrh nabízí nejprve návrhy otevřené na jiných kartách",
|
||||
"settings.measure_axis_distances": "Zobrazit vzdálenosti X/Y/Z",
|
||||
"settings.measure_axis_distances_help": "Při otevřeném měření zobrazit kromě celkové vzdálenosti i složky ve směru os.",
|
||||
"settings.msaa_applies_on_restart": "Vyhlazování se projeví při příštím spuštění SolidCraftu",
|
||||
@@ -3072,6 +3420,10 @@
|
||||
"shortcut.unpin": "Odepnout",
|
||||
"sketch is missing": "náčrt chybí",
|
||||
"sketch.degrees_of_freedom": "Stupně volnosti: {count}",
|
||||
"sketch.dimension_added_driven": "Náčrt už tuto hodnotu určuje, proto byla kóta přidána jako řízená (referenční)",
|
||||
"sketch.dimension_applied": "Kóta použita",
|
||||
"sketch.dimension_applied_defined": "Kóta použita; definován parametr `{name}`",
|
||||
"sketch.dimension_applied_renamed": "Kóta použita; parametr pojmenován `{name}`",
|
||||
"sketch.dof_left": "Zbývající stupně volnosti: {count}",
|
||||
"sketch.dof_left_one": "Zbývá {count} stupeň volnosti",
|
||||
"sketch.draw_curves": "Kreslit jako {linetype}",
|
||||
@@ -3106,6 +3458,8 @@
|
||||
"sketch_text.use_font_file": "Použít soubor písma {path}",
|
||||
"solid": "těleso",
|
||||
"status.editing": "Upravuje se {name}",
|
||||
"status.navigation": "Přiřazení myši: {mapping}",
|
||||
"status.navigation_tip": "Jak myš pohybuje pohledem. Kliknutím zvolíte jiné přiřazení",
|
||||
"status.under_constrained": "Nedourčeno (stupňů volnosti: {count})",
|
||||
"status.under_constrained_one": "Nedourčeno ({count} stupeň volnosti)",
|
||||
"status.units_tip": "Jednotky návrhu. Kliknutím je změníte",
|
||||
@@ -3139,8 +3493,10 @@
|
||||
"timeline.delete_folders_tip": "Ponechá jejich prvky a vnořené složky v historii",
|
||||
"timeline.delete_folders_with_features_tip": "Smaže složky se všemi prvky v nich a jejich vnořenými složkami",
|
||||
"timeline.delete_many": "Smazat vybrané prvky: {count}",
|
||||
"timeline.edited_rolled_back": "Prvek {name} se změnil, ale leží za značkou historie, takže se nesestavuje: chcete-li vidět výsledek, přesuňte značku za něj",
|
||||
"timeline.feature_error": "Chyba: {message}",
|
||||
"timeline.feature_hint": "Dvojklikem upravíte · přetažením změníte pořadí · pravým tlačítkem zobrazíte další možnosti",
|
||||
"timeline.feature_rolled_back": "Vráceno zpět: za značkou historie, proto se nesestavuje",
|
||||
"timeline.feature_warning": "Upozornění: {message}",
|
||||
"timeline.group": "Nová složka prvků",
|
||||
"timeline.move_many": "Přesunout položky časové osy",
|
||||
@@ -3220,6 +3576,10 @@
|
||||
"ui.3d_mouse_offer": "Kalibrace 3D myši opraví prohozené nebo obrácené osy a nastaví její rychlost a pocit z ovládání.",
|
||||
"ui.3d_mouse_offer_never": "Už nezobrazovat",
|
||||
"ui.3d_mouse_offer_swap": "Přepnout na Hidraw (přímý ovladač)",
|
||||
"ui.3d_mouse_orbit": "Otáčení",
|
||||
"ui.3d_mouse_orbit_classic": "Klasické",
|
||||
"ui.3d_mouse_orbit_tip": "Sledované: 3D myš otáčí pohled kolem té části modelu, která je na začátku otáčení uprostřed pohledu, označené slabou kuličkou. Klasické: kolem středu pohledu",
|
||||
"ui.3d_mouse_orbit_traced": "Sledované",
|
||||
"ui.3d_mouse_reading": "Hodnoty",
|
||||
"ui.3d_mouse_reset_axes": "Obnovit přiřazení os",
|
||||
"ui.3d_mouse_reset_view": "Obnovit pohled",
|
||||
@@ -3604,6 +3964,7 @@
|
||||
"ui.constant": "Konstantní",
|
||||
"ui.constraints_conflict": "Konflikt vazeb",
|
||||
"ui.construction": "Konstrukční",
|
||||
"ui.construction.ribbon_label": "Pom. přímky",
|
||||
"ui.context_menu": "Místní nabídka",
|
||||
"ui.continuity_g0": "G0 hrana",
|
||||
"ui.continuity_g1": "G1 tečně",
|
||||
@@ -3695,6 +4056,14 @@
|
||||
"ui.end_scale": "Koncové měřítko",
|
||||
"ui.entities": "Prvky",
|
||||
"ui.equal": "Rovnost",
|
||||
"ui.equation_end": "Konec",
|
||||
"ui.equation_explicit": "Explicitní",
|
||||
"ui.equation_form": "Tvar",
|
||||
"ui.equation_note": "Proměnná je prosté číslo: sin(t) ji bere v radiánech. Výsledek bez jednotky je v jednotce návrhu.",
|
||||
"ui.equation_parametric": "Parametrický",
|
||||
"ui.equation_x_of_t": "x(t)",
|
||||
"ui.equation_y_of_t": "y(t)",
|
||||
"ui.equation_y_of_x": "y(x)",
|
||||
"ui.equivalent_radius": "Ekvivalentní poloměr",
|
||||
"ui.expand": "Rozbalit",
|
||||
"ui.exportDxf": "Exportovat DXF…",
|
||||
@@ -3760,6 +4129,7 @@
|
||||
"ui.heading_design": "NÁVRH",
|
||||
"ui.heading_draft": "ÚKOS",
|
||||
"ui.heading_edit": "UPRAVIT",
|
||||
"ui.heading_equation_curve": "KŘIVKA Z ROVNICE",
|
||||
"ui.heading_extrude": "VYSUNUTÍ",
|
||||
"ui.heading_fillet": "ZAOBLENÍ",
|
||||
"ui.heading_finish_editing": "DOKONČIT ÚPRAVY",
|
||||
@@ -3851,6 +4221,10 @@
|
||||
"ui.import_ellipsis": "Importovat…",
|
||||
"ui.infinite": "Nekonečná",
|
||||
"ui.insert": "Vložit",
|
||||
"ui.insert_design.browse": "Procházet…",
|
||||
"ui.insert_design.open_designs": "Otevřené návrhy",
|
||||
"ui.insert_design.saved_file": "{name} obsahuje neuložené změny, proto byl vložen jeho uložený soubor. Uložte jej a pak použijte Aktualizovat odkazy, aby se změny převzaly.",
|
||||
"ui.insert_design.unsaved": "Neuložené změny",
|
||||
"ui.inspect": "Analýza",
|
||||
"ui.intersect": "Průnik",
|
||||
"ui.isolate": "Izolovat",
|
||||
@@ -4000,6 +4374,18 @@
|
||||
"ui.project": "Promítnout",
|
||||
"ui.project_face_edges_sketch": "Promítat hrany plochy do nových náčrtů",
|
||||
"ui.properties": "Vlastnosti",
|
||||
"ui.properties.copy_matrix": "Kopírovat matici",
|
||||
"ui.properties.first_moments": "Statické momenty",
|
||||
"ui.properties.inertia": "Moment setrvačnosti",
|
||||
"ui.properties.inertia_note": "K těžišti, v osách světa (g·{unit}²)",
|
||||
"ui.properties.inertia_unavailable": "Není k dispozici: síť některého tělesa není uzavřená.",
|
||||
"ui.properties.inertia_x": "Ixx, Ixy, Ixz",
|
||||
"ui.properties.inertia_y": "Iyx, Iyy, Iyz",
|
||||
"ui.properties.inertia_z": "Izx, Izy, Izz",
|
||||
"ui.properties.measuring": "Měření…",
|
||||
"ui.properties.measuring_failed": "Měření se zastavilo před dokončením.",
|
||||
"ui.properties.principal_axis": "Hlavní osa {number}",
|
||||
"ui.properties.principal_moments": "Hlavní momenty setrvačnosti",
|
||||
"ui.pull_direction": "Směr vyjímání",
|
||||
"ui.quality": "Kvalita",
|
||||
"ui.quantity": "Počet",
|
||||
@@ -4062,6 +4448,7 @@
|
||||
"ui.select": "Vybrat",
|
||||
"ui.selectOther": "Vybrat jiné…",
|
||||
"ui.selectTangentChain": "Vybrat tečný řetězec",
|
||||
"ui.select_all": "Vybrat vše",
|
||||
"ui.selection": "Výběr",
|
||||
"ui.selection_modifiers": "Modifikátory výběru",
|
||||
"ui.selection_shift_add_only": "Shift+klik pouze přidává",
|
||||
@@ -4098,7 +4485,11 @@
|
||||
"ui.sketch": "Náčrt",
|
||||
"ui.sketch_dimension": "Kóta náčrtu",
|
||||
"ui.sketch_grid": "Mřížka náčrtu",
|
||||
"ui.sketch_intersect_geometry": "Geometrie",
|
||||
"ui.sketch_intersect_projection_link": "Propojení promítnutí",
|
||||
"ui.sketch_intersect_selection_filter": "Filtr výběru",
|
||||
"ui.sketch_modifiers": "Modifikátory náčrtu",
|
||||
"ui.sketch_project_geometry": "Geometrie",
|
||||
"ui.sketch_scale": "Měřítko náčrtu",
|
||||
"ui.sketches": "Náčrty",
|
||||
"ui.slice": "Řez",
|
||||
@@ -4149,6 +4540,7 @@
|
||||
"ui.tab_manage": "Správa",
|
||||
"ui.tab_sheet_metal": "Plech",
|
||||
"ui.tab_view": "Pohled",
|
||||
"ui.tab_weldments": "Svařence",
|
||||
"ui.tangent": "Tečnost",
|
||||
"ui.taper_angle": "Úhel zúžení",
|
||||
"ui.tapped": "Se závitem",
|
||||
@@ -4164,6 +4556,7 @@
|
||||
"ui.tip_angle": "Úhel špičky",
|
||||
"ui.to_object": "K objektu",
|
||||
"ui.tool_direction": "Směr nástroje",
|
||||
"ui.toolbar_tabs_hidden": "Všechny karty panelu nástrojů jsou skryté. Kliknutím na + nebo kliknutím pravým tlačítkem sem některou zobrazíte.",
|
||||
"ui.top": "Shora",
|
||||
"ui.top_diameter": "Horní průměr",
|
||||
"ui.top_radius": "Horní poloměr",
|
||||
@@ -4210,6 +4603,7 @@
|
||||
"ui.visual_shaded_with_edges": "Stínovaný s hranami",
|
||||
"ui.visual_style": "Vizuální styl",
|
||||
"ui.visual_wireframe": "Drátový model",
|
||||
"ui.wheel_zoom_speed": "Rychlost přiblížení kolečkem myši",
|
||||
"ui.width": "Šířka",
|
||||
"ui.window_system": "Okenní systém",
|
||||
"ui.window_system_auto": "Automaticky",
|
||||
@@ -4261,6 +4655,9 @@
|
||||
"update.prefs_label": "Aktualizace",
|
||||
"update.prefs_note": "Toto je SolidCraft {version} ({kind}). Kontrola se dotáže GitHubu na nejnovější verzi a nic dalšího neodesílá.",
|
||||
"update.prefs_web": "Znovu načtěte stránku, abyste získali nejnovější webovou aplikaci. Pokud síť není dostupná nebo se aktualizace nestihne včas stáhnout, otevře se uložená verze; probíhající stahování pokračuje pro další načtení.",
|
||||
"update.refresh_checking": "Hledání nejnovější verze…",
|
||||
"update.refresh_fallback": "Novější verzi se nepodařilo ověřit; aktualizuje se na dříve nalezenou verzi {version}.",
|
||||
"update.refresh_selected": "Aktualizace na {version}.",
|
||||
"update.release_page": "Otevřít stránku vydání",
|
||||
"update.restart": "Restartovat nyní",
|
||||
"update.restart_later": "Později",
|
||||
|
||||
@@ -852,6 +852,16 @@
|
||||
"cmd.sheet_refold": "Buk tilbage",
|
||||
"cmd.sheet_rules": "Vis pladeregler",
|
||||
"cmd.sheet_unfold": "Fold ud",
|
||||
"cmd.sketch.construction_line": "Hjælpelinje",
|
||||
"cmd.sketch.construction_line.angle": "Hjælpelinje med vinkel",
|
||||
"cmd.sketch.construction_line.bisector": "Vinkelhalveringslinje",
|
||||
"cmd.sketch.construction_line.horizontal": "Vandret hjælpelinje",
|
||||
"cmd.sketch.construction_line.parallel": "Parallel hjælpelinje",
|
||||
"cmd.sketch.construction_line.perpendicular": "Vinkelret hjælpelinje",
|
||||
"cmd.sketch.construction_line.tangent_at": "Tangent i kurvepunkt",
|
||||
"cmd.sketch.construction_line.tangent_external": "Tangent gennem eksternt punkt",
|
||||
"cmd.sketch.construction_line.tangent_two": "Fælles tangent",
|
||||
"cmd.sketch.construction_line.vertical": "Lodret hjælpelinje",
|
||||
"cmd.sketch_arc_center_point": "Bue med centrum",
|
||||
"cmd.sketch_arc_tangent": "Tangentbue",
|
||||
"cmd.sketch_arc_three_point": "Trepunktsbue",
|
||||
@@ -1903,6 +1913,7 @@
|
||||
"ui.constant": "Konstant",
|
||||
"ui.constraints_conflict": "Bindinger er i konflikt",
|
||||
"ui.construction": "Konstruktionsgeometri",
|
||||
"ui.construction.ribbon_label": "Hjælpelinjer",
|
||||
"ui.context_menu": "Genvejsmenu",
|
||||
"ui.continuity_g0": "G0-knæk",
|
||||
"ui.continuity_g1": "G1-tangentkontinuitet",
|
||||
|
||||
@@ -810,6 +810,7 @@
|
||||
"cmd.browser_move": "Browser-Elemente verschieben",
|
||||
"cmd.browser_order": "Browser-Elemente ordnen",
|
||||
"cmd.browser_rename_group": "Gruppe umbenennen",
|
||||
"cmd.browser_reparent": "In andere Komponente verschieben",
|
||||
"cmd.browser_ungroup": "Gruppierung aufheben",
|
||||
"cmd.browser_visibility": "Ein-/Ausblenden",
|
||||
"cmd.canvas_calibrate": "Zeichenfläche kalibrieren",
|
||||
@@ -836,6 +837,7 @@
|
||||
"cmd.component_metadata": "Teileeigenschaften",
|
||||
"cmd.component_metadata_set": "Teileeigenschaften ändern",
|
||||
"cmd.component_move_bodies": "Körper in Komponente verschieben",
|
||||
"cmd.component_move_features": "Merkmale in Komponente verschieben",
|
||||
"cmd.component_move_sketches": "Skizzen in Komponente verschieben",
|
||||
"cmd.component_paste_new": "Neu einfügen",
|
||||
"cmd.component_properties": "Physikalische Eigenschaften der Komponente",
|
||||
@@ -1063,6 +1065,13 @@
|
||||
"cmd.render_start": "Bild rendern",
|
||||
"cmd.render_status": "Renderfortschritt",
|
||||
"cmd.select_clear": "Auswahl aufheben",
|
||||
"cmd.settings_profile_apply": "Einstellungsprofil anwenden",
|
||||
"cmd.settings_profile_delete": "Einstellungsprofil löschen",
|
||||
"cmd.settings_profile_export": "Einstellungsprofil exportieren",
|
||||
"cmd.settings_profile_import": "Einstellungsprofil importieren",
|
||||
"cmd.settings_profile_list": "Einstellungsprofile",
|
||||
"cmd.settings_profile_rename": "Einstellungsprofil umbenennen",
|
||||
"cmd.settings_profile_save": "Einstellungsprofil speichern",
|
||||
"cmd.sheet_convert": "In Blech umwandeln",
|
||||
"cmd.sheet_export_bend_table": "Biegungstabelle exportieren",
|
||||
"cmd.sheet_export_dxf": "Flachmuster als DXF exportieren",
|
||||
@@ -1076,6 +1085,16 @@
|
||||
"cmd.sheet_refold": "Wieder falten",
|
||||
"cmd.sheet_rules": "Blechregeln auflisten",
|
||||
"cmd.sheet_unfold": "Entfalten",
|
||||
"cmd.sketch.construction_line": "Konstruktionslinie",
|
||||
"cmd.sketch.construction_line.angle": "Konstruktionslinie unter Winkel",
|
||||
"cmd.sketch.construction_line.bisector": "Winkelhalbierende",
|
||||
"cmd.sketch.construction_line.horizontal": "Horizontale Konstruktionslinie",
|
||||
"cmd.sketch.construction_line.parallel": "Parallele Konstruktionslinie",
|
||||
"cmd.sketch.construction_line.perpendicular": "Senkrechte Konstruktionslinie",
|
||||
"cmd.sketch.construction_line.tangent_at": "Tangente an Kurvenpunkt",
|
||||
"cmd.sketch.construction_line.tangent_external": "Tangente durch äußeren Punkt",
|
||||
"cmd.sketch.construction_line.tangent_two": "Gemeinsame Tangente",
|
||||
"cmd.sketch.construction_line.vertical": "Vertikale Konstruktionslinie",
|
||||
"cmd.sketch_arc3d": "3D-Bogen",
|
||||
"cmd.sketch_arc_center_point": "Mittelpunkt-Kreisbogen",
|
||||
"cmd.sketch_arc_tangent": "Tangentialbogen",
|
||||
@@ -1108,6 +1127,8 @@
|
||||
"cmd.sketch_drawing_bounds": "Zeichnungsgröße",
|
||||
"cmd.sketch_edit": "Skizze bearbeiten",
|
||||
"cmd.sketch_edit_text": "Text bearbeiten",
|
||||
"cmd.sketch_equation_curve": "Gleichungskurve",
|
||||
"cmd.sketch_equation_curve_edit": "Gleichungskurve bearbeiten",
|
||||
"cmd.sketch_export_dxf": "Als DXF speichern",
|
||||
"cmd.sketch_finish_auto_constrain": "Mit Auto-Bedingung fertigstellen",
|
||||
"cmd.sketch_fit_curves_to_section": "Kurven an Netzquerschnitt anpassen",
|
||||
@@ -1204,6 +1225,7 @@
|
||||
"cmd.view.render_browser": "Render-Browser",
|
||||
"cmd.view.render_dock": "Render-Panel verschieben",
|
||||
"cmd.view.render_focus": "Render-Fokusansicht",
|
||||
"cmd.view.status_items": "Ansichtsstatus-Elemente",
|
||||
"cmd.view_ambient_occlusion": "Umgebungsverdeckung",
|
||||
"cmd.view_angle_readout": "Ansichtswinkel",
|
||||
"cmd.view_apply": "Benannte Ansicht wiederherstellen",
|
||||
@@ -1355,6 +1377,17 @@
|
||||
"help.mit": "MIT-Lizenz",
|
||||
"help.notice": "NOTICE",
|
||||
"help.pointcloud.insert": "Fügt einen PLY-, XYZ- oder PTS-Scan als Punktwolke neben dem Modell ein. Verwenden Sie ihn als Referenz beim Modellieren anhand von Messdaten.",
|
||||
"help.sketch.construction_line": "Erstellt eine unendliche Konstruktionslinie durch zwei Punkte, ohne Skizzenprofile zu teilen.",
|
||||
"help.sketch.construction_line.angle": "Erstellt eine unendliche Konstruktionslinie in einem Winkel zur Skizzen-X-Achse. Punkt wählen und Winkel eingeben oder Richtung wählen.",
|
||||
"help.sketch.construction_line.bisector": "Zwei sich schneidende gerade Skizzenlinien wählen, dann eine der beiden Winkelhalbierenden. Das Ergebnis folgt den Ausgangslinien.",
|
||||
"help.sketch.construction_line.horizontal": "Erstellt eine unendliche horizontale Konstruktionslinie durch einen Punkt. Die Horizontalbedingung bleibt bei späteren Änderungen erhalten.",
|
||||
"help.sketch.construction_line.parallel": "Gerade Skizzenlinie wählen, dann eine parallele unendliche Konstruktionslinie platzieren. Rechtsklick wählt eine andere Referenz.",
|
||||
"help.sketch.construction_line.perpendicular": "Gerade Skizzenlinie wählen, dann eine senkrechte unendliche Konstruktionslinie platzieren. Rechtsklick wählt eine andere Referenz.",
|
||||
"help.sketch.construction_line.tangent_at": "Erstellt eine Tangente an einem Punkt eines Kreises oder Kreisbogens oder an einem Endpunkt eines offenen Splines oder Kegelschnitts. Kurve wählen, dann Berührpunkt.",
|
||||
"help.sketch.construction_line.tangent_external": "Kreis oder Kreisbogen wählen, dann einen äußeren Punkt und eine Tangentenlösung. Die Vorschau zeigt nur Berührpunkte auf dem gezeichneten Bogen.",
|
||||
"help.sketch.construction_line.tangent_two": "Zwei Kreise oder Kreisbögen wählen, dann eine gemeinsame Tangente in der Vorschau. Die Berührpunkte müssen auf den gezeichneten Kurven liegen.",
|
||||
"help.sketch.construction_line.vertical": "Erstellt eine unendliche vertikale Konstruktionslinie durch einen Punkt. Die Vertikalbedingung bleibt bei späteren Änderungen erhalten.",
|
||||
"help.sketch.equation_curve": "Zeichnet eine Kurve aus Formeln über einen Bereich: x(t) und y(t) oder y = f(x). Die Formeln können Parameter verwenden, und die Kurve folgt ihnen: für eine Sinuswelle, eine Spirale oder die Evolvente eines Zahnrads.",
|
||||
"help.solid.chamfer": "Schneidet die gewählten Kanten mit einer ebenen Fase im eingestellten Abstand ab. Damit brechen Sie scharfe Kanten oder erleichtern das Einführen eines Stifts oder einer Schraube.",
|
||||
"help.solid.combine": "Kombiniert Körper: vereinigt sie, zieht sie von einem Zielkörper ab oder behält nur das gemeinsame Volumen; die Werkzeugkörper können erhalten bleiben. Damit fügen Sie Teile zusammen, schneiden eine Form mit einer anderen aus oder finden, wo sich zwei Körper überschneiden.",
|
||||
"help.solid.extrude": "Zieht ein Skizzenprofil über eine Strecke in die dritte Dimension und fügt dabei Material hinzu oder entfernt es. Damit machen Sie aus einer flachen Kontur einen Block, eine Erhebung oder eine Tasche.",
|
||||
@@ -1697,6 +1730,7 @@
|
||||
"parts.dimension.thickness": "Dicke",
|
||||
"parts.dimension.width": "Breite",
|
||||
"parts.family.bearing": "Rillenkugellager (Hüllform)",
|
||||
"parts.family.button_head_cap_screw": "Linsenkopfschraube mit Innensechskant",
|
||||
"parts.family.dowel_pin": "Zylinderstift",
|
||||
"parts.family.hex_bolt": "Sechskantschraube",
|
||||
"parts.family.hex_nut": "Sechskantmutter",
|
||||
@@ -1826,6 +1860,8 @@
|
||||
"prefs.layout_note": "Im Layout „Kompakt“ werden Bereiche an den Fensterrändern angedockt. Transparenz für den Browser ist nur im Layout „Schwebend“ verfügbar. Die Position des Assistenten ändern Sie auf der Seite „Assistent“.",
|
||||
"prefs.left": "Links",
|
||||
"prefs.left_click": "Linksklick",
|
||||
"prefs.line_drag_draws_one": "Drücken und Ziehen zeichnet eine Linie",
|
||||
"prefs.line_drag_draws_one_note": "Im Linienwerkzeug zeichnet Drücken, Ziehen und Loslassen eine Linie vom Drückpunkt bis zum Loslassen, und dort endet sie. Klicks zeichnen weiterhin eine Kette. Aus: Ein Ziehen setzt wie ein Klick einen Punkt dort, wo losgelassen wird.",
|
||||
"prefs.linked_designs": "Verknüpfte Designs",
|
||||
"prefs.max_file_size": "Maximale Dateigröße zum Öffnen",
|
||||
"prefs.max_file_size_design": "Designdateien",
|
||||
@@ -1837,12 +1873,41 @@
|
||||
"prefs.minutes_suffix": " min",
|
||||
"prefs.origin_plane_names": "Namen der Ursprungsebenen",
|
||||
"prefs.origin_plane_names_note": "Namen in Browser, Dialogen und Listen. {top} ist XY, {front} ist XZ und {right} ist YZ, mit Z nach oben. Befehle, Skripte und gespeicherte Konstruktionen behalten XY, XZ und YZ.",
|
||||
"prefs.persistent_ribbon_pressed": "Aktive Menübandbefehle hervorheben",
|
||||
"prefs.persistent_ribbon_pressed_help": "Hebt Befehle im Menüband hervor, solange ihre Effekte eingeschaltet sind. Deaktivieren Sie diese Option, um die bisherige neutrale Darstellung und Befehlshilfe beizubehalten.",
|
||||
"prefs.perspective_fov": "Sichtfeld",
|
||||
"prefs.profile_active": "Aktives Profil",
|
||||
"prefs.profile_applied": "Profil angewendet.",
|
||||
"prefs.profile_changed": "Die Einstellungen wurden seit dem Speichern des Profils geändert. „Speichern“ übernimmt sie ins Profil.",
|
||||
"prefs.profile_deleted": "Profil gelöscht.",
|
||||
"prefs.profile_export": "Exportieren…",
|
||||
"prefs.profile_exported": "Profil exportiert.",
|
||||
"prefs.profile_imported": "Profil importiert. Unter „Aktives Profil“ auswählen, um dazu zu wechseln.",
|
||||
"prefs.profile_name_hint": "Profilname, z. B. Laptop",
|
||||
"prefs.profile_rename": "Umbenennen",
|
||||
"prefs.profile_renamed": "Profil umbenannt.",
|
||||
"prefs.profile_save": "Speichern",
|
||||
"prefs.profile_saved": "Aktuelle Einstellungen im Profil gespeichert.",
|
||||
"prefs.profile_skipped": "Profil angewendet; {n} Einstellung(en) behielten ihren aktuellen Wert (siehe Protokoll).",
|
||||
"prefs.profiles": "Einstellungsprofile",
|
||||
"prefs.profiles_note": "Tastenkürzel, Werkzeugleiste, Navigation, Radialmenü und Oberflächeneinstellungen, gemeinsam unter einem Namen gespeichert und auf einmal umgeschaltet.",
|
||||
"prefs.project_options_dialog": "Project-Optionendialog",
|
||||
"prefs.project_options_dialog_note": "Ein: Vor dem Projizieren Geometrie oder Körper und die Projektionsverknüpfung auswählen. Aus: Den bisherigen Direktwahl-Ablauf beibehalten.",
|
||||
"prefs.ribbon_reveal": "Suchergebnisse im Menüband zeigen",
|
||||
"prefs.ribbon_reveal_note": "Steht der Zeiger über einem Ergebnis in Befehle suchen, zeigt das Menüband, wo der Befehl liegt: seine Registerkarte, seine Schaltfläche oder seine Zeile im Aufklappmenü eines Panels. Ein aus der Suche gestarteter Befehl blinkt dort, und ein laufender Befehl aus einem Aufklappmenü markiert sein Panel.",
|
||||
"prefs.search": "Einstellungen suchen",
|
||||
"prefs.search_empty": "Keine passenden Einstellungen",
|
||||
"prefs.single_surface_analysis": "Nur eine Flächenanalyse verwenden",
|
||||
"prefs.single_surface_analysis_help": "Wenn deaktiviert, können Flächenschattierung und Stetigkeitsanalyse gleichzeitig aktiv bleiben. Beim Aktivieren bleibt die zuletzt gestartete oder geänderte Analyse erhalten.",
|
||||
"prefs.sketch_align_points": "Beim Zeichnen an anderen Skizzenpunkten ausrichten",
|
||||
"prefs.sketch_align_points_note": "Beim Zeichnen richtet sich ein Punkt zugleich waagerecht an einem Skizzenpunkt und senkrecht an einem anderen aus, mit einer gepunkteten Hilfslinie; der Klick behält beide Ausrichtungen. Aus: nur am vorherigen Punkt, jeweils eine Achse.",
|
||||
"prefs.sketch_conflict_colour": "Widersprüchliche Geometrie in der Konfliktfarbe",
|
||||
"prefs.sketch_conflict_colour_note": "Solange die Bedingungen einer Skizze im Konflikt stehen, werden auch die Kurven und Punkte, die eine nicht erfüllte Bedingung hält, in der Konfliktfarbe gezeichnet, nicht nur ihr Symbol oder ihre Bemaßung. Aus: Sie behalten ihre üblichen Farben.",
|
||||
"prefs.sketch_construction_lines": "Erweiterte Konstruktionslinien-Werkzeuge",
|
||||
"prefs.sketch_open_look_at": "Beim Öffnen einer Skizze auf sie ausrichten",
|
||||
"prefs.sketch_open_look_at_note": "Aus: Beim Erstellen oder Bearbeiten einer Skizze bleibt die Ansicht, wie sie ist. „Ansehen“ richtet die Ansicht bei Bedarf auf die Skizze aus.",
|
||||
"prefs.sketch_recent_snap": "Automatisch an zuletzt verwendete Mittelpunkte fangen",
|
||||
"prefs.sketch_recent_snap_note": "Fängt den Zeiger beim Zeichnen dort ein, wo sich die Hilfslinien der beiden zuletzt verwendeten Kreismittelpunkte oder Kantenmitten kreuzen. Aus: die Hilfslinien bleiben sichtbar und der Zeiger bewegt sich nicht.",
|
||||
"prefs.sketch_state_icons": "Skizzensymbole in der Farbe ihres Zustands",
|
||||
"prefs.sketch_state_icons_note": "Im Verlauf und im Browser nimmt das Symbol einer Skizze die Farbe ihres Zustands an (unterbestimmt, vollständig bestimmt oder im Konflikt), und ihr Tooltip nennt den Zustand. Aus: Alle Skizzen haben dasselbe Symbol.",
|
||||
"prefs.sketch_tab_always": "Registerkarte Skizze immer zeigen",
|
||||
@@ -1877,9 +1942,15 @@
|
||||
"prefs.viewport_background": "Hintergrund",
|
||||
"prefs.viewport_background_colour": "Farbe",
|
||||
"prefs.viewport_background_theme": "Verlauf des Designs",
|
||||
"prefs.zoom_stop_at_model": "Zoom am Modell stoppen",
|
||||
"prefs.zoom_stop_at_model_tip": "3D-Maus und Geräte-App zoomen zur Oberfläche in der Ansichtsmitte; Zieh-Zoom hält den Punkt am Beginn des Ziehens fest. Aus: Zoom kann durch das Modell gehen. Mausrad und Pinch verwenden separat Zoom zum Mauszeiger",
|
||||
"properties.title": "Eigenschaften: {name}",
|
||||
"recovery.days_ago": "vor {count} Tagen",
|
||||
"recovery.detail": "{file} · {features} Merkmale · automatisch gespeichert {when}",
|
||||
"recovery.discard_all": "Alle verwerfen",
|
||||
"recovery.discard_all_detail": "Dies kann nicht rückgängig gemacht werden.",
|
||||
"recovery.discard_all_title": "{count} automatische Sicherungen verwerfen?",
|
||||
"recovery.discard_all_title_one": "1 automatische Sicherung verwerfen?",
|
||||
"recovery.hours_ago": "vor {count} Std.",
|
||||
"recovery.just_now": "gerade eben",
|
||||
"recovery.min_ago": "vor {count} Min.",
|
||||
@@ -2772,6 +2843,7 @@
|
||||
"settings.display_quality_note": "Feinere Stufen zeigen gekrümmte Flächen und Kanten glatter und brauchen länger zum Vernetzen. Nur die Ansicht ändert sich, nie das Design oder Exporte.",
|
||||
"settings.double_click_components": "Doppelklick auf eine Komponente aktiviert sie oder bearbeitet eine verknüpfte an Ort und Stelle",
|
||||
"settings.frame_rate_note": "Zeigt die Bilder pro Sekunde unten rechts in der Ansicht.",
|
||||
"settings.insert_lists_open_designs": "Konstruktion einfügen zeigt zuerst die in anderen Tabs geöffneten Konstruktionen",
|
||||
"settings.measure_axis_distances": "X/Y/Z-Maße anzeigen",
|
||||
"settings.measure_axis_distances_help": "Bei geöffneter Messung die Abstände entlang der Weltachsen zusätzlich zum Gesamtabstand anzeigen.",
|
||||
"settings.msaa_applies_on_restart": "Die Kantenglättung wird beim nächsten Start von SolidCraft übernommen",
|
||||
@@ -2792,6 +2864,10 @@
|
||||
"shortcut.unpin": "Loslösen",
|
||||
"sketch is missing": "die Skizze fehlt",
|
||||
"sketch.degrees_of_freedom": "{count} Freiheitsgrade",
|
||||
"sketch.dimension_added_driven": "Die Skizze legt dieses Maß bereits fest, daher wurde es als abhängiges Maß (Referenzmaß) hinzugefügt",
|
||||
"sketch.dimension_applied": "Maß angewendet",
|
||||
"sketch.dimension_applied_defined": "Maß angewendet; Parameter `{name}` definiert",
|
||||
"sketch.dimension_applied_renamed": "Maß angewendet; der Parameter heißt jetzt `{name}`",
|
||||
"sketch.dof_left": "{count} Freiheitsgrade übrig",
|
||||
"sketch.dof_left_one": "{count} Freiheitsgrad übrig",
|
||||
"sketch.draw_curves": "Als {linetype} zeichnen",
|
||||
@@ -2849,7 +2925,9 @@
|
||||
"thread.iso_metric": "ISO metrisch",
|
||||
"thread.select_size": "Größe wählen",
|
||||
"timeline.delete_folders_with_features_tip": "Löscht die Ordner mit allen Features darin und ihren Unterordnern",
|
||||
"timeline.edited_rolled_back": "{name} geändert, liegt aber hinter der Verlaufsmarke und wird daher nicht erzeugt: Marke dahinter ziehen, um das Ergebnis zu sehen",
|
||||
"timeline.feature_hint": "Doppelklicken zum Bearbeiten · Ziehen zum Neuordnen · Rechtsklicken für weitere Optionen",
|
||||
"timeline.feature_rolled_back": "Zurückgesetzt: hinter der Verlaufsmarke, daher nicht erzeugt",
|
||||
"timeline.group": "Neuen Merkmalsordner anlegen",
|
||||
"timeline.move_many": "Zeitleistenelemente verschieben",
|
||||
"timeline.move_to_group": "Merkmale in Ordner verschieben",
|
||||
@@ -2930,6 +3008,10 @@
|
||||
"ui.3d_mouse_offer": "Die Kalibrierung Ihrer 3D-Maus behebt vertauschte oder umgekehrte Achsen und stellt Geschwindigkeit und Gefühl ein.",
|
||||
"ui.3d_mouse_offer_never": "Nicht mehr anzeigen",
|
||||
"ui.3d_mouse_offer_swap": "Zu Hidraw wechseln (direkter Treiber)",
|
||||
"ui.3d_mouse_orbit": "Orbit",
|
||||
"ui.3d_mouse_orbit_classic": "Klassisch",
|
||||
"ui.3d_mouse_orbit_tip": "Verfolgt: Die 3D-Maus dreht die Ansicht um den Teil des Modells, der zu Beginn der Drehung in der Ansichtsmitte liegt, markiert durch eine blasse Kugel. Klassisch: um die Ansichtsmitte",
|
||||
"ui.3d_mouse_orbit_traced": "Verfolgt",
|
||||
"ui.3d_mouse_reading": "Werte",
|
||||
"ui.3d_mouse_reset_axes": "Achsenzuordnung zurücksetzen",
|
||||
"ui.3d_mouse_reset_view": "Ansicht zurücksetzen",
|
||||
@@ -3266,6 +3348,15 @@
|
||||
"ui.constant": "Konstant",
|
||||
"ui.constraints_conflict": "Bedingungen konfliktreich",
|
||||
"ui.construction": "Konstruktionslinie",
|
||||
"ui.construction.angle_hint": "Konstruktionslinie: Punkt anklicken, dann Winkel eingeben oder Richtung wählen",
|
||||
"ui.construction.bisector_hint": "Winkelhalbierende: zwei sich schneidende Geraden wählen, dann gewünschte Lösung",
|
||||
"ui.construction.common_hint": "Gemeinsame Tangente: zwei Kreise/Bögen wählen, dann gewünschte Lösung",
|
||||
"ui.construction.contact_hint": "Tangente: Kreis/Bogen oder offenen Spline/Kegelschnitt wählen, dann Berührpunkt (Freiformkurven: Endpunkte)",
|
||||
"ui.construction.external_hint": "Tangente: Kreis oder Bogen, äußeren Punkt, dann gewünschte Lösung wählen",
|
||||
"ui.construction.free_hint": "Konstruktionslinie: zwei Punkte anklicken; Rechtsklick beginnt neu",
|
||||
"ui.construction.point_hint": "Konstruktionslinie: Durchgangspunkt anklicken",
|
||||
"ui.construction.reference_hint": "Konstruktionslinie: Gerade wählen, dann Punkt; Rechtsklick wechselt die Referenz",
|
||||
"ui.construction.ribbon_label": "Hilfslinien",
|
||||
"ui.context_menu": "Kontextmenü",
|
||||
"ui.continuity_g0": "G0 Knick",
|
||||
"ui.continuity_g1": "G1 Tangente",
|
||||
@@ -3355,6 +3446,14 @@
|
||||
"ui.end_scale": "Endskalierung",
|
||||
"ui.entities": "Elemente",
|
||||
"ui.equal": "Gleich",
|
||||
"ui.equation_end": "Ende",
|
||||
"ui.equation_explicit": "Explizit",
|
||||
"ui.equation_form": "Form",
|
||||
"ui.equation_note": "Die Variable ist eine Zahl ohne Einheit: sin(t) liest sie im Bogenmaß. Ein Ergebnis ohne Einheit ist in der Einheit der Konstruktion.",
|
||||
"ui.equation_parametric": "Parametrisch",
|
||||
"ui.equation_x_of_t": "x(t)",
|
||||
"ui.equation_y_of_t": "y(t)",
|
||||
"ui.equation_y_of_x": "y(x)",
|
||||
"ui.equivalent_radius": "Äquivalenter Radius",
|
||||
"ui.expand": "Aufklappen",
|
||||
"ui.exportDxf": "Als DXF exportieren…",
|
||||
@@ -3417,6 +3516,7 @@
|
||||
"ui.heading_design": "DESIGN",
|
||||
"ui.heading_draft": "ABZIEHEN",
|
||||
"ui.heading_edit": "BEARBEITEN",
|
||||
"ui.heading_equation_curve": "GLEICHUNGSKURVE",
|
||||
"ui.heading_extrude": "EXTRUDIEREN",
|
||||
"ui.heading_fillet": "VOLLRUNDUNG",
|
||||
"ui.heading_finish_editing": "BEARBEITUNG BEENDEN",
|
||||
@@ -3497,6 +3597,10 @@
|
||||
"ui.import_ellipsis": "Importieren…",
|
||||
"ui.infinite": "Unendlich",
|
||||
"ui.insert": "Einfügen",
|
||||
"ui.insert_design.browse": "Durchsuchen…",
|
||||
"ui.insert_design.open_designs": "Geöffnete Konstruktionen",
|
||||
"ui.insert_design.saved_file": "{name} hat ungespeicherte Änderungen, daher wurde die gespeicherte Datei eingefügt. Speichern Sie sie und wählen Sie dann Verknüpfungen aktualisieren, um die Änderungen zu übernehmen.",
|
||||
"ui.insert_design.unsaved": "Ungespeicherte Änderungen",
|
||||
"ui.inspect": "Prüfen",
|
||||
"ui.intersect": "Schnitt",
|
||||
"ui.isolate": "Isolieren",
|
||||
@@ -3702,6 +3806,7 @@
|
||||
"ui.select": "Auswählen",
|
||||
"ui.selectOther": "Andere auswählen…",
|
||||
"ui.selectTangentChain": "Tangentialkette auswählen",
|
||||
"ui.select_all": "Alles auswählen",
|
||||
"ui.selection": "Auswahl",
|
||||
"ui.selection_modifiers": "Auswahlmodifikatoren",
|
||||
"ui.selection_shift_add_only": "Umschalt+Klick fügt hinzu, ohne zu entfernen",
|
||||
|
||||
@@ -1,22 +1,42 @@
|
||||
{
|
||||
"A Single hole snaps to the middle of its face and to the centres of its round edges": "A Single hole snaps to the middle of its face and to the centres of its round edges",
|
||||
"Base Center": "Base Centre",
|
||||
"Center X": "Centre X",
|
||||
"Center Y": "Centre Y",
|
||||
"Center of mass": "Centre of mass",
|
||||
"Centre to centre": "Centre to centre",
|
||||
"Circle center": "Circle centre",
|
||||
"Colour": "Colour",
|
||||
"Copy all licences": "Copy all licences",
|
||||
"Customize Toolbar": "Customise Toolbar",
|
||||
"Customize…": "Customise…",
|
||||
"Face center": "Face centre",
|
||||
"Favorites": "Favourites",
|
||||
"Favourite": "Favourite",
|
||||
"Mass Center": "Mass Centre",
|
||||
"Modeled": "Modelled",
|
||||
"Select the centre the pattern turns around first": "Select the centre the pattern turns around first",
|
||||
"Snap to face and edge centres": "Snap to face and edge centres",
|
||||
"Specialise": "Specialise",
|
||||
"cmd.appearance_favorite": "Favourite Look",
|
||||
"cmd.component_cycle_color": "Cycle Component Colour",
|
||||
"cmd.construct_point_center": "Point At Centre Of Circle/Sphere/Torus",
|
||||
"cmd.inspect_center_of_mass": "Centre of Mass",
|
||||
"cmd.inspect_colored_components": "Enable Component Colours",
|
||||
"cmd.inspect_colored_components_disable": "Disable Component Colours",
|
||||
"cmd.parameters_favorite": "Favourite Parameter",
|
||||
"cmd.render_aging_describe": "Layered Surface Aging",
|
||||
"cmd.render_effects_describe": "Lens and Creative Effects",
|
||||
"cmd.sketch.construction_line": "Construction Line",
|
||||
"cmd.sketch.construction_line.angle": "Construction Line at Angle",
|
||||
"cmd.sketch.construction_line.bisector": "Angle Bisector",
|
||||
"cmd.sketch.construction_line.horizontal": "Horizontal Construction Line",
|
||||
"cmd.sketch.construction_line.parallel": "Parallel Construction Line",
|
||||
"cmd.sketch.construction_line.perpendicular": "Perpendicular Construction Line",
|
||||
"cmd.sketch.construction_line.tangent_at": "Tangent at Curve Point",
|
||||
"cmd.sketch.construction_line.tangent_external": "Tangent through External Point",
|
||||
"cmd.sketch.construction_line.tangent_two": "Common Tangent",
|
||||
"cmd.sketch.construction_line.vertical": "Vertical Construction Line",
|
||||
"cmd.sketch_arc_center_point": "Centre Point Arc",
|
||||
"cmd.sketch_circle_center": "Centre Diameter Circle",
|
||||
"cmd.sketch_rectangle_center": "Centre Rectangle",
|
||||
@@ -28,7 +48,26 @@
|
||||
"color.gamma": "Showing colour values in 0-255 gamma space",
|
||||
"color.linear": "Showing colour values in 0-1 linear space",
|
||||
"color.selected": "Selected colour",
|
||||
"dxf.cancelled": "DXF export cancelled",
|
||||
"dxf.cancelling": "Cancelling DXF export",
|
||||
"help.apache": "Apache licence 2.0",
|
||||
"help.appearance.assign": "Gives the selected bodies, faces or components a colour or a material look, without changing their weight. Use it to tell parts apart or to preview a finish.",
|
||||
"help.face.delete": "Removes the selected faces and lets the neighbouring faces close the gap, or leaves the gap open as a surface. Use it to take off a rounded edge, a hole or a boss that is in the way.",
|
||||
"help.font_details": "The interface uses egui's built-in fonts (Ubuntu Light and Hack, under the Ubuntu Font Licence and the MIT/Bitstream Vera licence; Noto Emoji and the emoji icon font, under the OFL and MIT). Sketch text uses Liberation Sans (SIL OFL 1.1). The Crafting Apps' optional font pack, craft-fonts (BIZ UDPGothic, Shippori Mincho, BIZ UDMincho, Noto Sans CJK SC, Noto Sans Arabic; SIL OFL 1.1), is not bundled in SolidCraft builds.",
|
||||
"help.licences": "Licences",
|
||||
"help.material.assign": "Sets what the selected bodies are made of, such as steel, aluminium or ABS. Use it so that the mass and weight match the real part.",
|
||||
"help.mit": "MIT licence",
|
||||
"help.solid.draft": "Tilts the selected faces by the angle you set, measured from a neutral plane. Use it on moulded or cast parts so that they slide out of the mould.",
|
||||
"help.solid.revolve": "Spins a sketch profile around an axis to make a round solid. Use it for shafts, knobs, bowls and any part that is round about a centre line.",
|
||||
"help.solid.split_body": "Cuts a body into separate bodies with a plane, the face of another body or a sketch line. Use it to make parts that are printed, machined or coloured on their own.",
|
||||
"help.solid.split_face": "Divides the selected faces along a plane, the face of another body or sketch curves, without cutting the body. Use it to give part of a face its own draft, colour or offset.",
|
||||
"help.third_party": "Third-party licences",
|
||||
"home.new_mm_hint": "Millimetres · opens in Design",
|
||||
"navbar.custom.customise": "Customise navigation bar…",
|
||||
"navbar.custom.position_centre": "Centre",
|
||||
"navbar.description.separator": "A thin line that groups neighbouring slots.",
|
||||
"pattern.alignment_hint": "Counts include the original. Centre balances copies; Flip chooses the extra side for even totals.",
|
||||
"prefs.bottom_centre": "Bottom centre",
|
||||
"prefs.logo_theme": "Theme's colours",
|
||||
"prefs.max_file_size": "Largest file to open",
|
||||
"prefs.max_file_size_design": "Design files",
|
||||
@@ -39,6 +78,9 @@
|
||||
"prefs.megabytes": "MB",
|
||||
"prefs.sketch_conflict_colour": "Conflicting geometry in the conflict colour",
|
||||
"prefs.sketch_conflict_colour_note": "While a sketch's constraints conflict, the curves and points a failing constraint holds are drawn in the conflict colour too, not only its glyph or dimension. Off: they keep their usual colours.",
|
||||
"prefs.sketch_construction_lines": "Extended construction line tools",
|
||||
"prefs.sketch_recent_snap": "Auto snap to recent centres and midpoints",
|
||||
"prefs.sketch_recent_snap_note": "While drawing, snap the cursor where the guides of the two most recent circle centres or straight-edge midpoints cross. Off: those guides stay visual and the cursor does not move.",
|
||||
"prefs.sketch_state_icons": "Sketch icons in the colour of their state",
|
||||
"prefs.sketch_state_icons_note": "In History and the browser, a sketch's icon takes the colour of its state (under constrained, fully constrained or conflicting) and its tooltip names the state. Off: every sketch has the same icon.",
|
||||
"prefs.sketch_tracking_guides": "Centre and midpoint alignment guides",
|
||||
@@ -50,6 +92,7 @@
|
||||
"prefs.theme_follow_note": "Reloaded whenever another tool rewrites it. Choosing a theme stops following it.",
|
||||
"prefs.theme_follow_off": "Off",
|
||||
"prefs.theme_follow_stop": "Stop following",
|
||||
"prefs.trackpad_zoom_modifier.help": "Hold only this key to zoom at the pointer with vertical scroll. Off keeps the existing scroll behaviour.",
|
||||
"prefs.view": "View behaviour",
|
||||
"prefs.viewport_background_colour": "Colour",
|
||||
"render.aging_add": "Add aging layer",
|
||||
@@ -79,6 +122,7 @@
|
||||
"render.aging_target_help": "A named target must still match its captured index and name. Global masks are world-anchored; they do not follow moving parts. This is neither cavity detection nor true edge wear. Filter the list to reach additional bodies.",
|
||||
"render.aging_target_search": "Filter body names",
|
||||
"render.aging_upward": "Upward-facing deposition",
|
||||
"render.appearance_editor.base_colour": "Base colour",
|
||||
"render.backdrop_first": "Start / centre colour",
|
||||
"render.backdrop_second": "End / edge colour",
|
||||
"render.backdrop_x": "Centre X",
|
||||
@@ -95,21 +139,31 @@
|
||||
"render.base_color": "Base colour · sRGB",
|
||||
"render.bloom_help": "Creative output-only glow from positive linear highlights, spread with three normalised box passes. Radius is in output pixels. Added in linear display light before sRGB; not a lens, volumetric effect or convergence improvement. The raw EXR is unchanged.",
|
||||
"render.chromatic_offset": "Chromatic edge offset",
|
||||
"render.cpu_area_editor_help": "Full side vectors in millimeters; U cross V points towards the emitting side. This differs from GPU half-edge vectors.",
|
||||
"render.cpu_light_help": "Up to eight directional lights. An empty custom list turns them off; selecting a preset restores its lights. Colours are linear RGB and intensity is relative, not watts.",
|
||||
"render.cpu_linear_color": "Linear colour (R, G, B)",
|
||||
"render.effects_gpu_only": "These effects require GPU path tracing. Changing the page never switches the renderer automatically.",
|
||||
"render.effects_help": "Combine ordered colour looks and image-space lens effects. Rendering and raw-master regrading use the same saved settings. Raw EXR stays unchanged. These are original artistic controls, not calibrated lens or branded-film emulations.",
|
||||
"render.effects_reset_lens": "Reset lens effects",
|
||||
"render.effects_seed": "Pattern seed",
|
||||
"render.env_colour": "Colour",
|
||||
"render.environment.radial_only": "Centre and radius apply to Radial mode.",
|
||||
"render.error_finish_gesture": "finish the modelling gesture before previewing",
|
||||
"render.error_finish_operation": "finish the current modelling operation before entering Render",
|
||||
"render.film_grain": "Photographic grain",
|
||||
"render.flare_ghosts": "Ghost rings per source",
|
||||
"render.flare_halo": "Flare halo",
|
||||
"render.flare_streak": "Anamorphic-style streak",
|
||||
"render.flare_strength": "Highlight flare strength",
|
||||
"render.flare_threshold": "Scene-linear flare threshold",
|
||||
"render.frame_centre_mark": "Centre mark",
|
||||
"render.hdr_primaries_declared": "The source declares its colour primaries.",
|
||||
"render.hdr_primaries_srgb": "Colour primaries: sRGB/D65",
|
||||
"render.hdr_primaries_undeclared": "The source does not declare primaries; review the renderer colour requirements.",
|
||||
"render.image_cancelled": "Render cancelled",
|
||||
"render.image_cancelling": "Cancelling",
|
||||
"render.image_scene_stale": "Finish the modelling gesture or refresh the scene before checking or starting an image.",
|
||||
"render.inspector_colour": "Colour",
|
||||
"render.layer_down": "Move down",
|
||||
"render.layer_enabled": "Layer enabled",
|
||||
"render.layer_remove": "Remove layer",
|
||||
@@ -124,6 +178,11 @@
|
||||
"render.library_rig_help": "Fit once at an explicit centre and physical extent. Complete rigs include passive cards; calibration blockers still refuse. Conservative emitter/card clearance is checked before saving.",
|
||||
"render.library_source_preview_help": "Authored base-colour source map. This is not a rendered or measured material preview.",
|
||||
"render.library_unfavorite": "Remove favourite",
|
||||
"render.light_behaviour": "BEHAVIOUR",
|
||||
"render.light_preview_help": "Live view is unshadowed; Area lights use a centre-sample approximation. Render uses the complete light model.",
|
||||
"render.light_product_centre": "Product centre",
|
||||
"render.light_temperature": "Colour temperature",
|
||||
"render.lighting_colour": "Colour",
|
||||
"render.look_add": "Add colour look",
|
||||
"render.look_bleach": "Bleach-bypass-inspired",
|
||||
"render.look_cool": "Cool",
|
||||
@@ -147,30 +206,45 @@
|
||||
"render.radial_distortion": "Radial distortion",
|
||||
"render.ribbon_aging": "Aging",
|
||||
"render.ribbon_effects": "Effects",
|
||||
"render.ribbon_studios_help": "Browse implemented studio compositions and review their replacements before applying. Concept-only scenes remain labelled.",
|
||||
"render.sharpening": "Detail sharpening",
|
||||
"render.soft_focus": "Soft focus",
|
||||
"render.stage_panels.centre": "Centre",
|
||||
"render.stage_panels.source_note": "Authored base-colour source map. Not a measured material.",
|
||||
"render.studio_area_help": "Up to four one-sided rectangles. Orthogonal half-edges U and V define size; U × V faces the lit side. Coordinates are world-space millimetres.",
|
||||
"render.studio_center": "Centre X, Y, Z (mm)",
|
||||
"render.studio_hdr_help": "Radiance .hdr, 2:1 panorama, up to 2048 × 1024. EXR is unavailable. The colour assumption applies only when primaries are unspecified.",
|
||||
"sketch_text.align_center": "Centre",
|
||||
"ui.3d_mouse_kind_cap": "Return to Centre",
|
||||
"ui.3d_mouse_looks_like_cap": "The reading stays put while you hold it, the way a Return to Centre device does.",
|
||||
"ui.3d_mouse_orbit_tip": "Traced: the 3D mouse turns the view around the part of the model in the middle of the view when the turn begins, marked by a faint ball. Classic: around the view's centre",
|
||||
"ui.3d_mouse_step_pull": "Pull the cap towards you, hold it, then let go.",
|
||||
"ui.3d_mouse_switch_cap": "Calibrate as Return to Centre",
|
||||
"ui.agent_chat_minimize": "Minimise to a strip",
|
||||
"ui.ai_mode_edits_note": "Modelling commands run without asking; saving, opening, exporting and other file or destructive actions still ask.",
|
||||
"ui.center": "Centre",
|
||||
"ui.center_arc_follows_cursor": "Centre point arc follows the cursor's direction",
|
||||
"ui.center_arc_follows_cursor_tip": "A centre point arc runs clockwise or counter-clockwise the way the cursor goes round its centre. Off: always counter-clockwise from the start.",
|
||||
"ui.centerline": "Centreline",
|
||||
"ui.colour_vision": "Colour vision",
|
||||
"ui.colour_vision_note": "Changes the colours that carry a meaning: sketch states, axes, bends, analyses and icons. If you use Windows colour filters, keep this Off.",
|
||||
"ui.colour_vision_off_tip": "The theme's own colours",
|
||||
"ui.construction.ribbon_label": "X-Lines",
|
||||
"ui.customizeToolbar": "Customise Toolbar…",
|
||||
"ui.default_modelling_orientation": "Default modelling orientation",
|
||||
"ui.design_properties.license": "Licence",
|
||||
"ui.design_properties.organization": "Organisation",
|
||||
"ui.export_keymap_tip": "Keys, S box favourites and the toolbar, as a file",
|
||||
"ui.layout_compact": "Compact",
|
||||
"ui.layout_floating": "Floating",
|
||||
"ui.material_review.claims": "Sources and licences are unverified claims. Missing values remain unknown.",
|
||||
"ui.point_cloud_color_by": "Colour By",
|
||||
"ui.point_cloud_file_colors": "File Colours",
|
||||
"ui.point_cloud_no_file_colors": "The file has no colours",
|
||||
"ui.point_cloud_single_color": "Single Colour",
|
||||
"ui.properties.inertia_note": "About the centre of mass, in world axes (g·{unit}²)",
|
||||
"ui.ribbon_labels": "Show text under ribbon icons",
|
||||
"ui.view_centre": "View centre",
|
||||
"ui.workspace_layout": "Workspace layout",
|
||||
"ui.zoom_to_cursor_tip": "The wheel zooms towards the point under the cursor (off: towards the view's centre)",
|
||||
"update.prefs_flatpak": "Flatpak updates this copy ({version}): run {command} or use your software centre. SolidCraft doesn't check."
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"2. Attach your screenshot: copy and paste it, or save and upload the PNG.": "2. Attach your screenshot: copy and paste it, or save and upload the PNG.",
|
||||
"2D": "2D",
|
||||
"3. Click Submit new issue on GitHub to send your report.": "3. Click Submit new issue on GitHub to send your report.",
|
||||
"A Single hole snaps to the middle of its face and to the centres of its round edges": "A Single hole snaps to the middle of its face and to the centres of its round edges",
|
||||
"A Single hole snaps to the middle of its face and to the centres of its round edges": "A Single hole snaps to the middle of its face and to the centers of its round edges",
|
||||
"A new configuration, a copy of the active one": "A new configuration, a copy of the active one",
|
||||
"A placed Single hole has a handle to drag it, and picking its face again moves the hole there instead of taking it out": "A placed Single hole has a handle to drag it, and picking its face again moves the hole there instead of taking it out",
|
||||
"A short title for the problem (optional)": "A short title for the problem (optional)",
|
||||
@@ -100,7 +100,7 @@
|
||||
"Center X": "Center X",
|
||||
"Center Y": "Center Y",
|
||||
"Center of mass": "Center of mass",
|
||||
"Centre to centre": "Centre to centre",
|
||||
"Centre to centre": "Center to center",
|
||||
"Centroid": "Centroid",
|
||||
"Chamfer Type": "Chamfer Type",
|
||||
"Channel": "Channel",
|
||||
@@ -117,7 +117,7 @@
|
||||
"Close draft": "Close draft",
|
||||
"Collapse": "Collapse",
|
||||
"Collisions": "Collisions",
|
||||
"Colour": "Colour",
|
||||
"Colour": "Color",
|
||||
"Command": "Command",
|
||||
"Comment": "Comment",
|
||||
"Component 1": "Component 1",
|
||||
@@ -137,7 +137,7 @@
|
||||
"Copies the definition only. Assign it from Physical Material when ready.": "Copies the definition only. Assign it from Physical Material when ready.",
|
||||
"Copy Error Message": "Copy Error Message",
|
||||
"Copy Warning Message": "Copy Warning Message",
|
||||
"Copy all licences": "Copy all licences",
|
||||
"Copy all licences": "Copy all licenses",
|
||||
"Copy diagnostic information": "Copy diagnostic information",
|
||||
"Copy report": "Copy report",
|
||||
"Copy screenshot": "Copy screenshot",
|
||||
@@ -206,6 +206,7 @@
|
||||
"Edges": "Edges",
|
||||
"Edit": "Edit",
|
||||
"Edit Profile Sketch": "Edit Profile Sketch",
|
||||
"Edit shortcuts": "Edit shortcuts",
|
||||
"Enable rule": "Enable rule",
|
||||
"Enabled": "Enabled",
|
||||
"End Radius": "End Radius",
|
||||
@@ -243,7 +244,7 @@
|
||||
"Factor must be a positive number": "Factor must be a positive number",
|
||||
"Fastener": "Fastener",
|
||||
"Favorites": "Favorites",
|
||||
"Favourite": "Favourite",
|
||||
"Favourite": "Favorite",
|
||||
"Feature": "Feature",
|
||||
"Files from many CAD programs have Y up, so they open lying on their back here (Z up).": "Files from many CAD programs have Y up, so they open lying on their back here (Z up).",
|
||||
"Filter": "Filter",
|
||||
@@ -468,6 +469,7 @@
|
||||
"Radius": "Radius",
|
||||
"Radius Fit": "Radius Fit",
|
||||
"Ratio": "Ratio",
|
||||
"Read-only list: shortcuts can't be changed here.": "Read-only list: shortcuts can't be changed here.",
|
||||
"Reattach selected face": "Reattach selected face",
|
||||
"Recover": "Recover",
|
||||
"Recover unsaved design?": "Recover unsaved design?",
|
||||
@@ -561,7 +563,7 @@
|
||||
"Select bodies or faces instead": "Select bodies or faces instead",
|
||||
"Select edges": "Select edges",
|
||||
"Select points of the sketch being edited": "Select points of the sketch being edited",
|
||||
"Select the centre the pattern turns around first": "Select the centre the pattern turns around first",
|
||||
"Select the centre the pattern turns around first": "Select the center the pattern turns around first",
|
||||
"Select the curves to offset first": "Select the curves to offset first",
|
||||
"Select the mirror line": "Select the mirror line",
|
||||
"Select the sketch curves or points to mirror first": "Select the sketch curves or points to mirror first",
|
||||
@@ -590,12 +592,12 @@
|
||||
"Sketch points": "Sketch points",
|
||||
"Slider": "Slider",
|
||||
"Slot width": "Slot width",
|
||||
"Snap to face and edge centres": "Snap to face and edge centres",
|
||||
"Snap to face and edge centres": "Snap to face and edge centers",
|
||||
"SolidCraft cannot submit reports directly. Submit on GitHub; no token is needed in the app.": "SolidCraft cannot submit reports directly. Submit on GitHub; no token is needed in the app.",
|
||||
"SolidCraft closed before these designs were saved. Their last autosave can be opened.": "SolidCraft closed before these designs were saved. Their last autosave can be opened.",
|
||||
"Spacing 2 must be a non-zero number": "Spacing 2 must be a non-zero number",
|
||||
"Spacing must be a non-zero number": "Spacing must be a non-zero number",
|
||||
"Specialise": "Specialise",
|
||||
"Specialise": "Specialize",
|
||||
"Speed": "Speed",
|
||||
"Splitting tool": "Splitting tool",
|
||||
"Square": "Square",
|
||||
@@ -773,6 +775,8 @@
|
||||
"at the face": "at the face",
|
||||
"bom.group_children": "Sub-parts in their part's row",
|
||||
"browser.body_name": "Body{number}",
|
||||
"browser.calibrate_click_a": "Click the image for Point A, or type its coordinates.",
|
||||
"browser.calibrate_click_b": "Click the image for Point B, or type its coordinates.",
|
||||
"browser.calibrate_title": "Calibrate: {name}",
|
||||
"browser.capture_many": "{count} components were moved but their positions aren't captured.",
|
||||
"browser.capture_note": "Capture keeps the new position; Revert puts it back.",
|
||||
@@ -807,7 +811,7 @@
|
||||
"cmd.appearance_assign": "Appearance",
|
||||
"cmd.appearance_chain": "Appearance Chain",
|
||||
"cmd.appearance_copy": "Copy Look",
|
||||
"cmd.appearance_favorite": "Favourite Look",
|
||||
"cmd.appearance_favorite": "Favorite Look",
|
||||
"cmd.appearance_library": "Appearance Library",
|
||||
"cmd.appearance_list": "List Appearances",
|
||||
"cmd.appearance_paint": "Paint Appearance",
|
||||
@@ -822,6 +826,7 @@
|
||||
"cmd.browser_move": "Move Browser Items",
|
||||
"cmd.browser_order": "Order Browser Items",
|
||||
"cmd.browser_rename_group": "Rename Group",
|
||||
"cmd.browser_reparent": "Move to Component",
|
||||
"cmd.browser_ungroup": "Ungroup",
|
||||
"cmd.browser_visibility": "Show/Hide",
|
||||
"cmd.canvas_calibrate": "Calibrate Canvas",
|
||||
@@ -848,7 +853,9 @@
|
||||
"cmd.component_metadata": "Part Properties",
|
||||
"cmd.component_metadata_set": "Change Part Properties",
|
||||
"cmd.component_move_bodies": "Move Bodies to Component",
|
||||
"cmd.component_move_features": "Move Features to Component",
|
||||
"cmd.component_move_sketches": "Move Sketches to Component",
|
||||
"cmd.component_paste_from_design": "Paste from Another Design",
|
||||
"cmd.component_paste_new": "Paste New",
|
||||
"cmd.component_properties": "Component Physical Properties",
|
||||
"cmd.component_relink": "Relink Source",
|
||||
@@ -998,7 +1005,7 @@
|
||||
"cmd.parameters_complete": "Complete Expression",
|
||||
"cmd.parameters_delete": "Delete Parameter",
|
||||
"cmd.parameters_export": "Export Parameters",
|
||||
"cmd.parameters_favorite": "Favourite Parameter",
|
||||
"cmd.parameters_favorite": "Favorite Parameter",
|
||||
"cmd.parameters_graph": "Parameter Graph",
|
||||
"cmd.parameters_import": "Import Parameters",
|
||||
"cmd.parameters_list": "List Parameters",
|
||||
@@ -1076,6 +1083,13 @@
|
||||
"cmd.render_start": "Render Image",
|
||||
"cmd.render_status": "Render Progress",
|
||||
"cmd.select_clear": "Clear Selection",
|
||||
"cmd.settings_profile_apply": "Apply Settings Profile",
|
||||
"cmd.settings_profile_delete": "Delete Settings Profile",
|
||||
"cmd.settings_profile_export": "Export Settings Profile",
|
||||
"cmd.settings_profile_import": "Import Settings Profile",
|
||||
"cmd.settings_profile_list": "Settings Profiles",
|
||||
"cmd.settings_profile_rename": "Rename Settings Profile",
|
||||
"cmd.settings_profile_save": "Save Settings Profile",
|
||||
"cmd.sheet_convert": "Convert to Sheet Metal",
|
||||
"cmd.sheet_export_bend_table": "Export Bend Table",
|
||||
"cmd.sheet_export_dxf": "Export Flat Pattern as DXF",
|
||||
@@ -1089,6 +1103,16 @@
|
||||
"cmd.sheet_refold": "Refold",
|
||||
"cmd.sheet_rules": "List Sheet Metal Rules",
|
||||
"cmd.sheet_unfold": "Unfold",
|
||||
"cmd.sketch.construction_line": "Construction Line",
|
||||
"cmd.sketch.construction_line.angle": "Construction Line at Angle",
|
||||
"cmd.sketch.construction_line.bisector": "Angle Bisector",
|
||||
"cmd.sketch.construction_line.horizontal": "Horizontal Construction Line",
|
||||
"cmd.sketch.construction_line.parallel": "Parallel Construction Line",
|
||||
"cmd.sketch.construction_line.perpendicular": "Perpendicular Construction Line",
|
||||
"cmd.sketch.construction_line.tangent_at": "Tangent at Curve Point",
|
||||
"cmd.sketch.construction_line.tangent_external": "Tangent through External Point",
|
||||
"cmd.sketch.construction_line.tangent_two": "Common Tangent",
|
||||
"cmd.sketch.construction_line.vertical": "Vertical Construction Line",
|
||||
"cmd.sketch_arc3d": "3D Arc",
|
||||
"cmd.sketch_arc_center_point": "Center Point Arc",
|
||||
"cmd.sketch_arc_tangent": "Tangent Arc",
|
||||
@@ -1121,6 +1145,8 @@
|
||||
"cmd.sketch_drawing_bounds": "Drawing Size",
|
||||
"cmd.sketch_edit": "Edit Sketch",
|
||||
"cmd.sketch_edit_text": "Edit Text",
|
||||
"cmd.sketch_equation_curve": "Equation Curve",
|
||||
"cmd.sketch_equation_curve_edit": "Edit Equation Curve",
|
||||
"cmd.sketch_export_dxf": "Save As DXF",
|
||||
"cmd.sketch_finish_auto_constrain": "Finish with AutoConstrain",
|
||||
"cmd.sketch_fit_curves_to_section": "Fit Curves to Mesh Section",
|
||||
@@ -1217,6 +1243,7 @@
|
||||
"cmd.view.render_browser": "Render Browser",
|
||||
"cmd.view.render_dock": "Move Render Dock",
|
||||
"cmd.view.render_focus": "Render Focus View",
|
||||
"cmd.view.status_items": "Viewport Status Items",
|
||||
"cmd.view_ambient_occlusion": "Ambient Occlusion",
|
||||
"cmd.view_angle_readout": "View Angles",
|
||||
"cmd.view_apply": "Restore Named View",
|
||||
@@ -1325,8 +1352,8 @@
|
||||
"drive.stopped_by_loop": "Stopped at {value}: the loop through {joint} can't close any further",
|
||||
"drive.unconnected": "Moves nothing: {part} is not connected to anything grounded",
|
||||
"dxf.cancel_wait": "Waiting for the export to stop…",
|
||||
"dxf.cancelled": "DXF export cancelled",
|
||||
"dxf.cancelling": "Cancelling DXF export",
|
||||
"dxf.cancelled": "DXF export canceled",
|
||||
"dxf.cancelling": "Canceling DXF export",
|
||||
"dxf.exporting": "Exporting DXF",
|
||||
"dxf.invalid_tolerance": "Curve tolerance must be between 0.0001 and 1 mm.",
|
||||
"dxf.progress.index": "Preparing surfaces (2/5)",
|
||||
@@ -1357,27 +1384,38 @@
|
||||
"fits the face, e.g. M8": "fits the face, e.g. M8",
|
||||
"from the profile": "from the profile",
|
||||
"from the rule": "from the rule",
|
||||
"help.apache": "Apache licence 2.0",
|
||||
"help.appearance.assign": "Gives the selected bodies, faces or components a colour or a material look, without changing their weight. Use it to tell parts apart or to preview a finish.",
|
||||
"help.apache": "Apache license 2.0",
|
||||
"help.appearance.assign": "Gives the selected bodies, faces or components a color or a material look, without changing their weight. Use it to tell parts apart or to preview a finish.",
|
||||
"help.attributions": "Attributions (ATTRIBUTION.md)",
|
||||
"help.build": "Version {version} · commit {commit} · built {date}",
|
||||
"help.component.finish_edit": "Saves the part you are editing in place, returns to its assembly and updates the assembly from it. Use it when your changes to the linked part are done.",
|
||||
"help.connect_note": "Restart each assistant to load the SolidCraft server. Each file was backed up as .bak before it changed.",
|
||||
"help.connect_title": "Connect AI assistants",
|
||||
"help.face.delete": "Removes the selected faces and lets the neighbouring faces close the gap, or leaves the gap open as a surface. Use it to take off a rounded edge, a hole or a boss that is in the way.",
|
||||
"help.font_details": "The interface uses egui's built-in fonts (Ubuntu Light and Hack, under the Ubuntu Font Licence and the MIT/Bitstream Vera licence; Noto Emoji and the emoji icon font, under the OFL and MIT). Sketch text uses Liberation Sans (SIL OFL 1.1). The Crafting Apps' optional font pack, craft-fonts (BIZ UDPGothic, Shippori Mincho, BIZ UDMincho, Noto Sans CJK SC, Noto Sans Arabic; SIL OFL 1.1), is not bundled in SolidCraft builds.",
|
||||
"help.face.delete": "Removes the selected faces and lets the neighboring faces close the gap, or leaves the gap open as a surface. Use it to take off a rounded edge, a hole or a boss that is in the way.",
|
||||
"help.font_details": "The interface uses egui's built-in fonts (Ubuntu Light and Hack, under the Ubuntu Font Licence and the MIT/Bitstream Vera license; Noto Emoji and the emoji icon font, under the OFL and MIT). Sketch text uses Liberation Sans (SIL OFL 1.1). The Crafting Apps' optional font pack, craft-fonts (BIZ UDPGothic, Shippori Mincho, BIZ UDMincho, Noto Sans CJK SC, Noto Sans Arabic; SIL OFL 1.1), is not bundled in SolidCraft builds.",
|
||||
"help.fonts": "Fonts",
|
||||
"help.licences": "Licences",
|
||||
"help.material.assign": "Sets what the selected bodies are made of, such as steel, aluminium or ABS. Use it so that the mass and weight match the real part.",
|
||||
"help.mit": "MIT licence",
|
||||
"help.licences": "Licenses",
|
||||
"help.material.assign": "Sets what the selected bodies are made of, such as steel, aluminum or ABS. Use it so that the mass and weight match the real part.",
|
||||
"help.mit": "MIT license",
|
||||
"help.notice": "NOTICE",
|
||||
"help.occurrence.move": "Moves an assembly part only along freedoms allowed by its joints. Select a part face, then drag an available arrow or arc.",
|
||||
"help.parameters.change": "Opens the table of named values and expressions that drive the dimensions of the design. Use it to change a size in one place and let every feature that uses it follow.",
|
||||
"help.pointcloud.insert": "Insert a PLY, XYZ or PTS scan as a point cloud alongside the model. Use it as a reference when building a model from measured data.",
|
||||
"help.sketch.construction_line": "Create an infinite construction line through two points. Use it to lay out a sketch without splitting profiles.",
|
||||
"help.sketch.construction_line.angle": "Create an infinite construction line at an angle from sketch X. Pick the point and type the angle, or pick its direction.",
|
||||
"help.sketch.construction_line.bisector": "Pick two intersecting straight sketch lines, then choose either angle bisector. The result follows its source lines.",
|
||||
"help.sketch.construction_line.horizontal": "Create an infinite horizontal construction line through a point. Its horizontal constraint follows later edits.",
|
||||
"help.sketch.construction_line.parallel": "Pick a straight sketch line, then place a parallel infinite construction line. Right-click to choose another reference.",
|
||||
"help.sketch.construction_line.perpendicular": "Pick a straight sketch line, then place a perpendicular infinite construction line. Right-click to choose another reference.",
|
||||
"help.sketch.construction_line.tangent_at": "Create a tangent at a point on a circle or circular arc, or an endpoint of an open spline or conic. Pick the curve, then its contact point.",
|
||||
"help.sketch.construction_line.tangent_external": "Pick a circle or circular arc, then an external point and a tangent solution. The previews show only contacts on the drawn arc.",
|
||||
"help.sketch.construction_line.tangent_two": "Pick two circles or circular arcs, then choose a common tangent in the preview. Contacts must lie on the drawn curves.",
|
||||
"help.sketch.construction_line.vertical": "Create an infinite vertical construction line through a point. Its vertical constraint follows later edits.",
|
||||
"help.sketch.equation_curve": "Draws a curve from formulas: x(t) and y(t), or y = f(x), over a range. The formulas can use parameters and the curve follows them: use it for a sine wave, a spiral or a gear tooth's involute.",
|
||||
"help.solid.align": "Moves the selected bodies so that a point, face or plane on them meets a point, face or plane elsewhere. Use it to place a part against another one without measuring the offset.",
|
||||
"help.solid.chamfer": "Cuts the selected edges with a flat bevel of the distance you set. Use it to break sharp edges or to ease the entry of a pin or screw.",
|
||||
"help.solid.combine": "Joins bodies, cuts them out of a target body, or keeps only the volume they share, and can keep the tool bodies. Use it to merge parts, to cut one shape with another or to find where two bodies overlap.",
|
||||
"help.solid.draft": "Tilts the selected faces by the angle you set, measured from a neutral plane. Use it on moulded or cast parts so that they slide out of the mould.",
|
||||
"help.solid.draft": "Tilts the selected faces by the angle you set, measured from a neutral plane. Use it on molded or cast parts so that they slide out of the mold.",
|
||||
"help.solid.extrude": "Pushes a sketch profile into 3D along a distance, adding or removing material. Use it to turn a flat outline into a block, a boss or a pocket.",
|
||||
"help.solid.fillet": "Rounds the selected edges with a smooth circular blend of the radius you set. Use it to soften sharp edges for strength, comfort or looks.",
|
||||
"help.solid.hole": "Drills a round hole of the diameter you set at a chosen point on a face. Use it for screw clearances, pins and other simple round openings.",
|
||||
@@ -1390,13 +1428,13 @@
|
||||
"help.solid.press_pull": "Adds or removes material as you drag a face, or rounds edges as you drag them. Use it for quick changes straight on the model.",
|
||||
"help.solid.remove": "Takes the selected bodies out of the design from this point in the timeline on; earlier steps keep them. Use it to drop a helper body, such as a cutting tool you no longer need.",
|
||||
"help.solid.replace_face": "Moves the selected flat faces onto a plane or onto a parallel face, and the body grows or shrinks to meet it. Use it to bring a face flush with another part or a construction plane.",
|
||||
"help.solid.revolve": "Spins a sketch profile around an axis to make a round solid. Use it for shafts, knobs, bowls and any part that is round about a centre line.",
|
||||
"help.solid.revolve": "Spins a sketch profile around an axis to make a round solid. Use it for shafts, knobs, bowls and any part that is round about a center line.",
|
||||
"help.solid.scale": "Makes the selected bodies larger or smaller by a factor, the same in every direction or one per axis. Use it to resize an imported shape or to allow for shrinkage.",
|
||||
"help.solid.shell": "Hollows out a solid, leaving walls of the thickness you set, and can open the faces you pick. Use it for boxes, covers and other thin-walled parts.",
|
||||
"help.solid.split_body": "Cuts a body into separate bodies with a plane, the face of another body or a sketch line. Use it to make parts that are printed, machined or coloured on their own.",
|
||||
"help.solid.split_face": "Divides the selected faces along a plane, the face of another body or sketch curves, without cutting the body. Use it to give part of a face its own draft, colour or offset.",
|
||||
"help.solid.split_body": "Cuts a body into separate bodies with a plane, the face of another body or a sketch line. Use it to make parts that are printed, machined or colored on their own.",
|
||||
"help.solid.split_face": "Divides the selected faces along a plane, the face of another body or sketch curves, without cutting the body. Use it to give part of a face its own draft, color or offset.",
|
||||
"help.solid.sweep": "Drags a sketch profile along a path to make a solid. Use it for pipes, rails, handles and any part of constant section that follows a curve.",
|
||||
"help.third_party": "Third-party licences",
|
||||
"help.third_party": "Third-party licenses",
|
||||
"help.timeline.compute_all": "Rebuilds every feature in the timeline from the start. Use it to refresh the model and to see which features fail.",
|
||||
"help.timeline.delete": "Deletes the selected features from the timeline; deleting a sketch also deletes the features built from it. Use it to remove a step that is no longer wanted.",
|
||||
"help.timeline.play": "Replay the remaining features one at a time, with a half-second pause after each rebuild. Run this command again or press Escape to stop; Go to end jumps immediately.",
|
||||
@@ -1450,7 +1488,7 @@
|
||||
"home.new_inches": "New design, inches",
|
||||
"home.new_inches_hint": "Inches · opens in Design",
|
||||
"home.new_mm": "New design",
|
||||
"home.new_mm_hint": "Millimetres · opens in Design",
|
||||
"home.new_mm_hint": "Millimeters · opens in Design",
|
||||
"home.open": "Open…",
|
||||
"home.open_hint": "A .sc design ({shortcut})",
|
||||
"home.open_now": "Open now",
|
||||
@@ -1631,7 +1669,7 @@
|
||||
"navbar.custom.buttons": "Buttons",
|
||||
"navbar.custom.compact": "Compact",
|
||||
"navbar.custom.count": "{count} of 16 slots",
|
||||
"navbar.custom.customise": "Customise navigation bar…",
|
||||
"navbar.custom.customise": "Customize navigation bar…",
|
||||
"navbar.custom.design": "Design",
|
||||
"navbar.custom.duplicate": "This slot is already on the bar.",
|
||||
"navbar.custom.edge": "Edge",
|
||||
@@ -1651,7 +1689,7 @@
|
||||
"navbar.custom.labels": "Icons and labels",
|
||||
"navbar.custom.left": "Move left",
|
||||
"navbar.custom.position": "Position",
|
||||
"navbar.custom.position_centre": "Centre",
|
||||
"navbar.custom.position_centre": "Center",
|
||||
"navbar.custom.position_left": "Left",
|
||||
"navbar.custom.position_right": "Right",
|
||||
"navbar.custom.preview_as": "Preview as",
|
||||
@@ -1680,7 +1718,7 @@
|
||||
"navbar.description.orbit": "Turns the view around the model.",
|
||||
"navbar.description.pan": "Slides the view sideways, up or down.",
|
||||
"navbar.description.projection": "Switches between orthographic and perspective views.",
|
||||
"navbar.description.separator": "A thin line that groups neighbouring slots.",
|
||||
"navbar.description.separator": "A thin line that groups neighboring slots.",
|
||||
"navbar.description.spin": "Keeps the view turning until you click or press a key.",
|
||||
"navbar.description.visual_style": "Switches how the model is drawn: shaded, wireframe or with hidden edges.",
|
||||
"navbar.description.zoom": "Moves the view closer to or further from the model.",
|
||||
@@ -1743,6 +1781,7 @@
|
||||
"parts.dimension.thickness": "Thickness",
|
||||
"parts.dimension.width": "Width",
|
||||
"parts.family.bearing": "Deep groove ball bearing (envelope)",
|
||||
"parts.family.button_head_cap_screw": "Button head cap screw",
|
||||
"parts.family.dowel_pin": "Parallel pin (dowel)",
|
||||
"parts.family.hex_bolt": "Hex head bolt / screw",
|
||||
"parts.family.hex_nut": "Hex nut",
|
||||
@@ -1798,7 +1837,7 @@
|
||||
"prefs.bodies_folders_never": "Never",
|
||||
"prefs.bodies_folders_several": "Several bodies only",
|
||||
"prefs.bottom": "Bottom",
|
||||
"prefs.bottom_centre": "Bottom centre",
|
||||
"prefs.bottom_centre": "Bottom center",
|
||||
"prefs.bottom_right": "Bottom right",
|
||||
"prefs.browser": "Browser",
|
||||
"prefs.browser_reveal_on_hover": "Reveal on hover",
|
||||
@@ -1874,6 +1913,8 @@
|
||||
"prefs.layout_note": "Compact docks panels to the window edges. Browser translucency is available in Floating. Change the Assistant side on the Assistant page.",
|
||||
"prefs.left": "Left",
|
||||
"prefs.left_click": "Left click",
|
||||
"prefs.line_drag_draws_one": "Press and drag draws one line",
|
||||
"prefs.line_drag_draws_one_note": "In the Line tool, pressing, dragging and letting go draws one line from the press to the release, and it ends there. Clicks still draw a chain. Off: a drag places a point where it is let go, as a click does.",
|
||||
"prefs.linked_designs": "Linked designs",
|
||||
"prefs.live_input": "Live input",
|
||||
"prefs.live_preview": "Live preview",
|
||||
@@ -1906,9 +1947,27 @@
|
||||
"prefs.origin_plane_names": "Origin plane names",
|
||||
"prefs.origin_plane_names_note": "Names shown in the browser, dialogs and lists. {top} is XY, {front} is XZ and {right} is YZ, with Z up. Commands, scripts and saved designs keep XY, XZ and YZ.",
|
||||
"prefs.overall_speed": "Overall speed",
|
||||
"prefs.persistent_ribbon_pressed": "Highlight active ribbon commands",
|
||||
"prefs.persistent_ribbon_pressed_help": "Highlight ribbon commands while their effects are on. Turn off to keep the previous neutral appearance and command help.",
|
||||
"prefs.perspective_fov": "Field of view",
|
||||
"prefs.placement": "Placement",
|
||||
"prefs.prefer_free_sketch_points": "Prefer movable sketch points when points overlap",
|
||||
"prefs.preview_choices": "Preview of your choices",
|
||||
"prefs.profile_active": "Active profile",
|
||||
"prefs.profile_applied": "Profile applied.",
|
||||
"prefs.profile_changed": "Settings changed since the profile was saved. Save keeps them in it.",
|
||||
"prefs.profile_deleted": "Profile deleted.",
|
||||
"prefs.profile_export": "Export…",
|
||||
"prefs.profile_exported": "Profile exported.",
|
||||
"prefs.profile_imported": "Profile imported. Choose it under Active profile to switch to it.",
|
||||
"prefs.profile_name_hint": "Profile name, e.g. Laptop",
|
||||
"prefs.profile_rename": "Rename",
|
||||
"prefs.profile_renamed": "Profile renamed.",
|
||||
"prefs.profile_save": "Save",
|
||||
"prefs.profile_saved": "Current settings saved to the profile.",
|
||||
"prefs.profile_skipped": "Profile applied; {n} setting(s) kept their current value (see the log).",
|
||||
"prefs.profiles": "Settings profiles",
|
||||
"prefs.profiles_note": "Shortcuts, the toolbar, navigation, the radial menu and interface settings, kept together under a name and switched at once.",
|
||||
"prefs.project_options_dialog": "Project options dialog",
|
||||
"prefs.project_options_dialog_note": "On: choose Geometry or Bodies and Projection Link before projecting. Off: keep the previous direct-pick workflow.",
|
||||
"prefs.quality_default": "default",
|
||||
@@ -1918,6 +1977,8 @@
|
||||
"prefs.render_previous_geometry_budget": "Use previous Render preview geometry budget",
|
||||
"prefs.render_previous_geometry_budget_help": "Restore the previous fixed geometry limit (512 MiB on 64-bit desktop, 128 MiB elsewhere) instead of the device-based budget.",
|
||||
"prefs.reports_saved": "{n} saved",
|
||||
"prefs.ribbon_reveal": "Show search results in the ribbon",
|
||||
"prefs.ribbon_reveal_note": "Hovering a result in Search commands shows where the command sits in the ribbon: its tab, its button or its row in a panel's drop-down. A command started from the search blinks there, and a running command from a drop-down marks its panel.",
|
||||
"prefs.right_click": "Right click",
|
||||
"prefs.saving": "Autosave and recovery",
|
||||
"prefs.scale_note": "Also Ctrl + / Ctrl − in the window. Buttons are 28 px at 100%.",
|
||||
@@ -1931,13 +1992,22 @@
|
||||
"prefs.shift_add_ctrl_toggle": "Shift adds only; Ctrl / Cmd toggles",
|
||||
"prefs.shift_add_note": "On: Shift adds, Ctrl / Cmd toggles. Off (default): both toggle.",
|
||||
"prefs.shortcuts": "Shortcuts",
|
||||
"prefs.single_surface_analysis": "Use a single surface analysis",
|
||||
"prefs.single_surface_analysis_help": "When off, surface shading and Continuity can stay on together. Turning this on keeps the last analysis started or changed.",
|
||||
"prefs.sketch_align_points": "Line up with other sketch points while drawing",
|
||||
"prefs.sketch_align_points_note": "While drawing, a point lines up horizontally with one sketch point and vertically with another at the same time, with a dotted guide, and the click keeps both alignments. Off: only with the previous point, one axis at a time.",
|
||||
"prefs.sketch_conflict_colour": "Conflicting geometry in the conflict color",
|
||||
"prefs.sketch_conflict_colour_note": "While a sketch's constraints conflict, the curves and points a failing constraint holds are drawn in the conflict color too, not only its glyph or dimension. Off: they keep their usual colors.",
|
||||
"prefs.sketch_construction_lines": "Extended construction line tools",
|
||||
"prefs.sketch_exit_view": "When a sketch ends",
|
||||
"prefs.sketch_exit_view.keep": "Keep the current view",
|
||||
"prefs.sketch_exit_view.previous": "Return to the previous view",
|
||||
"prefs.sketch_exit_view.unless_rotated": "Return unless rotated",
|
||||
"prefs.sketch_exit_view_note": "Where the view goes after Finish Sketch, Cancel or a double Esc.",
|
||||
"prefs.sketch_open_look_at": "Turn to face a sketch when it opens",
|
||||
"prefs.sketch_open_look_at_note": "Off: creating or editing a sketch leaves the view as it is. Look At faces the sketch when you want it.",
|
||||
"prefs.sketch_recent_snap": "Auto snap to recent centers and midpoints",
|
||||
"prefs.sketch_recent_snap_note": "While drawing, snap the cursor where the guides of the two most recent circle centers or straight-edge midpoints cross. Off: those guides stay visual and the cursor does not move.",
|
||||
"prefs.sketch_selection": "Sketch & selection",
|
||||
"prefs.sketch_selection_heading": "Sketch and selection",
|
||||
"prefs.sketch_selection_note": "How sketches snap and how clicks select.",
|
||||
@@ -1988,7 +2058,7 @@
|
||||
"prefs.trackpad_zoom_modifier.alt": "⌥ / Alt",
|
||||
"prefs.trackpad_zoom_modifier.cmd": "⌘",
|
||||
"prefs.trackpad_zoom_modifier.ctrl": "Ctrl",
|
||||
"prefs.trackpad_zoom_modifier.help": "Hold only this key to zoom at the pointer with vertical scroll. Off keeps the existing scroll behaviour.",
|
||||
"prefs.trackpad_zoom_modifier.help": "Hold only this key to zoom at the pointer with vertical scroll. Off keeps the existing scroll behavior.",
|
||||
"prefs.trackpad_zoom_modifier.off": "Off",
|
||||
"prefs.translucent": "Translucent",
|
||||
"prefs.under_browser": "Under browser",
|
||||
@@ -2005,10 +2075,16 @@
|
||||
"prefs.wheel": "Wheel",
|
||||
"prefs.wheel_trackpad": "Wheel and trackpad",
|
||||
"prefs.workspace": "Workspace",
|
||||
"prefs.zoom_stop_at_model": "Stop zoom at the model",
|
||||
"prefs.zoom_stop_at_model_tip": "The 3D mouse and device app zoom toward the surface in the middle of the view; drag-zoom holds the point where the drag began. Off: zoom can pass through the model. Wheel and pinch use Zoom to the cursor separately",
|
||||
"prefs.zoom_toward_cursor": "Zoom, toward the cursor",
|
||||
"properties.title": "Properties: {name}",
|
||||
"recovery.days_ago": "{count} days ago",
|
||||
"recovery.detail": "{file} · {features} features · autosaved {when}",
|
||||
"recovery.discard_all": "Discard all",
|
||||
"recovery.discard_all_detail": "This cannot be undone.",
|
||||
"recovery.discard_all_title": "Discard {count} autosaves?",
|
||||
"recovery.discard_all_title_one": "Discard 1 autosave?",
|
||||
"recovery.hours_ago": "{count} h ago",
|
||||
"recovery.just_now": "just now",
|
||||
"recovery.min_ago": "{count} min ago",
|
||||
@@ -2031,13 +2107,13 @@
|
||||
"render.aging_class_any": "All opaque material classes",
|
||||
"render.aging_class_dielectric": "Nonmetallic surfaces only",
|
||||
"render.aging_class_metal": "Metallic surfaces only",
|
||||
"render.aging_color": "Layer colour · sRGB",
|
||||
"render.aging_color": "Layer color · sRGB",
|
||||
"render.aging_coverage": "Coverage",
|
||||
"render.aging_dust": "Deposited dust",
|
||||
"render.aging_empty": "No aging layers: the original surfaces remain unchanged.",
|
||||
"render.aging_fading": "Faded coating",
|
||||
"render.aging_grime": "Grime & staining",
|
||||
"render.aging_help": "Combine up to eight optical layers, in order. Rust and patina are authored appearances, not age/corrosion simulations. Scale is in world millimetres. No geometry, mass or engineering property is changed; glass and passive stages are excluded.",
|
||||
"render.aging_help": "Combine up to eight optical layers, in order. Rust and patina are authored appearances, not age/corrosion simulations. Scale is in world millimeters. No geometry, mass or engineering property is changed; glass and passive stages are excluded.",
|
||||
"render.aging_metallic": "Layer metallic fraction",
|
||||
"render.aging_origin": "Field origin · world mm",
|
||||
"render.aging_patina": "Copper-green patina",
|
||||
@@ -2053,7 +2129,7 @@
|
||||
"render.all_controls_help": "Dense inspection of all current controls. Section pages provide focused editing without changing the underlying request.",
|
||||
"render.all_shots_label": "All Shots",
|
||||
"render.appearance_editor.absorption": "Absorption",
|
||||
"render.appearance_editor.base_colour": "Base colour",
|
||||
"render.appearance_editor.base_colour": "Base color",
|
||||
"render.appearance_editor.body_reason": "Optical bindings target one whole body. Pick Body to edit these controls.",
|
||||
"render.appearance_editor.boundary": "Boundary",
|
||||
"render.appearance_editor.box": "Box",
|
||||
@@ -2117,7 +2193,7 @@
|
||||
"render.background_not_light": "Background color is presentation, not an additional lighting source.",
|
||||
"render.background_regrade": "Apply to retained raw master",
|
||||
"render.background_stage_occlusion": "This shot includes physical stage geometry. A large floor or wall can fill the frame and hide a camera-only background. Clear or resize the stage deliberately, or change its physical reflectance. Regrading cannot remove captured geometry.",
|
||||
"render.background_workflow": "Choose the background you intend: a camera-only colour/gradient, a physical stage that receives light, or HDR illumination. They are independent. Live Preview is a modelling view; render a new image or regrade a retained master to see camera finishing.",
|
||||
"render.background_workflow": "Choose the background you intend: a camera-only color/gradient, a physical stage that receives light, or HDR illumination. They are independent. Live Preview is a modeling view; render a new image or regrade a retained master to see camera finishing.",
|
||||
"render.base_appearance": "Editable body appearance",
|
||||
"render.base_apply": "Apply body appearance",
|
||||
"render.base_apply_help": "One undoable visual assignment to the reviewed exact body. Existing face-specific looks and engineering materials remain separate.",
|
||||
@@ -2238,7 +2314,7 @@
|
||||
"render.cpu_aa_help": "Spatial samples: more samples improve edges and increase render time.",
|
||||
"render.cpu_area_add": "Add rectangular CPU light",
|
||||
"render.cpu_area_editor": "CPU rectangular lights",
|
||||
"render.cpu_area_editor_help": "Full side vectors in millimeters; U cross V points towards the emitting side. This differs from GPU half-edge vectors.",
|
||||
"render.cpu_area_editor_help": "Full side vectors in millimeters; U cross V points toward the emitting side. This differs from GPU half-edge vectors.",
|
||||
"render.cpu_area_full_u": "Full U side · mm",
|
||||
"render.cpu_area_full_v": "Full V side · mm",
|
||||
"render.cpu_area_samples": "Area-light samples",
|
||||
@@ -2327,7 +2403,7 @@
|
||||
"render.draft_confirm_help": "The current render draft has unapplied edits. Save them before switching, discard them explicitly, or keep editing.",
|
||||
"render.draft_confirm_title": "Preserve edited render settings",
|
||||
"render.effects_gpu_only": "These effects require GPU path tracing. Changing the page never switches the renderer automatically.",
|
||||
"render.effects_help": "Combine ordered colour looks and image-space lens effects. Rendering and raw-master regrading use the same saved settings. Raw EXR stays unchanged. These are original artistic controls, not calibrated lens or branded-film emulations.",
|
||||
"render.effects_help": "Combine ordered color looks and image-space lens effects. Rendering and raw-master regrading use the same saved settings. Raw EXR stays unchanged. These are original artistic controls, not calibrated lens or branded-film emulations.",
|
||||
"render.effects_reset_lens": "Reset lens effects",
|
||||
"render.effects_seed": "Pattern seed",
|
||||
"render.emitted_axis": "Emitted axis",
|
||||
@@ -2338,7 +2414,7 @@
|
||||
"render.env_change": "Change",
|
||||
"render.env_choose_source": "Choose an environment in Studios and Environments before editing the lighting.",
|
||||
"render.env_clear": "Clear",
|
||||
"render.env_colour": "Colour",
|
||||
"render.env_colour": "Color",
|
||||
"render.env_environments": "Environments",
|
||||
"render.env_ground": "Ground",
|
||||
"render.env_ground_pending": "Physical ground receives shadows as a finite diffuse surface. Shadow-only catching and ground reflections are not supported yet.",
|
||||
@@ -2393,7 +2469,7 @@
|
||||
"render.environment.primaries": "Treat unspecified primaries as linear sRGB",
|
||||
"render.environment.primaries_gpu": "Interpreting unspecified primaries needs GPU path tracing.",
|
||||
"render.environment.radial": "Radial",
|
||||
"render.environment.radial_only": "Centre and radius apply to Radial mode.",
|
||||
"render.environment.radial_only": "Center and radius apply to Radial mode.",
|
||||
"render.environment.reflectance": "Reflectance",
|
||||
"render.environment.remove": "Remove stage",
|
||||
"render.environment.remove_confirm": "Remove the saved stage?",
|
||||
@@ -2425,8 +2501,8 @@
|
||||
"render.error_duplicate_face": "duplicate product face appearance",
|
||||
"render.error_export_document": "The render export document changed while choosing its destination",
|
||||
"render.error_face_cap": "product preview exceeds the face-appearance admission cap",
|
||||
"render.error_finish_gesture": "finish the modelling gesture before previewing",
|
||||
"render.error_finish_operation": "finish the current modelling operation before entering Render",
|
||||
"render.error_finish_gesture": "finish the modeling gesture before previewing",
|
||||
"render.error_finish_operation": "finish the current modeling operation before entering Render",
|
||||
"render.error_fixed_preview": "fixed studio preview requires exposure 0, environment rotation 0 and intensity 1",
|
||||
"render.error_geometry_size": "product geometry size overflow",
|
||||
"render.error_glass_recipe": "unknown glass recipe",
|
||||
@@ -2484,7 +2560,7 @@
|
||||
"render.flare_threshold": "Scene-linear flare threshold",
|
||||
"render.fold_browser": "Fold Browser",
|
||||
"render.frame_aspect": "Aspect",
|
||||
"render.frame_centre_mark": "Centre mark",
|
||||
"render.frame_centre_mark": "Center mark",
|
||||
"render.frame_copy_limit": "No available duplicate shot name",
|
||||
"render.frame_copy_name": "{name} copy {number}",
|
||||
"render.frame_custom": "Custom",
|
||||
@@ -2539,8 +2615,8 @@
|
||||
"render.hide_shots_label": "Hide Shots strip",
|
||||
"render.hover_look": "{object} · {look} · click to select",
|
||||
"render.image_advanced": "Advanced GPU controls",
|
||||
"render.image_cancelled": "Render cancelled",
|
||||
"render.image_cancelling": "Cancelling",
|
||||
"render.image_cancelled": "Render canceled",
|
||||
"render.image_cancelling": "Canceling",
|
||||
"render.image_completed": "Image ready to export",
|
||||
"render.image_encoding": "Encoding PNG",
|
||||
"render.image_export": "Export completed image",
|
||||
@@ -2557,7 +2633,7 @@
|
||||
"render.image_reduce": "Try a smaller image or simpler scene.",
|
||||
"render.image_running": "Rendering image",
|
||||
"render.image_samples": "Samples per pixel",
|
||||
"render.image_scene_stale": "Finish the modelling gesture or refresh the scene before checking or starting an image.",
|
||||
"render.image_scene_stale": "Finish the modeling gesture or refresh the scene before checking or starting an image.",
|
||||
"render.image_stale": "This image uses the scene captured before subsequent changes.",
|
||||
"render.image_start": "Start Render",
|
||||
"render.image_supported": "Render request is supported; the queue and memory pool are checked again at start.",
|
||||
@@ -2576,7 +2652,7 @@
|
||||
"render.inspector_applies_to": "Applies to",
|
||||
"render.inspector_both_users": "Both users",
|
||||
"render.inspector_chain": "Where this look comes from",
|
||||
"render.inspector_colour": "Colour",
|
||||
"render.inspector_colour": "Color",
|
||||
"render.inspector_edit": "Edit",
|
||||
"render.inspector_finish": "Finish",
|
||||
"render.inspector_from_material": "From Material",
|
||||
@@ -2688,7 +2764,7 @@
|
||||
"render.light_anchor_pending": "Changing the light coordinate frame is not supported yet.",
|
||||
"render.light_azimuth": "Azimuth",
|
||||
"render.light_backend_limit": "Choose CPU ray tracing or an explicit GPU studio to edit lights. Legacy GPU studio lights remain read-only.",
|
||||
"render.light_behaviour": "BEHAVIOUR",
|
||||
"render.light_behaviour": "BEHAVIOR",
|
||||
"render.light_default_fill": "Fill",
|
||||
"render.light_default_key": "Key",
|
||||
"render.light_default_number": "Light {number}",
|
||||
@@ -2704,11 +2780,11 @@
|
||||
"render.light_place_highlight": "Place by highlight",
|
||||
"render.light_place_pending": "Highlight placement needs viewport light picking and is not supported yet.",
|
||||
"render.light_position": "POSITION",
|
||||
"render.light_preview_help": "Live view is unshadowed; Area lights use a centre-sample approximation. Render uses the complete light model.",
|
||||
"render.light_product_centre": "Product centre",
|
||||
"render.light_preview_help": "Live view is unshadowed; Area lights use a center-sample approximation. Render uses the complete light model.",
|
||||
"render.light_product_centre": "Product center",
|
||||
"render.light_size": "Size",
|
||||
"render.light_softness": "Softness",
|
||||
"render.light_temperature": "Colour temperature",
|
||||
"render.light_temperature": "Color temperature",
|
||||
"render.light_temperature_help": "Approximate blackbody tint; saved as linear RGB.",
|
||||
"render.light_type": "Type",
|
||||
"render.light_type_area": "Area",
|
||||
@@ -2722,7 +2798,7 @@
|
||||
"render.lighting_area_samples": "Area samples",
|
||||
"render.lighting_budget": "Budget",
|
||||
"render.lighting_budget_help": "Counts are read-only. Add, duplicate or delete lights to change them; the method sets the limits.",
|
||||
"render.lighting_colour": "Colour",
|
||||
"render.lighting_colour": "Color",
|
||||
"render.lighting_consent": "Replace the directional lights with this preset",
|
||||
"render.lighting_custom": "Custom lights",
|
||||
"render.lighting_custom_help": "Choosing Custom turns the preset into editable lights, one row each in the tree.",
|
||||
@@ -2764,7 +2840,7 @@
|
||||
"render.linear_help": "Keeps a 32-bit float RGBA master before denoising, exposure, tone mapping, filters and backdrop. Linear sRGB/D65; coverage-premultiplied. Additional memory is admitted explicitly. No compression or extra passes.",
|
||||
"render.linear_retain": "Retain raw linear EXR",
|
||||
"render.linear_unavailable": "The selected completed frame has no retained EXR. Enable retention before rendering; an older PNG cannot recover raw radiance.",
|
||||
"render.look_add": "Add colour look",
|
||||
"render.look_add": "Add color look",
|
||||
"render.look_applied": "Applied {name}",
|
||||
"render.look_bleach": "Bleach-bypass-inspired",
|
||||
"render.look_cool": "Cool",
|
||||
@@ -3004,7 +3080,7 @@
|
||||
"render.ribbon_saved_camera": "Saved Camera",
|
||||
"render.ribbon_shots": "Shots",
|
||||
"render.ribbon_studios": "Studios",
|
||||
"render.ribbon_studios_help": "Browse implemented studio compositions and review their replacements before applying. Concept-only scenes remain labelled.",
|
||||
"render.ribbon_studios_help": "Browse implemented studio compositions and review their replacements before applying. Concept-only scenes remain labeled.",
|
||||
"render.ribbon_surface_maps": "Surface Maps",
|
||||
"render.sampling_title": "Adaptive and transmission sampling",
|
||||
"render.save_continue": "Save and continue",
|
||||
@@ -3115,7 +3191,7 @@
|
||||
"render.stage_panels.badge_specification": "spec only",
|
||||
"render.stage_panels.candidate_summary": "Candidates: {count} sourced values. Grade and finish need review.",
|
||||
"render.stage_panels.captured_bounds": "Use captured scene bounds",
|
||||
"render.stage_panels.centre": "Centre",
|
||||
"render.stage_panels.centre": "Center",
|
||||
"render.stage_panels.depth": "depth",
|
||||
"render.stage_panels.environments": "Environments",
|
||||
"render.stage_panels.extent": "Extent",
|
||||
@@ -3170,7 +3246,7 @@
|
||||
"render.stage_panels.scope": "Scope",
|
||||
"render.stage_panels.search_studios": "Search studios",
|
||||
"render.stage_panels.search_surfaces": "Search surfaces and references",
|
||||
"render.stage_panels.source_note": "Authored base-colour source map. Not a measured material.",
|
||||
"render.stage_panels.source_note": "Authored base-color source map. Not a measured material.",
|
||||
"render.stage_panels.specifications": "Specifications · read-only",
|
||||
"render.stage_panels.studio_ack": "Confirm replacing lighting, environment, exposure and stage",
|
||||
"render.stage_panels.studio_note": "Click to review. Applying replaces lighting, environment and stage only after you confirm. Lights stay editable.",
|
||||
@@ -3200,7 +3276,7 @@
|
||||
"render.studio_ambient_rgb": "Constant environment radiance (linear RGB)",
|
||||
"render.studio_aperture": "Aperture radius",
|
||||
"render.studio_area": "Area light",
|
||||
"render.studio_area_help": "Up to four one-sided rectangles. Orthogonal half-edges U and V define size; U × V faces the lit side. Coordinates are world-space millimetres.",
|
||||
"render.studio_area_help": "Up to four one-sided rectangles. Orthogonal half-edges U and V define size; U × V faces the lit side. Coordinates are world-space millimeters.",
|
||||
"render.studio_center": "Center X, Y, Z (mm)",
|
||||
"render.studio_denoise": "Reduce noise in the finished image",
|
||||
"render.studio_denoise_help": "Final edge-aware filter; fine detail can soften. Glass and sharp specular surfaces bypass the filter.",
|
||||
@@ -3355,6 +3431,7 @@
|
||||
"settings.double_click_components": "Double-click a component to activate it, or to edit a linked one in place",
|
||||
"settings.frame_rate_details_note": "Adds a graph of the last frames' times with the triangles drawn over it, a histogram of frame times and what the GPU drew. Click the frame rate in the view to show or hide them.",
|
||||
"settings.frame_rate_note": "Shows frames per second in the view's bottom-right corner.",
|
||||
"settings.insert_lists_open_designs": "Insert Design lists the designs open in other tabs first",
|
||||
"settings.measure_axis_distances": "Show X/Y/Z distances",
|
||||
"settings.measure_axis_distances_help": "Show world-axis component dimensions alongside the total distance while Measure is open.",
|
||||
"settings.msaa_applies_on_restart": "Anti-aliasing applies the next time SolidCraft starts",
|
||||
@@ -3379,6 +3456,10 @@
|
||||
"shortcut.unpin": "Unpin",
|
||||
"sketch is missing": "sketch is missing",
|
||||
"sketch.degrees_of_freedom": "{count} degrees of freedom",
|
||||
"sketch.dimension_added_driven": "The sketch already determines that dimension, so it was added as a driven (reference) dimension",
|
||||
"sketch.dimension_applied": "Dimension applied",
|
||||
"sketch.dimension_applied_defined": "Dimension applied; parameter `{name}` defined",
|
||||
"sketch.dimension_applied_renamed": "Dimension applied; parameter named `{name}`",
|
||||
"sketch.dof_left": "{count} degrees of freedom left",
|
||||
"sketch.dof_left_one": "{count} degree of freedom left",
|
||||
"sketch.draw_curves": "Draw as {linetype}",
|
||||
@@ -3448,8 +3529,10 @@
|
||||
"timeline.delete_folders_tip": "Keep their features and nested folders in the history",
|
||||
"timeline.delete_folders_with_features_tip": "Delete the folders with every feature in them and their nested folders",
|
||||
"timeline.delete_many": "Delete {count} Selected Features",
|
||||
"timeline.edited_rolled_back": "{name} changed, but it is after the history marker, so it is not built: move the marker past it to see the result",
|
||||
"timeline.feature_error": "Error: {message}",
|
||||
"timeline.feature_hint": "Double-click to edit · drag to reorder · right-click for more",
|
||||
"timeline.feature_rolled_back": "Rolled back: after the history marker, so not built",
|
||||
"timeline.feature_warning": "Warning: {message}",
|
||||
"timeline.group": "New Feature Folder",
|
||||
"timeline.move_many": "Move Timeline Items",
|
||||
@@ -3531,6 +3614,10 @@
|
||||
"ui.3d_mouse_offer": "Calibrating your 3D mouse fixes swapped or reversed axes and sets its speed and feel.",
|
||||
"ui.3d_mouse_offer_never": "Never show again",
|
||||
"ui.3d_mouse_offer_swap": "Swap to Hidraw (Direct Driver)",
|
||||
"ui.3d_mouse_orbit": "Orbit",
|
||||
"ui.3d_mouse_orbit_classic": "Classic",
|
||||
"ui.3d_mouse_orbit_tip": "Traced: the 3D mouse turns the view around the part of the model in the middle of the view when the turn begins, marked by a faint ball. Classic: around the view's center",
|
||||
"ui.3d_mouse_orbit_traced": "Traced",
|
||||
"ui.3d_mouse_reading": "Reading",
|
||||
"ui.3d_mouse_reset_axes": "Reset axis assignment",
|
||||
"ui.3d_mouse_reset_view": "Reset view",
|
||||
@@ -3657,7 +3744,7 @@
|
||||
"ui.agent_chat_left": "Left",
|
||||
"ui.agent_chat_limit": "The agent reached the limit of {limit} changes for one message. Send another message to let it go on.",
|
||||
"ui.agent_chat_login_found": "login found",
|
||||
"ui.agent_chat_minimize": "Minimise to a strip",
|
||||
"ui.agent_chat_minimize": "Minimize to a strip",
|
||||
"ui.agent_chat_mode_all": "All",
|
||||
"ui.agent_chat_mode_ask": "Ask",
|
||||
"ui.agent_chat_mode_edits": "Edits",
|
||||
@@ -3774,7 +3861,7 @@
|
||||
"ui.ai_mode_ask": "Ask every time",
|
||||
"ui.ai_mode_ask_note": "Every change to the design, and every file action, waits for your Allow.",
|
||||
"ui.ai_mode_edits": "Auto-allow model edits",
|
||||
"ui.ai_mode_edits_note": "Modelling commands run without asking; saving, opening, exporting and other file or destructive actions still ask.",
|
||||
"ui.ai_mode_edits_note": "Modeling commands run without asking; saving, opening, exporting and other file or destructive actions still ask.",
|
||||
"ui.ai_mode_global": "As set above",
|
||||
"ui.ai_model": "Model",
|
||||
"ui.ai_model_hint": "qwen3:14b",
|
||||
@@ -3892,15 +3979,15 @@
|
||||
"ui.coincident": "Coincident",
|
||||
"ui.collapse": "Collapse",
|
||||
"ui.collinear": "Collinear",
|
||||
"ui.colour_vision": "Colour vision",
|
||||
"ui.colour_vision": "Color vision",
|
||||
"ui.colour_vision_deutan": "Deutan",
|
||||
"ui.colour_vision_deutan_tip": "For a weak or missing green sense",
|
||||
"ui.colour_vision_failed": "Failed",
|
||||
"ui.colour_vision_fixed": "Fixed",
|
||||
"ui.colour_vision_mode": "Mode",
|
||||
"ui.colour_vision_note": "Changes the colours that carry a meaning: sketch states, axes, bends, analyses and icons. If you use Windows colour filters, keep this Off.",
|
||||
"ui.colour_vision_note": "Changes the colors that carry a meaning: sketch states, axes, bends, analyses and icons. If you use Windows color filters, keep this Off.",
|
||||
"ui.colour_vision_off": "Off",
|
||||
"ui.colour_vision_off_tip": "The theme's own colours",
|
||||
"ui.colour_vision_off_tip": "The theme's own colors",
|
||||
"ui.colour_vision_projected": "Projected",
|
||||
"ui.colour_vision_protan": "Protan",
|
||||
"ui.colour_vision_protan_tip": "For a weak or missing red sense",
|
||||
@@ -3917,6 +4004,15 @@
|
||||
"ui.constant": "Constant",
|
||||
"ui.constraints_conflict": "Constraints conflict",
|
||||
"ui.construction": "Construction",
|
||||
"ui.construction.angle_hint": "Construction line: click a point, then type an angle or pick a direction",
|
||||
"ui.construction.bisector_hint": "Bisector: pick two intersecting straight lines, then the desired solution",
|
||||
"ui.construction.common_hint": "Common tangent: pick two circles/arcs, then the desired solution",
|
||||
"ui.construction.contact_hint": "Tangent: pick a circle/arc or open spline/conic, then the contact point (free-form curves: endpoints)",
|
||||
"ui.construction.external_hint": "Tangent: pick a circle or arc, an external point, then the desired solution",
|
||||
"ui.construction.free_hint": "Construction line: click two points; right-click to restart",
|
||||
"ui.construction.point_hint": "Construction line: click the point to pass through",
|
||||
"ui.construction.reference_hint": "Construction line: pick a straight line, then a point; right-click to change the reference",
|
||||
"ui.construction.ribbon_label": "X-Lines",
|
||||
"ui.context_menu": "Context menu",
|
||||
"ui.continuity_g0": "G0 crease",
|
||||
"ui.continuity_g1": "G1 tangent",
|
||||
@@ -3942,7 +4038,7 @@
|
||||
"ui.cut": "Cut",
|
||||
"ui.cylinder": "Cylinder",
|
||||
"ui.dark": "Dark",
|
||||
"ui.default_modelling_orientation": "Default modelling orientation",
|
||||
"ui.default_modelling_orientation": "Default modeling orientation",
|
||||
"ui.delete": "Delete",
|
||||
"ui.depth": "Depth",
|
||||
"ui.design": "Design",
|
||||
@@ -4008,11 +4104,19 @@
|
||||
"ui.end_scale": "End Scale",
|
||||
"ui.entities": "Entities",
|
||||
"ui.equal": "Equal",
|
||||
"ui.equation_end": "End",
|
||||
"ui.equation_explicit": "Explicit",
|
||||
"ui.equation_form": "Form",
|
||||
"ui.equation_note": "The variable is a plain number: sin(t) takes it in radians. A result without a unit is in the design's unit.",
|
||||
"ui.equation_parametric": "Parametric",
|
||||
"ui.equation_x_of_t": "x(t)",
|
||||
"ui.equation_y_of_t": "y(t)",
|
||||
"ui.equation_y_of_x": "y(x)",
|
||||
"ui.equivalent_radius": "Equivalent Radius",
|
||||
"ui.expand": "Expand",
|
||||
"ui.exportDxf": "Export DXF…",
|
||||
"ui.export_ellipsis_keymap": "Export…",
|
||||
"ui.export_keymap_tip": "Keys, S box favourites and the toolbar, as a file",
|
||||
"ui.export_keymap_tip": "Keys, S box favorites and the toolbar, as a file",
|
||||
"ui.extend": "Extend",
|
||||
"ui.extent_type": "Extent Type",
|
||||
"ui.extract_component": "Extract to File…",
|
||||
@@ -4073,6 +4177,7 @@
|
||||
"ui.heading_design": "DESIGN",
|
||||
"ui.heading_draft": "DRAFT",
|
||||
"ui.heading_edit": "EDIT",
|
||||
"ui.heading_equation_curve": "EQUATION CURVE",
|
||||
"ui.heading_extrude": "EXTRUDE",
|
||||
"ui.heading_fillet": "FILLET",
|
||||
"ui.heading_finish_editing": "FINISH EDITING",
|
||||
@@ -4164,6 +4269,10 @@
|
||||
"ui.import_ellipsis": "Import…",
|
||||
"ui.infinite": "Infinite",
|
||||
"ui.insert": "Insert",
|
||||
"ui.insert_design.browse": "Browse…",
|
||||
"ui.insert_design.open_designs": "Open designs",
|
||||
"ui.insert_design.saved_file": "{name} has unsaved changes, so its saved file was inserted. Save it, then Update Links to bring the changes in.",
|
||||
"ui.insert_design.unsaved": "Unsaved changes",
|
||||
"ui.inspect": "Inspect",
|
||||
"ui.intersect": "Intersect",
|
||||
"ui.isolate": "Isolate",
|
||||
@@ -4192,7 +4301,7 @@
|
||||
"ui.manipulator_free_alt_tip": "On: Alt/Option or Ctrl/Cmd on extrude / gizmo arrows disables value snapping. Off: Ctrl/Cmd only.",
|
||||
"ui.manufacture": "Manufacture",
|
||||
"ui.material_review.axes": "Material-local axes; no body orientation is assigned.",
|
||||
"ui.material_review.claims": "Sources and licences are unverified claims. Missing values remain unknown.",
|
||||
"ui.material_review.claims": "Sources and licenses are unverified claims. Missing values remain unknown.",
|
||||
"ui.material_review.compressive_strength": "Compressive strength",
|
||||
"ui.material_review.conditions": "Stated conditions",
|
||||
"ui.material_review.density": "Density",
|
||||
@@ -4387,6 +4496,7 @@
|
||||
"ui.select": "Select",
|
||||
"ui.selectOther": "Select Other…",
|
||||
"ui.selectTangentChain": "Select Tangent Chain",
|
||||
"ui.select_all": "Select All",
|
||||
"ui.selection": "Selection",
|
||||
"ui.selection_modifiers": "Selection modifiers",
|
||||
"ui.selection_shift_add_only": "Shift+click adds without removing",
|
||||
@@ -4529,7 +4639,7 @@
|
||||
"ui.view_angles_readout": "Pitch {pitch} · Yaw {yaw} · Roll {roll}",
|
||||
"ui.view_angles_roll": "Roll",
|
||||
"ui.view_angles_yaw": "Yaw",
|
||||
"ui.view_centre": "View centre",
|
||||
"ui.view_centre": "View center",
|
||||
"ui.viewport_status_clear": "Turn off {name}",
|
||||
"ui.viewport_status_clear_hint": "Turn off {name} · Esc",
|
||||
"ui.viewport_status_key": "Show key for {name}",
|
||||
@@ -4566,7 +4676,7 @@
|
||||
"ui.y_up": "Y up",
|
||||
"ui.z_up": "Z up",
|
||||
"ui.zoom": "Zoom",
|
||||
"ui.zoom_to_cursor_tip": "The wheel zooms toward the point under the cursor (off: toward the view's centre)",
|
||||
"ui.zoom_to_cursor_tip": "The wheel zooms toward the point under the cursor (off: toward the view's center)",
|
||||
"ui.zoom_to_the_cursor": "Zoom to the cursor",
|
||||
"update.available": "SolidCraft {version} is available",
|
||||
"update.button": "Update",
|
||||
|
||||
@@ -1048,6 +1048,16 @@
|
||||
"cmd.sheet_refold": "Volver a plegar",
|
||||
"cmd.sheet_rules": "Listar reglas de chapa",
|
||||
"cmd.sheet_unfold": "Desplegar",
|
||||
"cmd.sketch.construction_line": "Recta de construcción",
|
||||
"cmd.sketch.construction_line.angle": "Recta de construcción con ángulo",
|
||||
"cmd.sketch.construction_line.bisector": "Bisectriz",
|
||||
"cmd.sketch.construction_line.horizontal": "Recta de construcción horizontal",
|
||||
"cmd.sketch.construction_line.parallel": "Recta de construcción paralela",
|
||||
"cmd.sketch.construction_line.perpendicular": "Recta de construcción perpendicular",
|
||||
"cmd.sketch.construction_line.tangent_at": "Tangente en un punto de la curva",
|
||||
"cmd.sketch.construction_line.tangent_external": "Tangente por un punto exterior",
|
||||
"cmd.sketch.construction_line.tangent_two": "Tangente común",
|
||||
"cmd.sketch.construction_line.vertical": "Recta de construcción vertical",
|
||||
"cmd.sketch_arc3d": "Arco 3D",
|
||||
"cmd.sketch_arc_center_point": "Arco de centro y punto",
|
||||
"cmd.sketch_arc_tangent": "Arco tangente",
|
||||
@@ -3028,6 +3038,7 @@
|
||||
"ui.constant": "Constante",
|
||||
"ui.constraints_conflict": "Conflicto entre restricciones",
|
||||
"ui.construction": "Construcción",
|
||||
"ui.construction.ribbon_label": "Líneas aux.",
|
||||
"ui.context_menu": "Menú contextual",
|
||||
"ui.continuity_g0": "G0 arista",
|
||||
"ui.continuity_g1": "G1 tangencia",
|
||||
@@ -3449,6 +3460,7 @@
|
||||
"ui.select": "Seleccionar",
|
||||
"ui.selectOther": "Seleccionar otro…",
|
||||
"ui.selectTangentChain": "Seleccionar cadena tangente",
|
||||
"ui.select_all": "Seleccionar todo",
|
||||
"ui.selection": "Selección",
|
||||
"ui.selection_modifiers": "Modificadores de selección",
|
||||
"ui.selection_shift_add_only": "Mayús+clic añade sin quitar",
|
||||
|
||||
@@ -204,6 +204,7 @@
|
||||
"Edges": "Arêtes",
|
||||
"Edit": "Modifier",
|
||||
"Edit Profile Sketch": "Modifier l'esquisse du profil",
|
||||
"Edit shortcuts": "Modifier les raccourcis",
|
||||
"Enable rule": "Activer la règle",
|
||||
"Enabled": "Activé",
|
||||
"End Radius": "Rayon final",
|
||||
@@ -466,6 +467,7 @@
|
||||
"Radius": "Rayon",
|
||||
"Radius Fit": "Ajustement du rayon",
|
||||
"Ratio": "Rapport",
|
||||
"Read-only list: shortcuts can't be changed here.": "Liste en lecture seule : les raccourcis ne peuvent pas être modifiés ici.",
|
||||
"Reattach selected face": "Rattacher la face sélectionnée",
|
||||
"Recover": "Récupérer",
|
||||
"Recover unsaved design?": "Récupérer la conception non enregistrée ?",
|
||||
@@ -649,6 +651,7 @@
|
||||
"Third point": "Troisième point",
|
||||
"This child is shared. Deleting it removes it from every copy of its parent.": "Cet enfant est partagé. Le supprimer le retire de toutes les copies de son parent.",
|
||||
"This child is shared. Position changes apply to every copy of its parent.": "Cet enfant est partagé. Les changements de position s'appliquent à toutes les copies de son parent.",
|
||||
"This component is inside a subassembly placed more than once: aligning it moves it in every placement.": "Ce composant se trouve dans un sous-assemblage placé plusieurs fois : l'aligner le déplace dans chaque placement.",
|
||||
"This face cannot provide a durable attachment. Choose another face or explicitly use a fixed plane.": "Cette face ne peut pas fournir de rattachement durable. Choisissez une autre face ou utilisez explicitement un plan fixe.",
|
||||
"This image is not attached to GitHub yet. Copy or save it, then attach it on GitHub.": "Cette image n'est pas encore jointe sur GitHub. Copiez-la ou enregistrez-la, puis joignez-la sur GitHub.",
|
||||
"Thread depth": "Profondeur de filetage",
|
||||
@@ -790,6 +793,11 @@
|
||||
"cam.roller": "Galet",
|
||||
"cam.roller_pick": "Galet (facultatif)",
|
||||
"cam.tip_pick": "Pointe (facultatif)",
|
||||
"camera.shot_pitch": "Tangage",
|
||||
"camera.shot_roll": "Roulis",
|
||||
"camera.shot_yaw": "Lacet",
|
||||
"canvas.decal_place_hint": "Cliquez sur une face pour placer la décalcomanie",
|
||||
"canvas.place_hint": "Cliquez sur un plan ou une face pour placer le canevas",
|
||||
"choose a profile": "choisir un profilé",
|
||||
"choose the cam's and the follower's joints": "choisir les liaisons de la came et du suiveur",
|
||||
"choose the joints to couple": "choisir les liaisons à coupler",
|
||||
@@ -797,9 +805,12 @@
|
||||
"click sketch curves": "cliquer sur des courbes d'esquisse",
|
||||
"cmd.appearance_assign": "Apparence",
|
||||
"cmd.appearance_chain": "Chaîne d'apparences",
|
||||
"cmd.appearance_copy": "Copier l'aspect",
|
||||
"cmd.appearance_favorite": "Aspect favori",
|
||||
"cmd.appearance_library": "Bibliothèque d'apparences",
|
||||
"cmd.appearance_list": "Lister les apparences",
|
||||
"cmd.appearance_paint": "Peindre l'apparence",
|
||||
"cmd.appearance_paste": "Coller l'aspect",
|
||||
"cmd.appearance_pick_up": "Prélever l'apparence",
|
||||
"cmd.appearance_replace": "Remplacer l'apparence",
|
||||
"cmd.assembly_bom": "Nomenclature",
|
||||
@@ -810,6 +821,7 @@
|
||||
"cmd.browser_move": "Déplacer des éléments du navigateur",
|
||||
"cmd.browser_order": "Réordonner les éléments du navigateur",
|
||||
"cmd.browser_rename_group": "Renommer le groupe",
|
||||
"cmd.browser_reparent": "Déplacer vers le composant",
|
||||
"cmd.browser_ungroup": "Dissocier",
|
||||
"cmd.browser_visibility": "Afficher/Masquer",
|
||||
"cmd.canvas_calibrate": "Étalonner le canevas",
|
||||
@@ -836,7 +848,9 @@
|
||||
"cmd.component_metadata": "Propriétés de la pièce",
|
||||
"cmd.component_metadata_set": "Modifier les propriétés de la pièce",
|
||||
"cmd.component_move_bodies": "Déplacer les corps vers le composant",
|
||||
"cmd.component_move_features": "Déplacer les fonctions vers le composant",
|
||||
"cmd.component_move_sketches": "Déplacer les esquisses vers le composant",
|
||||
"cmd.component_paste_from_design": "Coller depuis une autre conception",
|
||||
"cmd.component_paste_new": "Coller comme nouveau",
|
||||
"cmd.component_properties": "Propriétés physiques du composant",
|
||||
"cmd.component_relink": "Relier à nouveau la source",
|
||||
@@ -973,6 +987,7 @@
|
||||
"cmd.motion_trace": "Trajectoire de mouvement",
|
||||
"cmd.motion_trace_edit": "Modifier la trajectoire de mouvement",
|
||||
"cmd.motion_trace_keep": "Conserver la trajectoire de mouvement",
|
||||
"cmd.occurrence_align": "Aligner l'occurrence",
|
||||
"cmd.occurrence_copy": "Coller (instance)",
|
||||
"cmd.occurrence_drag": "Faire glisser l'occurrence",
|
||||
"cmd.occurrence_ground": "Fixer",
|
||||
@@ -1030,11 +1045,17 @@
|
||||
"cmd.render_library_surface_unbind": "Supprimer l'association de surface",
|
||||
"cmd.render_library_targets": "Trouver les cibles de la bibliothèque de rendu",
|
||||
"cmd.render_lights_add": "Ajouter une lumière",
|
||||
"cmd.render_lights_duplicate": "Dupliquer la lumière de rendu",
|
||||
"cmd.render_lights_list": "Lister les lumières de rendu",
|
||||
"cmd.render_lights_mute": "Éteindre la lumière",
|
||||
"cmd.render_lights_remove": "Supprimer la lumière de rendu",
|
||||
"cmd.render_lights_set": "Définir la lumière de rendu",
|
||||
"cmd.render_lights_solo": "Lumière en solo",
|
||||
"cmd.render_optics_bind": "Enregistrer l'association optique",
|
||||
"cmd.render_optics_unbind": "Supprimer l'association optique",
|
||||
"cmd.render_output_size": "Définir la taille de sortie du rendu",
|
||||
"cmd.render_preflight": "Vérifier la demande de rendu",
|
||||
"cmd.render_preflight_copy": "Copier le rapport de vérification du rendu",
|
||||
"cmd.render_preset_apply": "Appliquer le studio natif",
|
||||
"cmd.render_preset_resolve": "Examiner le studio natif",
|
||||
"cmd.render_quality_prepare": "Examiner le budget d'échantillonnage fixe",
|
||||
@@ -1057,6 +1078,13 @@
|
||||
"cmd.render_start": "Rendu d'image",
|
||||
"cmd.render_status": "Progression du rendu",
|
||||
"cmd.select_clear": "Effacer la sélection",
|
||||
"cmd.settings_profile_apply": "Appliquer le profil de réglages",
|
||||
"cmd.settings_profile_delete": "Supprimer le profil de réglages",
|
||||
"cmd.settings_profile_export": "Exporter le profil de réglages",
|
||||
"cmd.settings_profile_import": "Importer un profil de réglages",
|
||||
"cmd.settings_profile_list": "Profils de réglages",
|
||||
"cmd.settings_profile_rename": "Renommer le profil de réglages",
|
||||
"cmd.settings_profile_save": "Enregistrer le profil de réglages",
|
||||
"cmd.sheet_convert": "Convertir en tôlerie",
|
||||
"cmd.sheet_export_bend_table": "Exporter la table des plis",
|
||||
"cmd.sheet_export_dxf": "Exporter la mise à plat en DXF",
|
||||
@@ -1070,6 +1098,16 @@
|
||||
"cmd.sheet_refold": "Replier",
|
||||
"cmd.sheet_rules": "Lister les règles de tôlerie",
|
||||
"cmd.sheet_unfold": "Déplier",
|
||||
"cmd.sketch.construction_line": "Droite de construction",
|
||||
"cmd.sketch.construction_line.angle": "Droite de construction inclinée",
|
||||
"cmd.sketch.construction_line.bisector": "Bissectrice",
|
||||
"cmd.sketch.construction_line.horizontal": "Droite de construction horizontale",
|
||||
"cmd.sketch.construction_line.parallel": "Droite de construction parallèle",
|
||||
"cmd.sketch.construction_line.perpendicular": "Droite de construction perpendiculaire",
|
||||
"cmd.sketch.construction_line.tangent_at": "Tangente en un point de la courbe",
|
||||
"cmd.sketch.construction_line.tangent_external": "Tangente passant par un point extérieur",
|
||||
"cmd.sketch.construction_line.tangent_two": "Tangente commune",
|
||||
"cmd.sketch.construction_line.vertical": "Droite de construction verticale",
|
||||
"cmd.sketch_arc3d": "Arc 3D",
|
||||
"cmd.sketch_arc_center_point": "Arc par centre",
|
||||
"cmd.sketch_arc_tangent": "Arc tangent",
|
||||
@@ -1102,6 +1140,8 @@
|
||||
"cmd.sketch_drawing_bounds": "Taille du dessin",
|
||||
"cmd.sketch_edit": "Modifier l'esquisse",
|
||||
"cmd.sketch_edit_text": "Modifier le texte",
|
||||
"cmd.sketch_equation_curve": "Courbe par équation",
|
||||
"cmd.sketch_equation_curve_edit": "Modifier la courbe par équation",
|
||||
"cmd.sketch_export_dxf": "Enregistrer en DXF",
|
||||
"cmd.sketch_finish_auto_constrain": "Terminer avec contraintes automatiques",
|
||||
"cmd.sketch_fit_curves_to_section": "Ajuster des courbes à la section du maillage",
|
||||
@@ -1198,6 +1238,7 @@
|
||||
"cmd.view.render_browser": "Navigateur de rendu",
|
||||
"cmd.view.render_dock": "Déplacer le panneau de rendu",
|
||||
"cmd.view.render_focus": "Vue de rendu ciblée",
|
||||
"cmd.view.status_items": "Éléments d'état de la vue 3D",
|
||||
"cmd.view_ambient_occlusion": "Occlusion ambiante",
|
||||
"cmd.view_angle_readout": "Angles de vue",
|
||||
"cmd.view_apply": "Restaurer la vue nommée",
|
||||
@@ -1219,6 +1260,7 @@
|
||||
"cmd.view_normal_to": "Vue normale à la sélection",
|
||||
"cmd.view_previous_tab": "Onglet précédent",
|
||||
"cmd.view_rename": "Renommer la vue nommée",
|
||||
"cmd.view_render_frame": "Guides de cadrage du rendu",
|
||||
"cmd.view_right": "Vue de droite",
|
||||
"cmd.view_save": "Nouvelle vue nommée",
|
||||
"cmd.view_shots_strip": "Bande des prises de vue",
|
||||
@@ -1229,10 +1271,14 @@
|
||||
"color.copy": "Cliquer pour copier les valeurs de couleur",
|
||||
"color.edit": "Cliquer pour modifier la couleur",
|
||||
"color.gamma": "Valeurs de couleur affichées en espace gamma 0-255",
|
||||
"color.hex": "Hex",
|
||||
"color.hex_help": "Saisissez #rrggbb ou #rrggbbaa ; six chiffres conservent l'opacité",
|
||||
"color.hex_hint": "#rrggbb",
|
||||
"color.hue": "Teinte",
|
||||
"color.linear": "Valeurs de couleur affichées en espace linéaire 0-1",
|
||||
"color.saturation_value": "Saturation et valeur",
|
||||
"color.selected": "Couleur sélectionnée",
|
||||
"config.column_filter_empty": "Aucune colonne correspondante",
|
||||
"contact.components_count": "{count} composants",
|
||||
"contact.enabled_label": "activé",
|
||||
"coupling.gear_1": "Engrenage 1",
|
||||
@@ -1349,6 +1395,7 @@
|
||||
"help.occurrence.move": "Déplace une pièce d’assemblage selon les seules libertés permises par ses liaisons. Sélectionnez une face de la pièce, puis faites glisser une flèche ou un arc disponible.",
|
||||
"help.parameters.change": "Ouvre le tableau des valeurs nommées et des expressions qui pilotent les cotes de la conception. À utiliser pour changer une dimension à un seul endroit et faire suivre toutes les fonctions qui l'utilisent.",
|
||||
"help.pointcloud.insert": "Insère un scan PLY, XYZ ou PTS sous forme de nuage de points à côté du modèle. Utilisez-le comme référence pour construire un modèle à partir de données mesurées.",
|
||||
"help.sketch.equation_curve": "Dessine une courbe à partir de formules : x(t) et y(t), ou y = f(x), sur un intervalle. Les formules peuvent utiliser des paramètres et la courbe les suit : à utiliser pour une sinusoïde, une spirale ou la développante d'une dent d'engrenage.",
|
||||
"help.solid.align": "Déplace les corps sélectionnés pour qu'un de leurs points, faces ou plans rejoigne un point, une face ou un plan ailleurs. À utiliser pour poser une pièce contre une autre sans mesurer le décalage.",
|
||||
"help.solid.chamfer": "Coupe les arêtes sélectionnées par un biseau plat de la distance indiquée. À utiliser pour casser des arêtes vives ou faciliter l'entrée d'une goupille ou d'une vis.",
|
||||
"help.solid.combine": "Joint des corps, les retire d'un corps cible ou ne garde que le volume qu'ils ont en commun, et peut conserver les corps outils. À utiliser pour fusionner des pièces, tailler une forme avec une autre ou repérer où deux corps se recouvrent.",
|
||||
@@ -1584,6 +1631,8 @@
|
||||
"nav.maya.help": "Alt+glisser gauche fait orbiter, Alt+milieu fait un panoramique, Alt+droit zoome ; glisser avec le milieu fait aussi un panoramique",
|
||||
"nav.openscad.help": "Glisser avec le gauche dans le vide fait orbiter, Maj+glisser gauche sélectionne par rectangle, glisser la géométrie d'esquisse la modifie ; glisser avec le droit ou le milieu fait un panoramique, Maj+droit ou Maj+milieu zoome",
|
||||
"nav.perspective.sketch": "La modification d'une esquisse utilise la vue orthographique. Terminer l'esquisse pour passer en perspective.",
|
||||
"nav.right_drag_orbits.help": "Désactivé : glisser avec le droit ne touche pas la caméra et le bouton droit ouvre seulement le menu contextuel. Choisir l'affectation des boutons de la souris SolidWorks le désactive.",
|
||||
"nav.right_drag_orbits.label": "Glisser avec le droit fait orbiter",
|
||||
"nav.solidworks.help": "Glisser avec le milieu fait orbiter, Ctrl+milieu fait un panoramique, Maj+milieu zoome, glisser avec le droit fait orbiter",
|
||||
"nav.tinkercad.help": "Glisser avec le droit fait orbiter, glisser avec le milieu ou Maj+droit fait un panoramique",
|
||||
"nav.touchpad.help": "Maintenir Maj et déplacer le pointeur pour faire un panoramique ; maintenir Alt/Option et le déplacer pour orbiter. Aucun bouton de souris n'est nécessaire. Le défilement vertical zoome.",
|
||||
@@ -1714,6 +1763,7 @@
|
||||
"parts.dimension.thickness": "Épaisseur",
|
||||
"parts.dimension.width": "Largeur",
|
||||
"parts.family.bearing": "Roulement à billes à gorge profonde (enveloppe)",
|
||||
"parts.family.button_head_cap_screw": "Vis à tête bombée à six pans creux",
|
||||
"parts.family.dowel_pin": "Goupille cylindrique",
|
||||
"parts.family.hex_bolt": "Vis à tête hexagonale",
|
||||
"parts.family.hex_nut": "Écrou hexagonal",
|
||||
@@ -1843,6 +1893,8 @@
|
||||
"prefs.layout_note": "Compacte : ancre les panneaux aux bords de la fenêtre. La transparence du navigateur est disponible en mode Flottante. Changez le côté de l'assistant dans la page Assistant.",
|
||||
"prefs.left": "Gauche",
|
||||
"prefs.left_click": "Clic gauche",
|
||||
"prefs.line_drag_draws_one": "Appuyer et glisser trace une seule ligne",
|
||||
"prefs.line_drag_draws_one_note": "Dans l'outil Ligne, appuyer, faire glisser puis relâcher trace une seule ligne, du point d'appui au point de relâchement, et le tracé s'arrête là. Les clics tracent toujours une chaîne. Désactivé : un glissement place un point là où il est relâché, comme un clic.",
|
||||
"prefs.linked_designs": "Conceptions liées",
|
||||
"prefs.live_input": "Saisie en direct",
|
||||
"prefs.live_preview": "Aperçu en direct",
|
||||
@@ -1875,14 +1927,36 @@
|
||||
"prefs.origin_plane_names": "Noms des plans d'origine",
|
||||
"prefs.origin_plane_names_note": "Noms affichés dans le navigateur, les boîtes de dialogue et les listes. {top} est XY, {front} est XZ et {right} est YZ, avec Z vers le haut. Les commandes, les scripts et les conceptions enregistrées gardent XY, XZ et YZ.",
|
||||
"prefs.overall_speed": "Vitesse globale",
|
||||
"prefs.perspective_fov": "Champ de vision",
|
||||
"prefs.placement": "Placement",
|
||||
"prefs.prefer_free_sketch_points": "Privilégier les points d'esquisse déplaçables quand des points se superposent",
|
||||
"prefs.preview_choices": "Aperçu de vos choix",
|
||||
"prefs.profile_active": "Profil actif",
|
||||
"prefs.profile_applied": "Profil appliqué.",
|
||||
"prefs.profile_changed": "Les réglages ont changé depuis l'enregistrement du profil. Enregistrer les y conserve.",
|
||||
"prefs.profile_deleted": "Profil supprimé.",
|
||||
"prefs.profile_export": "Exporter…",
|
||||
"prefs.profile_exported": "Profil exporté.",
|
||||
"prefs.profile_imported": "Profil importé. Choisissez-le sous Profil actif pour basculer dessus.",
|
||||
"prefs.profile_name_hint": "Nom du profil, par ex. Portable",
|
||||
"prefs.profile_rename": "Renommer",
|
||||
"prefs.profile_renamed": "Profil renommé.",
|
||||
"prefs.profile_save": "Enregistrer",
|
||||
"prefs.profile_saved": "Réglages actuels enregistrés dans le profil.",
|
||||
"prefs.profile_skipped": "Profil appliqué ; {n} réglage(s) ont conservé leur valeur actuelle (voir le journal).",
|
||||
"prefs.profiles": "Profils de réglages",
|
||||
"prefs.profiles_note": "Raccourcis, barre d'outils, navigation, menu radial et réglages de l'interface, regroupés sous un nom et changés d'un coup.",
|
||||
"prefs.project_options_dialog": "Boîte de dialogue des options de projection",
|
||||
"prefs.project_options_dialog_note": "Activé : choisir Géométrie ou Corps et Lien de projection avant de projeter. Désactivé : conserver l'ancien fonctionnement par sélection directe.",
|
||||
"prefs.quality_default": "par défaut",
|
||||
"prefs.quality_fastest": "le plus rapide",
|
||||
"prefs.quality_slowest": "le plus lent",
|
||||
"prefs.quality_smoother": "plus fluide",
|
||||
"prefs.render_previous_geometry_budget": "Utiliser l'ancien budget de géométrie de l'aperçu Rendu",
|
||||
"prefs.render_previous_geometry_budget_help": "Rétablir l'ancienne limite fixe de géométrie (512 Mio sur un ordinateur 64 bits, 128 Mio ailleurs) au lieu du budget basé sur l'appareil.",
|
||||
"prefs.reports_saved": "Enregistrés : {n}",
|
||||
"prefs.ribbon_reveal": "Montrer les résultats de recherche dans le ruban",
|
||||
"prefs.ribbon_reveal_note": "Survoler un résultat dans Rechercher des commandes montre où se trouve la commande dans le ruban : son onglet, son bouton ou sa ligne dans le menu déroulant d'un panneau. Une commande lancée depuis la recherche y clignote, et une commande en cours issue d'un menu déroulant signale son panneau.",
|
||||
"prefs.right_click": "Clic droit",
|
||||
"prefs.saving": "Enregistrement automatique et récupération",
|
||||
"prefs.scale_note": "Également Ctrl + / Ctrl − dans la fenêtre. Les boutons font 28 px à 100 %.",
|
||||
@@ -1896,6 +1970,10 @@
|
||||
"prefs.shift_add_ctrl_toggle": "Maj ajoute seulement ; Ctrl / Cmd bascule",
|
||||
"prefs.shift_add_note": "Activé : Maj ajoute, Ctrl / Cmd bascule. Désactivé (par défaut) : les deux basculent.",
|
||||
"prefs.shortcuts": "Raccourcis",
|
||||
"prefs.single_surface_analysis": "Utiliser une seule analyse de surface",
|
||||
"prefs.single_surface_analysis_help": "Désactivé, l'ombrage de surface et Continuité peuvent rester actifs ensemble. Activé, seule la dernière analyse lancée ou modifiée est conservée.",
|
||||
"prefs.sketch_align_points": "S'aligner sur d'autres points d'esquisse pendant le dessin",
|
||||
"prefs.sketch_align_points_note": "Pendant le dessin, un point s'aligne à la fois horizontalement sur un point d'esquisse et verticalement sur un autre, avec un guide en pointillés, et le clic conserve les deux alignements. Désactivé : uniquement sur le point précédent, un axe à la fois.",
|
||||
"prefs.sketch_conflict_colour": "Géométrie en conflit dans la couleur de conflit",
|
||||
"prefs.sketch_conflict_colour_note": "Tant que les contraintes d'une esquisse sont en conflit, les courbes et les points que retient une contrainte en échec sont aussi dessinés dans la couleur de conflit, et pas seulement son symbole ou sa cote. Désactivé : ils gardent leurs couleurs habituelles.",
|
||||
"prefs.sketch_exit_view": "À la fin d'une esquisse",
|
||||
@@ -1903,6 +1981,8 @@
|
||||
"prefs.sketch_exit_view.previous": "Revenir à la vue précédente",
|
||||
"prefs.sketch_exit_view.unless_rotated": "Revenir, sauf si la vue a été tournée",
|
||||
"prefs.sketch_exit_view_note": "Où va la vue après Terminer l'esquisse, Annuler ou un double Échap.",
|
||||
"prefs.sketch_recent_snap": "Accrocher automatiquement aux centres et points milieux récents",
|
||||
"prefs.sketch_recent_snap_note": "Pendant le dessin, le curseur s'accroche là où se croisent les guides des deux derniers centres de cercle ou points milieux de segment droit. Désactivé : ces guides restent purement visuels et le curseur ne bouge pas.",
|
||||
"prefs.sketch_selection": "Esquisse et sélection",
|
||||
"prefs.sketch_selection_heading": "Esquisse et sélection",
|
||||
"prefs.sketch_selection_note": "Comment les esquisses s'accrochent et comment les clics sélectionnent.",
|
||||
@@ -1940,7 +2020,14 @@
|
||||
"prefs.toast_place": "Notifications",
|
||||
"prefs.toggle_item": "Ajouter l'élément, ou le retirer à nouveau",
|
||||
"prefs.toolbar": "Barre d'outils",
|
||||
"prefs.toolbar_tabs": "Onglets de la barre d'outils",
|
||||
"prefs.top": "Haut",
|
||||
"prefs.trackpad_zoom_modifier": "Zoomer avec le défilement à deux doigts en maintenant",
|
||||
"prefs.trackpad_zoom_modifier.alt": "⌥ / Alt",
|
||||
"prefs.trackpad_zoom_modifier.cmd": "⌘",
|
||||
"prefs.trackpad_zoom_modifier.ctrl": "Ctrl",
|
||||
"prefs.trackpad_zoom_modifier.help": "Maintenir seulement cette touche pour zoomer vers le pointeur avec le défilement vertical. Désactivé conserve le comportement de défilement existant.",
|
||||
"prefs.trackpad_zoom_modifier.off": "Désactivé",
|
||||
"prefs.translucent": "Translucide",
|
||||
"prefs.under_browser": "Sous le navigateur",
|
||||
"prefs.under_cursor": "Sous le curseur",
|
||||
@@ -1956,10 +2043,16 @@
|
||||
"prefs.wheel": "Molette",
|
||||
"prefs.wheel_trackpad": "Molette et pavé tactile",
|
||||
"prefs.workspace": "Espace de travail",
|
||||
"prefs.zoom_stop_at_model": "Arrêter le zoom au modèle",
|
||||
"prefs.zoom_stop_at_model_tip": "La souris 3D et l'application du périphérique zooment vers la surface au milieu de la vue ; le zoom par glissement garde le point où le glissement a commencé. Désactivé : le zoom peut traverser le modèle. La molette et le pincement utilisent Zoom vers le curseur séparément",
|
||||
"prefs.zoom_toward_cursor": "Zoom, vers le curseur",
|
||||
"properties.title": "Propriétés : {name}",
|
||||
"recovery.days_ago": "il y a {count} j",
|
||||
"recovery.detail": "{file} · {features} entités · enregistrement auto {when}",
|
||||
"recovery.discard_all": "Tout abandonner",
|
||||
"recovery.discard_all_detail": "Cette action est irréversible.",
|
||||
"recovery.discard_all_title": "Abandonner {count} sauvegardes automatiques ?",
|
||||
"recovery.discard_all_title_one": "Abandonner 1 sauvegarde automatique ?",
|
||||
"recovery.hours_ago": "il y a {count} h",
|
||||
"recovery.just_now": "à l’instant",
|
||||
"recovery.min_ago": "il y a {count} min",
|
||||
@@ -2044,6 +2137,7 @@
|
||||
"render.appearance_editor.weight": "Poids",
|
||||
"render.appearance_physics_separate": "L'apparence visuelle n'affecte ni masse volumique, ni données thermiques, ni autres propriétés techniques.",
|
||||
"render.appearances": "Apparences",
|
||||
"render.assign_help": "Cliquez pour appliquer à la sélection ; faites glisser pour prévisualiser et déposer, ou cliquez sans sélection pour peindre.",
|
||||
"render.availability_native": "Composition native ; à examiner avant d'appliquer",
|
||||
"render.availability_projection": "Projection prise en charge ; voir la portée et les omissions",
|
||||
"render.availability_reference": "Données de référence ; pas une affectation automatique",
|
||||
@@ -2082,6 +2176,7 @@
|
||||
"render.bloom_threshold": "Seuil des hautes lumières linéaires du halo",
|
||||
"render.browse_capabilities": "Inspecter le catalogue complet des capacités",
|
||||
"render.browse_environments": "Parcourir les environnements HDR d'origine",
|
||||
"render.browse_looks": "Parcourir…",
|
||||
"render.browse_native_scenes": "Parcourir les studios natifs",
|
||||
"render.browse_physical": "Inspecter les références physiques",
|
||||
"render.browse_quality": "Inspecter les spécifications de qualité",
|
||||
@@ -2105,6 +2200,82 @@
|
||||
"render.check_opaque": "Transparence : surfaces opaques uniquement ; l'alpha de l'arrière-plan est pris en charge.",
|
||||
"render.check_sorted_alpha": "Transparence : approximation alpha triée.",
|
||||
"render.check_transmission": "Transparence : transmission physique.",
|
||||
"render.children.absolute_floor": "Plancher absolu",
|
||||
"render.children.adaptive": "Adaptatif",
|
||||
"render.children.add_look_reason": "Ajoutez un look pour modifier son activation et son intensité.",
|
||||
"render.children.all_shots": "Toutes les prises de vue",
|
||||
"render.children.bloom": "Halo lumineux",
|
||||
"render.children.check": "Vérification",
|
||||
"render.children.check_now": "Vérifier maintenant",
|
||||
"render.children.chromatic": "Chromatique",
|
||||
"render.children.compact": "Compact",
|
||||
"render.children.contrast": "Contraste",
|
||||
"render.children.copy_image": "Copier",
|
||||
"render.children.copy_job": "Copier le JSON de la tâche",
|
||||
"render.children.copy_request": "Copier le JSON de la requête",
|
||||
"render.children.coverage_error": "Erreur de couverture",
|
||||
"render.children.cpu": "Lancer de rayons CPU",
|
||||
"render.children.denoise": "Réduire le bruit de l'image finale",
|
||||
"render.children.depth": "Profondeur des chemins",
|
||||
"render.children.distortion": "Distorsion",
|
||||
"render.children.edge_samples": "Échantillons de bord",
|
||||
"render.children.effects_banner": "Ces effets nécessitent le tracé de chemins GPU. Ouvrir cette section ne change jamais la méthode.",
|
||||
"render.children.enable_adaptive": "Activez les pilotes indépendants pour modifier les limites adaptatives.",
|
||||
"render.children.enable_bloom": "Activez le halo lumineux pour modifier son intensité, son seuil et son rayon.",
|
||||
"render.children.finishing": "Finition",
|
||||
"render.children.flare": "Flare",
|
||||
"render.children.fresnel": "Strates de Fresnel",
|
||||
"render.children.ghosts": "Anneaux fantômes",
|
||||
"render.children.glass": "Transport dans le verre",
|
||||
"render.children.go_to": "Aller à {editor}",
|
||||
"render.children.grain": "Grain",
|
||||
"render.children.halo": "Halo",
|
||||
"render.children.hdr": "HDR",
|
||||
"render.children.keep_master": "Conserver le master linéaire brut",
|
||||
"render.children.last_result": "Dernier : {number} · {width} × {height} · {phase}",
|
||||
"render.children.lens_effects": "Effets d'objectif",
|
||||
"render.children.look_summary": "{tone} · {count} looks",
|
||||
"render.children.looks": "Looks créatifs",
|
||||
"render.children.memory": "Mémoire",
|
||||
"render.children.method": "Méthode",
|
||||
"render.children.minimum": "Minimum",
|
||||
"render.children.needs_cpu": "Nécessite le lancer de rayons CPU. Ouvrir cette section ne change jamais la méthode.",
|
||||
"render.children.nested": "Diélectriques imbriqués certifiés",
|
||||
"render.children.not_checked": "Non vérifié",
|
||||
"render.children.path": "Tracé de chemins",
|
||||
"render.children.pilots": "Échantillons pilotes",
|
||||
"render.children.preview": "Charge de l'aperçu",
|
||||
"render.children.progressive_reason": "Choisissez Progressif pour modifier son nombre d'échantillons et sa graine.",
|
||||
"render.children.radius": "Rayon",
|
||||
"render.children.reflect_depth": "Profondeur de réflexion",
|
||||
"render.children.reflect_samples": "Échantillons de réflexion",
|
||||
"render.children.regrade": "Réétalonnage",
|
||||
"render.children.relative_error": "Erreur relative",
|
||||
"render.children.render": "Rendu",
|
||||
"render.children.render_shot": "Rendre la prise de vue",
|
||||
"render.children.renderer": "Moteur de rendu",
|
||||
"render.children.renderers": "Moteurs de rendu",
|
||||
"render.children.request": "Cette requête",
|
||||
"render.children.reset_finishing": "Réinitialiser la finition",
|
||||
"render.children.review_quality": "Examiner une spécification de qualité…",
|
||||
"render.children.rgb_gain": "Gain RVB",
|
||||
"render.children.samples": "Échantillons",
|
||||
"render.children.sampling": "Échantillonnage",
|
||||
"render.children.saturation": "Saturation",
|
||||
"render.children.scene_summary": "{bodies} corps · {triangles} triangles",
|
||||
"render.children.seed": "Graine",
|
||||
"render.children.sharpening": "Accentuation",
|
||||
"render.children.single_image": "Image unique",
|
||||
"render.children.soft_focus": "Flou artistique",
|
||||
"render.children.streak": "Traînée",
|
||||
"render.children.strength": "Intensité",
|
||||
"render.children.studio": "Studio",
|
||||
"render.children.threshold": "Seuil",
|
||||
"render.children.tone": "Tons",
|
||||
"render.children.under_hood": "Sous le capot",
|
||||
"render.children.vignette": "Vignettage",
|
||||
"render.children.workstation": "Station de travail",
|
||||
"render.choose_look": "Choisissez d'abord un aspect dans Apparences",
|
||||
"render.chromatic_offset": "Décalage chromatique des bords",
|
||||
"render.clear_stage": "Supprimer le décor enregistré",
|
||||
"render.copy_request": "Copier le JSON",
|
||||
@@ -2356,8 +2527,33 @@
|
||||
"render.flare_strength": "Intensité du flare des hautes lumières",
|
||||
"render.flare_threshold": "Seuil du flare en linéaire scène",
|
||||
"render.fold_browser": "Réduire le navigateur",
|
||||
"render.frame_aspect": "Format",
|
||||
"render.frame_centre_mark": "Repère central",
|
||||
"render.frame_copy_limit": "Aucun nom disponible pour dupliquer la prise de vue",
|
||||
"render.frame_copy_name": "{name} copie {number}",
|
||||
"render.frame_custom": "Personnalisé",
|
||||
"render.frame_distance_unit": " × taille",
|
||||
"render.frame_duplicate": "Dupliquer",
|
||||
"render.frame_exposure": "Exposition",
|
||||
"render.frame_fov": "Champ de vision",
|
||||
"render.frame_guides": "Guides",
|
||||
"render.frame_invalid_aspect": "Préréglage de format non valide",
|
||||
"render.frame_lens": "Champ {fov}° · ≈ {mm} mm",
|
||||
"render.frame_name": "Nom",
|
||||
"render.frame_output_size": "Taille de sortie",
|
||||
"render.frame_photo": "3:2 · Photo",
|
||||
"render.frame_portrait": "4:5 · Portrait",
|
||||
"render.frame_presets": "Préréglages de cadre",
|
||||
"render.frame_presets_pending": "Arrive avec l'éditeur de prises de vue",
|
||||
"render.frame_projection": "Projection",
|
||||
"render.frame_render_shot": "Rendre cette prise de vue",
|
||||
"render.frame_rule_thirds": "Règle des tiers",
|
||||
"render.frame_safe_area": "Zone de sécurité",
|
||||
"render.frame_shot_title": "Prise de vue · {name}",
|
||||
"render.frame_square": "1:1 · Carré",
|
||||
"render.frame_tall": "9:16 · Vertical",
|
||||
"render.frame_thirds": "Tiers",
|
||||
"render.frame_wide": "16:9 · Écran large",
|
||||
"render.gpu_depth": "Profondeur maximale des chemins",
|
||||
"render.gpu_options_help": "Les échantillons, la profondeur, la graine et l'exposition sont enregistrés avec ce préréglage. Seule la méthode d'image active est enregistrée.",
|
||||
"render.gpu_path_failed": "Traceur de chemins GPU indisponible",
|
||||
@@ -2385,6 +2581,7 @@
|
||||
"render.heading_results": "RÉSULTATS",
|
||||
"render.heading_shots": "PRISES DE VUE",
|
||||
"render.hide_shots_label": "Masquer la bande des prises de vue",
|
||||
"render.hover_look": "{object} · {look} · cliquer pour sélectionner",
|
||||
"render.image_advanced": "Réglages GPU avancés",
|
||||
"render.image_cancelled": "Rendu annulé",
|
||||
"render.image_cancelling": "Annulation",
|
||||
@@ -2531,17 +2728,95 @@
|
||||
"render.library_uniform_ack": "Utiliser l'approximation uniforme sans effets spatiaux ni avancés",
|
||||
"render.library_usable": "Projections exécutables",
|
||||
"render.library_users": "Utilisations",
|
||||
"render.light_aim": "Viser",
|
||||
"render.light_anchor_pending": "Le changement du repère des lumières n'est pas encore pris en charge.",
|
||||
"render.light_azimuth": "Azimut",
|
||||
"render.light_backend_limit": "Choisissez le lancer de rayons CPU ou un studio GPU explicite pour modifier les lumières. Les lumières des anciens studios GPU restent en lecture seule.",
|
||||
"render.light_behaviour": "COMPORTEMENT",
|
||||
"render.light_default_fill": "Appoint",
|
||||
"render.light_default_key": "Principale",
|
||||
"render.light_default_number": "Lumière {number}",
|
||||
"render.light_default_rim": "Contour",
|
||||
"render.light_delete": "Supprimer",
|
||||
"render.light_distance": "Distance",
|
||||
"render.light_duplicate": "Dupliquer",
|
||||
"render.light_elevation": "Élévation",
|
||||
"render.light_gpu_punctual": "Les lumières ponctuelles et les spots sont disponibles avec le lancer de rayons CPU.",
|
||||
"render.light_hard_shadow": "Cette lumière a des ombres nettes ; la douceur de l'émetteur n'est pas disponible.",
|
||||
"render.light_intensity": "Intensité",
|
||||
"render.light_missing": "Cette lumière n'existe plus. Sélectionnez une lumière dans le navigateur.",
|
||||
"render.light_place_highlight": "Placer selon le reflet",
|
||||
"render.light_place_pending": "Le placement selon le reflet nécessite la sélection des lumières dans la vue 3D et n'est pas encore pris en charge.",
|
||||
"render.light_position": "POSITION",
|
||||
"render.light_preview_help": "La vue en direct est sans ombres ; les lumières surfaciques utilisent une approximation par échantillon central. Le rendu utilise le modèle d'éclairage complet.",
|
||||
"render.light_product_centre": "Centre du produit",
|
||||
"render.light_size": "Taille",
|
||||
"render.light_softness": "Douceur",
|
||||
"render.light_temperature": "Température de couleur",
|
||||
"render.light_temperature_help": "Teinte approximative de corps noir ; enregistrée en RVB linéaire.",
|
||||
"render.light_type": "Type",
|
||||
"render.light_type_area": "Surfacique",
|
||||
"render.light_type_point": "Ponctuelle",
|
||||
"render.light_type_spot": "Spot",
|
||||
"render.light_type_sun": "Soleil",
|
||||
"render.light_view_only": "Le solo et l'extinction agissent sur cette vue et ses rendus ; ils ne sont jamais enregistrés dans la conception.",
|
||||
"render.light_world_origin": "Origine du monde",
|
||||
"render.lighting_aim_point": "Point visé",
|
||||
"render.lighting_apply": "Appliquer le préréglage",
|
||||
"render.lighting_area_samples": "Échantillons surfaciques",
|
||||
"render.lighting_budget": "Budget",
|
||||
"render.lighting_budget_help": "Les nombres sont en lecture seule. Ajoutez, dupliquez ou supprimez des lumières pour les modifier ; la méthode fixe les limites.",
|
||||
"render.lighting_colour": "Couleur",
|
||||
"render.lighting_consent": "Remplacer les lumières directionnelles par ce préréglage",
|
||||
"render.lighting_custom": "Lumières personnalisées",
|
||||
"render.lighting_custom_help": "Choisir Personnalisé transforme le préréglage en lumières modifiables, chacune sur sa propre ligne de l'arborescence.",
|
||||
"render.lighting_direction": "Direction X Y Z",
|
||||
"render.lighting_direction_help": "Ou saisissez une direction vers la lumière (X Y Z).",
|
||||
"render.lighting_distance_unit": " × taille",
|
||||
"render.lighting_edge_u": "Vecteur du côté U",
|
||||
"render.lighting_edge_v": "Vecteur du côté V",
|
||||
"render.lighting_falloff": "Atténuation",
|
||||
"render.lighting_falloff_help": "L'intensité est donnée à la distance de référence.",
|
||||
"render.lighting_height": "Hauteur V",
|
||||
"render.lighting_minimum": "Minimum",
|
||||
"render.lighting_mute": "Éteindre cette lumière",
|
||||
"render.lighting_point": "Point",
|
||||
"render.lighting_preset": "Préréglage de studio",
|
||||
"render.lighting_preset_cpu": "Les préréglages de studio directionnels nécessitent le lancer de rayons CPU. L'éclairage GPU utilise des lumières Soleil et Surfacique explicites.",
|
||||
"render.lighting_preset_row": "Préréglage",
|
||||
"render.lighting_radiance": "Radiance",
|
||||
"render.lighting_reference": "Référence",
|
||||
"render.lighting_review_help": "Remplace la liste des lumières directionnelles. Conserve les lumières ponctuelles et surfaciques, l'environnement, les ombres, la caméra et tous les autres réglages de la prise de vue.",
|
||||
"render.lighting_review_title": "Examiner le préréglage d'éclairage",
|
||||
"render.lighting_samples_cpu": "Les échantillons de lumière surfacique s'appliquent au lancer de rayons CPU.",
|
||||
"render.lighting_samples_need_area": "Ajoutez une lumière surfacique CPU pour définir les échantillons surfaciques.",
|
||||
"render.lighting_samples_reason": "Les échantillons surfaciques doivent valoir 1, 4, 16 ou 64.",
|
||||
"render.lighting_shadow_cpu": "L'interrupteur des ombres nécessite le lancer de rayons CPU. Le tracé de chemins GPU projette toujours des ombres.",
|
||||
"render.lighting_shadows": "Projeter des ombres",
|
||||
"render.lighting_shadows_section": "Ombres et échantillonnage",
|
||||
"render.lighting_shape": "Forme",
|
||||
"render.lighting_solo": "Mettre cette lumière en solo",
|
||||
"render.lighting_source": "Source",
|
||||
"render.lighting_source_section": "Source de lumière",
|
||||
"render.lighting_spot_preserved": "Cette lumière ponctuelle conserve son cône de spot enregistré tant que son type n'est pas changé.",
|
||||
"render.lighting_sun_distance": "La direction du soleil ne dépend ni de la distance ni du point visé.",
|
||||
"render.lighting_unsupported": "non pris en charge",
|
||||
"render.lighting_used": "{used} sur {limit}",
|
||||
"render.lighting_width": "Largeur U",
|
||||
"render.lighting_world_position": "Monde X Y Z",
|
||||
"render.lights_fixed_to": "Lumières fixées à",
|
||||
"render.linear_help": "Conserve un master RVBA en flottant 32 bits avant le débruitage, l'exposition, le mappage des tons, les filtres et l'arrière-plan. sRVB/D65 linéaire ; prémultiplié par la couverture. La mémoire supplémentaire est admise explicitement. Pas de compression ni de passes supplémentaires.",
|
||||
"render.linear_retain": "Conserver l'EXR linéaire brut",
|
||||
"render.linear_unavailable": "L'image terminée sélectionnée n'a pas d'EXR conservé. Activez la conservation avant le rendu ; un ancien PNG ne permet pas de récupérer la radiance brute.",
|
||||
"render.look_add": "Ajouter un look colorimétrique",
|
||||
"render.look_applied": "Appliqué : {name}",
|
||||
"render.look_bleach": "Inspiration traitement sans blanchiment (bleach bypass)",
|
||||
"render.look_cool": "Froid",
|
||||
"render.look_cyanotype": "Inspiration cyanotype",
|
||||
"render.look_faded": "Tirage délavé",
|
||||
"render.look_material": "Matériau",
|
||||
"render.look_mono": "Monochrome",
|
||||
"render.look_pasted": "Aspect collé",
|
||||
"render.look_sepia": "Sépia",
|
||||
"render.look_strength": "Intensité du look",
|
||||
"render.look_teal_orange": "Bleu canard / orange",
|
||||
@@ -2617,9 +2892,11 @@
|
||||
"render.output_advanced": "Avancé",
|
||||
"render.output_backend_ready": "Prêt",
|
||||
"render.output_check": "Vérifier",
|
||||
"render.output_check_failed": "Vérification · erreur",
|
||||
"render.output_check_help": "Lancez Vérifier pour examiner cette requête sans démarrer de rendu.",
|
||||
"render.output_check_summary": "Vérification · Remarques : {count}",
|
||||
"render.output_copy": "Copier",
|
||||
"render.output_copy_report": "Copier le rapport",
|
||||
"render.output_destination": "Destination",
|
||||
"render.output_destination_help": "Choisissez le fichier de destination lors de l'export de l'image terminée.",
|
||||
"render.output_dimensions": "Taille",
|
||||
@@ -2629,6 +2906,7 @@
|
||||
"render.output_fit": "Cadrer",
|
||||
"render.output_format": "Format",
|
||||
"render.output_format_status": "Le PNG est l'image d'affichage terminée exacte. L'EXR GPU facultatif conserve la radiance brute FLOAT32 en linéaire scène, avant les filtres d'affichage. L'export ne substitue jamais le cache d'aperçu ni une autre tâche.",
|
||||
"render.output_grading": "Étalonnage",
|
||||
"render.output_image": "Image",
|
||||
"render.output_largest": "{width} × {height} max",
|
||||
"render.output_lock_ratio": "Verrouiller le rapport d'aspect",
|
||||
@@ -2638,6 +2916,8 @@
|
||||
"render.output_quality_waiting": "en attente du contrat de qualité",
|
||||
"render.output_ratio_refused": "La dimension liée dépasse la taille limite de cette méthode. La taille précédente est conservée ; déverrouillez le rapport ou choisissez une valeur plus petite.",
|
||||
"render.output_ready": "Prêt à lancer le rendu",
|
||||
"render.output_run_check": "Lancer la vérification",
|
||||
"render.output_size_limit": "{method} : jusqu'à {dimension} px par côté et {pixels} pixels. Plus grande taille possible : {width} × {height}.",
|
||||
"render.output_size_ok": "Taille correcte · {width} × {height} px",
|
||||
"render.output_swap_orientation": "Permuter largeur et hauteur",
|
||||
"render.output_tools_inspector": "Modifier la taille et le format dans l'inspecteur Sortie.",
|
||||
@@ -2654,6 +2934,7 @@
|
||||
"render.page_output": "Sortie",
|
||||
"render.page_scene": "Scène",
|
||||
"render.paint_label": "Peindre",
|
||||
"render.painting_with": "Peinture avec {name}",
|
||||
"render.passive_stage": "Sol et décor passif",
|
||||
"render.passive_stage_help": "Les panneaux passifs finis n'appartiennent qu'aux images rendues. Ils n'ajoutent ni corps CAO ni masse. Leur placement est figé après application ; un recoupement avec les limites du produit est refusé. Le CPU ne fournit pas d'éclairage diffus par rebond.",
|
||||
"render.perspective": "Caméra en perspective",
|
||||
@@ -2675,6 +2956,7 @@
|
||||
"render.pick_help": "Choisir Corps, Face ou Composant. Cliquer dans le vide pour effacer ; Maj ou Ctrl ajoute ou inverse. Les surbrillances n'apparaissent que dans la vue produit en direct.",
|
||||
"render.pick_label": "Sélectionner",
|
||||
"render.pick_up_label": "Prélever",
|
||||
"render.pick_up_prompt": "Cliquez sur un objet pour prélever son aspect",
|
||||
"render.pick_waiting": "La sélection de produits n'est pas encore prise en charge.",
|
||||
"render.post_contrast": "Contraste",
|
||||
"render.post_gain_b": "Gain bleu",
|
||||
@@ -2714,13 +2996,17 @@
|
||||
"render.radial_distortion": "Distorsion radiale",
|
||||
"render.radial_fit": "Cadrer le produit",
|
||||
"render.radial_save": "Enregistrer la prise de vue",
|
||||
"render.recent_looks": "Aspects récents",
|
||||
"render.regrade_action": "Réétalonner le master brut (sans débruitage)",
|
||||
"render.regrade_help": "Crée un PNG distinct à partir du master brut terminé sélectionné, avec ces réglages de présentation. Ne trace aucun rayon, ne change ni la taille, ni la caméra, ni les lumières capturées, et n'écrase pas l'EXR. Le débruitage n'est pas réappliqué : les masters bruts ne conservent pas ses guides. Le résultat reste exportable par les mêmes réglages de tâche.",
|
||||
"render.regrade_label": "Réétalonner",
|
||||
"render.reload_settings": "Recharger les réglages enregistrés",
|
||||
"render.remove_override": "Retirer la surcharge",
|
||||
"render.replace_all": "Tout remplacer",
|
||||
"render.replace_ground": "Confirmer le remplacement du décor existant",
|
||||
"render.replace_label": "Remplacer",
|
||||
"render.replace_saved_surface": "Remplacer une association enregistrée existante pour cette cible",
|
||||
"render.replace_with": "Remplacer par",
|
||||
"render.restore_camera": "Restaurer la caméra enregistrée",
|
||||
"render.result_actual": "100 %",
|
||||
"render.result_actual_help": "Un pixel d'image par pixel d'affichage.",
|
||||
@@ -2772,14 +3058,28 @@
|
||||
"render.saved_surface_remove": "Supprimer l'association enregistrée",
|
||||
"render.saved_surfaces": "Associations de surface enregistrées",
|
||||
"render.saved_surfaces_help": "Les textures intégrées épinglées suivent l'occurrence sélectionnée en millimètres locaux. Une cible remplacée ou manquante est une erreur, jamais une réaffectation automatique.",
|
||||
"render.scene_all_shots": "Toutes les prises de vue ({count})",
|
||||
"render.scene_apply": "Appliquer le studio examiné",
|
||||
"render.scene_batch_reason": "Le rendu de toutes les prises de vue nécessite la file de rendu des prises de vue enregistrées, qui n'est pas encore disponible.",
|
||||
"render.scene_check_now": "Vérifier maintenant",
|
||||
"render.scene_check_passed": "Vérification réussie · {notes} remarques",
|
||||
"render.scene_check_stale": "Vérification périmée · vérifiez à nouveau",
|
||||
"render.scene_check_unchecked": "Pas encore vérifié · 0 remarque",
|
||||
"render.scene_consent": "Confirmer le remplacement de l'éclairage, de l'environnement, de l'exposition et du décor",
|
||||
"render.scene_light_summary": "{environment} · {lights} lumières",
|
||||
"render.scene_look_summary": "{looks} aspects · {overrides} surcharges",
|
||||
"render.scene_open_check": "Ouvrir la vérification",
|
||||
"render.scene_preserved_fields": "La caméra, l'échantillonnage, les dimensions, les associations optiques, la géométrie CAO et les matériaux techniques sont conservés.",
|
||||
"render.scene_preserves_design": "Composer un éclairage et un décor passif pour le sujet visible. La géométrie, les matériaux techniques et la caméra restent distincts.",
|
||||
"render.scene_ready": "Prêt à lancer le rendu",
|
||||
"render.scene_reminder": "Scène préserve la conception. La géométrie, les propriétés techniques et la CAO ne sont jamais modifiées depuis Rendu.",
|
||||
"render.scene_reminders": "Rappels",
|
||||
"render.scene_renderer_ready": "{renderer} prêt",
|
||||
"render.scene_replaces": "Remplace",
|
||||
"render.scene_review": "Résoudre et examiner",
|
||||
"render.scene_review_help": "Examinez la composition native complète avant d'appliquer. Les spécifications SCENE avancées non liées ne sont pas substituées.",
|
||||
"render.scene_scope_details": "Portée de la composition",
|
||||
"render.scene_stages": "Étapes",
|
||||
"render.search_appearances": "Rechercher parmi {count} apparences",
|
||||
"render.setup_legacy_environment": "Ce préréglage ancien utilise une rotation ou une intensité d'environnement héritée. Ces valeurs sont conservées ; convertissez-les explicitement avant d'enregistrer une tâche d'image complète.",
|
||||
"render.setup_name": "Nom du préréglage",
|
||||
@@ -2792,7 +3092,22 @@
|
||||
"render.shell_tab_camera": "CAMÉRA DE RENDU",
|
||||
"render.shell_tab_lighting": "ÉCLAIRAGE",
|
||||
"render.shell_tab_scene": "SCÈNE DE RENDU",
|
||||
"render.shot_aperture": "Ouverture",
|
||||
"render.shot_distance": "Distance",
|
||||
"render.shot_dof": "Profondeur de champ",
|
||||
"render.shot_duplicate": "Dupliquer la prise de vue enregistrée",
|
||||
"render.shot_edit_output": "Modifier dans Sortie",
|
||||
"render.shot_exposure_reason": "L'exposition nécessite le lancer de rayons CPU ou le tracé de chemins GPU.",
|
||||
"render.shot_exposure_section": "Exposition",
|
||||
"render.shot_focus_distance": "Distance de mise au point",
|
||||
"render.shot_fov_reason": "Le champ de vision nécessite une projection en perspective.",
|
||||
"render.shot_frame_subject": "Cadrer le sujet",
|
||||
"render.shot_invalid_camera": "Les valeurs de la caméra doivent être finies et dans les limites.",
|
||||
"render.shot_lens": "Objectif",
|
||||
"render.shot_lens_enable_reason": "Activez la profondeur de champ pour modifier l'ouverture et la distance de mise au point.",
|
||||
"render.shot_lens_gpu_reason": "La profondeur de champ nécessite le tracé de chemins GPU.",
|
||||
"render.shot_lens_perspective_reason": "La profondeur de champ nécessite une projection en perspective.",
|
||||
"render.shot_look_selection": "Viser la sélection",
|
||||
"render.shot_manager": "Prises de vue enregistrées",
|
||||
"render.shot_new_name": "Nom de la nouvelle prise de vue",
|
||||
"render.shot_remove": "Supprimer la prise de vue enregistrée",
|
||||
@@ -2800,6 +3115,9 @@
|
||||
"render.shot_remove_title": "Supprimer la prise de vue enregistrée ?",
|
||||
"render.shot_rename": "Renommer la prise de vue enregistrée",
|
||||
"render.shot_saved_only": "Enregistrez d'abord le brouillon actuel. Dupliquer et renommer conservent exactement les options enregistrées et les références aux ressources.",
|
||||
"render.shot_selection_reason": "Sélectionnez un corps ou une face à viser.",
|
||||
"render.shot_size": "Taille",
|
||||
"render.shot_target": "Cible",
|
||||
"render.shots_camera_changed": "La caméra a changé depuis l'enregistrement de cette prise de vue",
|
||||
"render.shots_name_help": "Saisissez un nom unique pour la prise de vue actuelle.",
|
||||
"render.shots_no_result": "Aucun rendu pour l'instant",
|
||||
@@ -3022,6 +3340,13 @@
|
||||
"render.wait_pick_up": "pas encore pris en charge : la sélection de produits et le prélèvement d'apparences",
|
||||
"render.wait_replace": "pas encore pris en charge : le remplacement de toutes les utilisations d'une apparence",
|
||||
"render.wait_solo": "pas encore pris en charge : la visibilité des lumières et les contrôles solo",
|
||||
"render.wear_applies_to": "S'applique à",
|
||||
"render.wear_layer_count": "{count} couches",
|
||||
"render.wear_layer_one": "{count} couche",
|
||||
"render.wear_layers": "Couches",
|
||||
"render.wear_no_layers": "Aucune couche",
|
||||
"render.wear_selected_layer": "Couche sélectionnée",
|
||||
"render.wear_title": "Usure",
|
||||
"sample.bracket.about": "Tôle de base avec bords tombés et un ourlet, selon une règle de 2 mm",
|
||||
"sample.bracket.name": "Équerre en tôle",
|
||||
"sample.enclosure.about": "Boîte en coque avec lèvre, bossages de vis, appui et clip",
|
||||
@@ -3055,6 +3380,7 @@
|
||||
"select an axis": "sélectionner un axe",
|
||||
"select an axis, a straight or circular edge, or a cylinder, cone or torus face first": "sélectionner d'abord un axe, une arête droite ou circulaire, ou une face cylindrique, conique ou torique",
|
||||
"select bodies first": "sélectionner d'abord des corps",
|
||||
"select components first": "sélectionner d'abord des composants",
|
||||
"select corner points, or the two lines of one corner": "sélectionner des points de coin, ou les deux lignes d'un coin",
|
||||
"select one corner point, or the two lines of one corner": "sélectionner un point de coin, ou les deux lignes d'un coin",
|
||||
"select sheet edges first": "sélectionner d'abord des arêtes de tôle",
|
||||
@@ -3073,6 +3399,7 @@
|
||||
"settings.double_click_components": "Double-cliquez sur un composant pour l'activer, ou pour modifier sur place un composant lié",
|
||||
"settings.frame_rate_details_note": "Ajoute un graphe des temps des dernières images avec les triangles dessinés superposés, un histogramme des temps d'image et ce que le GPU a dessiné. Cliquez sur la fréquence d'images dans la vue pour les afficher ou les masquer.",
|
||||
"settings.frame_rate_note": "Affiche les images par seconde dans le coin inférieur droit de la vue.",
|
||||
"settings.insert_lists_open_designs": "Insérer une conception liste d'abord les conceptions ouvertes dans d'autres onglets",
|
||||
"settings.measure_axis_distances": "Afficher les cotes X/Y/Z",
|
||||
"settings.measure_axis_distances_help": "Afficher les cotes suivant les axes du repère global en plus de la distance totale pendant la mesure.",
|
||||
"settings.msaa_applies_on_restart": "L'anticrénelage s'appliquera au prochain démarrage de SolidCraft",
|
||||
@@ -3097,6 +3424,10 @@
|
||||
"shortcut.unpin": "Désépingler",
|
||||
"sketch is missing": "l'esquisse est manquante",
|
||||
"sketch.degrees_of_freedom": "{count} degrés de liberté",
|
||||
"sketch.dimension_added_driven": "L'esquisse détermine déjà cette cote ; elle a donc été ajoutée comme cote pilotée (de référence)",
|
||||
"sketch.dimension_applied": "Cote appliquée",
|
||||
"sketch.dimension_applied_defined": "Cote appliquée ; paramètre `{name}` défini",
|
||||
"sketch.dimension_applied_renamed": "Cote appliquée ; paramètre nommé `{name}`",
|
||||
"sketch.dof_left": "{count} degrés de liberté restants",
|
||||
"sketch.dof_left_one": "{count} degré de liberté restant",
|
||||
"sketch.draw_curves": "Dessiner en {linetype}",
|
||||
@@ -3166,8 +3497,10 @@
|
||||
"timeline.delete_folders_tip": "Garder leurs fonctions et leurs dossiers imbriqués dans l'historique",
|
||||
"timeline.delete_folders_with_features_tip": "Supprimer les dossiers avec toutes leurs fonctions et leurs dossiers imbriqués",
|
||||
"timeline.delete_many": "Supprimer {count} fonctions sélectionnées",
|
||||
"timeline.edited_rolled_back": "{name} modifié, mais il est après le marqueur d'historique et n'est donc pas construit : déplacez le marqueur au-delà pour voir le résultat",
|
||||
"timeline.feature_error": "Erreur : {message}",
|
||||
"timeline.feature_hint": "Double-clic pour modifier · glisser pour réordonner · clic droit pour plus",
|
||||
"timeline.feature_rolled_back": "En retrait : après le marqueur d'historique, donc non construit",
|
||||
"timeline.feature_warning": "Avertissement : {message}",
|
||||
"timeline.group": "Nouveau dossier de fonctions",
|
||||
"timeline.move_many": "Déplacer des éléments de la chronologie",
|
||||
@@ -3247,6 +3580,10 @@
|
||||
"ui.3d_mouse_offer": "Calibrer votre souris 3D corrige les axes échangés ou inversés et règle sa vitesse et sa sensation.",
|
||||
"ui.3d_mouse_offer_never": "Ne plus afficher",
|
||||
"ui.3d_mouse_offer_swap": "Passer à Hidraw (pilote direct)",
|
||||
"ui.3d_mouse_orbit": "Orbite",
|
||||
"ui.3d_mouse_orbit_classic": "Classique",
|
||||
"ui.3d_mouse_orbit_tip": "Ciblée : la souris 3D fait tourner la vue autour de la partie du modèle située au milieu de la vue au début de la rotation, marquée par une boule discrète. Classique : autour du centre de la vue",
|
||||
"ui.3d_mouse_orbit_traced": "Ciblée",
|
||||
"ui.3d_mouse_reading": "Lecture",
|
||||
"ui.3d_mouse_reset_axes": "Réinitialiser l'attribution des axes",
|
||||
"ui.3d_mouse_reset_view": "Réinitialiser la vue",
|
||||
@@ -3631,6 +3968,7 @@
|
||||
"ui.constant": "Constant",
|
||||
"ui.constraints_conflict": "Contraintes en conflit",
|
||||
"ui.construction": "Construction",
|
||||
"ui.construction.ribbon_label": "Lignes aux.",
|
||||
"ui.context_menu": "Menu contextuel",
|
||||
"ui.continuity_g0": "G0 angle vif",
|
||||
"ui.continuity_g1": "G1 tangence",
|
||||
@@ -3722,6 +4060,14 @@
|
||||
"ui.end_scale": "Échelle finale",
|
||||
"ui.entities": "Entités",
|
||||
"ui.equal": "Égalité",
|
||||
"ui.equation_end": "Fin",
|
||||
"ui.equation_explicit": "Explicite",
|
||||
"ui.equation_form": "Forme",
|
||||
"ui.equation_note": "La variable est un simple nombre : sin(t) la prend en radians. Un résultat sans unité est dans l'unité de la conception.",
|
||||
"ui.equation_parametric": "Paramétrique",
|
||||
"ui.equation_x_of_t": "x(t)",
|
||||
"ui.equation_y_of_t": "y(t)",
|
||||
"ui.equation_y_of_x": "y(x)",
|
||||
"ui.equivalent_radius": "Rayon équivalent",
|
||||
"ui.expand": "Développer",
|
||||
"ui.exportDxf": "Exporter en DXF…",
|
||||
@@ -3787,6 +4133,7 @@
|
||||
"ui.heading_design": "DESIGN",
|
||||
"ui.heading_draft": "DÉPOUILLE",
|
||||
"ui.heading_edit": "ÉDITION",
|
||||
"ui.heading_equation_curve": "COURBE PAR ÉQUATION",
|
||||
"ui.heading_extrude": "EXTRUSION",
|
||||
"ui.heading_fillet": "CONGÉ",
|
||||
"ui.heading_finish_editing": "TERMINER LA MODIFICATION",
|
||||
@@ -3878,6 +4225,10 @@
|
||||
"ui.import_ellipsis": "Importer…",
|
||||
"ui.infinite": "Infinie",
|
||||
"ui.insert": "Insérer",
|
||||
"ui.insert_design.browse": "Parcourir…",
|
||||
"ui.insert_design.open_designs": "Conceptions ouvertes",
|
||||
"ui.insert_design.saved_file": "{name} contient des modifications non enregistrées ; c'est donc son fichier enregistré qui a été inséré. Enregistrez-le, puis utilisez Mettre à jour les liens pour intégrer les modifications.",
|
||||
"ui.insert_design.unsaved": "Modifications non enregistrées",
|
||||
"ui.inspect": "Inspecter",
|
||||
"ui.intersect": "Intersection",
|
||||
"ui.isolate": "Isoler",
|
||||
@@ -4027,6 +4378,18 @@
|
||||
"ui.project": "Projeter",
|
||||
"ui.project_face_edges_sketch": "Projeter les arêtes de la face dans les nouvelles esquisses",
|
||||
"ui.properties": "Propriétés",
|
||||
"ui.properties.copy_matrix": "Copier la matrice",
|
||||
"ui.properties.first_moments": "Moments statiques",
|
||||
"ui.properties.inertia": "Moment d'inertie",
|
||||
"ui.properties.inertia_note": "Par rapport au centre de gravité, dans les axes du monde (g·{unit}²)",
|
||||
"ui.properties.inertia_unavailable": "Non disponible : le maillage d'un corps n'est pas fermé.",
|
||||
"ui.properties.inertia_x": "Ixx, Ixy, Ixz",
|
||||
"ui.properties.inertia_y": "Iyx, Iyy, Iyz",
|
||||
"ui.properties.inertia_z": "Izx, Izy, Izz",
|
||||
"ui.properties.measuring": "Mesure en cours…",
|
||||
"ui.properties.measuring_failed": "La mesure s'est arrêtée avant la fin.",
|
||||
"ui.properties.principal_axis": "Axe principal {number}",
|
||||
"ui.properties.principal_moments": "Moments principaux",
|
||||
"ui.pull_direction": "Direction de démoulage",
|
||||
"ui.quality": "Qualité",
|
||||
"ui.quantity": "Quantité",
|
||||
@@ -4089,6 +4452,7 @@
|
||||
"ui.select": "Sélectionner",
|
||||
"ui.selectOther": "Sélectionner un autre…",
|
||||
"ui.selectTangentChain": "Sélectionner la chaîne tangente",
|
||||
"ui.select_all": "Tout sélectionner",
|
||||
"ui.selection": "Sélection",
|
||||
"ui.selection_modifiers": "Modificateurs de sélection",
|
||||
"ui.selection_shift_add_only": "Maj+clic ajoute sans retirer",
|
||||
@@ -4125,7 +4489,11 @@
|
||||
"ui.sketch": "Esquisse",
|
||||
"ui.sketch_dimension": "Cote d'esquisse",
|
||||
"ui.sketch_grid": "Grille d'esquisse",
|
||||
"ui.sketch_intersect_geometry": "Géométrie",
|
||||
"ui.sketch_intersect_projection_link": "Lien de projection",
|
||||
"ui.sketch_intersect_selection_filter": "Filtre de sélection",
|
||||
"ui.sketch_modifiers": "Modificateurs d’esquisse",
|
||||
"ui.sketch_project_geometry": "Géométrie",
|
||||
"ui.sketch_scale": "Échelle d'esquisse",
|
||||
"ui.sketches": "Esquisses",
|
||||
"ui.slice": "Trancher",
|
||||
@@ -4176,6 +4544,7 @@
|
||||
"ui.tab_manage": "Gérer",
|
||||
"ui.tab_sheet_metal": "Tôlerie",
|
||||
"ui.tab_view": "Vue",
|
||||
"ui.tab_weldments": "Mécano-soudure",
|
||||
"ui.tangent": "Tangence",
|
||||
"ui.taper_angle": "Angle de dépouille",
|
||||
"ui.tapped": "Taraudé",
|
||||
@@ -4191,6 +4560,7 @@
|
||||
"ui.tip_angle": "Angle de pointe",
|
||||
"ui.to_object": "Jusqu'à l'objet",
|
||||
"ui.tool_direction": "Direction de l'outil",
|
||||
"ui.toolbar_tabs_hidden": "Tous les onglets de la barre d'outils sont masqués. Cliquez sur + ou faites un clic droit ici pour en afficher un.",
|
||||
"ui.top": "Dessus",
|
||||
"ui.top_diameter": "Diamètre supérieur",
|
||||
"ui.top_radius": "Rayon supérieur",
|
||||
@@ -4237,6 +4607,7 @@
|
||||
"ui.visual_shaded_with_edges": "Ombré avec arêtes",
|
||||
"ui.visual_style": "Style visuel",
|
||||
"ui.visual_wireframe": "Filaire",
|
||||
"ui.wheel_zoom_speed": "Vitesse du zoom à la molette",
|
||||
"ui.width": "Largeur",
|
||||
"ui.window_system": "Système de fenêtrage",
|
||||
"ui.window_system_auto": "Automatique",
|
||||
@@ -4288,6 +4659,9 @@
|
||||
"update.prefs_label": "Mises à jour",
|
||||
"update.prefs_note": "Ceci est SolidCraft {version} ({kind}). Une vérification interroge GitHub sur la dernière version et n'envoie rien d'autre.",
|
||||
"update.prefs_web": "Rechargez la page pour obtenir la dernière version de l'application web. Si le réseau est indisponible ou si la mise à jour ne peut pas finir de se télécharger à temps, la version enregistrée s'ouvre à la place ; un téléchargement en cours se poursuit pour le prochain rechargement.",
|
||||
"update.refresh_checking": "Recherche de la dernière version…",
|
||||
"update.refresh_fallback": "Impossible de rechercher une version plus récente ; mise à jour vers {version}, trouvée plus tôt.",
|
||||
"update.refresh_selected": "Mise à jour vers {version}.",
|
||||
"update.release_page": "Ouvrir la page de la version",
|
||||
"update.restart": "Redémarrer maintenant",
|
||||
"update.restart_later": "Plus tard",
|
||||
|
||||
@@ -204,6 +204,7 @@
|
||||
"Edges": "Arestas",
|
||||
"Edit": "Editar",
|
||||
"Edit Profile Sketch": "Editar o bosquexo do perfil",
|
||||
"Edit shortcuts": "Editar os atallos",
|
||||
"Enable rule": "Activar a regra",
|
||||
"Enabled": "Activado",
|
||||
"End Radius": "Raio final",
|
||||
@@ -466,6 +467,7 @@
|
||||
"Radius": "Raio",
|
||||
"Radius Fit": "Axuste do raio",
|
||||
"Ratio": "Proporción",
|
||||
"Read-only list: shortcuts can't be changed here.": "Lista de só lectura: aquí non se poden cambiar os atallos.",
|
||||
"Reattach selected face": "Volver ancorar a cara seleccionada",
|
||||
"Recover": "Recuperar",
|
||||
"Recover unsaved design?": "Recuperar o deseño sen gardar?",
|
||||
@@ -649,6 +651,7 @@
|
||||
"Third point": "Terceiro punto",
|
||||
"This child is shared. Deleting it removes it from every copy of its parent.": "Este fillo está compartido. Eliminalo quítao de todas as copias do seu pai.",
|
||||
"This child is shared. Position changes apply to every copy of its parent.": "Este fillo está compartido. Os cambios de posición aplícanse a todas as copias do seu pai.",
|
||||
"This component is inside a subassembly placed more than once: aligning it moves it in every placement.": "Este compoñente está dentro dunha subensamblaxe colocada máis dunha vez: aliñalo móveo en todas as colocacións.",
|
||||
"This face cannot provide a durable attachment. Choose another face or explicitly use a fixed plane.": "Esta cara non pode ofrecer unha ancoraxe duradeira. Escolle outra cara ou usa expresamente un plano fixo.",
|
||||
"This image is not attached to GitHub yet. Copy or save it, then attach it on GitHub.": "Esta imaxe aínda non está anexada a GitHub. Copia ou garda a imaxe e despois anéxaa en GitHub.",
|
||||
"Thread depth": "Profundidade da rosca",
|
||||
@@ -790,6 +793,11 @@
|
||||
"cam.roller": "Rolete",
|
||||
"cam.roller_pick": "Rolete (opcional)",
|
||||
"cam.tip_pick": "Punta (opcional)",
|
||||
"camera.shot_pitch": "Cabeceo",
|
||||
"camera.shot_roll": "Balanceo",
|
||||
"camera.shot_yaw": "Guiñada",
|
||||
"canvas.decal_place_hint": "Fai clic nunha cara para colocar a calcomanía",
|
||||
"canvas.place_hint": "Fai clic nun plano ou nunha cara para colocar o lenzo",
|
||||
"choose a profile": "escolle un perfil",
|
||||
"choose the cam's and the follower's joints": "escolle as unións da leva e do seguidor",
|
||||
"choose the joints to couple": "escolle as unións que acoplar",
|
||||
@@ -797,9 +805,12 @@
|
||||
"click sketch curves": "fai clic en curvas do bosquexo",
|
||||
"cmd.appearance_assign": "Aparencia",
|
||||
"cmd.appearance_chain": "Cadea de aparencias",
|
||||
"cmd.appearance_copy": "Copiar o estilo",
|
||||
"cmd.appearance_favorite": "Estilo favorito",
|
||||
"cmd.appearance_library": "Biblioteca de aparencias",
|
||||
"cmd.appearance_list": "Listar as aparencias",
|
||||
"cmd.appearance_paint": "Pintar aparencia",
|
||||
"cmd.appearance_paste": "Pegar o estilo",
|
||||
"cmd.appearance_pick_up": "Tomar aparencia",
|
||||
"cmd.appearance_replace": "Substituír aparencia",
|
||||
"cmd.assembly_bom": "Lista de materiais",
|
||||
@@ -810,6 +821,7 @@
|
||||
"cmd.browser_move": "Mover elementos do navegador",
|
||||
"cmd.browser_order": "Ordenar elementos do navegador",
|
||||
"cmd.browser_rename_group": "Renomear o grupo",
|
||||
"cmd.browser_reparent": "Mover ao compoñente",
|
||||
"cmd.browser_ungroup": "Desagrupar",
|
||||
"cmd.browser_visibility": "Mostrar/Ocultar",
|
||||
"cmd.canvas_calibrate": "Calibrar o lenzo",
|
||||
@@ -836,7 +848,9 @@
|
||||
"cmd.component_metadata": "Propiedades da peza",
|
||||
"cmd.component_metadata_set": "Cambiar as propiedades da peza",
|
||||
"cmd.component_move_bodies": "Mover corpos ao compoñente",
|
||||
"cmd.component_move_features": "Mover operacións ao compoñente",
|
||||
"cmd.component_move_sketches": "Mover bosquexos ao compoñente",
|
||||
"cmd.component_paste_from_design": "Pegar desde outro deseño",
|
||||
"cmd.component_paste_new": "Pegar como novo",
|
||||
"cmd.component_properties": "Propiedades físicas do compoñente",
|
||||
"cmd.component_relink": "Volver ligar a orixe",
|
||||
@@ -973,6 +987,7 @@
|
||||
"cmd.motion_trace": "Traxectoria do movemento",
|
||||
"cmd.motion_trace_edit": "Editar a traxectoria do movemento",
|
||||
"cmd.motion_trace_keep": "Manter a traxectoria do movemento",
|
||||
"cmd.occurrence_align": "Aliñar a aparición",
|
||||
"cmd.occurrence_copy": "Pegar (instancia)",
|
||||
"cmd.occurrence_drag": "Arrastrar a aparición",
|
||||
"cmd.occurrence_ground": "Fixar ao chan",
|
||||
@@ -1030,11 +1045,17 @@
|
||||
"cmd.render_library_surface_unbind": "Quitar a vinculación da superficie",
|
||||
"cmd.render_library_targets": "Buscar destinos da biblioteca de render",
|
||||
"cmd.render_lights_add": "Engadir luz",
|
||||
"cmd.render_lights_duplicate": "Duplicar a luz do render",
|
||||
"cmd.render_lights_list": "Listar as luces do render",
|
||||
"cmd.render_lights_mute": "Silenciar a luz",
|
||||
"cmd.render_lights_remove": "Quitar a luz do render",
|
||||
"cmd.render_lights_set": "Definir a luz do render",
|
||||
"cmd.render_lights_solo": "Luz en solo",
|
||||
"cmd.render_optics_bind": "Gardar a vinculación óptica",
|
||||
"cmd.render_optics_unbind": "Quitar a vinculación óptica",
|
||||
"cmd.render_output_size": "Definir o tamaño de saída do render",
|
||||
"cmd.render_preflight": "Comprobar a solicitude de render",
|
||||
"cmd.render_preflight_copy": "Copiar o informe da comprobación do render",
|
||||
"cmd.render_preset_apply": "Aplicar o Studio nativo",
|
||||
"cmd.render_preset_resolve": "Revisar o Studio nativo",
|
||||
"cmd.render_quality_prepare": "Revisar o orzamento fixo de mostraxe",
|
||||
@@ -1057,6 +1078,13 @@
|
||||
"cmd.render_start": "Renderizar imaxe",
|
||||
"cmd.render_status": "Progreso do render",
|
||||
"cmd.select_clear": "Borrar a selección",
|
||||
"cmd.settings_profile_apply": "Aplicar o perfil de axustes",
|
||||
"cmd.settings_profile_delete": "Eliminar o perfil de axustes",
|
||||
"cmd.settings_profile_export": "Exportar o perfil de axustes",
|
||||
"cmd.settings_profile_import": "Importar un perfil de axustes",
|
||||
"cmd.settings_profile_list": "Perfís de axustes",
|
||||
"cmd.settings_profile_rename": "Renomear o perfil de axustes",
|
||||
"cmd.settings_profile_save": "Gardar o perfil de axustes",
|
||||
"cmd.sheet_convert": "Converter en chapa",
|
||||
"cmd.sheet_export_bend_table": "Exportar a táboa de dobras",
|
||||
"cmd.sheet_export_dxf": "Exportar o desenvolvemento como DXF",
|
||||
@@ -1070,6 +1098,16 @@
|
||||
"cmd.sheet_refold": "Volver dobrar",
|
||||
"cmd.sheet_rules": "Listar as regras de chapa",
|
||||
"cmd.sheet_unfold": "Despregar",
|
||||
"cmd.sketch.construction_line": "Recta de construción",
|
||||
"cmd.sketch.construction_line.angle": "Recta de construción con ángulo",
|
||||
"cmd.sketch.construction_line.bisector": "Bisectriz",
|
||||
"cmd.sketch.construction_line.horizontal": "Recta de construción horizontal",
|
||||
"cmd.sketch.construction_line.parallel": "Recta de construción paralela",
|
||||
"cmd.sketch.construction_line.perpendicular": "Recta de construción perpendicular",
|
||||
"cmd.sketch.construction_line.tangent_at": "Tanxente nun punto da curva",
|
||||
"cmd.sketch.construction_line.tangent_external": "Tanxente por un punto exterior",
|
||||
"cmd.sketch.construction_line.tangent_two": "Tanxente común",
|
||||
"cmd.sketch.construction_line.vertical": "Recta de construción vertical",
|
||||
"cmd.sketch_arc3d": "Arco 3D",
|
||||
"cmd.sketch_arc_center_point": "Arco por punto central",
|
||||
"cmd.sketch_arc_tangent": "Arco tanxente",
|
||||
@@ -1102,6 +1140,8 @@
|
||||
"cmd.sketch_drawing_bounds": "Tamaño do debuxo",
|
||||
"cmd.sketch_edit": "Editar o bosquexo",
|
||||
"cmd.sketch_edit_text": "Editar o texto",
|
||||
"cmd.sketch_equation_curve": "Curva de ecuación",
|
||||
"cmd.sketch_equation_curve_edit": "Editar a curva de ecuación",
|
||||
"cmd.sketch_export_dxf": "Gardar como DXF",
|
||||
"cmd.sketch_finish_auto_constrain": "Rematar con restrición automática",
|
||||
"cmd.sketch_fit_curves_to_section": "Axustar curvas a unha sección de malla",
|
||||
@@ -1198,6 +1238,7 @@
|
||||
"cmd.view.render_browser": "Navegador de render",
|
||||
"cmd.view.render_dock": "Mover o panel de render",
|
||||
"cmd.view.render_focus": "Vista de foco do render",
|
||||
"cmd.view.status_items": "Elementos de estado da ventá gráfica",
|
||||
"cmd.view_ambient_occlusion": "Oclusión ambiental",
|
||||
"cmd.view_angle_readout": "Ángulos da vista",
|
||||
"cmd.view_apply": "Restaurar a vista con nome",
|
||||
@@ -1219,6 +1260,7 @@
|
||||
"cmd.view_normal_to": "Normal á selección",
|
||||
"cmd.view_previous_tab": "Lapela anterior",
|
||||
"cmd.view_rename": "Renomear a vista con nome",
|
||||
"cmd.view_render_frame": "Guías de encadre do render",
|
||||
"cmd.view_right": "Vista dereita",
|
||||
"cmd.view_save": "Vista con nome nova",
|
||||
"cmd.view_shots_strip": "Franxa de tomas",
|
||||
@@ -1229,10 +1271,14 @@
|
||||
"color.copy": "Preme para copiar os valores da cor",
|
||||
"color.edit": "Preme para editar a cor",
|
||||
"color.gamma": "Mostrando os valores da cor no espazo gamma 0-255",
|
||||
"color.hex": "Hex",
|
||||
"color.hex_help": "Escribe #rrggbb ou #rrggbbaa; con seis díxitos consérvase a opacidade",
|
||||
"color.hex_hint": "#rrggbb",
|
||||
"color.hue": "Ton",
|
||||
"color.linear": "Mostrando os valores da cor no espazo lineal 0-1",
|
||||
"color.saturation_value": "Saturación e valor",
|
||||
"color.selected": "Cor seleccionada",
|
||||
"config.column_filter_empty": "Non hai columnas que coincidan",
|
||||
"contact.components_count": "{count} compoñentes",
|
||||
"contact.enabled_label": "activado",
|
||||
"coupling.gear_1": "Engrenaxe 1",
|
||||
@@ -1346,8 +1392,10 @@
|
||||
"help.material.assign": "Define de que material están feitos os corpos seleccionados, como aceiro, aluminio ou ABS. Úsao para que a masa e o peso coincidan coa peza real.",
|
||||
"help.mit": "Licenza MIT",
|
||||
"help.notice": "NOTICE",
|
||||
"help.occurrence.move": "Move unha peza da ensamblaxe só segundo os graos de liberdade que permiten as súas unións. Selecciona unha cara da peza e despois arrastra unha frecha ou un arco dispoñible.",
|
||||
"help.parameters.change": "Abre a táboa de valores con nome e expresións que controlan as cotas do deseño. Úsao para cambiar un tamaño nun só lugar e que o sigan todas as operacións que o usan.",
|
||||
"help.pointcloud.insert": "Insire unha dixitalización PLY, XYZ ou PTS como nube de puntos xunto ao modelo. Úsaa como referencia ao construír un modelo a partir de datos medidos.",
|
||||
"help.sketch.equation_curve": "Debuxa unha curva a partir de fórmulas: x(t) e y(t), ou y = f(x), nun intervalo. As fórmulas poden usar parámetros e a curva segue os seus cambios: úsaa para unha onda senoidal, unha espiral ou a evolvente do dente dunha engrenaxe.",
|
||||
"help.solid.align": "Move os corpos seleccionados para que un punto, cara ou plano deles coincida cun punto, cara ou plano doutro lugar. Úsao para colocar unha peza contra outra sen medir o desprazamento.",
|
||||
"help.solid.chamfer": "Corta as arestas seleccionadas cun bisel plano da distancia que indiques. Úsao para romper arestas vivas ou para facilitar a entrada dun pasador ou dun parafuso.",
|
||||
"help.solid.combine": "Une corpos, córtaos dun corpo de destino ou conserva só o volume que comparten, e pode manter os corpos ferramenta. Úsao para fusionar pezas, para cortar unha forma con outra ou para atopar onde se solapan dous corpos.",
|
||||
@@ -1474,6 +1522,21 @@
|
||||
"joint.one_component": "Estas pezas son corpos dun mesmo compoñente: {bodies}. Unha unión move un compoñente respecto doutro, así que cada peza precisa o seu propio compoñente.",
|
||||
"joint.rigid_group_one_component": "Estes {count} corpos están todos nun só compoñente (ou no propio deseño): usa primeiro {command}.",
|
||||
"joint.rigid_group_select_components": "Selecciona dous ou máis compoñentes.",
|
||||
"joint_move.blocked_hint": "Comproba o tipo de unión (como Ríxida), a fixación ao chan, os límites da unión e os valores controlados por parámetros.",
|
||||
"joint_move.blocked_title": "Non se pode mover esta peza",
|
||||
"joint_move.coarse": "Paso de rotación preto do eixe (°)",
|
||||
"joint_move.distance": "Distancia desde o inicio",
|
||||
"joint_move.done": "Feito",
|
||||
"joint_move.fine": "Paso de rotación lonxe do eixe (°)",
|
||||
"joint_move.fixed": "Esta peza non ten ningún eixe de unión móbil.",
|
||||
"joint_move.help": "Mover — arrastra unha frecha ou un anel. Esc cancela o arrastre actual.",
|
||||
"joint_move.legacy_hint": "Desactívao para usar o panel Mover anterior.",
|
||||
"joint_move.precision": "Tira cara a fóra da guía descontinua para unha rotación fina.",
|
||||
"joint_move.rotation": "Rotación desde o inicio",
|
||||
"joint_move.select": "Selecciona unha cara ou unha peza da ensamblaxe e despois escolle Mover.",
|
||||
"joint_move.settings": "Mover na ensamblaxe",
|
||||
"joint_move.step": "Paso",
|
||||
"joint_move.use_handles": "Usar asas de movemento das unións para Mover na ensamblaxe",
|
||||
"keymap.command_id": "ID do comando",
|
||||
"keymap.empty": "Non hai comandos coincidentes",
|
||||
"keymap.use_anyway": "Usar {key} aquí de todos os xeitos",
|
||||
@@ -1568,6 +1631,8 @@
|
||||
"nav.maya.help": "Alt+arrastrar co botón esquerdo orbita, Alt+botón central desprázase, Alt+botón dereito fai zoom; arrastrar co botón central tamén desprázase",
|
||||
"nav.openscad.help": "Arrastrar co botón esquerdo sobre un espazo baleiro orbita, Shift+arrastrar co botón esquerdo selecciona por caixa, arrastrar a xeometría do bosquexo edítaa; arrastrar co botón dereito ou central desprázase, Shift+arrastrar co botón dereito ou central fai zoom",
|
||||
"nav.perspective.sketch": "A edición de bosquexos usa a vista ortogonal. Remata o bosquexo para cambiar á perspectiva.",
|
||||
"nav.right_drag_orbits.help": "Desactivado: arrastrar co botón dereito non move a cámara e o botón dereito só abre o menú contextual. Escoller a asignación do rato de SolidWorks desactívao.",
|
||||
"nav.right_drag_orbits.label": "Arrastrar co botón dereito orbita",
|
||||
"nav.solidworks.help": "Arrastrar co botón central orbita, Ctrl+botón central desprázase, Shift+botón central fai zoom, arrastrar co botón dereito orbita",
|
||||
"nav.tinkercad.help": "Arrastrar co botón dereito orbita, arrastrar co botón central ou Shift+botón dereito desprázase",
|
||||
"nav.touchpad.help": "Mantén Maiús e move o punteiro para desprazar; mantén Alt/Opción e móveo para orbitar. Non fai falta ningún botón do rato. O desprazamento vertical fai zoom.",
|
||||
@@ -1589,6 +1654,9 @@
|
||||
"navbar.custom.customise": "Personalizar a barra de navegación…",
|
||||
"navbar.custom.design": "Deseño",
|
||||
"navbar.custom.duplicate": "Este elemento xa está na barra.",
|
||||
"navbar.custom.edge": "Bordo",
|
||||
"navbar.custom.edge_bottom": "Inferior",
|
||||
"navbar.custom.edge_top": "Superior",
|
||||
"navbar.custom.fade": "Esvaecer",
|
||||
"navbar.custom.full": "Quita un elemento para engadir outro.",
|
||||
"navbar.custom.hidden_design": "Oculto en Deseño",
|
||||
@@ -1695,6 +1763,7 @@
|
||||
"parts.dimension.thickness": "Espesor",
|
||||
"parts.dimension.width": "Largura",
|
||||
"parts.family.bearing": "Rodamento rígido de bólas (envolvente)",
|
||||
"parts.family.button_head_cap_screw": "Parafuso de cabeza abombada con hexágono interior",
|
||||
"parts.family.dowel_pin": "Pasador paralelo (espiga)",
|
||||
"parts.family.hex_bolt": "Parafuso / perno de cabeza hexagonal",
|
||||
"parts.family.hex_nut": "Porca hexagonal",
|
||||
@@ -1751,6 +1820,9 @@
|
||||
"prefs.bottom_centre": "Inferior centro",
|
||||
"prefs.bottom_right": "Inferior dereita",
|
||||
"prefs.browser": "Navegador",
|
||||
"prefs.browser_reveal_on_hover": "Mostrar ao pasar o punteiro",
|
||||
"prefs.browser_show_note": "Visible mantén o navegador na pantalla. Con Mostrar ao pasar o punteiro, queda oculto ata que o punteiro pasa polo seu lugar ou pola lapela estreita do seu bordo esquerdo, e segue aberto mentres o punteiro está dentro del ou hai aberto un menú del.",
|
||||
"prefs.browser_shown": "Visible",
|
||||
"prefs.built_in": "Integrado",
|
||||
"prefs.button_left": "Arrastrar co botón esquerdo",
|
||||
"prefs.button_middle": "Arrastrar co botón central",
|
||||
@@ -1821,6 +1893,8 @@
|
||||
"prefs.layout_note": "Compacta acopla os paneis aos bordos da xanela. A translucidez do navegador está dispoñible en Flotante. Cambia o lado do Asistente na páxina do Asistente.",
|
||||
"prefs.left": "Esquerda",
|
||||
"prefs.left_click": "Clic esquerdo",
|
||||
"prefs.line_drag_draws_one": "Premer e arrastrar debuxa unha liña",
|
||||
"prefs.line_drag_draws_one_note": "Na ferramenta Liña, premer, arrastrar e soltar debuxa unha liña desde onde se preme ata onde se solta, e remata alí. Os clics seguen debuxando unha cadea. Desactivado: un arrastre coloca un punto onde se solta, como fai un clic.",
|
||||
"prefs.linked_designs": "Deseños ligados",
|
||||
"prefs.live_input": "Entrada en directo",
|
||||
"prefs.live_preview": "Vista previa en directo",
|
||||
@@ -1853,14 +1927,36 @@
|
||||
"prefs.origin_plane_names": "Nomes dos planos de orixe",
|
||||
"prefs.origin_plane_names_note": "Nomes que se mostran no navegador, nos diálogos e nas listas. {top} é XY, {front} é XZ e {right} é YZ, co eixe Z cara arriba. Os comandos, os scripts e os deseños gardados manteñen XY, XZ e YZ.",
|
||||
"prefs.overall_speed": "Velocidade xeral",
|
||||
"prefs.perspective_fov": "Campo de visión",
|
||||
"prefs.placement": "Colocación",
|
||||
"prefs.prefer_free_sketch_points": "Preferir os puntos de bosquexo móbiles cando os puntos se solapan",
|
||||
"prefs.preview_choices": "Vista previa das túas opcións",
|
||||
"prefs.profile_active": "Perfil activo",
|
||||
"prefs.profile_applied": "Perfil aplicado.",
|
||||
"prefs.profile_changed": "Os axustes cambiaron desde que se gardou o perfil. Gardar consérvaos nel.",
|
||||
"prefs.profile_deleted": "Perfil eliminado.",
|
||||
"prefs.profile_export": "Exportar…",
|
||||
"prefs.profile_exported": "Perfil exportado.",
|
||||
"prefs.profile_imported": "Perfil importado. Escólleo en Perfil activo para cambiar a el.",
|
||||
"prefs.profile_name_hint": "Nome do perfil, p. ex. Portátil",
|
||||
"prefs.profile_rename": "Renomear",
|
||||
"prefs.profile_renamed": "Perfil renomeado.",
|
||||
"prefs.profile_save": "Gardar",
|
||||
"prefs.profile_saved": "Gardáronse os axustes actuais no perfil.",
|
||||
"prefs.profile_skipped": "Perfil aplicado; {n} axuste(s) conservaron o seu valor actual (consulta o rexistro).",
|
||||
"prefs.profiles": "Perfís de axustes",
|
||||
"prefs.profiles_note": "Os atallos, a barra de ferramentas, a navegación, o menú radial e os axustes da interface, gardados xuntos baixo un nome e cambiados dunha vez.",
|
||||
"prefs.project_options_dialog": "Diálogo de opcións de Proxectar",
|
||||
"prefs.project_options_dialog_note": "Activado: escolle Xeometría ou Corpos e Ligazón de proxección antes de proxectar. Desactivado: mantén o fluxo de traballo anterior de selección directa.",
|
||||
"prefs.quality_default": "predeterminado",
|
||||
"prefs.quality_fastest": "máis rápido",
|
||||
"prefs.quality_slowest": "máis lento",
|
||||
"prefs.quality_smoother": "máis suave",
|
||||
"prefs.render_previous_geometry_budget": "Usar o orzamento de xeometría anterior da vista previa de Render",
|
||||
"prefs.render_previous_geometry_budget_help": "Restaura o límite fixo de xeometría anterior (512 MiB en escritorio de 64 bits, 128 MiB noutros casos) en lugar do orzamento baseado no dispositivo.",
|
||||
"prefs.reports_saved": "{n} gardados",
|
||||
"prefs.ribbon_reveal": "Mostrar os resultados da busca na cinta",
|
||||
"prefs.ribbon_reveal_note": "Ao pasar o punteiro sobre un resultado en Buscar ordes, móstrase onde está a orde na cinta: a súa lapela, o seu botón ou a súa fila no despregable dun panel. Unha orde iniciada desde a busca escintila alí, e unha orde en execución desde un despregable marca o seu panel.",
|
||||
"prefs.right_click": "Clic dereito",
|
||||
"prefs.saving": "Gardado automático e recuperación",
|
||||
"prefs.scale_note": "Tamén Ctrl + / Ctrl − na xanela. Os botóns miden 28 px ao 100%.",
|
||||
@@ -1874,6 +1970,10 @@
|
||||
"prefs.shift_add_ctrl_toggle": "Shift só engade; Ctrl / Cmd alterna",
|
||||
"prefs.shift_add_note": "Activado: Shift engade, Ctrl / Cmd alterna. Desactivado (predeterminado): ambos alternan.",
|
||||
"prefs.shortcuts": "Atallos",
|
||||
"prefs.single_surface_analysis": "Usar unha única análise de superficie",
|
||||
"prefs.single_surface_analysis_help": "Cando está desactivado, o sombreado de superficie e Continuidade poden estar activos á vez. Ao activalo, mantense a última análise iniciada ou cambiada.",
|
||||
"prefs.sketch_align_points": "Aliñar con outros puntos do bosquexo ao debuxar",
|
||||
"prefs.sketch_align_points_note": "Ao debuxar, un punto alíñase en horizontal cun punto do bosquexo e en vertical con outro á vez, cunha guía punteada, e o clic conserva os dous aliñamentos. Desactivado: só co punto anterior, un eixe de cada vez.",
|
||||
"prefs.sketch_conflict_colour": "Xeometría en conflito na cor de conflito",
|
||||
"prefs.sketch_conflict_colour_note": "Mentres as restricións dun bosquexo están en conflito, as curvas e os puntos que suxeita unha restrición que falla tamén se debuxan na cor de conflito, non só o seu símbolo ou a súa cota. Desactivado: manteñen as súas cores habituais.",
|
||||
"prefs.sketch_exit_view": "Ao rematar un bosquexo",
|
||||
@@ -1881,6 +1981,8 @@
|
||||
"prefs.sketch_exit_view.previous": "Volver á vista anterior",
|
||||
"prefs.sketch_exit_view.unless_rotated": "Volver, salvo que se xirase",
|
||||
"prefs.sketch_exit_view_note": "A onde vai a vista despois de Finalizar o bosquexo, Cancelar ou un dobre Esc.",
|
||||
"prefs.sketch_recent_snap": "Axustar automaticamente aos centros e puntos medios recentes",
|
||||
"prefs.sketch_recent_snap_note": "Ao debuxar, o cursor axústase onde se cruzan as guías dos dous últimos centros de círculo ou puntos medios de liña recta. Desactivado: esas guías só se mostran e o cursor non se move.",
|
||||
"prefs.sketch_selection": "Bosquexo e selección",
|
||||
"prefs.sketch_selection_heading": "Bosquexo e selección",
|
||||
"prefs.sketch_selection_note": "Como se axustan os bosquexos e como seleccionan os clics.",
|
||||
@@ -1918,7 +2020,14 @@
|
||||
"prefs.toast_place": "Avisos",
|
||||
"prefs.toggle_item": "Engade o elemento ou quítao de novo",
|
||||
"prefs.toolbar": "Barra de ferramentas",
|
||||
"prefs.toolbar_tabs": "Lapelas da barra de ferramentas",
|
||||
"prefs.top": "Superior",
|
||||
"prefs.trackpad_zoom_modifier": "Zoom co desprazamento con dous dedos mantendo premida a tecla",
|
||||
"prefs.trackpad_zoom_modifier.alt": "⌥ / Alt",
|
||||
"prefs.trackpad_zoom_modifier.cmd": "⌘",
|
||||
"prefs.trackpad_zoom_modifier.ctrl": "Ctrl",
|
||||
"prefs.trackpad_zoom_modifier.help": "Mantén premida só esta tecla para facer zoom no punteiro co desprazamento vertical. Desactivado mantén o comportamento actual do desprazamento.",
|
||||
"prefs.trackpad_zoom_modifier.off": "Desactivado",
|
||||
"prefs.translucent": "Translúcido",
|
||||
"prefs.under_browser": "Baixo o navegador",
|
||||
"prefs.under_cursor": "Baixo o cursor",
|
||||
@@ -1928,9 +2037,14 @@
|
||||
"prefs.view_confirm_corner": "Aceptar e Cancelar na esquina da vista",
|
||||
"prefs.view_confirm_corner_note": "Mentres hai un diálogo ou un bosquexo aberto, unha marca de verificación e unha cruz na parte superior dereita da vista fan o mesmo que Aceptar e Cancelar do diálogo, ou finalizan e cancelan o bosquexo. O navegador da vista desprázase cara abaixo, debaixo delas.",
|
||||
"prefs.viewport": "Ventá gráfica",
|
||||
"prefs.viewport_background": "Fondo",
|
||||
"prefs.viewport_background_colour": "Cor",
|
||||
"prefs.viewport_background_theme": "Degradado do tema",
|
||||
"prefs.wheel": "Roda",
|
||||
"prefs.wheel_trackpad": "Roda e panel táctil",
|
||||
"prefs.workspace": "Espazo de traballo",
|
||||
"prefs.zoom_stop_at_model": "Deter o zoom no modelo",
|
||||
"prefs.zoom_stop_at_model_tip": "O rato 3D e a aplicación do dispositivo fan zoom cara á superficie do medio da vista; o zoom por arrastre mantén o punto onde comezou o arrastre. Desactivado: o zoom pode atravesar o modelo. A roda e a pinza usan Zoom cara ao cursor por separado",
|
||||
"prefs.zoom_toward_cursor": "Zoom cara ao cursor",
|
||||
"properties.title": "Propiedades: {name}",
|
||||
"recovery.days_ago": "hai {count} días",
|
||||
@@ -2019,6 +2133,7 @@
|
||||
"render.appearance_editor.weight": "Peso",
|
||||
"render.appearance_physics_separate": "A aparencia visual non asigna densidade, datos térmicos nin outras propiedades de enxeñaría.",
|
||||
"render.appearances": "Aparencias",
|
||||
"render.assign_help": "Fai clic para aplicar á selección; arrastra para previsualizar e solta, ou fai clic sen nada seleccionado para pintar.",
|
||||
"render.availability_native": "Composición nativa; revísaa antes de aplicar",
|
||||
"render.availability_projection": "Proxección admitida; consulta o alcance e as omisións",
|
||||
"render.availability_reference": "Datos de referencia; non é unha asignación automática",
|
||||
@@ -2057,6 +2172,7 @@
|
||||
"render.bloom_threshold": "Limiar de realce lineal",
|
||||
"render.browse_capabilities": "Inspeccionar o catálogo completo de capacidades",
|
||||
"render.browse_environments": "Explorar contornos HDR orixinais",
|
||||
"render.browse_looks": "Explorar…",
|
||||
"render.browse_native_scenes": "Explorar estudios nativos",
|
||||
"render.browse_physical": "Inspeccionar referencias físicas",
|
||||
"render.browse_quality": "Inspeccionar especificacións de calidade",
|
||||
@@ -2080,6 +2196,82 @@
|
||||
"render.check_opaque": "Transparencia: só superficies opacas; admítese o alfa do fondo.",
|
||||
"render.check_sorted_alpha": "Transparencia: aproximación alfa ordenada.",
|
||||
"render.check_transmission": "Transparencia: transmisión física.",
|
||||
"render.children.absolute_floor": "Límite inferior absoluto",
|
||||
"render.children.adaptive": "Adaptativa",
|
||||
"render.children.add_look_reason": "Engade un estilo para editar o seu estado de activación e a súa intensidade.",
|
||||
"render.children.all_shots": "Todas as tomas",
|
||||
"render.children.bloom": "Resplandor",
|
||||
"render.children.check": "Comprobar",
|
||||
"render.children.check_now": "Comprobar agora",
|
||||
"render.children.chromatic": "Cromático",
|
||||
"render.children.compact": "Compacto",
|
||||
"render.children.contrast": "Contraste",
|
||||
"render.children.copy_image": "Copiar",
|
||||
"render.children.copy_job": "Copiar o JSON do traballo",
|
||||
"render.children.copy_request": "Copiar o JSON da solicitude",
|
||||
"render.children.coverage_error": "Erro de cobertura",
|
||||
"render.children.cpu": "Trazado de raios na CPU",
|
||||
"render.children.denoise": "Reducir o ruído na imaxe final",
|
||||
"render.children.depth": "Profundidade de camiño",
|
||||
"render.children.distortion": "Distorsión",
|
||||
"render.children.edge_samples": "Mostras de bordo",
|
||||
"render.children.effects_banner": "Estes efectos necesitan trazado de camiños na GPU. Abrir isto nunca cambia o método.",
|
||||
"render.children.enable_adaptive": "Activa os pilotos independentes para editar os límites adaptativos.",
|
||||
"render.children.enable_bloom": "Activa o resplandor para editar a súa intensidade, o limiar e o raio.",
|
||||
"render.children.finishing": "Acabado",
|
||||
"render.children.flare": "Destello",
|
||||
"render.children.fresnel": "Estratos de Fresnel",
|
||||
"render.children.ghosts": "Aneis fantasma",
|
||||
"render.children.glass": "Transporte no vidro",
|
||||
"render.children.go_to": "Ir a {editor}",
|
||||
"render.children.grain": "Gran",
|
||||
"render.children.halo": "Halo",
|
||||
"render.children.hdr": "HDR",
|
||||
"render.children.keep_master": "Conservar o máster lineal en bruto",
|
||||
"render.children.last_result": "Último: {number} · {width} × {height} · {phase}",
|
||||
"render.children.lens_effects": "Efectos de lente",
|
||||
"render.children.look_summary": "{tone} · {count} estilos",
|
||||
"render.children.looks": "Estilos creativos",
|
||||
"render.children.memory": "Memoria",
|
||||
"render.children.method": "Método",
|
||||
"render.children.minimum": "Mínimo",
|
||||
"render.children.needs_cpu": "Necesita trazado de raios na CPU. Abrir isto nunca cambia o método.",
|
||||
"render.children.nested": "Dieléctricos aniñados certificados",
|
||||
"render.children.not_checked": "Sen comprobar",
|
||||
"render.children.path": "Trazado de camiños",
|
||||
"render.children.pilots": "Mostras piloto",
|
||||
"render.children.preview": "Datos da vista previa",
|
||||
"render.children.progressive_reason": "Escolle Progresivo para editar o seu número de mostras e a semente.",
|
||||
"render.children.radius": "Raio",
|
||||
"render.children.reflect_depth": "Profundidade de reflexión",
|
||||
"render.children.reflect_samples": "Mostras de reflexión",
|
||||
"render.children.regrade": "Recorrección de cor",
|
||||
"render.children.relative_error": "Erro relativo",
|
||||
"render.children.render": "Renderizado",
|
||||
"render.children.render_shot": "Renderizar a toma",
|
||||
"render.children.renderer": "Motor de render",
|
||||
"render.children.renderers": "Motores de render",
|
||||
"render.children.request": "Esta solicitude",
|
||||
"render.children.reset_finishing": "Restablecer o acabado",
|
||||
"render.children.review_quality": "Revisar unha especificación de calidade…",
|
||||
"render.children.rgb_gain": "Ganancia RGB",
|
||||
"render.children.samples": "Mostras",
|
||||
"render.children.sampling": "Mostraxe",
|
||||
"render.children.saturation": "Saturación",
|
||||
"render.children.scene_summary": "{bodies} corpos · {triangles} triángulos",
|
||||
"render.children.seed": "Semente",
|
||||
"render.children.sharpening": "Enfoque",
|
||||
"render.children.single_image": "Imaxe única",
|
||||
"render.children.soft_focus": "Enfoque suave",
|
||||
"render.children.streak": "Raia",
|
||||
"render.children.strength": "Intensidade",
|
||||
"render.children.studio": "Studio",
|
||||
"render.children.threshold": "Limiar",
|
||||
"render.children.tone": "Ton",
|
||||
"render.children.under_hood": "Detalles internos",
|
||||
"render.children.vignette": "Viñeta",
|
||||
"render.children.workstation": "Estación de traballo",
|
||||
"render.choose_look": "Escolle primeiro un estilo en Aparencias",
|
||||
"render.chromatic_offset": "Desprazamento cromático dos bordos",
|
||||
"render.clear_stage": "Quitar o escenario gardado",
|
||||
"render.copy_request": "Copiar JSON",
|
||||
@@ -2331,8 +2523,33 @@
|
||||
"render.flare_strength": "Intensidade do destello dos realces",
|
||||
"render.flare_threshold": "Limiar do destello lineal da escena",
|
||||
"render.fold_browser": "Contraer o navegador",
|
||||
"render.frame_aspect": "Proporción",
|
||||
"render.frame_centre_mark": "Marca central",
|
||||
"render.frame_copy_limit": "Non hai ningún nome dispoñible para a toma duplicada",
|
||||
"render.frame_copy_name": "{name} copia {number}",
|
||||
"render.frame_custom": "Personalizada",
|
||||
"render.frame_distance_unit": " × tamaño",
|
||||
"render.frame_duplicate": "Duplicar",
|
||||
"render.frame_exposure": "Exposición",
|
||||
"render.frame_fov": "Campo de visión",
|
||||
"render.frame_guides": "Guías",
|
||||
"render.frame_invalid_aspect": "Axuste predefinido de proporción non válido",
|
||||
"render.frame_lens": "FOV {fov}° · ≈ {mm} mm",
|
||||
"render.frame_name": "Nome",
|
||||
"render.frame_output_size": "Tamaño de saída",
|
||||
"render.frame_photo": "3:2 · Foto",
|
||||
"render.frame_portrait": "4:5 · Retrato",
|
||||
"render.frame_presets": "Axustes predefinidos de encadre",
|
||||
"render.frame_presets_pending": "Chegará co editor de Tomas",
|
||||
"render.frame_projection": "Proxección",
|
||||
"render.frame_render_shot": "Renderizar esta toma",
|
||||
"render.frame_rule_thirds": "Regra dos terzos",
|
||||
"render.frame_safe_area": "Área segura",
|
||||
"render.frame_shot_title": "Toma · {name}",
|
||||
"render.frame_square": "1:1 · Cadrado",
|
||||
"render.frame_tall": "9:16 · Vertical",
|
||||
"render.frame_thirds": "Terzos",
|
||||
"render.frame_wide": "16:9 · Panorámico",
|
||||
"render.gpu_depth": "Profundidade máxima de traxectoria",
|
||||
"render.gpu_options_help": "As mostras, a profundidade, a semente e a exposición gárdanse con esta configuración. Só se garda o método de imaxe activo.",
|
||||
"render.gpu_path_failed": "Trazador de traxectorias na GPU non dispoñible",
|
||||
@@ -2360,6 +2577,7 @@
|
||||
"render.heading_results": "RESULTADOS",
|
||||
"render.heading_shots": "TOMAS",
|
||||
"render.hide_shots_label": "Ocultar a franxa de tomas",
|
||||
"render.hover_look": "{object} · {look} · fai clic para seleccionar",
|
||||
"render.image_advanced": "Controis avanzados da GPU",
|
||||
"render.image_cancelled": "Render cancelado",
|
||||
"render.image_cancelling": "Cancelando",
|
||||
@@ -2506,17 +2724,95 @@
|
||||
"render.library_uniform_ack": "Usar a aproximación uniforme sen efectos espaciais nin avanzados",
|
||||
"render.library_usable": "Proxeccións executables",
|
||||
"render.library_users": "Usado por",
|
||||
"render.light_aim": "Apuntar a",
|
||||
"render.light_anchor_pending": "Aínda non se admite cambiar o sistema de coordenadas da luz.",
|
||||
"render.light_azimuth": "Acimut",
|
||||
"render.light_backend_limit": "Escolle o trazado de raios na CPU ou unha iluminación de estudio explícita na GPU para editar as luces. As luces de estudio antigas da GPU seguen sendo só de lectura.",
|
||||
"render.light_behaviour": "COMPORTAMENTO",
|
||||
"render.light_default_fill": "Recheo",
|
||||
"render.light_default_key": "Principal",
|
||||
"render.light_default_number": "Luz {number}",
|
||||
"render.light_default_rim": "Contraluz",
|
||||
"render.light_delete": "Eliminar",
|
||||
"render.light_distance": "Distancia",
|
||||
"render.light_duplicate": "Duplicar",
|
||||
"render.light_elevation": "Elevación",
|
||||
"render.light_gpu_punctual": "As luces puntuais e de foco están dispoñibles co trazado de raios na CPU.",
|
||||
"render.light_hard_shadow": "Esta luz ten sombras duras; a suavidade do emisor non está dispoñible.",
|
||||
"render.light_intensity": "Intensidade",
|
||||
"render.light_missing": "Esta luz xa non existe. Selecciona unha luz no navegador.",
|
||||
"render.light_place_highlight": "Colocar polo realce",
|
||||
"render.light_place_pending": "A colocación polo realce necesita escoller luces na ventá gráfica e aínda non se admite.",
|
||||
"render.light_position": "POSICIÓN",
|
||||
"render.light_preview_help": "A vista en directo non ten sombras; as luces de área usan unha aproximación cunha mostra no centro. O render usa o modelo de luz completo.",
|
||||
"render.light_product_centre": "Centro do produto",
|
||||
"render.light_size": "Tamaño",
|
||||
"render.light_softness": "Suavidade",
|
||||
"render.light_temperature": "Temperatura de cor",
|
||||
"render.light_temperature_help": "Ton aproximado de corpo negro; gárdase como RGB lineal.",
|
||||
"render.light_type": "Tipo",
|
||||
"render.light_type_area": "Área",
|
||||
"render.light_type_point": "Puntual",
|
||||
"render.light_type_spot": "Foco",
|
||||
"render.light_type_sun": "Sol",
|
||||
"render.light_view_only": "O solo e o silenciamento afectan a esta vista e aos seus renders; nunca se gardan no deseño.",
|
||||
"render.light_world_origin": "Orixe do mundo",
|
||||
"render.lighting_aim_point": "Punto de mira",
|
||||
"render.lighting_apply": "Aplicar o axuste predefinido",
|
||||
"render.lighting_area_samples": "Mostras de área",
|
||||
"render.lighting_budget": "Orzamento",
|
||||
"render.lighting_budget_help": "As cantidades son só de lectura. Engade, duplica ou elimina luces para cambialas; o método define os límites.",
|
||||
"render.lighting_colour": "Cor",
|
||||
"render.lighting_consent": "Substituír as luces direccionais por este axuste predefinido",
|
||||
"render.lighting_custom": "Luces personalizadas",
|
||||
"render.lighting_custom_help": "Ao escoller Luces personalizadas, o axuste predefinido convértese en luces editables, cada unha nunha fila da árbore.",
|
||||
"render.lighting_direction": "Dirección X Y Z",
|
||||
"render.lighting_direction_help": "Ou escribe unha dirección cara á luz (X Y Z).",
|
||||
"render.lighting_distance_unit": " × tamaño",
|
||||
"render.lighting_edge_u": "Vector do lado U",
|
||||
"render.lighting_edge_v": "Vector do lado V",
|
||||
"render.lighting_falloff": "Atenuación",
|
||||
"render.lighting_falloff_help": "A intensidade indícase á distancia de referencia.",
|
||||
"render.lighting_height": "Altura V",
|
||||
"render.lighting_minimum": "Mínima",
|
||||
"render.lighting_mute": "Silenciar esta luz",
|
||||
"render.lighting_point": "Punto",
|
||||
"render.lighting_preset": "Axuste predefinido de estudio",
|
||||
"render.lighting_preset_cpu": "Os axustes predefinidos de estudio direccionais requiren trazado de raios na CPU. A iluminación da GPU usa luces explícitas de tipo Sol e Área.",
|
||||
"render.lighting_preset_row": "Axuste predefinido",
|
||||
"render.lighting_radiance": "Radiancia",
|
||||
"render.lighting_reference": "Referencia",
|
||||
"render.lighting_review_help": "Substitúe a lista de luces direccionais. Mantén as luces puntuais e de área, a contorna, as sombras, a cámara e todos os demais axustes da toma.",
|
||||
"render.lighting_review_title": "Revisar o axuste predefinido de iluminación",
|
||||
"render.lighting_samples_cpu": "As mostras de luz de área aplícanse ao trazado de raios na CPU.",
|
||||
"render.lighting_samples_need_area": "Engade unha luz de área da CPU para definir as mostras de área.",
|
||||
"render.lighting_samples_reason": "As mostras de área deben ser 1, 4, 16 ou 64.",
|
||||
"render.lighting_shadow_cpu": "O interruptor de sombras require trazado de raios na CPU. O trazado de camiños na GPU sempre proxecta sombras.",
|
||||
"render.lighting_shadows": "Proxectar sombras",
|
||||
"render.lighting_shadows_section": "Sombras e mostraxe",
|
||||
"render.lighting_shape": "Forma",
|
||||
"render.lighting_solo": "Pór esta luz en solo",
|
||||
"render.lighting_source": "Fonte",
|
||||
"render.lighting_source_section": "Fonte de luz",
|
||||
"render.lighting_spot_preserved": "Esta luz puntual conserva o seu cono de foco gardado ata que se cambie o seu tipo.",
|
||||
"render.lighting_sun_distance": "A dirección do sol non depende da distancia nin do punto de mira.",
|
||||
"render.lighting_unsupported": "non admitido",
|
||||
"render.lighting_used": "{used} de {limit}",
|
||||
"render.lighting_width": "Largura U",
|
||||
"render.lighting_world_position": "Mundo X Y Z",
|
||||
"render.lights_fixed_to": "Luces fixadas a",
|
||||
"render.linear_help": "Conserva un máster RGBA de coma flotante de 32 bits antes da eliminación de ruído, a exposición, o mapeado tonal, os filtros e o telón de fondo. sRGB lineal/D65; premultiplicado pola cobertura. A memoria adicional admítese de forma explícita. Sen compresión nin pasadas adicionais.",
|
||||
"render.linear_retain": "Conservar o EXR lineal en bruto",
|
||||
"render.linear_unavailable": "O fotograma completado seleccionado non ten ningún EXR conservado. Activa a conservación antes de renderizar; un PNG anterior non pode recuperar a radiancia en bruto.",
|
||||
"render.look_add": "Engadir estilo de cor",
|
||||
"render.look_applied": "Aplicouse {name}",
|
||||
"render.look_bleach": "Inspirado no bleach bypass",
|
||||
"render.look_cool": "Fría",
|
||||
"render.look_cyanotype": "Inspirado na cianotipia",
|
||||
"render.look_faded": "Copia desvaída",
|
||||
"render.look_material": "Material",
|
||||
"render.look_mono": "Monocromo",
|
||||
"render.look_pasted": "Estilo pegado",
|
||||
"render.look_sepia": "Sepia",
|
||||
"render.look_strength": "Intensidade do estilo",
|
||||
"render.look_teal_orange": "Verde azulado / laranxa",
|
||||
@@ -2592,9 +2888,11 @@
|
||||
"render.output_advanced": "Avanzado",
|
||||
"render.output_backend_ready": "Listo",
|
||||
"render.output_check": "Comprobar",
|
||||
"render.output_check_failed": "Comprobar · erro",
|
||||
"render.output_check_help": "Executa Comprobar para revisar esta solicitude sen iniciar un render.",
|
||||
"render.output_check_summary": "Comprobar · Notas: {count}",
|
||||
"render.output_copy": "Copiar",
|
||||
"render.output_copy_report": "Copiar o informe",
|
||||
"render.output_destination": "Destino",
|
||||
"render.output_destination_help": "Escolle o ficheiro de destino ao exportar a imaxe completada.",
|
||||
"render.output_dimensions": "Tamaño",
|
||||
@@ -2604,6 +2902,7 @@
|
||||
"render.output_fit": "Axustar",
|
||||
"render.output_format": "Formato",
|
||||
"render.output_format_status": "O PNG é a imaxe de visualización completada exacta. O EXR opcional da GPU conserva a radiancia FLOAT32 lineal da escena en bruto antes dos filtros de visualización. A exportación nunca substitúe a caché da vista previa nin un traballo diferente.",
|
||||
"render.output_grading": "Corrección de cor",
|
||||
"render.output_image": "Imaxe",
|
||||
"render.output_largest": "{width} × {height} máx.",
|
||||
"render.output_lock_ratio": "Bloquear a proporción de aspecto",
|
||||
@@ -2613,6 +2912,8 @@
|
||||
"render.output_quality_waiting": "agardando polo contrato de calidade",
|
||||
"render.output_ratio_refused": "A dimensión ligada supera o límite de tamaño deste método. Consérvase o tamaño anterior; desbloquea a proporción ou escolle un valor menor.",
|
||||
"render.output_ready": "Listo para renderizar",
|
||||
"render.output_run_check": "Executar a comprobación",
|
||||
"render.output_size_limit": "{method}: ata {dimension} px por lado e {pixels} píxeles. Tamaño máximo que cabe: {width} × {height}.",
|
||||
"render.output_size_ok": "Tamaño correcto · {width} × {height} px",
|
||||
"render.output_swap_orientation": "Intercambiar largura e altura",
|
||||
"render.output_tools_inspector": "Edita o tamaño e o formato no inspector de Saída.",
|
||||
@@ -2629,6 +2930,7 @@
|
||||
"render.page_output": "Saída",
|
||||
"render.page_scene": "Escena",
|
||||
"render.paint_label": "Pintura",
|
||||
"render.painting_with": "Pintando con {name}",
|
||||
"render.passive_stage": "Chan e escenario pasivo",
|
||||
"render.passive_stage_help": "Os paneis pasivos finitos pertencen só ás imaxes renderizadas. Non engaden corpos CAD nin masa. A colocación queda fixada despois de aplicar; rexéitanse os paneis que intersequen cos límites do produto. A CPU non ofrece iluminación de rebote difusa.",
|
||||
"render.perspective": "Cámara en perspectiva",
|
||||
@@ -2650,6 +2952,7 @@
|
||||
"render.pick_help": "Escolle Corpo, Cara ou Compoñente. Fai clic no espazo baleiro para borrar a escolla; Shift ou Ctrl engade ou alterna. Os realces só aparecen na vista de produto en directo.",
|
||||
"render.pick_label": "Escoller",
|
||||
"render.pick_up_label": "Coller",
|
||||
"render.pick_up_prompt": "Fai clic nun obxecto para coller o seu estilo",
|
||||
"render.pick_waiting": "A escolla de produto aínda non é compatible.",
|
||||
"render.post_contrast": "Contraste",
|
||||
"render.post_gain_b": "Ganancia do azul",
|
||||
@@ -2689,13 +2992,17 @@
|
||||
"render.radial_distortion": "Distorsión radial",
|
||||
"render.radial_fit": "Encadrar o produto",
|
||||
"render.radial_save": "Gardar toma",
|
||||
"render.recent_looks": "Estilos recentes",
|
||||
"render.regrade_action": "Corrixir a cor de novo do máster en bruto (sen eliminación de ruído)",
|
||||
"render.regrade_help": "Crea un PNG separado a partir do máster en bruto completado que está seleccionado, usando estes controis de presentación. Non traza raios, non cambia o tamaño, a cámara nin as luces capturados e non sobrescribe o EXR. A eliminación de ruído non se volve aplicar: os másters en bruto non conservan as súas guías. O derivado segue sendo exportable cos mesmos controis da tarefa.",
|
||||
"render.regrade_label": "Recorrección de cor",
|
||||
"render.reload_settings": "Volver cargar os axustes gardados",
|
||||
"render.remove_override": "Quitar a anulación",
|
||||
"render.replace_all": "Substituír todo",
|
||||
"render.replace_ground": "Confirmar a substitución do escenario existente",
|
||||
"render.replace_label": "Substituír",
|
||||
"render.replace_saved_surface": "Substituír unha vinculación gardada existente para este destino",
|
||||
"render.replace_with": "Substituír por",
|
||||
"render.restore_camera": "Restaurar a cámara gardada",
|
||||
"render.result_actual": "100%",
|
||||
"render.result_actual_help": "Un píxel da imaxe por píxel da pantalla.",
|
||||
@@ -2747,14 +3054,28 @@
|
||||
"render.saved_surface_remove": "Quitar a vinculación gardada",
|
||||
"render.saved_surfaces": "Vinculacións de superficie gardadas",
|
||||
"render.saved_surfaces_help": "Os mapas integrados fixados seguen a instancia seleccionada en milímetros locais. Un destino substituído ou que falta é un erro, nunca unha reasignación automática.",
|
||||
"render.scene_all_shots": "Todas as tomas ({count})",
|
||||
"render.scene_apply": "Aplicar o Studio revisado",
|
||||
"render.scene_batch_reason": "Todas as tomas necesita a cola de renderizado das tomas gardadas, que aínda non está dispoñible.",
|
||||
"render.scene_check_now": "Comprobar agora",
|
||||
"render.scene_check_passed": "Comprobación superada · {notes} notas",
|
||||
"render.scene_check_stale": "Comprobación desactualizada · comproba de novo",
|
||||
"render.scene_check_unchecked": "Aínda sen comprobar · 0 notas",
|
||||
"render.scene_consent": "Confirmar a substitución da iluminación, o contorno, a exposición e o escenario",
|
||||
"render.scene_light_summary": "{environment} · {lights} luces",
|
||||
"render.scene_look_summary": "{looks} estilos · {overrides} anulacións",
|
||||
"render.scene_open_check": "Abrir Comprobar",
|
||||
"render.scene_preserved_fields": "Consérvanse a cámara, a mostraxe, as dimensións, as vinculacións ópticas, a xeometría CAD e os materiais de enxeñaría.",
|
||||
"render.scene_preserves_design": "Compón a iluminación e un escenario pasivo para o suxeito visible. A xeometría, os materiais de enxeñaría e a cámara permanecen á parte.",
|
||||
"render.scene_ready": "Listo para renderizar",
|
||||
"render.scene_reminder": "Escena conserva o deseño. A xeometría, as propiedades de enxeñaría e o CAD nunca se cambian desde Render.",
|
||||
"render.scene_reminders": "Lembretes",
|
||||
"render.scene_renderer_ready": "{renderer} listo",
|
||||
"render.scene_replaces": "Substitúe",
|
||||
"render.scene_review": "Resolver e revisar",
|
||||
"render.scene_review_help": "Revisa a composición nativa completa antes de aplicala. As especificacións SCENE avanzadas sen vincular non se substitúen por outras.",
|
||||
"render.scene_scope_details": "Alcance da composición",
|
||||
"render.scene_stages": "Etapas",
|
||||
"render.search_appearances": "Buscar {count} aparencias",
|
||||
"render.setup_legacy_environment": "Esta configuración antiga usa a rotación ou a intensidade do contorno herdadas. Eses valores consérvanse; conviértenos explicitamente antes de gardar unha tarefa de imaxe completa.",
|
||||
"render.setup_name": "Nome da configuración",
|
||||
@@ -2767,7 +3088,22 @@
|
||||
"render.shell_tab_camera": "CÁMARA DO RENDERIZADO",
|
||||
"render.shell_tab_lighting": "ILUMINACIÓN",
|
||||
"render.shell_tab_scene": "ESCENA DO RENDERIZADO",
|
||||
"render.shot_aperture": "Apertura",
|
||||
"render.shot_distance": "Distancia",
|
||||
"render.shot_dof": "Profundidade de campo",
|
||||
"render.shot_duplicate": "Duplicar a toma gardada",
|
||||
"render.shot_edit_output": "Editar en Saída",
|
||||
"render.shot_exposure_reason": "A exposición necesita trazado de raios na CPU ou trazado de camiños na GPU.",
|
||||
"render.shot_exposure_section": "Exposición",
|
||||
"render.shot_focus_distance": "Distancia de enfoque",
|
||||
"render.shot_fov_reason": "O campo de visión necesita proxección en perspectiva.",
|
||||
"render.shot_frame_subject": "Encadrar o suxeito",
|
||||
"render.shot_invalid_camera": "Os valores da cámara deben ser finitos e estar dentro do intervalo.",
|
||||
"render.shot_lens": "Lente",
|
||||
"render.shot_lens_enable_reason": "Activa a profundidade de campo para editar a apertura e a distancia de enfoque.",
|
||||
"render.shot_lens_gpu_reason": "A profundidade de campo necesita trazado de camiños na GPU.",
|
||||
"render.shot_lens_perspective_reason": "A profundidade de campo necesita proxección en perspectiva.",
|
||||
"render.shot_look_selection": "Mirar cara á selección",
|
||||
"render.shot_manager": "Tomas gardadas",
|
||||
"render.shot_new_name": "Nome da toma nova",
|
||||
"render.shot_remove": "Quitar a toma gardada",
|
||||
@@ -2775,6 +3111,9 @@
|
||||
"render.shot_remove_title": "Quitar a toma gardada?",
|
||||
"render.shot_rename": "Renomear a toma gardada",
|
||||
"render.shot_saved_only": "Garda primeiro o borrador actual. Duplicar e renomear conservan exactamente as opcións gardadas e as referencias aos recursos.",
|
||||
"render.shot_selection_reason": "Selecciona un corpo ou unha cara cara aos que apuntar.",
|
||||
"render.shot_size": "Tamaño",
|
||||
"render.shot_target": "Destino",
|
||||
"render.shots_camera_changed": "A cámara cambiou desde que se gardou esta toma",
|
||||
"render.shots_name_help": "Escribe un nome único para a toma actual.",
|
||||
"render.shots_no_result": "Aínda sen renderizado",
|
||||
@@ -2997,6 +3336,13 @@
|
||||
"render.wait_pick_up": "aínda non se admite: a selección de produtos e a mostraxe de aparencias",
|
||||
"render.wait_replace": "aínda non se admite: substituír todos os usos dunha aparencia",
|
||||
"render.wait_solo": "aínda non se admite: a visibilidade das luces e os controis de solo",
|
||||
"render.wear_applies_to": "Aplícase a",
|
||||
"render.wear_layer_count": "{count} capas",
|
||||
"render.wear_layer_one": "{count} capa",
|
||||
"render.wear_layers": "Capas",
|
||||
"render.wear_no_layers": "Sen capas",
|
||||
"render.wear_selected_layer": "Capa seleccionada",
|
||||
"render.wear_title": "Desgaste",
|
||||
"sample.bracket.about": "Pestana base con pestanas de aresta e un dobradillo cunha regra de 2 mm",
|
||||
"sample.bracket.name": "Escuadra de chapa",
|
||||
"sample.enclosure.about": "Caixa baleirada cun beizo, saíntes para parafusos, un apoio e un encaixe a presión",
|
||||
@@ -3030,6 +3376,7 @@
|
||||
"select an axis": "selecciona un eixe",
|
||||
"select an axis, a straight or circular edge, or a cylinder, cone or torus face first": "selecciona primeiro un eixe, unha aresta recta ou circular, ou unha cara de cilindro, cono ou toro",
|
||||
"select bodies first": "selecciona primeiro os corpos",
|
||||
"select components first": "selecciona primeiro os compoñentes",
|
||||
"select corner points, or the two lines of one corner": "selecciona puntos de esquina ou as dúas liñas dunha esquina",
|
||||
"select one corner point, or the two lines of one corner": "selecciona un punto de esquina ou as dúas liñas dunha esquina",
|
||||
"select sheet edges first": "selecciona primeiro as arestas da chapa",
|
||||
@@ -3048,6 +3395,7 @@
|
||||
"settings.double_click_components": "Fai dobre clic nun compoñente para activalo, ou para editar in situ un compoñente ligado",
|
||||
"settings.frame_rate_details_note": "Engade un gráfico dos tempos dos últimos fotogramas cos triángulos debuxados por riba, un histograma dos tempos de fotograma e o que debuxou a GPU. Fai clic nas imaxes por segundo da vista para mostralos ou ocultalos.",
|
||||
"settings.frame_rate_note": "Mostra as imaxes por segundo na esquina inferior dereita da vista.",
|
||||
"settings.insert_lists_open_designs": "Inserir deseño lista primeiro os deseños abertos noutras lapelas",
|
||||
"settings.measure_axis_distances": "Mostrar as distancias en X/Y/Z",
|
||||
"settings.measure_axis_distances_help": "Mostra as compoñentes da distancia segundo os eixes do mundo xunto á distancia total mentres Medir está aberto.",
|
||||
"settings.msaa_applies_on_restart": "O antialiasing aplicarase a próxima vez que se inicie SolidCraft",
|
||||
@@ -3072,6 +3420,10 @@
|
||||
"shortcut.unpin": "Desafixar",
|
||||
"sketch is missing": "falta o bosquexo",
|
||||
"sketch.degrees_of_freedom": "{count} graos de liberdade",
|
||||
"sketch.dimension_added_driven": "O bosquexo xa determina esa cota, así que se engadiu como cota conducida (de referencia)",
|
||||
"sketch.dimension_applied": "Cota aplicada",
|
||||
"sketch.dimension_applied_defined": "Cota aplicada; definiuse o parámetro `{name}`",
|
||||
"sketch.dimension_applied_renamed": "Cota aplicada; parámetro chamado `{name}`",
|
||||
"sketch.dof_left": "Quedan {count} graos de liberdade",
|
||||
"sketch.dof_left_one": "Queda {count} grao de liberdade",
|
||||
"sketch.draw_curves": "Debuxar como {linetype}",
|
||||
@@ -3106,6 +3458,8 @@
|
||||
"sketch_text.use_font_file": "Usar o ficheiro de tipo de letra {path}",
|
||||
"solid": "sólido",
|
||||
"status.editing": "Editando {name}",
|
||||
"status.navigation": "Asignación do rato: {mapping}",
|
||||
"status.navigation_tip": "Como move a vista o rato. Fai clic para escoller outra asignación",
|
||||
"status.under_constrained": "Subrestrinxido ({count} graos de liberdade)",
|
||||
"status.under_constrained_one": "Subrestrinxido ({count} grao de liberdade)",
|
||||
"status.units_tip": "As unidades do deseño. Fai clic para cambialas",
|
||||
@@ -3139,8 +3493,10 @@
|
||||
"timeline.delete_folders_tip": "Mantén as súas operacións e os cartafoles aniñados no historial",
|
||||
"timeline.delete_folders_with_features_tip": "Elimina os cartafoles con todas as operacións que conteñen e os seus cartafoles aniñados",
|
||||
"timeline.delete_many": "Eliminar {count} operacións seleccionadas",
|
||||
"timeline.edited_rolled_back": "{name} cambiou, pero está despois do marcador do historial, así que non se constrúe: move o marcador despois del para ver o resultado",
|
||||
"timeline.feature_error": "Erro: {message}",
|
||||
"timeline.feature_hint": "Dobre clic para editar · arrastra para reordenar · clic dereito para máis",
|
||||
"timeline.feature_rolled_back": "Retrocedida: está despois do marcador do historial, así que non se constrúe",
|
||||
"timeline.feature_warning": "Aviso: {message}",
|
||||
"timeline.group": "Cartafol de operacións novo",
|
||||
"timeline.move_many": "Mover elementos da liña de tempo",
|
||||
@@ -3220,6 +3576,10 @@
|
||||
"ui.3d_mouse_offer": "Calibrar o teu rato 3D corrixe os eixes trocados ou invertidos e axusta a súa velocidade e sensación.",
|
||||
"ui.3d_mouse_offer_never": "Non mostrar de novo",
|
||||
"ui.3d_mouse_offer_swap": "Cambiar a Hidraw (controlador directo)",
|
||||
"ui.3d_mouse_orbit": "Órbita",
|
||||
"ui.3d_mouse_orbit_classic": "Clásica",
|
||||
"ui.3d_mouse_orbit_tip": "Trazada: o rato 3D xira a vista arredor da parte do modelo que está no medio da vista cando comeza o xiro, marcada cunha bóla tenue. Clásica: arredor do centro da vista",
|
||||
"ui.3d_mouse_orbit_traced": "Trazada",
|
||||
"ui.3d_mouse_reading": "Lectura",
|
||||
"ui.3d_mouse_reset_axes": "Restablecer asignación de eixes",
|
||||
"ui.3d_mouse_reset_view": "Restablecer vista",
|
||||
@@ -3604,6 +3964,7 @@
|
||||
"ui.constant": "Constante",
|
||||
"ui.constraints_conflict": "Conflito de restricións",
|
||||
"ui.construction": "Construción",
|
||||
"ui.construction.ribbon_label": "Liñas aux.",
|
||||
"ui.context_menu": "Menú contextual",
|
||||
"ui.continuity_g0": "G0 aresta",
|
||||
"ui.continuity_g1": "G1 tanxente",
|
||||
@@ -3695,6 +4056,14 @@
|
||||
"ui.end_scale": "Escala final",
|
||||
"ui.entities": "Entidades",
|
||||
"ui.equal": "Igual",
|
||||
"ui.equation_end": "Fin",
|
||||
"ui.equation_explicit": "Explícita",
|
||||
"ui.equation_form": "Forma",
|
||||
"ui.equation_note": "A variable é un número sen unidade: sin(t) tómaa en radiáns. Un resultado sen unidade está na unidade do deseño.",
|
||||
"ui.equation_parametric": "Paramétrica",
|
||||
"ui.equation_x_of_t": "x(t)",
|
||||
"ui.equation_y_of_t": "y(t)",
|
||||
"ui.equation_y_of_x": "y(x)",
|
||||
"ui.equivalent_radius": "Raio equivalente",
|
||||
"ui.expand": "Expandir",
|
||||
"ui.exportDxf": "Exportar DXF…",
|
||||
@@ -3760,6 +4129,7 @@
|
||||
"ui.heading_design": "DESEÑO",
|
||||
"ui.heading_draft": "ÁNGULO DE DESMOLDAXE",
|
||||
"ui.heading_edit": "EDITAR",
|
||||
"ui.heading_equation_curve": "CURVA DE ECUACIÓN",
|
||||
"ui.heading_extrude": "EXTRUÍR",
|
||||
"ui.heading_fillet": "ARREDONDAMENTO",
|
||||
"ui.heading_finish_editing": "REMATAR A EDICIÓN",
|
||||
@@ -3851,6 +4221,10 @@
|
||||
"ui.import_ellipsis": "Importar…",
|
||||
"ui.infinite": "Infinito",
|
||||
"ui.insert": "Inserir",
|
||||
"ui.insert_design.browse": "Explorar…",
|
||||
"ui.insert_design.open_designs": "Deseños abertos",
|
||||
"ui.insert_design.saved_file": "{name} ten cambios sen gardar, así que se inseriu o seu ficheiro gardado. Gárdao e despois usa Actualizar as ligazóns para incorporar os cambios.",
|
||||
"ui.insert_design.unsaved": "Cambios sen gardar",
|
||||
"ui.inspect": "Inspeccionar",
|
||||
"ui.intersect": "Intersecar",
|
||||
"ui.isolate": "Illar",
|
||||
@@ -4000,6 +4374,18 @@
|
||||
"ui.project": "Proxectar",
|
||||
"ui.project_face_edges_sketch": "Proxectar as arestas da cara en bosquexos novos",
|
||||
"ui.properties": "Propiedades",
|
||||
"ui.properties.copy_matrix": "Copiar a matriz",
|
||||
"ui.properties.first_moments": "Momentos de primeira orde",
|
||||
"ui.properties.inertia": "Momento de inercia",
|
||||
"ui.properties.inertia_note": "Respecto ao centro de masas, nos eixes do mundo (g·{unit}²)",
|
||||
"ui.properties.inertia_unavailable": "Non dispoñible: a malla dun corpo non está pechada.",
|
||||
"ui.properties.inertia_x": "Ixx, Ixy, Ixz",
|
||||
"ui.properties.inertia_y": "Iyx, Iyy, Iyz",
|
||||
"ui.properties.inertia_z": "Izx, Izy, Izz",
|
||||
"ui.properties.measuring": "Medindo…",
|
||||
"ui.properties.measuring_failed": "A medición detívose antes de rematar.",
|
||||
"ui.properties.principal_axis": "Eixe principal {number}",
|
||||
"ui.properties.principal_moments": "Momentos principais",
|
||||
"ui.pull_direction": "Dirección de extracción",
|
||||
"ui.quality": "Calidade",
|
||||
"ui.quantity": "Cantidade",
|
||||
@@ -4062,6 +4448,7 @@
|
||||
"ui.select": "Seleccionar",
|
||||
"ui.selectOther": "Seleccionar outro…",
|
||||
"ui.selectTangentChain": "Seleccionar cadea tanxente",
|
||||
"ui.select_all": "Seleccionar todo",
|
||||
"ui.selection": "Selección",
|
||||
"ui.selection_modifiers": "Modificadores de selección",
|
||||
"ui.selection_shift_add_only": "Maiús+clic engade sen quitar",
|
||||
@@ -4098,7 +4485,11 @@
|
||||
"ui.sketch": "Bosquexo",
|
||||
"ui.sketch_dimension": "Cota do bosquexo",
|
||||
"ui.sketch_grid": "Grella do bosquexo",
|
||||
"ui.sketch_intersect_geometry": "Xeometría",
|
||||
"ui.sketch_intersect_projection_link": "Ligazón de proxección",
|
||||
"ui.sketch_intersect_selection_filter": "Filtro de selección",
|
||||
"ui.sketch_modifiers": "Modificadores de bosquexo",
|
||||
"ui.sketch_project_geometry": "Xeometría",
|
||||
"ui.sketch_scale": "Escala do bosquexo",
|
||||
"ui.sketches": "Bosquexos",
|
||||
"ui.slice": "Laminar",
|
||||
@@ -4149,6 +4540,7 @@
|
||||
"ui.tab_manage": "Xestionar",
|
||||
"ui.tab_sheet_metal": "Chapa",
|
||||
"ui.tab_view": "Vista",
|
||||
"ui.tab_weldments": "Soldadura",
|
||||
"ui.tangent": "Tanxente",
|
||||
"ui.taper_angle": "Ángulo de conicidade",
|
||||
"ui.tapped": "Roscado",
|
||||
@@ -4164,6 +4556,7 @@
|
||||
"ui.tip_angle": "Ángulo da punta",
|
||||
"ui.to_object": "Ata o obxecto",
|
||||
"ui.tool_direction": "Dirección da ferramenta",
|
||||
"ui.toolbar_tabs_hidden": "Todas as lapelas da barra de ferramentas están ocultas. Fai clic en + ou fai clic co botón dereito aquí para mostrar unha.",
|
||||
"ui.top": "Superior",
|
||||
"ui.top_diameter": "Diámetro superior",
|
||||
"ui.top_radius": "Raio superior",
|
||||
@@ -4210,6 +4603,7 @@
|
||||
"ui.visual_shaded_with_edges": "Sombreado con arestas",
|
||||
"ui.visual_style": "Estilo visual",
|
||||
"ui.visual_wireframe": "Arames",
|
||||
"ui.wheel_zoom_speed": "Velocidade do zoom coa roda do rato",
|
||||
"ui.width": "Largura",
|
||||
"ui.window_system": "Sistema de xanelas",
|
||||
"ui.window_system_auto": "Automático",
|
||||
@@ -4261,6 +4655,9 @@
|
||||
"update.prefs_label": "Actualizacións",
|
||||
"update.prefs_note": "Esta é a versión {version} de SolidCraft ({kind}). Unha comprobación pídelle a GitHub a última versión e non envía nada máis.",
|
||||
"update.prefs_web": "Recarga a páxina para obter a última versión da aplicación web. Se a rede non está dispoñible ou a actualización non pode rematar de descargarse a tempo, ábrese a versión gardada; unha descarga en curso continúa para a seguinte recarga.",
|
||||
"update.refresh_checking": "Buscando a versión máis recente…",
|
||||
"update.refresh_fallback": "Non se puido buscar unha versión máis recente; actualizando a {version}, atopada antes.",
|
||||
"update.refresh_selected": "Actualizando a {version}.",
|
||||
"update.release_page": "Abrir a páxina da versión",
|
||||
"update.restart": "Reiniciar agora",
|
||||
"update.restart_later": "Máis tarde",
|
||||
|
||||
@@ -206,6 +206,7 @@
|
||||
"Edges": "מקצועות",
|
||||
"Edit": "עריכה",
|
||||
"Edit Profile Sketch": "עריכת סקיצת הפרופיל",
|
||||
"Edit shortcuts": "עריכת קיצורי דרך",
|
||||
"Enable rule": "הפעלת הכלל",
|
||||
"Enabled": "מופעל",
|
||||
"End Radius": "רדיוס סיום",
|
||||
@@ -468,6 +469,7 @@
|
||||
"Radius": "רדיוס",
|
||||
"Radius Fit": "התאמת רדיוס",
|
||||
"Ratio": "יחס",
|
||||
"Read-only list: shortcuts can't be changed here.": "רשימה לקריאה בלבד: לא ניתן לשנות כאן קיצורי דרך.",
|
||||
"Reattach selected face": "הצמדה מחדש לפאה שנבחרה",
|
||||
"Recover": "שחזור",
|
||||
"Recover unsaved design?": "לשחזר תכן שלא נשמר?",
|
||||
@@ -773,6 +775,8 @@
|
||||
"at the face": "על הפאה",
|
||||
"bom.group_children": "תת-חלקים בשורת החלק שלהם",
|
||||
"browser.body_name": "גוף{number}",
|
||||
"browser.calibrate_click_a": "לחצו על התמונה כדי לבחור את נקודה A, או הקלידו את הקואורדינטות שלה.",
|
||||
"browser.calibrate_click_b": "לחצו על התמונה כדי לבחור את נקודה B, או הקלידו את הקואורדינטות שלה.",
|
||||
"browser.calibrate_title": "כיול: {name}",
|
||||
"browser.capture_many": "{count} רכיבים הוזזו, אך המיקומים שלהם לא נלכדו.",
|
||||
"browser.capture_note": "לכידה שומרת את המיקום החדש; החזרה מחזירה את המיקום הקודם.",
|
||||
@@ -822,6 +826,7 @@
|
||||
"cmd.browser_move": "הזזת פריטים בעץ",
|
||||
"cmd.browser_order": "סידור פריטים בעץ",
|
||||
"cmd.browser_rename_group": "שינוי שם קבוצה",
|
||||
"cmd.browser_reparent": "העברה לרכיב",
|
||||
"cmd.browser_ungroup": "פירוק קבוצה",
|
||||
"cmd.browser_visibility": "הצגה/הסתרה",
|
||||
"cmd.canvas_calibrate": "כיול קנבס",
|
||||
@@ -848,7 +853,9 @@
|
||||
"cmd.component_metadata": "מאפייני חלק",
|
||||
"cmd.component_metadata_set": "שינוי מאפייני חלק",
|
||||
"cmd.component_move_bodies": "העברת גופים לרכיב",
|
||||
"cmd.component_move_features": "העברת פיצ'רים לרכיב",
|
||||
"cmd.component_move_sketches": "העברת סקיצות לרכיב",
|
||||
"cmd.component_paste_from_design": "הדבק מעיצוב אחר",
|
||||
"cmd.component_paste_new": "הדבקה כחדש",
|
||||
"cmd.component_properties": "תכונות פיזיקליות של רכיב",
|
||||
"cmd.component_relink": "קישור מחדש למקור",
|
||||
@@ -1076,6 +1083,13 @@
|
||||
"cmd.render_start": "יצירת תמונת הדמיה",
|
||||
"cmd.render_status": "התקדמות ההדמיה",
|
||||
"cmd.select_clear": "ניקוי הבחירה",
|
||||
"cmd.settings_profile_apply": "החלת פרופיל הגדרות",
|
||||
"cmd.settings_profile_delete": "מחיקת פרופיל הגדרות",
|
||||
"cmd.settings_profile_export": "ייצוא פרופיל הגדרות",
|
||||
"cmd.settings_profile_import": "ייבוא פרופיל הגדרות",
|
||||
"cmd.settings_profile_list": "פרופילי הגדרות",
|
||||
"cmd.settings_profile_rename": "שינוי שם פרופיל הגדרות",
|
||||
"cmd.settings_profile_save": "שמירת פרופיל הגדרות",
|
||||
"cmd.sheet_convert": "המרה לפח",
|
||||
"cmd.sheet_export_bend_table": "ייצוא טבלת כיפופים",
|
||||
"cmd.sheet_export_dxf": "ייצוא פריסה כ־DXF",
|
||||
@@ -1089,6 +1103,16 @@
|
||||
"cmd.sheet_refold": "קיפול מחדש",
|
||||
"cmd.sheet_rules": "רשימת כללי פח",
|
||||
"cmd.sheet_unfold": "פתיחת קיפול",
|
||||
"cmd.sketch.construction_line": "ישר עזר",
|
||||
"cmd.sketch.construction_line.angle": "ישר עזר בזווית",
|
||||
"cmd.sketch.construction_line.bisector": "חוצה זווית",
|
||||
"cmd.sketch.construction_line.horizontal": "ישר עזר אופקי",
|
||||
"cmd.sketch.construction_line.parallel": "ישר עזר מקביל",
|
||||
"cmd.sketch.construction_line.perpendicular": "ישר עזר ניצב",
|
||||
"cmd.sketch.construction_line.tangent_at": "משיק בנקודה על העקומה",
|
||||
"cmd.sketch.construction_line.tangent_external": "משיק דרך נקודה חיצונית",
|
||||
"cmd.sketch.construction_line.tangent_two": "משיק משותף",
|
||||
"cmd.sketch.construction_line.vertical": "ישר עזר אנכי",
|
||||
"cmd.sketch_arc3d": "קשת תלת־ממדית",
|
||||
"cmd.sketch_arc_center_point": "קשת מרכז ונקודה",
|
||||
"cmd.sketch_arc_tangent": "קשת משיקה",
|
||||
@@ -1121,6 +1145,8 @@
|
||||
"cmd.sketch_drawing_bounds": "גודל הציור",
|
||||
"cmd.sketch_edit": "עריכת סקיצה",
|
||||
"cmd.sketch_edit_text": "עריכת טקסט",
|
||||
"cmd.sketch_equation_curve": "עקומת משוואה",
|
||||
"cmd.sketch_equation_curve_edit": "עריכת עקומת משוואה",
|
||||
"cmd.sketch_export_dxf": "שמירה כ־DXF",
|
||||
"cmd.sketch_finish_auto_constrain": "סיום עם אילוץ אוטומטי",
|
||||
"cmd.sketch_fit_curves_to_section": "התאמת עקומות לחתך רשת משולשים",
|
||||
@@ -1217,6 +1243,7 @@
|
||||
"cmd.view.render_browser": "דפדפן רינדור",
|
||||
"cmd.view.render_dock": "הזז את עגינת הרינדור",
|
||||
"cmd.view.render_focus": "תצוגת מיקוד רינדור",
|
||||
"cmd.view.status_items": "פריטי מצב תצוגה",
|
||||
"cmd.view_ambient_occlusion": "הצללה סביבתית",
|
||||
"cmd.view_angle_readout": "זוויות תצוגה",
|
||||
"cmd.view_apply": "שחזור תצוגה שמורה",
|
||||
@@ -1374,6 +1401,17 @@
|
||||
"help.occurrence.move": "מזיז חלק בהרכבה רק בכיוונים שהמפרקים שלו מאפשרים. בחרו פאה של החלק, ואז גררו חץ או קשת זמינים.",
|
||||
"help.parameters.change": "פתיחת הטבלה של ערכים בעלי שם וביטויים שקובעים את מידות התכנון. כך משנים מידה במקום אחד וכל הפיצ'רים שמשתמשים בה מתעדכנים.",
|
||||
"help.pointcloud.insert": "הוספת סריקה בפורמט PLY, XYZ או PTS כענן נקודות לצד המודל. משמש כעזר למידול על סמך נתוני מדידה.",
|
||||
"help.sketch.construction_line": "יצירת ישר עזר אינסופי דרך שתי נקודות, לתכנון הסקיצה בלי לפצל את הפרופילים.",
|
||||
"help.sketch.construction_line.angle": "יצירת ישר עזר אינסופי בזווית מציר X של הסקיצה. יש לבחור נקודה ולהקליד זווית או לבחור כיוון.",
|
||||
"help.sketch.construction_line.bisector": "יש לבחור שני ישרים נחתכים בסקיצה ואז אחד משני חוצי הזווית. התוצאה עוקבת אחר עריכת ישרי המקור.",
|
||||
"help.sketch.construction_line.horizontal": "יצירת ישר עזר אופקי אינסופי דרך נקודה. האילוץ האופקי נשמר בעריכות מאוחרות יותר.",
|
||||
"help.sketch.construction_line.parallel": "יש לבחור ישר בסקיצה ואז למקם ישר עזר אינסופי מקביל. לחיצה ימנית מאפשרת לבחור ייחוס אחר.",
|
||||
"help.sketch.construction_line.perpendicular": "יש לבחור ישר בסקיצה ואז למקם ישר עזר אינסופי ניצב. לחיצה ימנית מאפשרת לבחור ייחוס אחר.",
|
||||
"help.sketch.construction_line.tangent_at": "יצירת משיק בנקודה על מעגל או קשת מעגלית, או בנקודת קצה של ספליין פתוח או חתך חרוט פתוח. יש לבחור את העקומה ואז את נקודת ההשקה.",
|
||||
"help.sketch.construction_line.tangent_external": "יש לבחור מעגל או קשת מעגלית, נקודה חיצונית ואז פתרון למשיק. התצוגה המקדימה מציגה רק נקודות השקה על הקשת המצוירת.",
|
||||
"help.sketch.construction_line.tangent_two": "יש לבחור שני מעגלים או קשתות מעגליות ואז משיק משותף בתצוגה המקדימה. נקודות ההשקה חייבות להיות על העקומות המצוירות.",
|
||||
"help.sketch.construction_line.vertical": "יצירת ישר עזר אנכי אינסופי דרך נקודה. האילוץ האנכי נשמר בעריכות מאוחרות יותר.",
|
||||
"help.sketch.equation_curve": "משרטט עקומה מנוסחאות על פני טווח: x(t) ו־y(t), או y = f(x). הנוסחאות יכולות להשתמש בפרמטרים והעקומה עוקבת אחריהם: לגל סינוס, לספירלה או לאבולבנטה של שן גלגל שיניים.",
|
||||
"help.solid.align": "הזזת הגופים שנבחרו כך שנקודה, פאה או מישור שלהם יפגשו נקודה, פאה או מישור במקום אחר. מתאים להצמדת חלק לחלק אחר בלי למדוד את המרחק.",
|
||||
"help.solid.chamfer": "חיתוך המקצועות שנבחרו בשיפוע ישר במרחק שנקבע. כך שוברים מקצועות חדים או מקלים על הכנסה של פין או בורג.",
|
||||
"help.solid.combine": "איחוד גופים, חיסורם מגוף יעד או השארת הנפח המשותף להם בלבד, עם אפשרות לשמור את גופי הכלי. מתאים למיזוג חלקים, לחיתוך צורה אחת בעזרת אחרת או למציאת החפיפה בין שני גופים.",
|
||||
@@ -1743,6 +1781,7 @@
|
||||
"parts.dimension.thickness": "עובי",
|
||||
"parts.dimension.width": "רוחב",
|
||||
"parts.family.bearing": "מסב כדורי חריץ עמוק (מעטפת)",
|
||||
"parts.family.button_head_cap_screw": "בורג ראש כפתור עם שקע משושה",
|
||||
"parts.family.dowel_pin": "פין גלילי",
|
||||
"parts.family.hex_bolt": "בורג ראש משושה",
|
||||
"parts.family.hex_nut": "אום משושה",
|
||||
@@ -1874,6 +1913,8 @@
|
||||
"prefs.layout_note": "הפריסה הדחוסה מצמידה חלוניות לשולי החלון. שקיפות עץ התכן זמינה בפריסה הצפה. את צד העוזר אפשר לשנות בעמוד העוזר.",
|
||||
"prefs.left": "שמאל",
|
||||
"prefs.left_click": "לחיצה שמאלית",
|
||||
"prefs.line_drag_draws_one": "לחיצה וגרירה משרטטות קו אחד",
|
||||
"prefs.line_drag_draws_one_note": "בכלי הקו, לחיצה, גרירה ושחרור משרטטים קו אחד מנקודת הלחיצה עד נקודת השחרור, והוא מסתיים שם. לחיצות עדיין משרטטות שרשרת. כבוי: גרירה מציבה נקודה היכן שמשחררים, כמו לחיצה.",
|
||||
"prefs.linked_designs": "תכנים מקושרים",
|
||||
"prefs.live_input": "קלט חי",
|
||||
"prefs.live_preview": "תצוגה מקדימה חיה",
|
||||
@@ -1906,9 +1947,27 @@
|
||||
"prefs.origin_plane_names": "שמות מישורי הראשית",
|
||||
"prefs.origin_plane_names_note": "השמות המוצגים בדפדפן, בתיבות הדו־שיח וברשימות. {top} הוא XY, {front} הוא XZ ו־{right} הוא YZ, כש־Z למעלה. פקודות, סקריפטים ותכנונים שמורים שומרים על XY, XZ ו־YZ.",
|
||||
"prefs.overall_speed": "מהירות כללית",
|
||||
"prefs.persistent_ribbon_pressed": "הדגשת פקודות פעילות ברצועת הכלים",
|
||||
"prefs.persistent_ribbon_pressed_help": "הדגשת פקודות ברצועת הכלים כל עוד ההשפעות שלהן פעילות. כבו אפשרות זו כדי לשמור על המראה הניטרלי הקודם ועל עזרת הפקודות.",
|
||||
"prefs.perspective_fov": "שדה ראייה",
|
||||
"prefs.placement": "מיקום",
|
||||
"prefs.prefer_free_sketch_points": "העדפת נקודות סקיצה ניתנות להזזה כשנקודות חופפות",
|
||||
"prefs.preview_choices": "תצוגה מקדימה של הבחירות שלך",
|
||||
"prefs.profile_active": "פרופיל פעיל",
|
||||
"prefs.profile_applied": "הפרופיל הוחל.",
|
||||
"prefs.profile_changed": "ההגדרות השתנו מאז שהפרופיל נשמר. „שמירה“ מכניסה אותן לפרופיל.",
|
||||
"prefs.profile_deleted": "הפרופיל נמחק.",
|
||||
"prefs.profile_export": "ייצוא…",
|
||||
"prefs.profile_exported": "הפרופיל יוצא.",
|
||||
"prefs.profile_imported": "הפרופיל יובא. בחרו בו תחת „פרופיל פעיל“ כדי לעבור אליו.",
|
||||
"prefs.profile_name_hint": "שם הפרופיל, למשל מחשב נייד",
|
||||
"prefs.profile_rename": "שינוי שם",
|
||||
"prefs.profile_renamed": "שם הפרופיל שונה.",
|
||||
"prefs.profile_save": "שמירה",
|
||||
"prefs.profile_saved": "ההגדרות הנוכחיות נשמרו בפרופיל.",
|
||||
"prefs.profile_skipped": "הפרופיל הוחל; {n} הגדרות שמרו על ערכן הנוכחי (ראו ביומן).",
|
||||
"prefs.profiles": "פרופילי הגדרות",
|
||||
"prefs.profiles_note": "קיצורי מקלדת, סרגל הכלים, ניווט, התפריט המעגלי והגדרות הממשק, נשמרים יחד תחת שם אחד ומוחלפים בבת אחת.",
|
||||
"prefs.project_options_dialog": "תיבת האפשרויות של Project",
|
||||
"prefs.project_options_dialog_note": "פעיל: לבחור גאומטריה או גופים וקישור הטלה לפני ההטלה. כבוי: להשאיר את זרימת העבודה הקודמת של בחירה ישירה.",
|
||||
"prefs.quality_default": "ברירת מחדל",
|
||||
@@ -1918,6 +1977,8 @@
|
||||
"prefs.render_previous_geometry_budget": "שימוש בתקציב הגאומטריה הקודם לתצוגה מקדימה של רינדור",
|
||||
"prefs.render_previous_geometry_budget_help": "שחזור מגבלת הגאומטריה הקבועה הקודמת (512 MiB במחשב שולחני של 64 סיביות, 128 MiB בפלטפורמות אחרות) במקום התקציב המבוסס על ההתקן.",
|
||||
"prefs.reports_saved": "{n} שמורים",
|
||||
"prefs.ribbon_reveal": "הצגת תוצאות חיפוש בסרט",
|
||||
"prefs.ribbon_reveal_note": "מעבר עם הסמן מעל תוצאה בחיפוש פקודות מראה היכן הפקודה נמצאת בסרט: הלשונית, הכפתור או השורה שלה בתפריט הנפתח של לוח. פקודה שהופעלה מהחיפוש מהבהבת שם, ופקודה פעילה מתפריט נפתח מסמנת את הלוח שלה.",
|
||||
"prefs.right_click": "לחיצה ימנית",
|
||||
"prefs.saving": "שמירה אוטומטית ושחזור",
|
||||
"prefs.scale_note": "גם Ctrl + / Ctrl − בחלון. הכפתורים בגודל 28 px ב־100%.",
|
||||
@@ -1931,13 +1992,22 @@
|
||||
"prefs.shift_add_ctrl_toggle": "Shift מוסיף בלבד; Ctrl / Cmd מחליף מצב",
|
||||
"prefs.shift_add_note": "כשפועל: Shift מוסיף, Ctrl / Cmd מחליף מצב. כשכבוי (ברירת מחדל): שניהם מחליפים מצב.",
|
||||
"prefs.shortcuts": "קיצורים",
|
||||
"prefs.single_surface_analysis": "שימוש בניתוח משטח יחיד",
|
||||
"prefs.single_surface_analysis_help": "כשהאפשרות כבויה, הצללת המשטח וניתוח הרציפות יכולים להישאר פעילים יחד. הפעלתה משאירה רק את הניתוח האחרון שהופעל או שונה.",
|
||||
"prefs.sketch_align_points": "יישור לנקודות סקיצה אחרות בזמן השרטוט",
|
||||
"prefs.sketch_align_points_note": "בזמן השרטוט, נקודה מתיישרת אופקית עם נקודת סקיצה אחת ואנכית עם אחרת בו-זמנית, עם קו עזר מנוקד, והלחיצה שומרת את שני היישורים. כבוי: רק עם הנקודה הקודמת, ציר אחד בכל פעם.",
|
||||
"prefs.sketch_conflict_colour": "גאומטריה סותרת בצבע הסתירה",
|
||||
"prefs.sketch_conflict_colour_note": "כשאילוצי סקיצה סותרים, העקומות והנקודות שאילוץ כושל מחזיק מצוירות גם הן בצבע הסתירה, לא רק הסמל או המידה שלו. כבוי: הן שומרות על צבעיהן הרגילים.",
|
||||
"prefs.sketch_construction_lines": "כלי ישרי עזר מורחבים",
|
||||
"prefs.sketch_exit_view": "בסיום סקיצה",
|
||||
"prefs.sketch_exit_view.keep": "שמירה על התצוגה הנוכחית",
|
||||
"prefs.sketch_exit_view.previous": "חזרה לתצוגה הקודמת",
|
||||
"prefs.sketch_exit_view.unless_rotated": "חזרה אלא אם התצוגה סובבה",
|
||||
"prefs.sketch_exit_view_note": "לאן התצוגה עוברת אחרי סיום סקיצה, ביטול או Esc כפול.",
|
||||
"prefs.sketch_open_look_at": "הפניית התצוגה אל הסקיצה בפתיחתה",
|
||||
"prefs.sketch_open_look_at_note": "כבוי: יצירה או עריכה של סקיצה משאירות את התצוגה כפי שהיא. «מבט אל» מפנה את התצוגה אל הסקיצה כשרוצים.",
|
||||
"prefs.sketch_recent_snap": "הצמדה אוטומטית למרכזים ולנקודות אמצע אחרונים",
|
||||
"prefs.sketch_recent_snap_note": "בזמן שרטוט, הסמן נצמד למקום שבו נחתכים קווי העזר של שני מרכזי המעגלים או נקודות האמצע של קצוות ישרים האחרונים. כבוי: קווי העזר נשארים לתצוגה בלבד והסמן אינו זז.",
|
||||
"prefs.sketch_selection": "סקיצה ובחירה",
|
||||
"prefs.sketch_selection_heading": "סקיצה ובחירה",
|
||||
"prefs.sketch_selection_note": "איך סקיצות נצמדות ואיך לחיצות בוחרות.",
|
||||
@@ -2005,10 +2075,16 @@
|
||||
"prefs.wheel": "גלגלת",
|
||||
"prefs.wheel_trackpad": "גלגלת ומשטח מגע",
|
||||
"prefs.workspace": "סביבת עבודה",
|
||||
"prefs.zoom_stop_at_model": "עצירת הזום במודל",
|
||||
"prefs.zoom_stop_at_model_tip": "העכבר התלת־ממדי ויישום ההתקן מקרבים את המבט אל המשטח שבמרכז התצוגה; זום בגרירה שומר על נקודת תחילת הגרירה. כשהאפשרות כבויה, אפשר לעבור דרך המודל. הגלגלת ומחוות הצביטה משתמשות בנפרד בהגדרת הזום אל הסמן",
|
||||
"prefs.zoom_toward_cursor": "זום, לכיוון הסמן",
|
||||
"properties.title": "מאפיינים: {name}",
|
||||
"recovery.days_ago": "לפני {count} ימים",
|
||||
"recovery.detail": "{file} · {features} פיצ'רים · נשמר אוטומטית {when}",
|
||||
"recovery.discard_all": "השלכת הכול",
|
||||
"recovery.discard_all_detail": "לא ניתן לבטל פעולה זו.",
|
||||
"recovery.discard_all_title": "להשליך {count} שמירות אוטומטיות?",
|
||||
"recovery.discard_all_title_one": "להשליך שמירה אוטומטית אחת?",
|
||||
"recovery.hours_ago": "לפני {count} שע'",
|
||||
"recovery.just_now": "זה עתה",
|
||||
"recovery.min_ago": "לפני {count} דק'",
|
||||
@@ -3355,6 +3431,7 @@
|
||||
"settings.double_click_components": "לחיצה כפולה על רכיב מפעילה אותו, או עורכת רכיב מקושר במקומו",
|
||||
"settings.frame_rate_details_note": "מוסיף גרף של זמני התמונות האחרונות עם המשולשים שצוירו מעליו, היסטוגרמה של זמני התמונות ואת מה שה־GPU צייר. לחיצה על קצב התמונות בתצוגה מציגה או מסתירה אותם.",
|
||||
"settings.frame_rate_note": "הצגת מספר הפריימים לשנייה בפינה הימנית התחתונה של התצוגה. כל עוד האפשרות פעילה, התצוגה מצוירת מחדש ברציפות.",
|
||||
"settings.insert_lists_open_designs": "הוספת תכן מציגה קודם את התכנים הפתוחים בלשוניות אחרות",
|
||||
"settings.measure_axis_distances": "הצגת מרחקי X/Y/Z",
|
||||
"settings.measure_axis_distances_help": "הצגת המרחקים לאורך צירי העולם לצד המרחק הכולל כשכלי המדידה פתוח.",
|
||||
"settings.msaa_applies_on_restart": "החלקת הקצוות תחול בהפעלה הבאה של SolidCraft",
|
||||
@@ -3379,6 +3456,10 @@
|
||||
"shortcut.unpin": "ביטול הצמדה",
|
||||
"sketch is missing": "הסקיצה חסרה",
|
||||
"sketch.degrees_of_freedom": "{count} דרגות חופש",
|
||||
"sketch.dimension_added_driven": "הסקיצה כבר קובעת את המידה הזו, ולכן היא נוספה כמידה מונעת (מידת ייחוס)",
|
||||
"sketch.dimension_applied": "המידה הוחלה",
|
||||
"sketch.dimension_applied_defined": "המידה הוחלה; הפרמטר `{name}` הוגדר",
|
||||
"sketch.dimension_applied_renamed": "המידה הוחלה; שם הפרמטר הוא כעת `{name}`",
|
||||
"sketch.dof_left": "נותרו {count} דרגות חופש",
|
||||
"sketch.dof_left_one": "נותרה {count} דרגת חופש",
|
||||
"sketch.draw_curves": "שרטוט כ־{linetype}",
|
||||
@@ -3448,8 +3529,10 @@
|
||||
"timeline.delete_folders_tip": "שמירת הפיצ'רים והתיקיות המקוננות שלהן בציר הזמן",
|
||||
"timeline.delete_folders_with_features_tip": "מחיקת התיקיות עם כל הפיצ'רים שבהן והתיקיות המקוננות בהן",
|
||||
"timeline.delete_many": "מחיקת {count} הפיצ'רים שנבחרו",
|
||||
"timeline.edited_rolled_back": "{name} שונה, אך הוא אחרי סמן ההיסטוריה ולכן לא נבנה: הזיזו את הסמן אל מעבר אליו כדי לראות את התוצאה",
|
||||
"timeline.feature_error": "שגיאה: {message}",
|
||||
"timeline.feature_hint": "לחיצה כפולה לעריכה · גרירה לשינוי הסדר · לחיצה ימנית לעוד",
|
||||
"timeline.feature_rolled_back": "בוטל: אחרי סמן ההיסטוריה, ולכן לא נבנה",
|
||||
"timeline.feature_warning": "אזהרה: {message}",
|
||||
"timeline.group": "תיקיית פיצ'רים חדשה",
|
||||
"timeline.move_many": "הזזת פריטים בציר הזמן",
|
||||
@@ -3531,6 +3614,10 @@
|
||||
"ui.3d_mouse_offer": "כיול העכבר התלת־ממדי מתקן צירים מוחלפים או הפוכים וקובע את המהירות והתחושה שלו.",
|
||||
"ui.3d_mouse_offer_never": "לא להציג שוב",
|
||||
"ui.3d_mouse_offer_swap": "מעבר ל־Hidraw (מנהל ישיר)",
|
||||
"ui.3d_mouse_orbit": "סיבוב",
|
||||
"ui.3d_mouse_orbit_classic": "קלאסי",
|
||||
"ui.3d_mouse_orbit_tip": "במעקב: העכבר התלת־ממדי מסובב את המבט סביב החלק של המודל שבמרכז המבט כשהסיבוב מתחיל, ומסמן אותו בכדור חיוור. קלאסי: סביב מרכז המבט",
|
||||
"ui.3d_mouse_orbit_traced": "במעקב",
|
||||
"ui.3d_mouse_reading": "קריאה",
|
||||
"ui.3d_mouse_reset_axes": "איפוס הקצאת הצירים",
|
||||
"ui.3d_mouse_reset_view": "איפוס המבט",
|
||||
@@ -3917,6 +4004,15 @@
|
||||
"ui.constant": "קבוע",
|
||||
"ui.constraints_conflict": "התנגשות בין אילוצים",
|
||||
"ui.construction": "עזר",
|
||||
"ui.construction.angle_hint": "ישר עזר: בחירת נקודה ואז הקלדת זווית או בחירת כיוון",
|
||||
"ui.construction.bisector_hint": "חוצה זווית: בחירת שני ישרים נחתכים ואז הפתרון הרצוי",
|
||||
"ui.construction.common_hint": "משיק משותף: בחירת שני מעגלים/קשתות ואז הפתרון הרצוי",
|
||||
"ui.construction.contact_hint": "משיק: בחירת מעגל/קשת או ספליין/חתך חרוט פתוח ואז נקודת השקה (לעקומות חופשיות: קצוות בלבד)",
|
||||
"ui.construction.external_hint": "משיק: בחירת מעגל או קשת, נקודה חיצונית ואז הפתרון הרצוי",
|
||||
"ui.construction.free_hint": "ישר עזר: לחיצה על שתי נקודות; לחיצה ימנית להתחלה מחדש",
|
||||
"ui.construction.point_hint": "ישר עזר: לחיצה על נקודת המעבר",
|
||||
"ui.construction.reference_hint": "ישר עזר: בחירת ישר ואז נקודה; לחיצה ימנית להחלפת הייחוס",
|
||||
"ui.construction.ribbon_label": "קווי עזר",
|
||||
"ui.context_menu": "תפריט הקשר",
|
||||
"ui.continuity_g0": "G0 שבר",
|
||||
"ui.continuity_g1": "G1 משיק",
|
||||
@@ -4008,6 +4104,14 @@
|
||||
"ui.end_scale": "קנה מידה בסיום",
|
||||
"ui.entities": "ישויות",
|
||||
"ui.equal": "שווה",
|
||||
"ui.equation_end": "סוף",
|
||||
"ui.equation_explicit": "מפורשת",
|
||||
"ui.equation_form": "צורה",
|
||||
"ui.equation_note": "המשתנה הוא מספר ללא יחידה: sin(t) מקבלת אותו ברדיאנים. תוצאה ללא יחידה היא ביחידה של התכנון.",
|
||||
"ui.equation_parametric": "פרמטרית",
|
||||
"ui.equation_x_of_t": "x(t)",
|
||||
"ui.equation_y_of_t": "y(t)",
|
||||
"ui.equation_y_of_x": "y(x)",
|
||||
"ui.equivalent_radius": "רדיוס שקול",
|
||||
"ui.expand": "הרחבה",
|
||||
"ui.exportDxf": "ייצוא DXF…",
|
||||
@@ -4073,6 +4177,7 @@
|
||||
"ui.heading_design": "תכן",
|
||||
"ui.heading_draft": "שיפוע יציקה",
|
||||
"ui.heading_edit": "עריכה",
|
||||
"ui.heading_equation_curve": "עקומת משוואה",
|
||||
"ui.heading_extrude": "שליפה",
|
||||
"ui.heading_fillet": "עיגול פינה",
|
||||
"ui.heading_finish_editing": "סיום עריכה",
|
||||
@@ -4164,6 +4269,10 @@
|
||||
"ui.import_ellipsis": "ייבוא…",
|
||||
"ui.infinite": "אינסופי",
|
||||
"ui.insert": "הוספה",
|
||||
"ui.insert_design.browse": "עיון…",
|
||||
"ui.insert_design.open_designs": "תכנים פתוחים",
|
||||
"ui.insert_design.saved_file": "ב-{name} יש שינויים שלא נשמרו, ולכן נוסף הקובץ השמור שלו. שמרו אותו ואז בחרו עדכון קישורים כדי להכניס את השינויים.",
|
||||
"ui.insert_design.unsaved": "שינויים שלא נשמרו",
|
||||
"ui.inspect": "בדיקה",
|
||||
"ui.intersect": "חיתוך משותף",
|
||||
"ui.isolate": "בידוד",
|
||||
@@ -4387,6 +4496,7 @@
|
||||
"ui.select": "בחירה",
|
||||
"ui.selectOther": "בחירת אחר…",
|
||||
"ui.selectTangentChain": "בחירת שרשרת משיקה",
|
||||
"ui.select_all": "בחירת הכול",
|
||||
"ui.selection": "בחירה",
|
||||
"ui.selection_modifiers": "מקשי שינוי לבחירה",
|
||||
"ui.selection_shift_add_only": "Shift+לחיצה מוסיף בלי להסיר",
|
||||
|
||||
@@ -206,6 +206,7 @@
|
||||
"Edges": "Bridovi",
|
||||
"Edit": "Uredi",
|
||||
"Edit Profile Sketch": "Uredi skicu profila",
|
||||
"Edit shortcuts": "Uredi prečace",
|
||||
"Enable rule": "Omogući pravilo",
|
||||
"Enabled": "Omogućeno",
|
||||
"End Radius": "Krajnji polumjer",
|
||||
@@ -468,6 +469,7 @@
|
||||
"Radius": "Polumjer",
|
||||
"Radius Fit": "Uklapanje polumjera",
|
||||
"Ratio": "Omjer",
|
||||
"Read-only list: shortcuts can't be changed here.": "Popis samo za čitanje: prečaci se ovdje ne mogu mijenjati.",
|
||||
"Reattach selected face": "Ponovno pričvrsti odabrano lice",
|
||||
"Recover": "Oporavi",
|
||||
"Recover unsaved design?": "Oporaviti nespremljeni dizajn?",
|
||||
@@ -652,6 +654,7 @@
|
||||
"Third point": "Treća točka",
|
||||
"This child is shared. Deleting it removes it from every copy of its parent.": "Ovaj podređeni element je dijeljen. Brisanjem se uklanja iz svake kopije njegova roditelja.",
|
||||
"This child is shared. Position changes apply to every copy of its parent.": "Ovaj podređeni element je dijeljen. Promjene položaja primjenjuju se na svaku kopiju njegova roditelja.",
|
||||
"This component is inside a subassembly placed more than once: aligning it moves it in every placement.": "Ova se komponenta nalazi unutar podsklopa postavljenog više puta: njezino poravnavanje pomiče je u svakom postavljanju.",
|
||||
"This face cannot provide a durable attachment. Choose another face or explicitly use a fixed plane.": "Ovo lice ne može dati trajno pričvršćenje. Odaberite drugo lice ili izričito upotrijebite fiksnu ravninu.",
|
||||
"This image is not attached to GitHub yet. Copy or save it, then attach it on GitHub.": "Ova slika još nije priložena na GitHubu. Kopirajte je ili spremite, a zatim je priložite na GitHubu.",
|
||||
"Thread depth": "Dubina navoja",
|
||||
@@ -793,6 +796,11 @@
|
||||
"cam.roller": "Valjak",
|
||||
"cam.roller_pick": "Valjak (neobavezno)",
|
||||
"cam.tip_pick": "Vrh (neobavezno)",
|
||||
"camera.shot_pitch": "Nagib",
|
||||
"camera.shot_roll": "Valjanje",
|
||||
"camera.shot_yaw": "Skretanje",
|
||||
"canvas.decal_place_hint": "Kliknite lice kako biste postavili naljepnicu",
|
||||
"canvas.place_hint": "Kliknite ravninu ili lice kako biste postavili platno",
|
||||
"choose a profile": "odaberite profil",
|
||||
"choose the cam's and the follower's joints": "odaberite spojeve brijega i sljedbenika",
|
||||
"choose the joints to couple": "odaberite spojeve koje treba povezati",
|
||||
@@ -800,9 +808,12 @@
|
||||
"click sketch curves": "kliknite krivulje skice",
|
||||
"cmd.appearance_assign": "Izgled",
|
||||
"cmd.appearance_chain": "Lanac izgleda",
|
||||
"cmd.appearance_copy": "Kopiraj izgled",
|
||||
"cmd.appearance_favorite": "Omiljeni izgled",
|
||||
"cmd.appearance_library": "Biblioteka izgleda",
|
||||
"cmd.appearance_list": "Popis izgleda",
|
||||
"cmd.appearance_paint": "Oboji izgledom",
|
||||
"cmd.appearance_paste": "Zalijepi izgled",
|
||||
"cmd.appearance_pick_up": "Preuzmi izgled",
|
||||
"cmd.appearance_replace": "Zamijeni izgled",
|
||||
"cmd.assembly_bom": "Sastavnica",
|
||||
@@ -813,6 +824,7 @@
|
||||
"cmd.browser_move": "Premjesti stavke stabla modela",
|
||||
"cmd.browser_order": "Poredaj stavke stabla modela",
|
||||
"cmd.browser_rename_group": "Preimenuj grupu",
|
||||
"cmd.browser_reparent": "Premjesti u komponentu",
|
||||
"cmd.browser_ungroup": "Razgrupiraj",
|
||||
"cmd.browser_visibility": "Prikaži/sakrij",
|
||||
"cmd.canvas_calibrate": "Kalibriraj platno",
|
||||
@@ -839,7 +851,9 @@
|
||||
"cmd.component_metadata": "Svojstva dijela",
|
||||
"cmd.component_metadata_set": "Promijeni svojstva dijela",
|
||||
"cmd.component_move_bodies": "Premjesti tijela u komponentu",
|
||||
"cmd.component_move_features": "Premjesti značajke u komponentu",
|
||||
"cmd.component_move_sketches": "Premjesti skice u komponentu",
|
||||
"cmd.component_paste_from_design": "Zalijepi iz drugog dizajna",
|
||||
"cmd.component_paste_new": "Zalijepi kao novo",
|
||||
"cmd.component_properties": "Fizička svojstva komponente",
|
||||
"cmd.component_relink": "Ponovno poveži izvor",
|
||||
@@ -976,6 +990,7 @@
|
||||
"cmd.motion_trace": "Trag kretanja",
|
||||
"cmd.motion_trace_edit": "Uredi trag kretanja",
|
||||
"cmd.motion_trace_keep": "Zadrži trag kretanja",
|
||||
"cmd.occurrence_align": "Poravnaj primjerak",
|
||||
"cmd.occurrence_copy": "Zalijepi (primjerak)",
|
||||
"cmd.occurrence_drag": "Povuci primjerak",
|
||||
"cmd.occurrence_ground": "Učvrsti",
|
||||
@@ -1033,11 +1048,17 @@
|
||||
"cmd.render_library_surface_unbind": "Ukloni vezu površine",
|
||||
"cmd.render_library_targets": "Pronađi ciljeve biblioteke renderiranja",
|
||||
"cmd.render_lights_add": "Dodaj svjetlo",
|
||||
"cmd.render_lights_duplicate": "Dupliciraj svjetlo renderiranja",
|
||||
"cmd.render_lights_list": "Popis svjetala renderiranja",
|
||||
"cmd.render_lights_mute": "Isključi svjetlo",
|
||||
"cmd.render_lights_remove": "Ukloni svjetlo renderiranja",
|
||||
"cmd.render_lights_set": "Postavi svjetlo renderiranja",
|
||||
"cmd.render_lights_solo": "Samo ovo svjetlo",
|
||||
"cmd.render_optics_bind": "Spremi optičku vezu",
|
||||
"cmd.render_optics_unbind": "Ukloni optičku vezu",
|
||||
"cmd.render_output_size": "Postavi veličinu izlaza renderiranja",
|
||||
"cmd.render_preflight": "Provjeri zahtjev za renderiranje",
|
||||
"cmd.render_preflight_copy": "Kopiraj izvješće provjere renderiranja",
|
||||
"cmd.render_preset_apply": "Primijeni izvorni studio",
|
||||
"cmd.render_preset_resolve": "Pregledaj izvorni studio",
|
||||
"cmd.render_quality_prepare": "Pregledaj fiksni proračun uzorkovanja",
|
||||
@@ -1060,6 +1081,13 @@
|
||||
"cmd.render_start": "Renderiraj sliku",
|
||||
"cmd.render_status": "Napredak renderiranja",
|
||||
"cmd.select_clear": "Poništi odabir",
|
||||
"cmd.settings_profile_apply": "Primijeni profil postavki",
|
||||
"cmd.settings_profile_delete": "Izbriši profil postavki",
|
||||
"cmd.settings_profile_export": "Izvezi profil postavki",
|
||||
"cmd.settings_profile_import": "Uvezi profil postavki",
|
||||
"cmd.settings_profile_list": "Profili postavki",
|
||||
"cmd.settings_profile_rename": "Preimenuj profil postavki",
|
||||
"cmd.settings_profile_save": "Spremi profil postavki",
|
||||
"cmd.sheet_convert": "Pretvori u lim",
|
||||
"cmd.sheet_export_bend_table": "Izvezi tablicu savijanja",
|
||||
"cmd.sheet_export_dxf": "Izvezi razvijeni oblik kao DXF",
|
||||
@@ -1073,6 +1101,16 @@
|
||||
"cmd.sheet_refold": "Ponovno presavij",
|
||||
"cmd.sheet_rules": "Popis pravila za lim",
|
||||
"cmd.sheet_unfold": "Razvij",
|
||||
"cmd.sketch.construction_line": "Pomoćni pravac",
|
||||
"cmd.sketch.construction_line.angle": "Pomoćni pravac pod kutom",
|
||||
"cmd.sketch.construction_line.bisector": "Simetrala kuta",
|
||||
"cmd.sketch.construction_line.horizontal": "Vodoravni pomoćni pravac",
|
||||
"cmd.sketch.construction_line.parallel": "Paralelni pomoćni pravac",
|
||||
"cmd.sketch.construction_line.perpendicular": "Pomoćni pravac okomit na pravac",
|
||||
"cmd.sketch.construction_line.tangent_at": "Tangenta u točki krivulje",
|
||||
"cmd.sketch.construction_line.tangent_external": "Tangenta kroz vanjsku točku",
|
||||
"cmd.sketch.construction_line.tangent_two": "Zajednička tangenta",
|
||||
"cmd.sketch.construction_line.vertical": "Okomiti pomoćni pravac",
|
||||
"cmd.sketch_arc3d": "3D luk",
|
||||
"cmd.sketch_arc_center_point": "Luk iz središta",
|
||||
"cmd.sketch_arc_tangent": "Tangentni luk",
|
||||
@@ -1105,6 +1143,8 @@
|
||||
"cmd.sketch_drawing_bounds": "Veličina crteža",
|
||||
"cmd.sketch_edit": "Uredi skicu",
|
||||
"cmd.sketch_edit_text": "Uredi tekst",
|
||||
"cmd.sketch_equation_curve": "Krivulja iz jednadžbe",
|
||||
"cmd.sketch_equation_curve_edit": "Uredi krivulju iz jednadžbe",
|
||||
"cmd.sketch_export_dxf": "Spremi kao DXF",
|
||||
"cmd.sketch_finish_auto_constrain": "Završi s automatskim ograničenjima",
|
||||
"cmd.sketch_fit_curves_to_section": "Uklopi krivulje u presjek mreže",
|
||||
@@ -1201,6 +1241,7 @@
|
||||
"cmd.view.render_browser": "Stablo renderiranja",
|
||||
"cmd.view.render_dock": "Premjesti panel renderiranja",
|
||||
"cmd.view.render_focus": "Fokusni prikaz renderiranja",
|
||||
"cmd.view.status_items": "Statusne stavke prozora prikaza",
|
||||
"cmd.view_ambient_occlusion": "Ambijentalna okluzija",
|
||||
"cmd.view_angle_readout": "Kutovi prikaza",
|
||||
"cmd.view_apply": "Vrati imenovani prikaz",
|
||||
@@ -1222,6 +1263,7 @@
|
||||
"cmd.view_normal_to": "Okomito na odabir",
|
||||
"cmd.view_previous_tab": "Prethodna kartica",
|
||||
"cmd.view_rename": "Preimenuj imenovani prikaz",
|
||||
"cmd.view_render_frame": "Vodilice kadra renderiranja",
|
||||
"cmd.view_right": "Pogled zdesna",
|
||||
"cmd.view_save": "Novi imenovani prikaz",
|
||||
"cmd.view_shots_strip": "Traka kadrova",
|
||||
@@ -1232,10 +1274,14 @@
|
||||
"color.copy": "Kliknite za kopiranje vrijednosti boje",
|
||||
"color.edit": "Kliknite za uređivanje boje",
|
||||
"color.gamma": "Prikaz vrijednosti boje u gama prostoru 0-255",
|
||||
"color.hex": "Hex",
|
||||
"color.hex_help": "Unesite #rrggbb ili #rrggbbaa; šest znamenki zadržava neprozirnost",
|
||||
"color.hex_hint": "#rrggbb",
|
||||
"color.hue": "Nijansa",
|
||||
"color.linear": "Prikaz vrijednosti boje u linearnom prostoru 0-1",
|
||||
"color.saturation_value": "Zasićenost i vrijednost",
|
||||
"color.selected": "Odabrana boja",
|
||||
"config.column_filter_empty": "Nema odgovarajućih stupaca",
|
||||
"contact.components_count": "Komponente: {count}",
|
||||
"contact.enabled_label": "omogućeno",
|
||||
"coupling.gear_1": "Zupčanik 1",
|
||||
@@ -1350,8 +1396,10 @@
|
||||
"help.material.assign": "Određuje od čega su odabrana tijela izrađena, npr. čelik, aluminij ili ABS. Upotrijebite ga kako bi masa i težina odgovarale stvarnom dijelu.",
|
||||
"help.mit": "MIT licenca",
|
||||
"help.notice": "NOTICE",
|
||||
"help.occurrence.move": "Pomiče dio sklopa samo u stupnjevima slobode koje dopuštaju njegovi spojevi. Odaberite lice dijela, a zatim povucite dostupnu strelicu ili luk.",
|
||||
"help.parameters.change": "Otvara tablicu imenovanih vrijednosti i izraza koji upravljaju kotama dizajna. Upotrijebite je kako biste promijenili mjeru na jednom mjestu, a sve značajke koje je koriste je slijede.",
|
||||
"help.pointcloud.insert": "Umetnite PLY, XYZ ili PTS skeniranje kao oblak točaka uz model. Koristite ga kao referencu pri izradi modela iz izmjerenih podataka.",
|
||||
"help.sketch.equation_curve": "Crta krivulju prema formulama: x(t) i y(t) ili y = f(x), u zadanom rasponu. Formule mogu koristiti parametre i krivulja ih prati: upotrijebite je za sinusoidu, spiralu ili evolventu zuba zupčanika.",
|
||||
"help.solid.align": "Pomiče odabrana tijela tako da se točka, lice ili ravnina na njima poklopi s točkom, licem ili ravninom negdje drugdje. Upotrijebite ga kako biste postavili dio uz drugi bez mjerenja odmaka.",
|
||||
"help.solid.chamfer": "Odsijeca odabrane bridove ravnim skošenjem zadane udaljenosti. Koristite ga kako biste ublažili oštre bridove ili olakšali uvođenje zatika ili vijka.",
|
||||
"help.solid.combine": "Spaja tijela, oduzima ih od ciljnog tijela ili zadržava samo zajednički volumen, a može zadržati i alatna tijela. Koristite ga kako biste spojili dijelove, jednim oblikom odrezali drugi ili pronašli gdje se dva tijela preklapaju.",
|
||||
@@ -1480,6 +1528,21 @@
|
||||
"joint.one_component": "Ovi dijelovi su tijela jedne komponente: {bodies}. Spoj pomiče jednu komponentu u odnosu na drugu, pa svaki dio treba vlastitu komponentu.",
|
||||
"joint.rigid_group_one_component": "Sva tijela ({count}) nalaze se u jednoj komponenti (ili u samom dizajnu): najprije upotrijebite {command}.",
|
||||
"joint.rigid_group_select_components": "Odaberite dvije ili više komponenti.",
|
||||
"joint_move.blocked_hint": "Provjerite vrstu spoja (npr. Kruti), učvršćenje, granice spoja i vrijednosti kojima upravljaju parametri.",
|
||||
"joint_move.blocked_title": "Ovaj dio nije moguće pomaknuti",
|
||||
"joint_move.coarse": "Korak rotacije blizu osi (°)",
|
||||
"joint_move.distance": "Udaljenost od početka",
|
||||
"joint_move.done": "Gotovo",
|
||||
"joint_move.fine": "Korak rotacije daleko od osi (°)",
|
||||
"joint_move.fixed": "Ovaj dio nema pomičnu os spoja.",
|
||||
"joint_move.help": "Pomakni — povucite strelicu ili prsten. Esc poništava trenutno povlačenje.",
|
||||
"joint_move.legacy_hint": "Isključite kako biste koristili prethodni panel Pomakni.",
|
||||
"joint_move.precision": "Povucite izvan isprekidane vodilice za finu rotaciju.",
|
||||
"joint_move.rotation": "Rotacija od početka",
|
||||
"joint_move.select": "Odaberite lice ili jedan dio sklopa, a zatim odaberite Pomakni.",
|
||||
"joint_move.settings": "Pomicanje u sklopu",
|
||||
"joint_move.step": "Korak",
|
||||
"joint_move.use_handles": "Koristi ručice kretanja spojeva za Pomakni u sklopu",
|
||||
"keymap.command_id": "ID naredbe",
|
||||
"keymap.empty": "Nema odgovarajućih naredbi",
|
||||
"keymap.use_anyway": "Ipak upotrijebi {key} ovdje",
|
||||
@@ -1574,6 +1637,8 @@
|
||||
"nav.maya.help": "Alt+povlačenje lijevom tipkom orbitira, Alt+srednja tipka pomiče, Alt+desna tipka zumira; povlačenje srednjom tipkom također pomiče",
|
||||
"nav.openscad.help": "Povlačenje lijevom tipkom po praznom prostoru orbitira, Shift+povlačenje lijevom odabire okvirom, povlačenje geometrije skice uređuje je; povlačenje desnom ili srednjom tipkom pomiče, Shift+desna ili Shift+srednja zumira",
|
||||
"nav.perspective.sketch": "Uređivanje skice koristi ortografski prikaz. Završite skicu kako biste prešli na perspektivu.",
|
||||
"nav.right_drag_orbits.help": "Isključeno: povlačenje desnom tipkom ne dira kameru, a desna tipka samo otvara kontekstni izbornik. Odabir mapiranja miša SolidWorks isključuje ovu opciju.",
|
||||
"nav.right_drag_orbits.label": "Povlačenje desnom tipkom orbitira",
|
||||
"nav.solidworks.help": "Povlačenje srednjom tipkom orbitira, Ctrl+srednja pomiče, Shift+srednja zumira, povlačenje desnom orbitira",
|
||||
"nav.tinkercad.help": "Povlačenje desnom tipkom orbitira, povlačenje srednjom ili Shift+desnom pomiče",
|
||||
"nav.touchpad.help": "Držite Shift i pomičite pokazivač za pomicanje prikaza; držite Alt/Option i pomičite ga za orbitiranje. Tipka miša nije potrebna. Okomito pomicanje zumira.",
|
||||
@@ -1595,6 +1660,9 @@
|
||||
"navbar.custom.customise": "Prilagodi navigacijsku traku…",
|
||||
"navbar.custom.design": "Dizajn",
|
||||
"navbar.custom.duplicate": "Ovo mjesto je već na traci.",
|
||||
"navbar.custom.edge": "Rub",
|
||||
"navbar.custom.edge_bottom": "Dolje",
|
||||
"navbar.custom.edge_top": "Gore",
|
||||
"navbar.custom.fade": "Izblijedi",
|
||||
"navbar.custom.full": "Uklonite jedno mjesto kako biste dodali drugo.",
|
||||
"navbar.custom.hidden_design": "Skriveno u Dizajnu",
|
||||
@@ -1701,6 +1769,7 @@
|
||||
"parts.dimension.thickness": "Debljina",
|
||||
"parts.dimension.width": "Širina",
|
||||
"parts.family.bearing": "Kuglični ležaj s dubokim utorom (ovojni oblik)",
|
||||
"parts.family.button_head_cap_screw": "Vijak s poluokruglom glavom i unutarnjim šesterokutom",
|
||||
"parts.family.dowel_pin": "Cilindrični zatik",
|
||||
"parts.family.hex_bolt": "Vijak sa šesterokutnom glavom",
|
||||
"parts.family.hex_nut": "Šesterokutna matica",
|
||||
@@ -1759,6 +1828,9 @@
|
||||
"prefs.bottom_centre": "Dolje u sredini",
|
||||
"prefs.bottom_right": "Dolje desno",
|
||||
"prefs.browser": "Stablo modela",
|
||||
"prefs.browser_reveal_on_hover": "Prikaži pri prelasku mišem",
|
||||
"prefs.browser_show_note": "Prikazano drži stablo modela na zaslonu. Prikaži pri prelasku mišem skriva ga dok pokazivač ne dođe na njegovo mjesto ili na tanku karticu uz njegov lijevi rub, a ostaje otvoreno dok je pokazivač unutar njega ili dok je otvoren izbornik iz njega.",
|
||||
"prefs.browser_shown": "Prikazano",
|
||||
"prefs.built_in": "Ugrađeno",
|
||||
"prefs.button_left": "Povlačenje lijevom tipkom",
|
||||
"prefs.button_middle": "Povlačenje srednjom tipkom",
|
||||
@@ -1829,6 +1901,8 @@
|
||||
"prefs.layout_note": "Kompaktno pričvršćuje panele uz rubove prozora. Prozirnost stabla modela dostupna je u opciji Plutajuće. Stranu Asistenta promijenite na stranici Asistent.",
|
||||
"prefs.left": "Lijevo",
|
||||
"prefs.left_click": "Lijevi klik",
|
||||
"prefs.line_drag_draws_one": "Pritisak i povlačenje crta jednu liniju",
|
||||
"prefs.line_drag_draws_one_note": "U alatu Linija pritisak, povlačenje i otpuštanje crta jednu liniju od mjesta pritiska do mjesta otpuštanja i ondje završava. Klikovi i dalje crtaju lanac. Isključeno: povlačenje postavlja točku ondje gdje se otpusti, kao i klik.",
|
||||
"prefs.linked_designs": "Povezani dizajni",
|
||||
"prefs.live_input": "Ulaz uživo",
|
||||
"prefs.live_preview": "Pregled uživo",
|
||||
@@ -1861,14 +1935,36 @@
|
||||
"prefs.origin_plane_names": "Nazivi ravnina ishodišta",
|
||||
"prefs.origin_plane_names_note": "Nazivi prikazani u stablu modela, dijalozima i popisima. {top} je XY, {front} je XZ, a {right} je YZ, sa Z prema gore. Naredbe, skripte i spremljeni dizajni zadržavaju XY, XZ i YZ.",
|
||||
"prefs.overall_speed": "Ukupna brzina",
|
||||
"prefs.perspective_fov": "Vidno polje",
|
||||
"prefs.placement": "Postavljanje",
|
||||
"prefs.prefer_free_sketch_points": "Daj prednost pomičnim točkama skice kad se točke preklapaju",
|
||||
"prefs.preview_choices": "Pregled vaših odabira",
|
||||
"prefs.profile_active": "Aktivni profil",
|
||||
"prefs.profile_applied": "Profil je primijenjen.",
|
||||
"prefs.profile_changed": "Postavke su se promijenile otkako je profil spremljen. Spremi ih zadržava u njemu.",
|
||||
"prefs.profile_deleted": "Profil je izbrisan.",
|
||||
"prefs.profile_export": "Izvezi…",
|
||||
"prefs.profile_exported": "Profil je izvezen.",
|
||||
"prefs.profile_imported": "Profil je uvezen. Odaberite ga pod Aktivni profil kako biste se prebacili na njega.",
|
||||
"prefs.profile_name_hint": "Naziv profila, npr. Prijenosnik",
|
||||
"prefs.profile_rename": "Preimenuj",
|
||||
"prefs.profile_renamed": "Profil je preimenovan.",
|
||||
"prefs.profile_save": "Spremi",
|
||||
"prefs.profile_saved": "Trenutne postavke spremljene su u profil.",
|
||||
"prefs.profile_skipped": "Profil je primijenjen; postavke koje su zadržale trenutnu vrijednost: {n} (pogledajte zapisnik).",
|
||||
"prefs.profiles": "Profili postavki",
|
||||
"prefs.profiles_note": "Prečaci, alatna traka, navigacija, radijalni izbornik i postavke sučelja, spremljeni zajedno pod jednim nazivom i mijenjani odjednom.",
|
||||
"prefs.project_options_dialog": "Dijalog opcija projiciranja",
|
||||
"prefs.project_options_dialog_note": "Uključeno: prije projiciranja odaberite Geometrija ili Tijela i Veza projekcije. Isključeno: zadržava se prethodni način rada s izravnim odabirom.",
|
||||
"prefs.quality_default": "zadano",
|
||||
"prefs.quality_fastest": "najbrže",
|
||||
"prefs.quality_slowest": "najsporije",
|
||||
"prefs.quality_smoother": "glađe",
|
||||
"prefs.render_previous_geometry_budget": "Koristi prethodni proračun geometrije za pregled renderiranja",
|
||||
"prefs.render_previous_geometry_budget_help": "Vrati prethodnu fiksnu granicu geometrije (512 MiB na 64-bitnom desktopu, 128 MiB drugdje) umjesto proračuna prema uređaju.",
|
||||
"prefs.reports_saved": "Spremljeno: {n}",
|
||||
"prefs.ribbon_reveal": "Prikaži rezultate pretraživanja na vrpci",
|
||||
"prefs.ribbon_reveal_note": "Zadržavanje pokazivača iznad rezultata u Pretraži naredbe pokazuje gdje se naredba nalazi na vrpci: njezinu karticu, gumb ili redak u padajućem izborniku panela. Naredba pokrenuta iz pretraživanja ondje zatreperi, a pokrenuta naredba iz padajućeg izbornika označava svoj panel.",
|
||||
"prefs.right_click": "Desni klik",
|
||||
"prefs.saving": "Automatsko spremanje i oporavak",
|
||||
"prefs.scale_note": "Također Ctrl + / Ctrl − u prozoru. Gumbi su 28 px pri 100 %.",
|
||||
@@ -1882,6 +1978,10 @@
|
||||
"prefs.shift_add_ctrl_toggle": "Shift samo dodaje; Ctrl / Cmd uključuje i isključuje",
|
||||
"prefs.shift_add_note": "Uključeno: Shift dodaje, Ctrl / Cmd uključuje i isključuje. Isključeno (zadano): oba uključuju i isključuju.",
|
||||
"prefs.shortcuts": "Prečaci",
|
||||
"prefs.single_surface_analysis": "Koristi samo jednu analizu ploha",
|
||||
"prefs.single_surface_analysis_help": "Kad je isključeno, sjenčanje ploha i Kontinuitet mogu ostati uključeni zajedno. Kad je uključeno, zadržava se posljednja pokrenuta ili promijenjena analiza.",
|
||||
"prefs.sketch_align_points": "Poravnaj s drugim točkama skice tijekom crtanja",
|
||||
"prefs.sketch_align_points_note": "Tijekom crtanja točka se istodobno poravnava vodoravno s jednom točkom skice i okomito s drugom, uz točkastu vodilicu, a klik zadržava oba poravnanja. Isključeno: samo s prethodnom točkom, po jedna os.",
|
||||
"prefs.sketch_conflict_colour": "Geometrija u sukobu u boji sukoba",
|
||||
"prefs.sketch_conflict_colour_note": "Dok su ograničenja skice u sukobu, krivulje i točke koje drži neuspjelo ograničenje crtaju se i u boji sukoba, a ne samo njegov simbol ili kota. Isključeno: zadržavaju uobičajene boje.",
|
||||
"prefs.sketch_exit_view": "Kad se skica završi",
|
||||
@@ -1889,6 +1989,8 @@
|
||||
"prefs.sketch_exit_view.previous": "Vrati se na prethodni prikaz",
|
||||
"prefs.sketch_exit_view.unless_rotated": "Vrati se osim ako je rotirano",
|
||||
"prefs.sketch_exit_view_note": "Kamo prikaz ide nakon Završi skicu, Odustani ili dvostrukog Esc.",
|
||||
"prefs.sketch_recent_snap": "Automatski privlači na nedavna središta i središnje točke",
|
||||
"prefs.sketch_recent_snap_note": "Tijekom crtanja pokazivač se privlači ondje gdje se sijeku vodilice dvaju posljednjih središta kružnica ili središnjih točaka ravnih bridova. Isključeno: te vodilice služe samo za prikaz i pokazivač se ne pomiče.",
|
||||
"prefs.sketch_selection": "Skica i odabir",
|
||||
"prefs.sketch_selection_heading": "Skica i odabir",
|
||||
"prefs.sketch_selection_note": "Kako se skice privlače i kako klikovi odabiru.",
|
||||
@@ -1933,7 +2035,14 @@
|
||||
"prefs.toast_place": "Obavijesti",
|
||||
"prefs.toggle_item": "Dodaj stavku ili je ponovno ukloni",
|
||||
"prefs.toolbar": "Alatna traka",
|
||||
"prefs.toolbar_tabs": "Kartice alatne trake",
|
||||
"prefs.top": "Gore",
|
||||
"prefs.trackpad_zoom_modifier": "Zumiranje pomicanjem s dva prsta uz držanje tipke",
|
||||
"prefs.trackpad_zoom_modifier.alt": "⌥ / Alt",
|
||||
"prefs.trackpad_zoom_modifier.cmd": "⌘",
|
||||
"prefs.trackpad_zoom_modifier.ctrl": "Ctrl",
|
||||
"prefs.trackpad_zoom_modifier.help": "Držite samo ovu tipku kako biste okomitim pomicanjem zumirali prema pokazivaču. Isključeno zadržava postojeće ponašanje pomicanja.",
|
||||
"prefs.trackpad_zoom_modifier.off": "Isključeno",
|
||||
"prefs.translucent": "Prozirno",
|
||||
"prefs.under_browser": "Ispod stabla modela",
|
||||
"prefs.under_cursor": "Ispod pokazivača",
|
||||
@@ -1943,9 +2052,14 @@
|
||||
"prefs.view_confirm_corner": "U redu i Odustani u kutu prikaza",
|
||||
"prefs.view_confirm_corner_note": "Dok je otvoren dijalog ili skica, kvačica i križić gore desno u prikazu rade isto što i gumbi U redu i Odustani u dijalogu, odnosno završavaju i poništavaju skicu. Navigator prikaza pomiče se ispod njih.",
|
||||
"prefs.viewport": "Prozor prikaza",
|
||||
"prefs.viewport_background": "Pozadina",
|
||||
"prefs.viewport_background_colour": "Boja",
|
||||
"prefs.viewport_background_theme": "Gradijent teme",
|
||||
"prefs.wheel": "Kotačić",
|
||||
"prefs.wheel_trackpad": "Kotačić i dodirna pločica",
|
||||
"prefs.workspace": "Radni prostor",
|
||||
"prefs.zoom_stop_at_model": "Zaustavi zumiranje na modelu",
|
||||
"prefs.zoom_stop_at_model_tip": "3D miš i aplikacija uređaja zumiraju prema površini u sredini prikaza; zumiranje povlačenjem zadržava točku na kojoj je povlačenje počelo. Isključeno: zumiranje može proći kroz model. Kotačić i štipanje zasebno koriste Zumiranje prema pokazivaču",
|
||||
"prefs.zoom_toward_cursor": "Zumiranje prema pokazivaču",
|
||||
"properties.title": "Svojstva: {name}",
|
||||
"recovery.days_ago": "prije {count} dana",
|
||||
@@ -2034,6 +2148,7 @@
|
||||
"render.appearance_editor.weight": "Težina",
|
||||
"render.appearance_physics_separate": "Vizualni izgled ne dodjeljuje gustoću, toplinske podatke niti druga inženjerska svojstva.",
|
||||
"render.appearances": "Izgledi",
|
||||
"render.assign_help": "Kliknite za primjenu na odabir; povucite za pregled i ispustite ili, kad ništa nije odabrano, kliknite za bojenje.",
|
||||
"render.availability_native": "Izvorni sastav; pregledajte prije primjene",
|
||||
"render.availability_projection": "Podržana projekcija; pogledajte opseg i izostavke",
|
||||
"render.availability_reference": "Referentni podaci; nije automatska dodjela",
|
||||
@@ -2072,6 +2187,7 @@
|
||||
"render.bloom_threshold": "Prag linearnih svijetlih dijelova",
|
||||
"render.browse_capabilities": "Pregledaj potpuni katalog mogućnosti",
|
||||
"render.browse_environments": "Pregledaj izvorna HDR okruženja",
|
||||
"render.browse_looks": "Pregledaj…",
|
||||
"render.browse_native_scenes": "Pregledaj izvorne studije",
|
||||
"render.browse_physical": "Pregledaj fizičke reference",
|
||||
"render.browse_quality": "Pregledaj specifikacije kvalitete",
|
||||
@@ -2095,6 +2211,82 @@
|
||||
"render.check_opaque": "Prozirnost: samo neprozirne površine; alfa pozadine je podržana.",
|
||||
"render.check_sorted_alpha": "Prozirnost: sortirana aproksimacija alfe.",
|
||||
"render.check_transmission": "Prozirnost: fizičko propuštanje svjetlosti.",
|
||||
"render.children.absolute_floor": "Apsolutni donji prag",
|
||||
"render.children.adaptive": "Prilagodljivo",
|
||||
"render.children.add_look_reason": "Dodajte izgled kako biste uredili njegovo uključeno stanje i jačinu.",
|
||||
"render.children.all_shots": "Svi kadrovi",
|
||||
"render.children.bloom": "Sjaj",
|
||||
"render.children.check": "Provjera",
|
||||
"render.children.check_now": "Provjeri sada",
|
||||
"render.children.chromatic": "Kromatski pomak",
|
||||
"render.children.compact": "Kompaktno",
|
||||
"render.children.contrast": "Kontrast",
|
||||
"render.children.copy_image": "Kopiraj",
|
||||
"render.children.copy_job": "Kopiraj JSON posla",
|
||||
"render.children.copy_request": "Kopiraj JSON zahtjeva",
|
||||
"render.children.coverage_error": "Pogreška pokrivenosti",
|
||||
"render.children.cpu": "CPU praćenje zraka",
|
||||
"render.children.denoise": "Smanji šum na dovršenoj slici",
|
||||
"render.children.depth": "Dubina putanje",
|
||||
"render.children.distortion": "Izobličenje",
|
||||
"render.children.edge_samples": "Uzorci rubova",
|
||||
"render.children.effects_banner": "Ovi efekti zahtijevaju GPU praćenje putanja. Otvaranje ovoga nikad ne mijenja metodu.",
|
||||
"render.children.enable_adaptive": "Omogućite neovisne probne uzorke kako biste uredili prilagodljiva ograničenja.",
|
||||
"render.children.enable_bloom": "Omogućite sjaj kako biste uredili njegovu jačinu, prag i polumjer.",
|
||||
"render.children.finishing": "Završna obrada",
|
||||
"render.children.flare": "Odsjaj",
|
||||
"render.children.fresnel": "Fresnelovi slojevi",
|
||||
"render.children.ghosts": "Duhovi prstenova",
|
||||
"render.children.glass": "Prijenos kroz staklo",
|
||||
"render.children.go_to": "Idi na {editor}",
|
||||
"render.children.grain": "Zrno",
|
||||
"render.children.halo": "Oreol",
|
||||
"render.children.hdr": "HDR",
|
||||
"render.children.keep_master": "Zadrži sirovi linearni master",
|
||||
"render.children.last_result": "Posljednje: {number} · {width} × {height} · {phase}",
|
||||
"render.children.lens_effects": "Efekti objektiva",
|
||||
"render.children.look_summary": "{tone} · izgledi: {count}",
|
||||
"render.children.looks": "Kreativni izgledi",
|
||||
"render.children.memory": "Memorija",
|
||||
"render.children.method": "Metoda",
|
||||
"render.children.minimum": "Minimum",
|
||||
"render.children.needs_cpu": "Zahtijeva CPU praćenje zraka. Otvaranje ovoga nikad ne mijenja metodu.",
|
||||
"render.children.nested": "Potvrđeni ugniježđeni dielektrici",
|
||||
"render.children.not_checked": "Nije provjereno",
|
||||
"render.children.path": "Praćenje putanja",
|
||||
"render.children.pilots": "Probni uzorci",
|
||||
"render.children.preview": "Podaci pregleda",
|
||||
"render.children.progressive_reason": "Odaberite CPU progresivno kako biste uredili broj uzoraka i sjeme.",
|
||||
"render.children.radius": "Polumjer",
|
||||
"render.children.reflect_depth": "Dubina refleksije",
|
||||
"render.children.reflect_samples": "Uzorci refleksije",
|
||||
"render.children.regrade": "Ponovna gradacija",
|
||||
"render.children.relative_error": "Relativna pogreška",
|
||||
"render.children.render": "Renderiranje",
|
||||
"render.children.render_shot": "Renderiraj kadar",
|
||||
"render.children.renderer": "Iscrtavač",
|
||||
"render.children.renderers": "Iscrtavači",
|
||||
"render.children.request": "Ovaj zahtjev",
|
||||
"render.children.reset_finishing": "Vrati zadanu završnu obradu",
|
||||
"render.children.review_quality": "Pregledaj specifikaciju kvalitete…",
|
||||
"render.children.rgb_gain": "RGB pojačanje",
|
||||
"render.children.samples": "Uzorci",
|
||||
"render.children.sampling": "Uzorkovanje",
|
||||
"render.children.saturation": "Zasićenost",
|
||||
"render.children.scene_summary": "Tijela: {bodies} · trokuti: {triangles}",
|
||||
"render.children.seed": "Sjeme",
|
||||
"render.children.sharpening": "Izoštravanje",
|
||||
"render.children.single_image": "Jedna slika",
|
||||
"render.children.soft_focus": "Meki fokus",
|
||||
"render.children.streak": "Pruga",
|
||||
"render.children.strength": "Jačina",
|
||||
"render.children.studio": "Studio",
|
||||
"render.children.threshold": "Prag",
|
||||
"render.children.tone": "Ton",
|
||||
"render.children.under_hood": "Ispod haube",
|
||||
"render.children.vignette": "Vinjeta",
|
||||
"render.children.workstation": "Radna stanica",
|
||||
"render.choose_look": "Najprije odaberite izgled u Izgledima",
|
||||
"render.chromatic_offset": "Kromatski pomak rubova",
|
||||
"render.clear_stage": "Ukloni spremljenu scenu",
|
||||
"render.copy_request": "Kopiraj JSON",
|
||||
@@ -2346,8 +2538,33 @@
|
||||
"render.flare_strength": "Jačina odsjaja svijetlih dijelova",
|
||||
"render.flare_threshold": "Linearni prag odsjaja scene",
|
||||
"render.fold_browser": "Sažmi stablo modela",
|
||||
"render.frame_aspect": "Omjer",
|
||||
"render.frame_centre_mark": "Oznaka središta",
|
||||
"render.frame_copy_limit": "Nema dostupnog naziva za duplikat kadra",
|
||||
"render.frame_copy_name": "{name} kopija {number}",
|
||||
"render.frame_custom": "Prilagođeno",
|
||||
"render.frame_distance_unit": " × veličina",
|
||||
"render.frame_duplicate": "Dupliciraj",
|
||||
"render.frame_exposure": "Ekspozicija",
|
||||
"render.frame_fov": "Vidno polje",
|
||||
"render.frame_guides": "Vodilice",
|
||||
"render.frame_invalid_aspect": "Neispravan unaprijed zadani omjer",
|
||||
"render.frame_lens": "Vidno polje {fov}° · ≈ {mm} mm",
|
||||
"render.frame_name": "Naziv",
|
||||
"render.frame_output_size": "Veličina izlaza",
|
||||
"render.frame_photo": "3:2 · Fotografija",
|
||||
"render.frame_portrait": "4:5 · Portret",
|
||||
"render.frame_presets": "Unaprijed zadani kadrovi",
|
||||
"render.frame_presets_pending": "Stiže s uređivačem kadrova",
|
||||
"render.frame_projection": "Projekcija",
|
||||
"render.frame_render_shot": "Renderiraj ovaj kadar",
|
||||
"render.frame_rule_thirds": "Pravilo trećina",
|
||||
"render.frame_safe_area": "Sigurno područje",
|
||||
"render.frame_shot_title": "Kadar · {name}",
|
||||
"render.frame_square": "1:1 · Kvadrat",
|
||||
"render.frame_tall": "9:16 · Okomito",
|
||||
"render.frame_thirds": "Trećine",
|
||||
"render.frame_wide": "16:9 · Široki zaslon",
|
||||
"render.gpu_depth": "Maksimalna dubina putanje",
|
||||
"render.gpu_options_help": "Uzorci, dubina, sjeme i ekspozicija spremaju se s ovom postavkom. Sprema se samo aktivna metoda slike.",
|
||||
"render.gpu_path_failed": "GPU praćenje putanja nije dostupno",
|
||||
@@ -2375,6 +2592,7 @@
|
||||
"render.heading_results": "REZULTATI",
|
||||
"render.heading_shots": "KADROVI",
|
||||
"render.hide_shots_label": "Sakrij traku kadrova",
|
||||
"render.hover_look": "{object} · {look} · kliknite za odabir",
|
||||
"render.image_advanced": "Napredne GPU kontrole",
|
||||
"render.image_cancelled": "Renderiranje je prekinuto",
|
||||
"render.image_cancelling": "Prekidanje",
|
||||
@@ -2521,17 +2739,95 @@
|
||||
"render.library_uniform_ack": "Upotrijebi jednoličnu aproksimaciju bez prostornih ili naprednih efekata",
|
||||
"render.library_usable": "Izvršne projekcije",
|
||||
"render.library_users": "Korisnici",
|
||||
"render.light_aim": "Usmjeri prema",
|
||||
"render.light_anchor_pending": "Promjena koordinatnog sustava svjetla još nije podržana.",
|
||||
"render.light_azimuth": "Azimut",
|
||||
"render.light_backend_limit": "Odaberite CPU praćenje zraka ili izričiti GPU studio kako biste uređivali svjetla. Svjetla starog GPU studija ostaju samo za čitanje.",
|
||||
"render.light_behaviour": "PONAŠANJE",
|
||||
"render.light_default_fill": "Popunjavajuće",
|
||||
"render.light_default_key": "Glavno",
|
||||
"render.light_default_number": "Svjetlo {number}",
|
||||
"render.light_default_rim": "Rubno",
|
||||
"render.light_delete": "Izbriši",
|
||||
"render.light_distance": "Udaljenost",
|
||||
"render.light_duplicate": "Dupliciraj",
|
||||
"render.light_elevation": "Elevacija",
|
||||
"render.light_gpu_punctual": "Točkasta svjetla i reflektori dostupni su uz CPU praćenje zraka.",
|
||||
"render.light_hard_shadow": "Ovo svjetlo ima oštre sjene; mekoća emitera nije dostupna.",
|
||||
"render.light_intensity": "Intenzitet",
|
||||
"render.light_missing": "Ovo svjetlo više ne postoji. Odaberite svjetlo u stablu modela.",
|
||||
"render.light_place_highlight": "Postavi prema odsjaju",
|
||||
"render.light_place_pending": "Postavljanje prema odsjaju zahtijeva odabir svjetla u prozoru prikaza i još nije podržano.",
|
||||
"render.light_position": "POLOŽAJ",
|
||||
"render.light_preview_help": "Prikaz uživo je bez sjena; površinska svjetla koriste aproksimaciju s uzorkom u središtu. Renderiranje koristi potpuni model svjetla.",
|
||||
"render.light_product_centre": "Središte proizvoda",
|
||||
"render.light_size": "Veličina",
|
||||
"render.light_softness": "Mekoća",
|
||||
"render.light_temperature": "Temperatura boje",
|
||||
"render.light_temperature_help": "Približna nijansa crnog tijela; sprema se kao linearni RGB.",
|
||||
"render.light_type": "Vrsta",
|
||||
"render.light_type_area": "Površinsko",
|
||||
"render.light_type_point": "Točkasto",
|
||||
"render.light_type_spot": "Reflektor",
|
||||
"render.light_type_sun": "Sunce",
|
||||
"render.light_view_only": "Samo ovo svjetlo i isključivanje svjetla utječu na ovaj prikaz i njegova renderiranja; nikad se ne spremaju u dizajn.",
|
||||
"render.light_world_origin": "Ishodište svijeta",
|
||||
"render.lighting_aim_point": "Točka usmjeravanja",
|
||||
"render.lighting_apply": "Primijeni postavku",
|
||||
"render.lighting_area_samples": "Uzorci površinskog svjetla",
|
||||
"render.lighting_budget": "Proračun",
|
||||
"render.lighting_budget_help": "Brojevi su samo za čitanje. Dodajte, duplicirajte ili izbrišite svjetla kako biste ih promijenili; metoda određuje ograničenja.",
|
||||
"render.lighting_colour": "Boja",
|
||||
"render.lighting_consent": "Zamijeni usmjerena svjetla ovom postavkom",
|
||||
"render.lighting_custom": "Prilagođena svjetla",
|
||||
"render.lighting_custom_help": "Odabirom opcije Prilagođeno postavka se pretvara u svjetla koja se mogu uređivati, svako u svom retku u stablu.",
|
||||
"render.lighting_direction": "Smjer X Y Z",
|
||||
"render.lighting_direction_help": "Ili upišite smjer prema svjetlu (X Y Z).",
|
||||
"render.lighting_distance_unit": " × veličina",
|
||||
"render.lighting_edge_u": "Vektor stranice U",
|
||||
"render.lighting_edge_v": "Vektor stranice V",
|
||||
"render.lighting_falloff": "Slabljenje",
|
||||
"render.lighting_falloff_help": "Intenzitet je naveden za referentnu udaljenost.",
|
||||
"render.lighting_height": "Visina V",
|
||||
"render.lighting_minimum": "Minimum",
|
||||
"render.lighting_mute": "Isključi ovo svjetlo",
|
||||
"render.lighting_point": "Točka",
|
||||
"render.lighting_preset": "Postavka studija",
|
||||
"render.lighting_preset_cpu": "Usmjerene postavke studija zahtijevaju CPU praćenje zraka. GPU osvjetljenje koristi izričita svjetla vrste Sunce i Površinsko.",
|
||||
"render.lighting_preset_row": "Postavka",
|
||||
"render.lighting_radiance": "Radijancija",
|
||||
"render.lighting_reference": "Referenca",
|
||||
"render.lighting_review_help": "Zamjenjuje popis usmjerenih svjetala. Zadržava točkasta i površinska svjetla, okruženje, sjene, kameru i sve ostale postavke kadra.",
|
||||
"render.lighting_review_title": "Pregledaj postavku osvjetljenja",
|
||||
"render.lighting_samples_cpu": "Uzorci površinskog svjetla primjenjuju se na CPU praćenje zraka.",
|
||||
"render.lighting_samples_need_area": "Dodajte CPU površinsko svjetlo kako biste postavili uzorke površinskog svjetla.",
|
||||
"render.lighting_samples_reason": "Uzorci površinskog svjetla moraju biti 1, 4, 16 ili 64.",
|
||||
"render.lighting_shadow_cpu": "Prekidač sjena zahtijeva CPU praćenje zraka. GPU praćenje putanja uvijek baca sjene.",
|
||||
"render.lighting_shadows": "Baci sjene",
|
||||
"render.lighting_shadows_section": "Sjene i uzorkovanje",
|
||||
"render.lighting_shape": "Oblik",
|
||||
"render.lighting_solo": "Samo ovo svjetlo",
|
||||
"render.lighting_source": "Izvor",
|
||||
"render.lighting_source_section": "Izvor svjetla",
|
||||
"render.lighting_spot_preserved": "Ovo točkasto svjetlo zadržava spremljeni stožac reflektora dok mu se ne promijeni vrsta.",
|
||||
"render.lighting_sun_distance": "Smjer sunca ne ovisi o udaljenosti i točki usmjeravanja.",
|
||||
"render.lighting_unsupported": "nepodržano",
|
||||
"render.lighting_used": "{used} od {limit}",
|
||||
"render.lighting_width": "Širina U",
|
||||
"render.lighting_world_position": "Svjetski X Y Z",
|
||||
"render.lights_fixed_to": "Svjetla vezana za",
|
||||
"render.linear_help": "Zadržava 32-bitni float RGBA master prije uklanjanja šuma, ekspozicije, mapiranja tonova, filtara i pozadine. Linearni sRGB/D65; pomnožen pokrivenošću. Dodatna memorija izričito se odobrava. Bez sažimanja i dodatnih prolaza.",
|
||||
"render.linear_retain": "Zadrži sirovi linearni EXR",
|
||||
"render.linear_unavailable": "Odabrani dovršeni kadar nema zadržani EXR. Omogućite zadržavanje prije renderiranja; stariji PNG ne može vratiti sirovu radijanciju.",
|
||||
"render.look_add": "Dodaj izgled boje",
|
||||
"render.look_applied": "Primijenjeno: {name}",
|
||||
"render.look_bleach": "Po uzoru na bleach bypass",
|
||||
"render.look_cool": "Hladno",
|
||||
"render.look_cyanotype": "Po uzoru na cijanotipiju",
|
||||
"render.look_faded": "Izblijedjeli otisak",
|
||||
"render.look_material": "Materijal",
|
||||
"render.look_mono": "Jednobojno",
|
||||
"render.look_pasted": "Izgled je zalijepljen",
|
||||
"render.look_sepia": "Sepija",
|
||||
"render.look_strength": "Jačina izgleda",
|
||||
"render.look_teal_orange": "Tirkizno / narančasto",
|
||||
@@ -2607,9 +2903,11 @@
|
||||
"render.output_advanced": "Napredno",
|
||||
"render.output_backend_ready": "Spremno",
|
||||
"render.output_check": "Provjeri",
|
||||
"render.output_check_failed": "Provjera · pogreška",
|
||||
"render.output_check_help": "Pokrenite Provjeri da pregledate ovaj zahtjev bez pokretanja renderiranja.",
|
||||
"render.output_check_summary": "Provjera · Napomene: {count}",
|
||||
"render.output_copy": "Kopiraj",
|
||||
"render.output_copy_report": "Kopiraj izvješće",
|
||||
"render.output_destination": "Odredište",
|
||||
"render.output_destination_help": "Odaberite odredišnu datoteku pri izvozu dovršene slike.",
|
||||
"render.output_dimensions": "Veličina",
|
||||
@@ -2619,6 +2917,7 @@
|
||||
"render.output_fit": "Uklopi",
|
||||
"render.output_format": "Format",
|
||||
"render.output_format_status": "PNG je točna dovršena slika za prikaz. Neobavezni GPU EXR zadržava sirovu linearnu radijanciju scene u formatu FLOAT32 prije filtara prikaza. Izvoz nikad ne zamjenjuje predmemoriju pregleda ni drugi posao.",
|
||||
"render.output_grading": "Gradacija",
|
||||
"render.output_image": "Slika",
|
||||
"render.output_largest": "najviše {width} × {height}",
|
||||
"render.output_lock_ratio": "Zaključaj omjer stranica",
|
||||
@@ -2628,6 +2927,8 @@
|
||||
"render.output_quality_waiting": "čeka definiciju kvalitete",
|
||||
"render.output_ratio_refused": "Povezana dimenzija premašuje ograničenje veličine ove metode. Prethodna veličina zadržava se; otključajte omjer ili odaberite manju vrijednost.",
|
||||
"render.output_ready": "Spremno za renderiranje",
|
||||
"render.output_run_check": "Pokreni provjeru",
|
||||
"render.output_size_limit": "{method}: do {dimension} px po strani i {pixels} piksela. Najveća veličina koja stane: {width} × {height}.",
|
||||
"render.output_size_ok": "Veličina u redu · {width} × {height} px",
|
||||
"render.output_swap_orientation": "Zamijeni širinu i visinu",
|
||||
"render.output_tools_inspector": "Veličinu i format uredite u inspektoru Izlaz.",
|
||||
@@ -2644,6 +2945,7 @@
|
||||
"render.page_output": "Izlaz",
|
||||
"render.page_scene": "Scena",
|
||||
"render.paint_label": "Oboji",
|
||||
"render.painting_with": "Bojenje izgledom: {name}",
|
||||
"render.passive_stage": "Podloga i pasivna scena",
|
||||
"render.passive_stage_help": "Konačni pasivni paneli pripadaju samo renderiranim slikama. Ne dodaju CAD tijela ni masu. Postavljanje je fiksno nakon primjene; presijecanje granica proizvoda odbija se. CPU ne daje difuzno odbijeno osvjetljenje.",
|
||||
"render.perspective": "Perspektivna kamera",
|
||||
@@ -2665,6 +2967,7 @@
|
||||
"render.pick_help": "Odaberite Tijelo, Lice ili Komponenta. Kliknite prazan prostor kako biste očistili odabir; Shift ili Ctrl dodaje ili uključuje/isključuje. Isticanja se pojavljuju samo u živom prikazu proizvoda.",
|
||||
"render.pick_label": "Odaberi",
|
||||
"render.pick_up_label": "Preuzmi",
|
||||
"render.pick_up_prompt": "Kliknite objekt kako biste preuzeli njegov izgled",
|
||||
"render.pick_waiting": "Odabir proizvoda još nije podržan.",
|
||||
"render.post_contrast": "Kontrast",
|
||||
"render.post_gain_b": "Pojačanje plave",
|
||||
@@ -2704,13 +3007,17 @@
|
||||
"render.radial_distortion": "Radijalno izobličenje",
|
||||
"render.radial_fit": "Uklopi proizvod",
|
||||
"render.radial_save": "Spremi kadar",
|
||||
"render.recent_looks": "Nedavni izgledi",
|
||||
"render.regrade_action": "Ponovna gradacija sirovog mastera (bez uklanjanja šuma)",
|
||||
"render.regrade_help": "Izrađuje zaseban PNG iz odabranog dovršenog sirovog mastera, koristeći ove kontrole prikaza. Ne prati zrake, ne mijenja zabilježenu veličinu, kameru ni svjetla i ne prebrisuje EXR. Uklanjanje šuma ne primjenjuje se ponovno: sirovi masteri ne čuvaju njegove vodilje. Izvedena slika i dalje se može izvesti istim kontrolama posla.",
|
||||
"render.regrade_label": "Ponovna gradacija",
|
||||
"render.reload_settings": "Ponovno učitaj spremljene postavke",
|
||||
"render.remove_override": "Ukloni nadjačavanje",
|
||||
"render.replace_all": "Zamijeni sve",
|
||||
"render.replace_ground": "Potvrdi zamjenu postojeće scene",
|
||||
"render.replace_label": "Zamijeni",
|
||||
"render.replace_saved_surface": "Zamijeni postojeću spremljenu vezu za ovaj cilj",
|
||||
"render.replace_with": "Zamijeni s",
|
||||
"render.restore_camera": "Vrati spremljenu kameru",
|
||||
"render.result_actual": "100%",
|
||||
"render.result_actual_help": "Jedan piksel slike po pikselu zaslona.",
|
||||
@@ -2762,14 +3069,28 @@
|
||||
"render.saved_surface_remove": "Ukloni spremljenu vezu",
|
||||
"render.saved_surfaces": "Spremljene veze površina",
|
||||
"render.saved_surfaces_help": "Fiksirane ugrađene mape prate odabrani primjerak u lokalnim milimetrima. Zamijenjen ili nedostajući cilj pogreška je, nikad automatska ponovna dodjela.",
|
||||
"render.scene_all_shots": "Svi kadrovi ({count})",
|
||||
"render.scene_apply": "Primijeni pregledani studio",
|
||||
"render.scene_batch_reason": "Opcija Svi kadrovi zahtijeva red čekanja za renderiranje spremljenih kadrova, koji još nije dostupan.",
|
||||
"render.scene_check_now": "Provjeri sada",
|
||||
"render.scene_check_passed": "Provjera uspješna · napomene: {notes}",
|
||||
"render.scene_check_stale": "Provjera je zastarjela · provjerite ponovno",
|
||||
"render.scene_check_unchecked": "Još nije provjereno · 0 napomena",
|
||||
"render.scene_consent": "Potvrdi zamjenu osvjetljenja, okruženja, ekspozicije i scene",
|
||||
"render.scene_light_summary": "{environment} · svjetla: {lights}",
|
||||
"render.scene_look_summary": "Izgledi: {looks} · nadjačavanja: {overrides}",
|
||||
"render.scene_open_check": "Otvori provjeru",
|
||||
"render.scene_preserved_fields": "Kamera, uzorkovanje, dimenzije, optičke veze, CAD geometrija i inženjerski materijali čuvaju se.",
|
||||
"render.scene_preserves_design": "Sastavite osvjetljenje i pasivnu scenu za vidljivi predmet. Geometrija, inženjerski materijali i kamera ostaju odvojeni.",
|
||||
"render.scene_ready": "Spremno za renderiranje",
|
||||
"render.scene_reminder": "Scena čuva dizajn. Geometrija, inženjerska svojstva i CAD nikad se ne mijenjaju iz Renderiranja.",
|
||||
"render.scene_reminders": "Podsjetnici",
|
||||
"render.scene_renderer_ready": "{renderer}: spremno",
|
||||
"render.scene_replaces": "Zamjenjuje",
|
||||
"render.scene_review": "Razriješi i pregledaj",
|
||||
"render.scene_review_help": "Pregledajte potpunu izvornu kompoziciju prije primjene. Nevezane napredne SCENE specifikacije ne zamjenjuju se.",
|
||||
"render.scene_scope_details": "Opseg kompozicije",
|
||||
"render.scene_stages": "Faze",
|
||||
"render.search_appearances": "Pretraži izglede ({count})",
|
||||
"render.setup_legacy_environment": "Ova starija postavka koristi naslijeđenu rotaciju ili intenzitet okruženja. Te vrijednosti zadržavaju se; izričito ih pretvorite prije spremanja punog posla slike.",
|
||||
"render.setup_name": "Naziv postavke",
|
||||
@@ -2782,7 +3103,22 @@
|
||||
"render.shell_tab_camera": "KAMERA RENDERA",
|
||||
"render.shell_tab_lighting": "OSVJETLJENJE",
|
||||
"render.shell_tab_scene": "SCENA RENDERA",
|
||||
"render.shot_aperture": "Otvor blende",
|
||||
"render.shot_distance": "Udaljenost",
|
||||
"render.shot_dof": "Dubinska oštrina",
|
||||
"render.shot_duplicate": "Dupliciraj spremljeni kadar",
|
||||
"render.shot_edit_output": "Uredi u Izlazu",
|
||||
"render.shot_exposure_reason": "Ekspozicija zahtijeva CPU praćenje zraka ili GPU praćenje putanja.",
|
||||
"render.shot_exposure_section": "Ekspozicija",
|
||||
"render.shot_focus_distance": "Udaljenost fokusa",
|
||||
"render.shot_fov_reason": "Vidno polje zahtijeva perspektivnu projekciju.",
|
||||
"render.shot_frame_subject": "Uokviri predmet",
|
||||
"render.shot_invalid_camera": "Vrijednosti kamere moraju biti konačne i unutar raspona.",
|
||||
"render.shot_lens": "Objektiv",
|
||||
"render.shot_lens_enable_reason": "Omogućite dubinsku oštrinu kako biste uredili otvor blende i udaljenost fokusa.",
|
||||
"render.shot_lens_gpu_reason": "Dubinska oštrina zahtijeva GPU praćenje putanja.",
|
||||
"render.shot_lens_perspective_reason": "Dubinska oštrina zahtijeva perspektivnu projekciju.",
|
||||
"render.shot_look_selection": "Pogledaj odabir",
|
||||
"render.shot_manager": "Spremljeni kadrovi",
|
||||
"render.shot_new_name": "Naziv novog kadra",
|
||||
"render.shot_remove": "Ukloni spremljeni kadar",
|
||||
@@ -2790,6 +3126,9 @@
|
||||
"render.shot_remove_title": "Ukloniti spremljeni kadar?",
|
||||
"render.shot_rename": "Preimenuj spremljeni kadar",
|
||||
"render.shot_saved_only": "Najprije spremite trenutni nacrt. Dupliciranje i preimenovanje čuvaju točne spremljene opcije i reference na resurse.",
|
||||
"render.shot_selection_reason": "Odaberite tijelo ili lice prema kojem se usmjerava.",
|
||||
"render.shot_size": "Veličina",
|
||||
"render.shot_target": "Cilj",
|
||||
"render.shots_camera_changed": "Kamera je promijenjena otkako je ovaj kadar spremljen",
|
||||
"render.shots_name_help": "Upišite jedinstven naziv trenutnog kadra.",
|
||||
"render.shots_no_result": "Još nema renderiranja",
|
||||
@@ -3052,6 +3391,7 @@
|
||||
"select an axis": "odaberite os",
|
||||
"select an axis, a straight or circular edge, or a cylinder, cone or torus face first": "prvo odaberite os, ravan ili kružni brid ili lice valjka, stošca ili torusa",
|
||||
"select bodies first": "prvo odaberite tijela",
|
||||
"select components first": "najprije odaberite komponente",
|
||||
"select corner points, or the two lines of one corner": "odaberite točke kutova ili dvije linije jednog kuta",
|
||||
"select one corner point, or the two lines of one corner": "odaberite jednu točku kuta ili dvije linije jednog kuta",
|
||||
"select sheet edges first": "prvo odaberite bridove lima",
|
||||
@@ -3070,6 +3410,7 @@
|
||||
"settings.double_click_components": "Dvaput kliknite komponentu kako biste je aktivirali ili uredili povezanu komponentu na mjestu",
|
||||
"settings.frame_rate_details_note": "Dodaje graf vremena posljednjih okvira s brojem iscrtanih trokuta, histogram vremena okvira i što je GPU iscrtao. Kliknite broj okvira u sekundi u prikazu kako biste ih prikazali ili sakrili.",
|
||||
"settings.frame_rate_note": "Prikazuje broj okvira u sekundi u donjem desnom kutu prikaza.",
|
||||
"settings.insert_lists_open_designs": "Umetni dizajn najprije navodi dizajne otvorene u drugim karticama",
|
||||
"settings.measure_axis_distances": "Prikaži udaljenosti X/Y/Z",
|
||||
"settings.measure_axis_distances_help": "Prikazuj komponente udaljenosti po svjetskim osima uz ukupnu udaljenost dok je Mjerenje otvoreno.",
|
||||
"settings.msaa_applies_on_restart": "Zaglađivanje rubova primjenjuje se pri sljedećem pokretanju SolidCrafta",
|
||||
@@ -3094,6 +3435,10 @@
|
||||
"shortcut.unpin": "Otkvači",
|
||||
"sketch is missing": "skica nedostaje",
|
||||
"sketch.degrees_of_freedom": "Stupnjevi slobode: {count}",
|
||||
"sketch.dimension_added_driven": "Skica već određuje tu kotu, pa je dodana kao referentna kota",
|
||||
"sketch.dimension_applied": "Kota je primijenjena",
|
||||
"sketch.dimension_applied_defined": "Kota je primijenjena; definiran je parametar `{name}`",
|
||||
"sketch.dimension_applied_renamed": "Kota je primijenjena; parametar je nazvan `{name}`",
|
||||
"sketch.dof_left": "Preostali stupnjevi slobode: {count}",
|
||||
"sketch.dof_left_one": "Preostali stupnjevi slobode: {count}",
|
||||
"sketch.draw_curves": "Crtaj kao {linetype}",
|
||||
@@ -3128,6 +3473,8 @@
|
||||
"sketch_text.use_font_file": "Upotrijebi datoteku fonta {path}",
|
||||
"solid": "puno",
|
||||
"status.editing": "Uređivanje: {name}",
|
||||
"status.navigation": "Mapiranje miša: {mapping}",
|
||||
"status.navigation_tip": "Kako miš pomiče prikaz. Kliknite za odabir drugog mapiranja",
|
||||
"status.under_constrained": "Nedovoljno ograničeno (stupnjevi slobode: {count})",
|
||||
"status.under_constrained_one": "Nedovoljno ograničeno (stupanj slobode: {count})",
|
||||
"status.units_tip": "Jedinice dizajna. Kliknite za promjenu",
|
||||
@@ -3161,8 +3508,10 @@
|
||||
"timeline.delete_folders_tip": "Zadrži njihove značajke i ugniježđene mape u vremenskoj traci",
|
||||
"timeline.delete_folders_with_features_tip": "Izbriši mape sa svim značajkama u njima i njihove ugniježđene mape",
|
||||
"timeline.delete_many": "Izbriši odabrane značajke: {count}",
|
||||
"timeline.edited_rolled_back": "Značajka {name} je promijenjena, ali je nakon oznake vraćanja pa se ne gradi: pomaknite oznaku iza nje kako biste vidjeli rezultat",
|
||||
"timeline.feature_error": "Pogreška: {message}",
|
||||
"timeline.feature_hint": "Dvaput kliknite za uređivanje · povucite za promjenu redoslijeda · desni klik za više",
|
||||
"timeline.feature_rolled_back": "Vraćeno: nalazi se nakon oznake vraćanja, pa se ne gradi",
|
||||
"timeline.feature_warning": "Upozorenje: {message}",
|
||||
"timeline.group": "Nova mapa značajki",
|
||||
"timeline.move_many": "Premjesti stavke vremenske trake",
|
||||
@@ -3244,6 +3593,10 @@
|
||||
"ui.3d_mouse_offer": "Kalibracija 3D miša ispravlja zamijenjene ili obrnute osi i postavlja njegovu brzinu i osjećaj.",
|
||||
"ui.3d_mouse_offer_never": "Ne prikazuj više",
|
||||
"ui.3d_mouse_offer_swap": "Prebaci na Hidraw (izravno)",
|
||||
"ui.3d_mouse_orbit": "Orbitiranje",
|
||||
"ui.3d_mouse_orbit_classic": "Klasično",
|
||||
"ui.3d_mouse_orbit_tip": "Praćeno: 3D miš okreće prikaz oko dijela modela koji je u sredini prikaza kad okretanje počne, označenog blijedom kuglom. Klasično: oko središta prikaza",
|
||||
"ui.3d_mouse_orbit_traced": "Praćeno",
|
||||
"ui.3d_mouse_reading": "Očitanje",
|
||||
"ui.3d_mouse_reset_axes": "Vrati zadanu dodjelu osi",
|
||||
"ui.3d_mouse_reset_view": "Vrati prikaz",
|
||||
@@ -3630,6 +3983,7 @@
|
||||
"ui.constant": "Konstantno",
|
||||
"ui.constraints_conflict": "Ograničenja su u sukobu",
|
||||
"ui.construction": "Pomoćna",
|
||||
"ui.construction.ribbon_label": "Pomoćne",
|
||||
"ui.context_menu": "Kontekstni izbornik",
|
||||
"ui.continuity_g0": "G0 pregib",
|
||||
"ui.continuity_g1": "G1 tangentno",
|
||||
@@ -3670,6 +4024,7 @@
|
||||
"ui.design_properties.part_number": "Broj dijela",
|
||||
"ui.design_properties.project": "Projekt",
|
||||
"ui.design_properties.revision": "Revizija",
|
||||
"ui.design_saved": "Spremljeno: {path}",
|
||||
"ui.diameter": "Promjer",
|
||||
"ui.dimension": "Kota",
|
||||
"ui.direct_interaction": "Izravna interakcija",
|
||||
@@ -3720,6 +4075,14 @@
|
||||
"ui.end_scale": "Krajnje skaliranje",
|
||||
"ui.entities": "Elementi",
|
||||
"ui.equal": "Jednakost",
|
||||
"ui.equation_end": "Kraj",
|
||||
"ui.equation_explicit": "Eksplicitni",
|
||||
"ui.equation_form": "Oblik",
|
||||
"ui.equation_note": "Varijabla je običan broj: sin(t) je uzima u radijanima. Rezultat bez jedinice izražen je u jedinici dizajna.",
|
||||
"ui.equation_parametric": "Parametarski",
|
||||
"ui.equation_x_of_t": "x(t)",
|
||||
"ui.equation_y_of_t": "y(t)",
|
||||
"ui.equation_y_of_x": "y(x)",
|
||||
"ui.equivalent_radius": "Ekvivalentni polumjer",
|
||||
"ui.expand": "Proširi",
|
||||
"ui.exportDxf": "Izvezi DXF…",
|
||||
@@ -3785,6 +4148,7 @@
|
||||
"ui.heading_design": "DIZAJN",
|
||||
"ui.heading_draft": "NAGIB",
|
||||
"ui.heading_edit": "UREDI",
|
||||
"ui.heading_equation_curve": "KRIVULJA IZ JEDNADŽBE",
|
||||
"ui.heading_extrude": "EKSTRUDIRAJ",
|
||||
"ui.heading_fillet": "ZAOBLJENJE",
|
||||
"ui.heading_finish_editing": "ZAVRŠI UREĐIVANJE",
|
||||
@@ -3876,6 +4240,10 @@
|
||||
"ui.import_ellipsis": "Uvezi…",
|
||||
"ui.infinite": "Beskonačno",
|
||||
"ui.insert": "Umetni",
|
||||
"ui.insert_design.browse": "Pregledaj…",
|
||||
"ui.insert_design.open_designs": "Otvoreni dizajni",
|
||||
"ui.insert_design.saved_file": "{name} ima nespremljene promjene, pa je umetnuta njegova spremljena datoteka. Spremite ga, a zatim pokrenite Ažuriraj veze kako biste unijeli promjene.",
|
||||
"ui.insert_design.unsaved": "Nespremljene promjene",
|
||||
"ui.inspect": "Pregledaj",
|
||||
"ui.intersect": "Presjek",
|
||||
"ui.isolate": "Izoliraj",
|
||||
@@ -4025,6 +4393,18 @@
|
||||
"ui.project": "Projiciraj",
|
||||
"ui.project_face_edges_sketch": "Projiciraj bridove lica u nove skice",
|
||||
"ui.properties": "Svojstva",
|
||||
"ui.properties.copy_matrix": "Kopiraj matricu",
|
||||
"ui.properties.first_moments": "Statički momenti",
|
||||
"ui.properties.inertia": "Moment tromosti",
|
||||
"ui.properties.inertia_note": "Oko središta mase, u svjetskim osima (g·{unit}²)",
|
||||
"ui.properties.inertia_unavailable": "Nije dostupno: mreža tijela nije zatvorena.",
|
||||
"ui.properties.inertia_x": "Ixx, Ixy, Ixz",
|
||||
"ui.properties.inertia_y": "Iyx, Iyy, Iyz",
|
||||
"ui.properties.inertia_z": "Izx, Izy, Izz",
|
||||
"ui.properties.measuring": "Mjerenje…",
|
||||
"ui.properties.measuring_failed": "Mjerenje je zaustavljeno prije završetka.",
|
||||
"ui.properties.principal_axis": "Glavna os {number}",
|
||||
"ui.properties.principal_moments": "Glavni momenti tromosti",
|
||||
"ui.pull_direction": "Smjer vađenja iz kalupa",
|
||||
"ui.quality": "Kvaliteta",
|
||||
"ui.quantity": "Broj",
|
||||
@@ -4087,6 +4467,7 @@
|
||||
"ui.select": "Odaberi",
|
||||
"ui.selectOther": "Odaberi drugo…",
|
||||
"ui.selectTangentChain": "Odaberi tangentni lanac",
|
||||
"ui.select_all": "Odaberi sve",
|
||||
"ui.selection": "Odabir",
|
||||
"ui.selection_modifiers": "Modifikatori odabira",
|
||||
"ui.selection_shift_add_only": "Shift+klik dodaje bez uklanjanja",
|
||||
@@ -4123,7 +4504,11 @@
|
||||
"ui.sketch": "Skica",
|
||||
"ui.sketch_dimension": "Kota skice",
|
||||
"ui.sketch_grid": "Mreža skice",
|
||||
"ui.sketch_intersect_geometry": "Geometrija",
|
||||
"ui.sketch_intersect_projection_link": "Veza projekcije",
|
||||
"ui.sketch_intersect_selection_filter": "Filtar odabira",
|
||||
"ui.sketch_modifiers": "Modifikatori skice",
|
||||
"ui.sketch_project_geometry": "Geometrija",
|
||||
"ui.sketch_scale": "Skaliranje skice",
|
||||
"ui.sketches": "Skice",
|
||||
"ui.slice": "Presijeci",
|
||||
@@ -4170,6 +4555,11 @@
|
||||
"ui.symmetric": "Simetrično",
|
||||
"ui.symmetry": "Simetrija",
|
||||
"ui.system": "Sustav",
|
||||
"ui.tab_assemble": "Sklopi",
|
||||
"ui.tab_manage": "Upravljanje",
|
||||
"ui.tab_sheet_metal": "Lim",
|
||||
"ui.tab_view": "Prikaz",
|
||||
"ui.tab_weldments": "Zavarene konstrukcije",
|
||||
"ui.tangent": "Tangentno",
|
||||
"ui.taper_angle": "Kut suženja",
|
||||
"ui.tapped": "S navojem",
|
||||
@@ -4185,6 +4575,7 @@
|
||||
"ui.tip_angle": "Kut vrha",
|
||||
"ui.to_object": "Do objekta",
|
||||
"ui.tool_direction": "Smjer alata",
|
||||
"ui.toolbar_tabs_hidden": "Sve kartice alatne trake su skrivene. Kliknite + ili ovdje desnom tipkom kako biste prikazali jednu.",
|
||||
"ui.top": "Odozgo",
|
||||
"ui.top_diameter": "Gornji promjer",
|
||||
"ui.top_radius": "Gornji polumjer",
|
||||
@@ -4231,6 +4622,7 @@
|
||||
"ui.visual_shaded_with_edges": "Osjenčano s bridovima",
|
||||
"ui.visual_style": "Vizualni stil",
|
||||
"ui.visual_wireframe": "Žičani model",
|
||||
"ui.wheel_zoom_speed": "Brzina zumiranja kotačićem miša",
|
||||
"ui.width": "Širina",
|
||||
"ui.window_system": "Sustav prozora",
|
||||
"ui.window_system_auto": "Automatski",
|
||||
@@ -4284,6 +4676,9 @@
|
||||
"update.prefs_managed": "Ovo je SolidCraft {version}, kojim upravlja {manager}. Provjera pita GitHub za najnovije izdanje i ne šalje ništa drugo; ažurirajte SolidCraft u {manager}.",
|
||||
"update.prefs_note": "Ovo je SolidCraft {version} ({kind}). Provjera pita GitHub za najnovije izdanje i ne šalje ništa drugo.",
|
||||
"update.prefs_web": "Ponovno učitajte stranicu kako biste dobili najnoviju web aplikaciju. Ako mreža nije dostupna ili se ažuriranje ne može preuzeti na vrijeme, otvara se spremljena verzija; preuzimanje u tijeku nastavlja se za sljedeće ponovno učitavanje.",
|
||||
"update.refresh_checking": "Provjera najnovijeg izdanja…",
|
||||
"update.refresh_fallback": "Nije moguće provjeriti postoji li novije izdanje; ažurira se na {version}, pronađeno ranije.",
|
||||
"update.refresh_selected": "Ažuriranje na {version}.",
|
||||
"update.release_page": "Otvori stranicu izdanja",
|
||||
"update.restart": "Ponovno pokreni sada",
|
||||
"update.restart_later": "Kasnije",
|
||||
|
||||
@@ -204,6 +204,7 @@
|
||||
"Edges": "Élek",
|
||||
"Edit": "Szerkesztés",
|
||||
"Edit Profile Sketch": "Profilvázlat szerkesztése",
|
||||
"Edit shortcuts": "Billentyűparancsok szerkesztése",
|
||||
"Enable rule": "Szabály engedélyezése",
|
||||
"Enabled": "Engedélyezve",
|
||||
"End Radius": "Végi sugár",
|
||||
@@ -466,6 +467,7 @@
|
||||
"Radius": "Sugár",
|
||||
"Radius Fit": "Sugár illesztése",
|
||||
"Ratio": "Arány",
|
||||
"Read-only list: shortcuts can't be changed here.": "Csak olvasható lista: a billentyűparancsok itt nem módosíthatók.",
|
||||
"Reattach selected face": "Kijelölt lap újrarögzítése",
|
||||
"Recover": "Helyreállítás",
|
||||
"Recover unsaved design?": "Helyreállítja a nem mentett tervet?",
|
||||
@@ -649,6 +651,7 @@
|
||||
"Third point": "Harmadik pont",
|
||||
"This child is shared. Deleting it removes it from every copy of its parent.": "Ez a gyermekelem közös. Törlése eltávolítja a szülő minden másolatából.",
|
||||
"This child is shared. Position changes apply to every copy of its parent.": "Ez a gyermekelem közös. A pozícióváltozások a szülő minden másolatára érvényesek.",
|
||||
"This component is inside a subassembly placed more than once: aligning it moves it in every placement.": "Ez a komponens egy többször elhelyezett részösszeállításban van: az igazítása minden elhelyezésben elmozdítja.",
|
||||
"This face cannot provide a durable attachment. Choose another face or explicitly use a fixed plane.": "Ez a lap nem biztosít tartós rögzítést. Válasszon másik lapot, vagy használjon kifejezetten rögzített síkot.",
|
||||
"This image is not attached to GitHub yet. Copy or save it, then attach it on GitHub.": "Ez a kép még nincs csatolva a GitHubhoz. Másolja vagy mentse el, majd csatolja a GitHubon.",
|
||||
"Thread depth": "Menetmélység",
|
||||
@@ -790,6 +793,11 @@
|
||||
"cam.roller": "Görgő",
|
||||
"cam.roller_pick": "Görgő (opcionális)",
|
||||
"cam.tip_pick": "Csúcs (opcionális)",
|
||||
"camera.shot_pitch": "Billentés",
|
||||
"camera.shot_roll": "Gördülés",
|
||||
"camera.shot_yaw": "Elfordulás",
|
||||
"canvas.decal_place_hint": "Kattintson egy lapra a matrica elhelyezéséhez",
|
||||
"canvas.place_hint": "Kattintson egy síkra vagy lapra a vászon elhelyezéséhez",
|
||||
"choose a profile": "válasszon profilt",
|
||||
"choose the cam's and the follower's joints": "válassza ki a bütyök és a követő csuklóit",
|
||||
"choose the joints to couple": "válassza ki az összekapcsolandó csuklókat",
|
||||
@@ -797,9 +805,12 @@
|
||||
"click sketch curves": "kattintson vázlatgörbékre",
|
||||
"cmd.appearance_assign": "Megjelenés",
|
||||
"cmd.appearance_chain": "Megjelenéslánc",
|
||||
"cmd.appearance_copy": "Stílus másolása",
|
||||
"cmd.appearance_favorite": "Stílus kedvencnek jelölése",
|
||||
"cmd.appearance_library": "Megjelenéstár",
|
||||
"cmd.appearance_list": "Megjelenések listázása",
|
||||
"cmd.appearance_paint": "Megjelenés festése",
|
||||
"cmd.appearance_paste": "Stílus beillesztése",
|
||||
"cmd.appearance_pick_up": "Megjelenés felvétele",
|
||||
"cmd.appearance_replace": "Megjelenés cseréje",
|
||||
"cmd.assembly_bom": "Anyagjegyzék",
|
||||
@@ -810,6 +821,7 @@
|
||||
"cmd.browser_move": "Böngészőelemek áthelyezése",
|
||||
"cmd.browser_order": "Böngészőelemek rendezése",
|
||||
"cmd.browser_rename_group": "Csoport átnevezése",
|
||||
"cmd.browser_reparent": "Áthelyezés komponensbe",
|
||||
"cmd.browser_ungroup": "Csoport szétbontása",
|
||||
"cmd.browser_visibility": "Megjelenítés/elrejtés",
|
||||
"cmd.canvas_calibrate": "Vászon kalibrálása",
|
||||
@@ -836,7 +848,9 @@
|
||||
"cmd.component_metadata": "Alkatrésztulajdonságok",
|
||||
"cmd.component_metadata_set": "Alkatrésztulajdonságok módosítása",
|
||||
"cmd.component_move_bodies": "Testek áthelyezése komponensbe",
|
||||
"cmd.component_move_features": "Elemek áthelyezése komponensbe",
|
||||
"cmd.component_move_sketches": "Vázlatok áthelyezése komponensbe",
|
||||
"cmd.component_paste_from_design": "Beillesztés másik tervből",
|
||||
"cmd.component_paste_new": "Beillesztés újként",
|
||||
"cmd.component_properties": "Komponens fizikai tulajdonságai",
|
||||
"cmd.component_relink": "Forrás újrakötése",
|
||||
@@ -973,6 +987,7 @@
|
||||
"cmd.motion_trace": "Mozgásnyom",
|
||||
"cmd.motion_trace_edit": "Mozgásnyom szerkesztése",
|
||||
"cmd.motion_trace_keep": "Mozgásnyom megtartása",
|
||||
"cmd.occurrence_align": "Előfordulás igazítása",
|
||||
"cmd.occurrence_copy": "Beillesztés (példány)",
|
||||
"cmd.occurrence_drag": "Előfordulás húzása",
|
||||
"cmd.occurrence_ground": "Rögzítés a földhöz",
|
||||
@@ -1030,11 +1045,17 @@
|
||||
"cmd.render_library_surface_unbind": "Felületkötés eltávolítása",
|
||||
"cmd.render_library_targets": "Renderkönyvtár célpontjainak keresése",
|
||||
"cmd.render_lights_add": "Fényforrás hozzáadása",
|
||||
"cmd.render_lights_duplicate": "Renderfény kettőzése",
|
||||
"cmd.render_lights_list": "Renderfények listázása",
|
||||
"cmd.render_lights_mute": "Fényforrás némítása",
|
||||
"cmd.render_lights_remove": "Renderfény eltávolítása",
|
||||
"cmd.render_lights_set": "Renderfény beállítása",
|
||||
"cmd.render_lights_solo": "Szólófény",
|
||||
"cmd.render_optics_bind": "Optikai kötés mentése",
|
||||
"cmd.render_optics_unbind": "Optikai kötés eltávolítása",
|
||||
"cmd.render_output_size": "Render kimeneti méretének beállítása",
|
||||
"cmd.render_preflight": "Renderkérés ellenőrzése",
|
||||
"cmd.render_preflight_copy": "Renderellenőrzési jelentés másolása",
|
||||
"cmd.render_preset_apply": "Natív Studio alkalmazása",
|
||||
"cmd.render_preset_resolve": "Natív Studio áttekintése",
|
||||
"cmd.render_quality_prepare": "Rögzített mintavételi keret áttekintése",
|
||||
@@ -1057,6 +1078,13 @@
|
||||
"cmd.render_start": "Kép renderelése",
|
||||
"cmd.render_status": "Renderelés előrehaladása",
|
||||
"cmd.select_clear": "Kijelölés törlése",
|
||||
"cmd.settings_profile_apply": "Beállításprofil alkalmazása",
|
||||
"cmd.settings_profile_delete": "Beállításprofil törlése",
|
||||
"cmd.settings_profile_export": "Beállításprofil exportálása",
|
||||
"cmd.settings_profile_import": "Beállításprofil importálása",
|
||||
"cmd.settings_profile_list": "Beállításprofilok",
|
||||
"cmd.settings_profile_rename": "Beállításprofil átnevezése",
|
||||
"cmd.settings_profile_save": "Beállításprofil mentése",
|
||||
"cmd.sheet_convert": "Átalakítás lemezzé",
|
||||
"cmd.sheet_export_bend_table": "Hajlítási táblázat exportálása",
|
||||
"cmd.sheet_export_dxf": "Lapminta exportálása DXF-ként",
|
||||
@@ -1070,6 +1098,16 @@
|
||||
"cmd.sheet_refold": "Újrahajlítás",
|
||||
"cmd.sheet_rules": "Lemezszabályok listázása",
|
||||
"cmd.sheet_unfold": "Kiterítés",
|
||||
"cmd.sketch.construction_line": "Szerkesztőegyenes",
|
||||
"cmd.sketch.construction_line.angle": "Adott szögű szerkesztőegyenes",
|
||||
"cmd.sketch.construction_line.bisector": "Szögfelező",
|
||||
"cmd.sketch.construction_line.horizontal": "Vízszintes szerkesztőegyenes",
|
||||
"cmd.sketch.construction_line.parallel": "Párhuzamos szerkesztőegyenes",
|
||||
"cmd.sketch.construction_line.perpendicular": "Merőleges szerkesztőegyenes",
|
||||
"cmd.sketch.construction_line.tangent_at": "Érintő a görbe pontjában",
|
||||
"cmd.sketch.construction_line.tangent_external": "Érintő külső pontból",
|
||||
"cmd.sketch.construction_line.tangent_two": "Közös érintő",
|
||||
"cmd.sketch.construction_line.vertical": "Függőleges szerkesztőegyenes",
|
||||
"cmd.sketch_arc3d": "3D ív",
|
||||
"cmd.sketch_arc_center_point": "Középpontos ív",
|
||||
"cmd.sketch_arc_tangent": "Érintő ív",
|
||||
@@ -1102,6 +1140,8 @@
|
||||
"cmd.sketch_drawing_bounds": "Rajzméret",
|
||||
"cmd.sketch_edit": "Vázlat szerkesztése",
|
||||
"cmd.sketch_edit_text": "Szöveg szerkesztése",
|
||||
"cmd.sketch_equation_curve": "Egyenletgörbe",
|
||||
"cmd.sketch_equation_curve_edit": "Egyenletgörbe szerkesztése",
|
||||
"cmd.sketch_export_dxf": "Mentés DXF-ként",
|
||||
"cmd.sketch_finish_auto_constrain": "Befejezés automatikus kényszerezéssel",
|
||||
"cmd.sketch_fit_curves_to_section": "Görbék illesztése a hálómetszethez",
|
||||
@@ -1198,6 +1238,7 @@
|
||||
"cmd.view.render_browser": "Renderböngésző",
|
||||
"cmd.view.render_dock": "Renderpanel áthelyezése",
|
||||
"cmd.view.render_focus": "Renderfókusz nézet",
|
||||
"cmd.view.status_items": "Nézetablak állapotelemei",
|
||||
"cmd.view_ambient_occlusion": "Környezeti takarás",
|
||||
"cmd.view_angle_readout": "Nézetszögek",
|
||||
"cmd.view_apply": "Elnevezett nézet visszaállítása",
|
||||
@@ -1219,6 +1260,7 @@
|
||||
"cmd.view_normal_to": "Merőleges a kijelölésre",
|
||||
"cmd.view_previous_tab": "Előző lap",
|
||||
"cmd.view_rename": "Elnevezett nézet átnevezése",
|
||||
"cmd.view_render_frame": "Renderkeret segédvonalai",
|
||||
"cmd.view_right": "Jobb oldali nézet",
|
||||
"cmd.view_save": "Új elnevezett nézet",
|
||||
"cmd.view_shots_strip": "Felvételsáv",
|
||||
@@ -1229,10 +1271,14 @@
|
||||
"color.copy": "Kattintson a színértékek másolásához",
|
||||
"color.edit": "Kattintson a szín szerkesztéséhez",
|
||||
"color.gamma": "Színértékek megjelenítése 0–255 gamma térben",
|
||||
"color.hex": "Hex",
|
||||
"color.hex_help": "Adja meg: #rrggbb vagy #rrggbbaa; hat számjegy esetén az átlátszatlanság megmarad",
|
||||
"color.hex_hint": "#rrggbb",
|
||||
"color.hue": "Árnyalat",
|
||||
"color.linear": "Színértékek megjelenítése 0–1 lineáris térben",
|
||||
"color.saturation_value": "Telítettség és érték",
|
||||
"color.selected": "Kijelölt szín",
|
||||
"config.column_filter_empty": "Nincs egyező oszlop",
|
||||
"contact.components_count": "{count} komponens",
|
||||
"contact.enabled_label": "engedélyezve",
|
||||
"coupling.gear_1": "1. fogaskerék",
|
||||
@@ -1346,8 +1392,10 @@
|
||||
"help.material.assign": "Megadja, miből készültek a kijelölt testek, például acélból, alumíniumból vagy ABS-ből. Használja, hogy a tömeg és a súly megegyezzen a valódi alkatrészével.",
|
||||
"help.mit": "MIT licenc",
|
||||
"help.notice": "NOTICE",
|
||||
"help.occurrence.move": "Az összeállítás egy alkatrészét csak a csuklói által megengedett szabadságfokok mentén mozgatja. Jelölje ki az alkatrész egy lapját, majd húzza az egyik elérhető nyilat vagy ívet.",
|
||||
"help.parameters.change": "Megnyitja a terv méreteit vezérlő elnevezett értékek és kifejezések táblázatát. Használja egy méret egy helyen való módosítására, hogy az azt használó összes elem kövesse.",
|
||||
"help.pointcloud.insert": "PLY, XYZ vagy PTS szkennelést szúr be pontfelhőként a modell mellé. Használja referenciaként, amikor mért adatokból épít modellt.",
|
||||
"help.sketch.equation_curve": "Görbét rajzol képletekből: x(t) és y(t), vagy y = f(x) alapján, egy tartományon. A képletek paramétereket is használhatnak, és a görbe követi őket: használja szinuszhullámhoz, spirálhoz vagy fogaskerékfog evolvenséhez.",
|
||||
"help.solid.align": "Úgy mozgatja a kijelölt testeket, hogy egy rajtuk lévő pont, lap vagy sík találkozzon máshol lévő ponttal, lappal vagy síkkal. Használja egy alkatrész másikhoz illesztésére az eltolás lemérése nélkül.",
|
||||
"help.solid.chamfer": "A kijelölt éleket lapos letöréssel vágja le a megadott távolságban. Használja éles élek tompítására, illetve egy csap vagy csavar bevezetésének megkönnyítésére.",
|
||||
"help.solid.combine": "Egyesíti a testeket, kivágja őket egy céltestből, vagy csak a közös térfogatukat tartja meg, és megtarthatja a szerszámtesteket. Használja alkatrészek összeolvasztására, egy alak másikkal való kivágására, vagy két test átfedésének megkeresésére.",
|
||||
@@ -1474,6 +1522,21 @@
|
||||
"joint.one_component": "Ezek az alkatrészek egyetlen komponens testei: {bodies}. A csukló egy komponenst mozgat a másikhoz képest, ezért minden alkatrésznek saját komponens kell.",
|
||||
"joint.rigid_group_one_component": "Mind a(z) {count} test egyetlen komponensben van (vagy magában a tervben): előbb használja a(z) {command} parancsot.",
|
||||
"joint.rigid_group_select_components": "Jelöljön ki két vagy több komponenst.",
|
||||
"joint_move.blocked_hint": "Ellenőrizze a csukló típusát (például Merev), a földhöz rögzítést, a csuklókorlátokat és a paraméterrel vezérelt értékeket.",
|
||||
"joint_move.blocked_title": "Ez az alkatrész nem mozgatható",
|
||||
"joint_move.coarse": "Forgatási lépés a tengely közelében (°)",
|
||||
"joint_move.distance": "Távolság a kezdőponttól",
|
||||
"joint_move.done": "Kész",
|
||||
"joint_move.fine": "Forgatási lépés a tengelytől távol (°)",
|
||||
"joint_move.fixed": "Ennek az alkatrésznek nincs mozgatható csuklótengelye.",
|
||||
"joint_move.help": "Mozgatás – húzzon egy nyilat vagy gyűrűt. Az Esc megszakítja az aktuális húzást.",
|
||||
"joint_move.legacy_hint": "Kapcsolja ki az előző Mozgatás panel használatához.",
|
||||
"joint_move.precision": "Finom forgatáshoz húzza a szaggatott segédvonalon kívülre.",
|
||||
"joint_move.rotation": "Elforgatás a kezdettől",
|
||||
"joint_move.select": "Jelöljön ki egy lapot vagy az összeállítás egy alkatrészét, majd válassza a Mozgatás parancsot.",
|
||||
"joint_move.settings": "Összeállítás mozgatása",
|
||||
"joint_move.step": "Lépés",
|
||||
"joint_move.use_handles": "Csuklómozgató fogantyúk használata az összeállítás mozgatásához",
|
||||
"keymap.command_id": "Parancsazonosító",
|
||||
"keymap.empty": "Nincs egyező parancs",
|
||||
"keymap.use_anyway": "{key} használata itt mégis",
|
||||
@@ -1568,6 +1631,8 @@
|
||||
"nav.maya.help": "Alt+bal húzás: keringés, Alt+középső húzás: pásztázás, Alt+jobb húzás: nagyítás; a középső húzás is pásztáz",
|
||||
"nav.openscad.help": "Bal húzás üres helyen: keringés, Shift+bal húzás: kijelölés kerettel, a vázlatgeometria húzása szerkeszt; jobb vagy középső húzás: pásztázás, Shift+jobb vagy Shift+középső húzás: nagyítás",
|
||||
"nav.perspective.sketch": "A vázlatszerkesztés ortografikus nézetet használ. A perspektívára váltáshoz fejezze be a vázlatot.",
|
||||
"nav.right_drag_orbits.help": "Ki: a jobb gombos húzás nem mozgatja a kamerát, és a jobb gomb csak a helyi menüt nyitja meg. A SolidWorks egérkiosztás kiválasztása kikapcsolja.",
|
||||
"nav.right_drag_orbits.label": "Jobb gombos húzás: keringés",
|
||||
"nav.solidworks.help": "Középső húzás: keringés, Ctrl+középső húzás: pásztázás, Shift+középső húzás: nagyítás, jobb húzás: keringés",
|
||||
"nav.tinkercad.help": "Jobb húzás: keringés, középső vagy Shift+jobb húzás: pásztázás",
|
||||
"nav.touchpad.help": "Tartsa lenyomva a Shiftet, és mozgassa a mutatót a pásztázáshoz; tartsa lenyomva az Alt/Option billentyűt, és mozgassa a keringéshez. Egérgomb nem szükséges. A függőleges görgetés nagyít.",
|
||||
@@ -1589,6 +1654,9 @@
|
||||
"navbar.custom.customise": "Navigációs sáv testreszabása…",
|
||||
"navbar.custom.design": "Tervezés",
|
||||
"navbar.custom.duplicate": "Ez a hely már szerepel a sávon.",
|
||||
"navbar.custom.edge": "Szél",
|
||||
"navbar.custom.edge_bottom": "Alul",
|
||||
"navbar.custom.edge_top": "Felül",
|
||||
"navbar.custom.fade": "Elhalványítás",
|
||||
"navbar.custom.full": "Újabb hely hozzáadásához távolítson el egyet.",
|
||||
"navbar.custom.hidden_design": "Rejtett a Tervezésben",
|
||||
@@ -1695,6 +1763,7 @@
|
||||
"parts.dimension.thickness": "Vastagság",
|
||||
"parts.dimension.width": "Szélesség",
|
||||
"parts.family.bearing": "Mélyhornyú golyóscsapágy (befoglaló méret)",
|
||||
"parts.family.button_head_cap_screw": "Belső kulcsnyílású lencsefejű csavar",
|
||||
"parts.family.dowel_pin": "Hengeres illesztőcsap",
|
||||
"parts.family.hex_bolt": "Hatlapfejű csavar",
|
||||
"parts.family.hex_nut": "Hatlapú anya",
|
||||
@@ -1751,6 +1820,9 @@
|
||||
"prefs.bottom_centre": "Alsó közép",
|
||||
"prefs.bottom_right": "Jobb alsó",
|
||||
"prefs.browser": "Böngésző",
|
||||
"prefs.browser_reveal_on_hover": "Megjelenítés rámutatáskor",
|
||||
"prefs.browser_show_note": "A Megjelenítve beállítás a képernyőn tartja a böngészőt. A Megjelenítés rámutatáskor elrejti, amíg a mutató a helye vagy a bal szélén lévő keskeny fül fölé nem kerül, és nyitva marad, amíg a mutató rajta van, vagy amíg egy belőle nyitott menü nyitva van.",
|
||||
"prefs.browser_shown": "Megjelenítve",
|
||||
"prefs.built_in": "Beépített",
|
||||
"prefs.button_left": "Húzás bal gombbal",
|
||||
"prefs.button_middle": "Húzás középső gombbal",
|
||||
@@ -1821,6 +1893,8 @@
|
||||
"prefs.layout_note": "A Kompakt a paneleket az ablak széleihez rögzíti. A Böngésző áttetszősége Lebegő módban érhető el. Az Asszisztens oldalát az Asszisztens oldalon módosíthatja.",
|
||||
"prefs.left": "Bal",
|
||||
"prefs.left_click": "Bal kattintás",
|
||||
"prefs.line_drag_draws_one": "Lenyomás és húzás egy vonalat rajzol",
|
||||
"prefs.line_drag_draws_one_note": "A Vonal eszközben a lenyomás, húzás és felengedés egyetlen vonalat rajzol a lenyomás helyétől a felengedés helyéig, és ott véget ér. A kattintások továbbra is láncot rajzolnak. Ki: a húzás a felengedés helyén pontot helyez el, ahogy a kattintás.",
|
||||
"prefs.linked_designs": "Kapcsolt tervek",
|
||||
"prefs.live_input": "Élő bevitel",
|
||||
"prefs.live_preview": "Élő előnézet",
|
||||
@@ -1853,14 +1927,36 @@
|
||||
"prefs.origin_plane_names": "Origósíkok nevei",
|
||||
"prefs.origin_plane_names_note": "A Böngészőben, a párbeszédablakokban és a listákban megjelenő nevek. A {top} az XY, a {front} az XZ, a {right} pedig az YZ, a Z felfelé mutat. A parancsok, szkriptek és mentett tervek az XY, XZ és YZ jelölést tartják meg.",
|
||||
"prefs.overall_speed": "Összsebesség",
|
||||
"prefs.perspective_fov": "Látószög",
|
||||
"prefs.placement": "Elhelyezés",
|
||||
"prefs.prefer_free_sketch_points": "Átfedő pontoknál a mozgatható vázlatpontok előnyben részesítése",
|
||||
"prefs.preview_choices": "A választások előnézete",
|
||||
"prefs.profile_active": "Aktív profil",
|
||||
"prefs.profile_applied": "Profil alkalmazva.",
|
||||
"prefs.profile_changed": "A beállítások a profil mentése óta megváltoztak. A Mentés eltárolja őket a profilban.",
|
||||
"prefs.profile_deleted": "Profil törölve.",
|
||||
"prefs.profile_export": "Exportálás…",
|
||||
"prefs.profile_exported": "Profil exportálva.",
|
||||
"prefs.profile_imported": "Profil importálva. Az átváltáshoz válassza ki az Aktív profil alatt.",
|
||||
"prefs.profile_name_hint": "Profilnév, pl. Laptop",
|
||||
"prefs.profile_rename": "Átnevezés",
|
||||
"prefs.profile_renamed": "Profil átnevezve.",
|
||||
"prefs.profile_save": "Mentés",
|
||||
"prefs.profile_saved": "Az aktuális beállítások a profilba mentve.",
|
||||
"prefs.profile_skipped": "Profil alkalmazva; {n} beállítás megtartotta az aktuális értékét (lásd a naplót).",
|
||||
"prefs.profiles": "Beállításprofilok",
|
||||
"prefs.profiles_note": "A billentyűparancsok, az eszköztár, a navigáció, a körmenü és a felület beállításai egy név alatt együtt tárolva, egyszerre váltva.",
|
||||
"prefs.project_options_dialog": "Vetítési beállítások párbeszédpanel",
|
||||
"prefs.project_options_dialog_note": "Be: vetítés előtt válassza ki a Geometria vagy a Testek lehetőséget és a Vetítési kapcsolatot. Ki: az előző, közvetlen kijelöléses munkamenet marad.",
|
||||
"prefs.quality_default": "alapértelmezett",
|
||||
"prefs.quality_fastest": "leggyorsabb",
|
||||
"prefs.quality_slowest": "leglassabb",
|
||||
"prefs.quality_smoother": "simább",
|
||||
"prefs.render_previous_geometry_budget": "Korábbi geometriakeret használata a renderelési előnézethez",
|
||||
"prefs.render_previous_geometry_budget_help": "A korábbi rögzített geometriakorlát visszaállítása (64 bites asztali gépen 512 MiB, máshol 128 MiB) az eszközalapú keret helyett.",
|
||||
"prefs.reports_saved": "{n} mentve",
|
||||
"prefs.ribbon_reveal": "Keresési találatok megmutatása a menüszalagon",
|
||||
"prefs.ribbon_reveal_note": "Ha a Parancsok keresése egy találata fölé viszi a mutatót, megjelenik, hol található a parancs a menüszalagon: a füle, a gombja vagy a sora egy panel legördülő listájában. A keresésből indított parancs ott felvillan, a legördülő listából futó parancs pedig megjelöli a panelját.",
|
||||
"prefs.right_click": "Jobb kattintás",
|
||||
"prefs.saving": "Automatikus mentés és helyreállítás",
|
||||
"prefs.scale_note": "Az ablakban a Ctrl + / Ctrl − is használható. A gombok 100%-on 28 px-esek.",
|
||||
@@ -1874,6 +1970,10 @@
|
||||
"prefs.shift_add_ctrl_toggle": "A Shift csak hozzáad; a Ctrl / Cmd átkapcsol",
|
||||
"prefs.shift_add_note": "Be: a Shift hozzáad, a Ctrl / Cmd átkapcsol. Ki (alapértelmezett): mindkettő átkapcsol.",
|
||||
"prefs.shortcuts": "Billentyűparancsok",
|
||||
"prefs.single_surface_analysis": "Egyetlen felületelemzés használata",
|
||||
"prefs.single_surface_analysis_help": "Kikapcsolva a felületárnyalás és a Folytonosság egyszerre bekapcsolva maradhat. Bekapcsolva a legutóbb indított vagy módosított elemzés marad meg.",
|
||||
"prefs.sketch_align_points": "Igazodás más vázlatpontokhoz rajzolás közben",
|
||||
"prefs.sketch_align_points_note": "Rajzolás közben egy pont egyszerre igazodhat vízszintesen az egyik vázlatponthoz és függőlegesen egy másikhoz, pontozott segédvonallal, és a kattintás mindkét igazítást megtartja. Ki: csak az előző ponthoz, egyszerre egy tengely mentén.",
|
||||
"prefs.sketch_conflict_colour": "Ütköző geometria az ütközés színével",
|
||||
"prefs.sketch_conflict_colour_note": "Amíg egy vázlat kényszerei ütköznek, a hibás kényszer által megfogott görbék és pontok is az ütközés színével jelennek meg, nem csak a kényszer szimbóluma vagy mérete. Kikapcsolva: megtartják szokásos színüket.",
|
||||
"prefs.sketch_exit_view": "Vázlat befejezésekor",
|
||||
@@ -1881,6 +1981,8 @@
|
||||
"prefs.sketch_exit_view.previous": "Visszatérés az előző nézethez",
|
||||
"prefs.sketch_exit_view.unless_rotated": "Visszatérés, ha nem lett forgatva",
|
||||
"prefs.sketch_exit_view_note": "Hová kerül a nézet a Vázlat befejezése, a Mégse vagy a dupla Esc után.",
|
||||
"prefs.sketch_recent_snap": "Automatikus illesztés a legutóbbi középpontokhoz és felezőpontokhoz",
|
||||
"prefs.sketch_recent_snap_note": "Rajzolás közben a kurzor oda illeszkedik, ahol a két legutóbbi pont (kör középpontja vagy egyenes él felezőpontja) segédvonalai keresztezik egymást. Kikapcsolva: ezek a segédvonalak csak megjelennek, és a kurzor nem mozdul el.",
|
||||
"prefs.sketch_selection": "Vázlat és kijelölés",
|
||||
"prefs.sketch_selection_heading": "Vázlat és kijelölés",
|
||||
"prefs.sketch_selection_note": "Hogyan illeszkednek a vázlatok, és hogyan jelölnek ki a kattintások.",
|
||||
@@ -1918,7 +2020,14 @@
|
||||
"prefs.toast_place": "Értesítések",
|
||||
"prefs.toggle_item": "Az elem hozzáadása, vagy újbóli eltávolítása",
|
||||
"prefs.toolbar": "Eszköztár",
|
||||
"prefs.toolbar_tabs": "Eszköztár fülei",
|
||||
"prefs.top": "Felső",
|
||||
"prefs.trackpad_zoom_modifier": "Kétujjas görgetéses nagyítás módosítóbillentyűje",
|
||||
"prefs.trackpad_zoom_modifier.alt": "⌥ / Alt",
|
||||
"prefs.trackpad_zoom_modifier.cmd": "⌘",
|
||||
"prefs.trackpad_zoom_modifier.ctrl": "Ctrl",
|
||||
"prefs.trackpad_zoom_modifier.help": "Csak ezt a billentyűt tartsa lenyomva, hogy függőleges görgetéssel a mutatónál nagyítson. A Ki megtartja a jelenlegi görgetési viselkedést.",
|
||||
"prefs.trackpad_zoom_modifier.off": "Ki",
|
||||
"prefs.translucent": "Áttetsző",
|
||||
"prefs.under_browser": "A Böngésző alatt",
|
||||
"prefs.under_cursor": "A kurzor alatt",
|
||||
@@ -1928,9 +2037,14 @@
|
||||
"prefs.view_confirm_corner": "OK és Mégse a nézet sarkában",
|
||||
"prefs.view_confirm_corner_note": "Amíg egy párbeszédablak vagy vázlat nyitva van, a nézet jobb felső részén egy pipa és egy kereszt a párbeszédablak OK és Mégse gombját működteti, illetve befejezi vagy megszakítja a vázlatot. A nézetnavigátor lejjebb kerül alattuk.",
|
||||
"prefs.viewport": "Nézetablak",
|
||||
"prefs.viewport_background": "Háttér",
|
||||
"prefs.viewport_background_colour": "Szín",
|
||||
"prefs.viewport_background_theme": "A téma színátmenete",
|
||||
"prefs.wheel": "Görgő",
|
||||
"prefs.wheel_trackpad": "Görgő és érintőpad",
|
||||
"prefs.workspace": "Munkaterület",
|
||||
"prefs.zoom_stop_at_model": "Nagyítás megállítása a modellnél",
|
||||
"prefs.zoom_stop_at_model_tip": "A 3D-egér és az eszközalkalmazás a nézet közepén lévő felület felé nagyít; a húzásos nagyítás a húzás kezdőpontját tartja meg. Ki: a nagyítás áthaladhat a modellen. A görgő és a csippentés ettől függetlenül a Nagyítás a kurzorhoz beállítást követi",
|
||||
"prefs.zoom_toward_cursor": "Nagyítás a kurzor irányába",
|
||||
"properties.title": "Tulajdonságok: {name}",
|
||||
"recovery.days_ago": "{count} napja",
|
||||
@@ -2019,6 +2133,7 @@
|
||||
"render.appearance_editor.weight": "Súly",
|
||||
"render.appearance_physics_separate": "A vizuális megjelenés nem rendel hozzá sűrűséget, hőtani adatot vagy más mérnöki tulajdonságot.",
|
||||
"render.appearances": "Megjelenések",
|
||||
"render.assign_help": "Kattintással a kijelölésre alkalmazza; húzással előnézetet kap és ráejtheti, kijelölés nélküli kattintással pedig festhet.",
|
||||
"render.availability_native": "Natív összeállítás; alkalmazás előtt tekintse át",
|
||||
"render.availability_projection": "Támogatott vetítés; lásd a hatókört és a kihagyásokat",
|
||||
"render.availability_reference": "Referenciaadat; nem automatikus hozzárendelés",
|
||||
@@ -2057,6 +2172,7 @@
|
||||
"render.bloom_threshold": "Lineáris csúcsfény-küszöb",
|
||||
"render.browse_capabilities": "Teljes képességkatalógus megtekintése",
|
||||
"render.browse_environments": "Eredeti HDR-környezetek böngészése",
|
||||
"render.browse_looks": "Tallózás…",
|
||||
"render.browse_native_scenes": "Natív stúdiók böngészése",
|
||||
"render.browse_physical": "Fizikai referenciák megtekintése",
|
||||
"render.browse_quality": "Minőségi specifikációk megtekintése",
|
||||
@@ -2080,6 +2196,82 @@
|
||||
"render.check_opaque": "Átlátszóság: csak átlátszatlan felületek; a háttér alfa-csatornája támogatott.",
|
||||
"render.check_sorted_alpha": "Átlátszóság: rendezett alfa-közelítés.",
|
||||
"render.check_transmission": "Átlátszóság: fizikai áteresztés.",
|
||||
"render.children.absolute_floor": "Abszolút küszöb",
|
||||
"render.children.adaptive": "Adaptív",
|
||||
"render.children.add_look_reason": "Adjon hozzá egy stílust az engedélyezett állapotának és erősségének szerkesztéséhez.",
|
||||
"render.children.all_shots": "Összes felvétel",
|
||||
"render.children.bloom": "Bloom",
|
||||
"render.children.check": "Ellenőrzés",
|
||||
"render.children.check_now": "Ellenőrzés most",
|
||||
"render.children.chromatic": "Kromatikus",
|
||||
"render.children.compact": "Kompakt",
|
||||
"render.children.contrast": "Kontraszt",
|
||||
"render.children.copy_image": "Másolás",
|
||||
"render.children.copy_job": "Feladat JSON másolása",
|
||||
"render.children.copy_request": "Kérés JSON másolása",
|
||||
"render.children.coverage_error": "Lefedettségi hiba",
|
||||
"render.children.cpu": "CPU-s sugárkövetés",
|
||||
"render.children.denoise": "Zaj csökkentése a kész képen",
|
||||
"render.children.depth": "Útmélység",
|
||||
"render.children.distortion": "Torzítás",
|
||||
"render.children.edge_samples": "Élminták",
|
||||
"render.children.effects_banner": "Ezekhez az effektekhez GPU-s útkövetés szükséges. A megnyitás soha nem változtatja meg a módszert.",
|
||||
"render.children.enable_adaptive": "Az adaptív korlátok szerkesztéséhez engedélyezze a független próbamintákat.",
|
||||
"render.children.enable_bloom": "Az erősség, a küszöb és a sugár szerkesztéséhez engedélyezze a bloomot.",
|
||||
"render.children.finishing": "Utómunka",
|
||||
"render.children.flare": "Lencsefény",
|
||||
"render.children.fresnel": "Fresnel-rétegzés",
|
||||
"render.children.ghosts": "Szellemgyűrűk",
|
||||
"render.children.glass": "Fényátvitel üvegben",
|
||||
"render.children.go_to": "Ugrás: {editor}",
|
||||
"render.children.grain": "Szemcsézet",
|
||||
"render.children.halo": "Fényudvar",
|
||||
"render.children.hdr": "HDR",
|
||||
"render.children.keep_master": "Nyers lineáris mesterkép megőrzése",
|
||||
"render.children.last_result": "Utolsó: {number} · {width} × {height} · {phase}",
|
||||
"render.children.lens_effects": "Lencseeffektusok",
|
||||
"render.children.look_summary": "{tone} · {count} stílus",
|
||||
"render.children.looks": "Kreatív stílusok",
|
||||
"render.children.memory": "Memória",
|
||||
"render.children.method": "Módszer",
|
||||
"render.children.minimum": "Minimum",
|
||||
"render.children.needs_cpu": "CPU-s sugárkövetést igényel. A megnyitás soha nem változtatja meg a módszert.",
|
||||
"render.children.nested": "Igazolt egymásba ágyazott dielektrikumok",
|
||||
"render.children.not_checked": "Nincs ellenőrizve",
|
||||
"render.children.path": "Útkövetés",
|
||||
"render.children.pilots": "Próbaminták",
|
||||
"render.children.preview": "Előnézeti adatok",
|
||||
"render.children.progressive_reason": "A mintaszám és a kezdőérték szerkesztéséhez válassza a Progresszív módot.",
|
||||
"render.children.radius": "Sugár",
|
||||
"render.children.reflect_depth": "Tükröződési mélység",
|
||||
"render.children.reflect_samples": "Tükröződési minták",
|
||||
"render.children.regrade": "Újbóli színkorrekció",
|
||||
"render.children.relative_error": "Relatív hiba",
|
||||
"render.children.render": "Renderelés",
|
||||
"render.children.render_shot": "Felvétel renderelése",
|
||||
"render.children.renderer": "Renderelő",
|
||||
"render.children.renderers": "Renderelők",
|
||||
"render.children.request": "Ez a kérés",
|
||||
"render.children.reset_finishing": "Utómunka visszaállítása",
|
||||
"render.children.review_quality": "Minőségi specifikáció áttekintése…",
|
||||
"render.children.rgb_gain": "RGB-erősítés",
|
||||
"render.children.samples": "Minták",
|
||||
"render.children.sampling": "Mintavételezés",
|
||||
"render.children.saturation": "Telítettség",
|
||||
"render.children.scene_summary": "{bodies} test · {triangles} háromszög",
|
||||
"render.children.seed": "Kezdőérték",
|
||||
"render.children.sharpening": "Élesítés",
|
||||
"render.children.single_image": "Egyetlen kép",
|
||||
"render.children.soft_focus": "Lágy fókusz",
|
||||
"render.children.streak": "Csík",
|
||||
"render.children.strength": "Erősség",
|
||||
"render.children.studio": "Studio",
|
||||
"render.children.threshold": "Küszöb",
|
||||
"render.children.tone": "Tónus",
|
||||
"render.children.under_hood": "A motorháztető alatt",
|
||||
"render.children.vignette": "Vignetta",
|
||||
"render.children.workstation": "Munkaállomás",
|
||||
"render.choose_look": "Először válasszon stílust a Megjelenések között",
|
||||
"render.chromatic_offset": "Kromatikus éleltolás",
|
||||
"render.clear_stage": "Mentett díszlet eltávolítása",
|
||||
"render.copy_request": "JSON másolása",
|
||||
@@ -2331,8 +2523,33 @@
|
||||
"render.flare_strength": "Fénycsúcsok lencsefény-erőssége",
|
||||
"render.flare_threshold": "Lencsefény küszöbértéke (jelenet-lineáris)",
|
||||
"render.fold_browser": "Böngésző összecsukása",
|
||||
"render.frame_aspect": "Képarány",
|
||||
"render.frame_centre_mark": "Középjel",
|
||||
"render.frame_copy_limit": "Nincs elérhető név a felvétel másolatához",
|
||||
"render.frame_copy_name": "{name} – másolat {number}",
|
||||
"render.frame_custom": "Egyéni",
|
||||
"render.frame_distance_unit": " × méret",
|
||||
"render.frame_duplicate": "Kettőzés",
|
||||
"render.frame_exposure": "Expozíció",
|
||||
"render.frame_fov": "Látószög",
|
||||
"render.frame_guides": "Segédvonalak",
|
||||
"render.frame_invalid_aspect": "Érvénytelen képarány-előbeállítás",
|
||||
"render.frame_lens": "Látószög {fov}° · ≈ {mm} mm",
|
||||
"render.frame_name": "Név",
|
||||
"render.frame_output_size": "Kimeneti méret",
|
||||
"render.frame_photo": "3:2 · Fotó",
|
||||
"render.frame_portrait": "4:5 · Portré",
|
||||
"render.frame_presets": "Képkivágási előbeállítások",
|
||||
"render.frame_presets_pending": "A Felvétel szerkesztővel érkezik",
|
||||
"render.frame_projection": "Vetítés",
|
||||
"render.frame_render_shot": "E felvétel renderelése",
|
||||
"render.frame_rule_thirds": "Harmadolási szabály",
|
||||
"render.frame_safe_area": "Biztonságos terület",
|
||||
"render.frame_shot_title": "Felvétel · {name}",
|
||||
"render.frame_square": "1:1 · Négyzet",
|
||||
"render.frame_tall": "9:16 · Álló",
|
||||
"render.frame_thirds": "Harmadok",
|
||||
"render.frame_wide": "16:9 · Szélesvásznú",
|
||||
"render.gpu_depth": "Maximális útvonalmélység",
|
||||
"render.gpu_options_help": "A mintaszám, a mélység, a kezdőérték és az expozíció ezzel a beállítással együtt mentődik. Csak az aktív képalkotási módszer mentődik.",
|
||||
"render.gpu_path_failed": "A GPU-s útkövető nem érhető el",
|
||||
@@ -2360,6 +2577,7 @@
|
||||
"render.heading_results": "EREDMÉNYEK",
|
||||
"render.heading_shots": "FELVÉTELEK",
|
||||
"render.hide_shots_label": "Felvételsáv elrejtése",
|
||||
"render.hover_look": "{object} · {look} · kattintson a kijelöléshez",
|
||||
"render.image_advanced": "Speciális GPU-vezérlők",
|
||||
"render.image_cancelled": "Renderelés megszakítva",
|
||||
"render.image_cancelling": "Megszakítás",
|
||||
@@ -2506,17 +2724,95 @@
|
||||
"render.library_uniform_ack": "Egységes közelítés használata térbeli vagy speciális effektek nélkül",
|
||||
"render.library_usable": "Futtatható vetületek",
|
||||
"render.library_users": "Használó testek",
|
||||
"render.light_aim": "Célzás erre",
|
||||
"render.light_anchor_pending": "A fények koordináta-rendszerének módosítása még nem támogatott.",
|
||||
"render.light_azimuth": "Azimut",
|
||||
"render.light_backend_limit": "A fények szerkesztéséhez válasszon CPU-s sugárkövetést vagy egy kifejezett GPU-stúdiót. A régi GPU-stúdiófények csak olvashatók maradnak.",
|
||||
"render.light_behaviour": "VISELKEDÉS",
|
||||
"render.light_default_fill": "Derítőfény",
|
||||
"render.light_default_key": "Főfény",
|
||||
"render.light_default_number": "Fény {number}",
|
||||
"render.light_default_rim": "Kontúrfény",
|
||||
"render.light_delete": "Törlés",
|
||||
"render.light_distance": "Távolság",
|
||||
"render.light_duplicate": "Kettőzés",
|
||||
"render.light_elevation": "Magassági szög",
|
||||
"render.light_gpu_punctual": "A pont- és spotfények CPU-s sugárkövetéssel érhetők el.",
|
||||
"render.light_hard_shadow": "Ennek a fénynek éles árnyékai vannak; a fényforrás lágysága nem érhető el.",
|
||||
"render.light_intensity": "Intenzitás",
|
||||
"render.light_missing": "Ez a fény már nem létezik. Jelöljön ki egy fényt a Böngészőben.",
|
||||
"render.light_place_highlight": "Elhelyezés csúcsfény alapján",
|
||||
"render.light_place_pending": "A csúcsfény szerinti elhelyezéshez fénykijelölés szükséges a nézetablakban, ez még nem támogatott.",
|
||||
"render.light_position": "POZÍCIÓ",
|
||||
"render.light_preview_help": "Az élő nézet árnyék nélküli; a területi fények középponti mintás közelítést használnak. A renderelés a teljes fénymodellt használja.",
|
||||
"render.light_product_centre": "Termék középpontja",
|
||||
"render.light_size": "Méret",
|
||||
"render.light_softness": "Lágyság",
|
||||
"render.light_temperature": "Színhőmérséklet",
|
||||
"render.light_temperature_help": "Közelítő feketetest-színezet; lineáris RGB-ként mentődik.",
|
||||
"render.light_type": "Típus",
|
||||
"render.light_type_area": "Területi fény",
|
||||
"render.light_type_point": "Pontfény",
|
||||
"render.light_type_spot": "Spotfény",
|
||||
"render.light_type_sun": "Nap",
|
||||
"render.light_view_only": "A szóló és a némítás erre a nézetre és a belőle készült renderekre hat; soha nem mentődik a tervbe.",
|
||||
"render.light_world_origin": "Világ origója",
|
||||
"render.lighting_aim_point": "Célpont",
|
||||
"render.lighting_apply": "Előbeállítás alkalmazása",
|
||||
"render.lighting_area_samples": "Területi minták",
|
||||
"render.lighting_budget": "Keret",
|
||||
"render.lighting_budget_help": "A darabszámok csak olvashatók. Módosításukhoz adjon hozzá, kettőzzön vagy töröljön fényeket; a korlátokat a módszer határozza meg.",
|
||||
"render.lighting_colour": "Szín",
|
||||
"render.lighting_consent": "Az irányfények cseréje erre az előbeállításra",
|
||||
"render.lighting_custom": "Egyéni fények",
|
||||
"render.lighting_custom_help": "Az Egyéni választása az előbeállítást szerkeszthető fényekké alakítja, mindegyiket egy-egy sorként a fában.",
|
||||
"render.lighting_direction": "Irány X Y Z",
|
||||
"render.lighting_direction_help": "Vagy írjon be egy, a fény felé mutató irányt (X Y Z).",
|
||||
"render.lighting_distance_unit": " × méret",
|
||||
"render.lighting_edge_u": "U oldalvektor",
|
||||
"render.lighting_edge_v": "V oldalvektor",
|
||||
"render.lighting_falloff": "Csillapítás",
|
||||
"render.lighting_falloff_help": "Az intenzitás a referenciatávolságra vonatkozik.",
|
||||
"render.lighting_height": "V magasság",
|
||||
"render.lighting_minimum": "Minimum",
|
||||
"render.lighting_mute": "Fény némítása",
|
||||
"render.lighting_point": "Pont",
|
||||
"render.lighting_preset": "Stúdió-előbeállítás",
|
||||
"render.lighting_preset_cpu": "Az irányfényes stúdió-előbeállításokhoz CPU-s sugárkövetés szükséges. A GPU-s megvilágítás kifejezett Nap- és területi fényeket használ.",
|
||||
"render.lighting_preset_row": "Előbeállítás",
|
||||
"render.lighting_radiance": "Sugársűrűség",
|
||||
"render.lighting_reference": "Referencia",
|
||||
"render.lighting_review_help": "Lecseréli az irányfények listáját. Megtartja a pont- és területi fényeket, a környezetet, az árnyékokat, a kamerát és a felvétel összes többi beállítását.",
|
||||
"render.lighting_review_title": "Megvilágítási előbeállítás áttekintése",
|
||||
"render.lighting_samples_cpu": "A területi fények mintái a CPU-s sugárkövetésre vonatkoznak.",
|
||||
"render.lighting_samples_need_area": "A területi minták beállításához adjon hozzá egy CPU-s területi fényt.",
|
||||
"render.lighting_samples_reason": "A területi minták száma 1, 4, 16 vagy 64 lehet.",
|
||||
"render.lighting_shadow_cpu": "Az árnyékkapcsolóhoz CPU-s sugárkövetés szükséges. A GPU-s útkövetés mindig vet árnyékot.",
|
||||
"render.lighting_shadows": "Árnyékvetés",
|
||||
"render.lighting_shadows_section": "Árnyékok és mintavételezés",
|
||||
"render.lighting_shape": "Alak",
|
||||
"render.lighting_solo": "Szóló: csak ez a fény",
|
||||
"render.lighting_source": "Forrás",
|
||||
"render.lighting_source_section": "Fényforrás",
|
||||
"render.lighting_spot_preserved": "Ez a pontfény megtartja a mentett spotfénykúpját, amíg a típusát meg nem változtatják.",
|
||||
"render.lighting_sun_distance": "A Nap iránya független a távolságtól és a célponttól.",
|
||||
"render.lighting_unsupported": "nem támogatott",
|
||||
"render.lighting_used": "{used} / {limit}",
|
||||
"render.lighting_width": "U szélesség",
|
||||
"render.lighting_world_position": "Világ X Y Z",
|
||||
"render.lights_fixed_to": "Fények rögzítve ehhez",
|
||||
"render.linear_help": "32 bites lebegőpontos RGBA-mastert őriz meg a zajszűrés, az expozíció, a tónusleképezés, a szűrők és a háttér előtt. Lineáris sRGB/D65; lefedettséggel előreszorzott. A többletmemória csak kifejezett engedéllyel használható. Nincs tömörítés vagy további passz.",
|
||||
"render.linear_retain": "Nyers lineáris EXR megőrzése",
|
||||
"render.linear_unavailable": "A kiválasztott befejezett képkockához nincs megőrzött EXR. Renderelés előtt engedélyezze a megőrzést; egy korábbi PNG-ből a nyers sugárzás nem állítható vissza.",
|
||||
"render.look_add": "Színstílus hozzáadása",
|
||||
"render.look_applied": "Alkalmazva: {name}",
|
||||
"render.look_bleach": "Bleach bypass ihletésű",
|
||||
"render.look_cool": "Hideg",
|
||||
"render.look_cyanotype": "Cianotípia ihletésű",
|
||||
"render.look_faded": "Kifakult nyomat",
|
||||
"render.look_material": "Anyag",
|
||||
"render.look_mono": "Monokróm",
|
||||
"render.look_pasted": "Stílus beillesztve",
|
||||
"render.look_sepia": "Szépia",
|
||||
"render.look_strength": "Stílus erőssége",
|
||||
"render.look_teal_orange": "Kékeszöld / narancs",
|
||||
@@ -2592,9 +2888,11 @@
|
||||
"render.output_advanced": "Speciális",
|
||||
"render.output_backend_ready": "Kész",
|
||||
"render.output_check": "Ellenőrzés",
|
||||
"render.output_check_failed": "Ellenőrzés · hiba",
|
||||
"render.output_check_help": "Az Ellenőrzés futtatásával a kérés renderelés indítása nélkül átnézhető.",
|
||||
"render.output_check_summary": "Ellenőrzés · Megjegyzések: {count}",
|
||||
"render.output_copy": "Másolás",
|
||||
"render.output_copy_report": "Jelentés másolása",
|
||||
"render.output_destination": "Célhely",
|
||||
"render.output_destination_help": "A kész kép exportálásakor válassza ki a célfájlt.",
|
||||
"render.output_dimensions": "Méret",
|
||||
@@ -2604,6 +2902,7 @@
|
||||
"render.output_fit": "Illesztés",
|
||||
"render.output_format": "Formátum",
|
||||
"render.output_format_status": "A PNG a kész megjelenített kép pontos mása. A választható GPU-s EXR a megjelenítési szűrők előtti nyers, jelenetlineáris FLOAT32 sugárzást őrzi meg. Az exportálás sosem helyettesíti az előnézeti gyorsítótárat vagy egy másik feladatot.",
|
||||
"render.output_grading": "Színkorrekció",
|
||||
"render.output_image": "Kép",
|
||||
"render.output_largest": "max. {width} × {height}",
|
||||
"render.output_lock_ratio": "Képarány zárolása",
|
||||
@@ -2613,6 +2912,8 @@
|
||||
"render.output_quality_waiting": "várakozás a minőségi specifikációra",
|
||||
"render.output_ratio_refused": "A kapcsolt méret meghaladja ennek a módszernek a mérethatárát. Az előző méret megmarad; oldja fel az arányt, vagy válasszon kisebb értéket.",
|
||||
"render.output_ready": "Készen áll a renderelésre",
|
||||
"render.output_run_check": "Ellenőrzés futtatása",
|
||||
"render.output_size_limit": "{method}: oldalanként legfeljebb {dimension} px és összesen {pixels} képpont. A legnagyobb beleférő méret: {width} × {height}.",
|
||||
"render.output_size_ok": "Méret rendben · {width} × {height} px",
|
||||
"render.output_swap_orientation": "Szélesség és magasság felcserélése",
|
||||
"render.output_tools_inspector": "A méretet és a formátumot a Kimenet panelen szerkesztheti.",
|
||||
@@ -2629,6 +2930,7 @@
|
||||
"render.page_output": "Kimenet",
|
||||
"render.page_scene": "Jelenet",
|
||||
"render.paint_label": "Festék",
|
||||
"render.painting_with": "Festés ezzel: {name}",
|
||||
"render.passive_stage": "Padló és passzív díszlet",
|
||||
"render.passive_stage_help": "A véges méretű passzív panelek csak a renderelt képekhez tartoznak. Nem adnak hozzá CAD-testet vagy tömeget. Az elhelyezés alkalmazás után rögzített; ha metszik a termék határait, a program elutasítja. A CPU nem biztosít diffúz, közvetett megvilágítást.",
|
||||
"render.perspective": "Perspektivikus kamera",
|
||||
@@ -2650,6 +2952,7 @@
|
||||
"render.pick_help": "Válasszon a Test, a Lap és a Komponens közül. Az üres területre kattintva a kijelölés törlődik; a Shift vagy a Ctrl hozzáad, illetve átkapcsol. A kiemelések csak az élő terméknézetben jelennek meg.",
|
||||
"render.pick_label": "Kijelölés",
|
||||
"render.pick_up_label": "Átvétel",
|
||||
"render.pick_up_prompt": "Kattintson egy objektumra a stílusa felvételéhez",
|
||||
"render.pick_waiting": "A termék kijelölése még nem támogatott.",
|
||||
"render.post_contrast": "Kontraszt",
|
||||
"render.post_gain_b": "Kék erősítés",
|
||||
@@ -2689,13 +2992,17 @@
|
||||
"render.radial_distortion": "Radiális torzítás",
|
||||
"render.radial_fit": "Termék illesztése",
|
||||
"render.radial_save": "Felvétel mentése",
|
||||
"render.recent_looks": "Legutóbbi stílusok",
|
||||
"render.regrade_action": "Nyers mesterkép újbóli színkorrekciója (zajszűrés nélkül)",
|
||||
"render.regrade_help": "Külön PNG-t hoz létre a kiválasztott, kész nyers mesterképből, ezekkel a prezentációs beállításokkal. Nem számít sugarakat, nem módosítja a rögzített méretet, kamerát és fényeket, és nem írja felül az EXR-t. A zajszűrés nem kerül újra alkalmazásra: a nyers mesterképek nem őrzik meg a vezetőpuffereit. A származtatott kép ugyanazokkal a feladatvezérlőkkel exportálható.",
|
||||
"render.regrade_label": "Újbóli színkorrekció",
|
||||
"render.reload_settings": "Mentett beállítások újratöltése",
|
||||
"render.remove_override": "Felülbírálás eltávolítása",
|
||||
"render.replace_all": "Összes cseréje",
|
||||
"render.replace_ground": "A meglévő díszlet cseréjének megerősítése",
|
||||
"render.replace_label": "Csere",
|
||||
"render.replace_saved_surface": "Az ehhez a célhoz tartozó meglévő mentett kötés cseréje",
|
||||
"render.replace_with": "Csere erre",
|
||||
"render.restore_camera": "Mentett kamera visszaállítása",
|
||||
"render.result_actual": "100%",
|
||||
"render.result_actual_help": "Egy képpont jut egy kijelzőképpontra.",
|
||||
@@ -2747,14 +3054,28 @@
|
||||
"render.saved_surface_remove": "Mentett kötés eltávolítása",
|
||||
"render.saved_surfaces": "Mentett felületkötések",
|
||||
"render.saved_surfaces_help": "A rögzített beépített térképek a kiválasztott előfordulást követik, helyi milliméterekben. A lecserélt vagy hiányzó cél hiba, soha nem automatikus újrahozzárendelés.",
|
||||
"render.scene_all_shots": "Összes felvétel ({count})",
|
||||
"render.scene_apply": "Áttekintett stúdió alkalmazása",
|
||||
"render.scene_batch_reason": "Az Összes felvételhez a mentett felvételek renderelési sora szükséges, amely még nem érhető el.",
|
||||
"render.scene_check_now": "Ellenőrzés most",
|
||||
"render.scene_check_passed": "Ellenőrzés sikeres · {notes} megjegyzés",
|
||||
"render.scene_check_stale": "Az ellenőrzés elavult · ellenőrizze újra",
|
||||
"render.scene_check_unchecked": "Még nincs ellenőrizve · 0 megjegyzés",
|
||||
"render.scene_consent": "A megvilágítás, a környezet, az expozíció és a díszlet cseréjének megerősítése",
|
||||
"render.scene_light_summary": "{environment} · {lights} fény",
|
||||
"render.scene_look_summary": "{looks} stílus · {overrides} felülbírálás",
|
||||
"render.scene_open_check": "Ellenőrzés megnyitása",
|
||||
"render.scene_preserved_fields": "A kamera, a mintavételezés, a méretek, az optikai kötések, a CAD-geometria és a mérnöki anyagok megmaradnak.",
|
||||
"render.scene_preserves_design": "Megvilágítás és passzív díszlet összeállítása a látható tárgyhoz. A geometria, a mérnöki anyagok és a kamera külön marad.",
|
||||
"render.scene_ready": "Készen áll a renderelésre",
|
||||
"render.scene_reminder": "A Jelenet megőrzi a tervet. A Renderelésből soha nem módosul a geometria, a mérnöki tulajdonságok és a CAD-modell.",
|
||||
"render.scene_reminders": "Emlékeztetők",
|
||||
"render.scene_renderer_ready": "{renderer} kész",
|
||||
"render.scene_replaces": "Lecseréli",
|
||||
"render.scene_review": "Feloldás és áttekintés",
|
||||
"render.scene_review_help": "Az alkalmazás előtt tekintse át a teljes natív kompozíciót. A nem kötött, speciális JELENET-specifikációk nem kerülnek helyettesítésre.",
|
||||
"render.scene_scope_details": "A kompozíció hatóköre",
|
||||
"render.scene_stages": "Szakaszok",
|
||||
"render.search_appearances": "Keresés {count} megjelenés között",
|
||||
"render.setup_legacy_environment": "Ez a régebbi beállítás örökölt környezetforgatást vagy -intenzitást használ. Ezek az értékek megmaradnak; teljes képfeladat mentése előtt kifejezetten alakítsa át őket.",
|
||||
"render.setup_name": "Beállítás neve",
|
||||
@@ -2767,7 +3088,22 @@
|
||||
"render.shell_tab_camera": "RENDERELÉS: KAMERA",
|
||||
"render.shell_tab_lighting": "MEGVILÁGÍTÁS",
|
||||
"render.shell_tab_scene": "RENDERELÉS: JELENET",
|
||||
"render.shot_aperture": "Rekesznyílás",
|
||||
"render.shot_distance": "Távolság",
|
||||
"render.shot_dof": "Mélységélesség",
|
||||
"render.shot_duplicate": "Mentett felvétel kettőzése",
|
||||
"render.shot_edit_output": "Szerkesztés a Kimenetben",
|
||||
"render.shot_exposure_reason": "Az expozícióhoz CPU-s sugárkövetés vagy GPU-s útkövetés szükséges.",
|
||||
"render.shot_exposure_section": "Expozíció",
|
||||
"render.shot_focus_distance": "Fókusztávolság",
|
||||
"render.shot_fov_reason": "A látószöghöz perspektivikus vetítés szükséges.",
|
||||
"render.shot_frame_subject": "Tárgy kadrírozása",
|
||||
"render.shot_invalid_camera": "A kameraértékeknek végesnek és a tartományon belülinek kell lenniük.",
|
||||
"render.shot_lens": "Objektív",
|
||||
"render.shot_lens_enable_reason": "A rekesznyílás és a fókusztávolság szerkesztéséhez engedélyezze a mélységélességet.",
|
||||
"render.shot_lens_gpu_reason": "A mélységélességhez GPU-s útkövetés szükséges.",
|
||||
"render.shot_lens_perspective_reason": "A mélységélességhez perspektivikus vetítés szükséges.",
|
||||
"render.shot_look_selection": "Ránézés a kijelölésre",
|
||||
"render.shot_manager": "Mentett felvételek",
|
||||
"render.shot_new_name": "Új felvétel neve",
|
||||
"render.shot_remove": "Mentett felvétel eltávolítása",
|
||||
@@ -2775,6 +3111,9 @@
|
||||
"render.shot_remove_title": "Eltávolítja a mentett felvételt?",
|
||||
"render.shot_rename": "Mentett felvétel átnevezése",
|
||||
"render.shot_saved_only": "Előbb mentse az aktuális tervezetet. A kettőzés és az átnevezés megőrzi a pontos mentett beállításokat és erőforrás-hivatkozásokat.",
|
||||
"render.shot_selection_reason": "Jelöljön ki egy testet vagy lapot, amelyre célozni szeretne.",
|
||||
"render.shot_size": "Méret",
|
||||
"render.shot_target": "Cél",
|
||||
"render.shots_camera_changed": "A kamera megváltozott a felvétel mentése óta",
|
||||
"render.shots_name_help": "Adjon egyedi nevet az aktuális felvételnek.",
|
||||
"render.shots_no_result": "Még nincs renderelés",
|
||||
@@ -2997,6 +3336,13 @@
|
||||
"render.wait_pick_up": "még nem támogatott: a termék kijelölése és a megjelenés mintavételezése",
|
||||
"render.wait_replace": "még nem támogatott: egy megjelenés összes előfordulásának lecserélése",
|
||||
"render.wait_solo": "még nem támogatott: a fényforrások láthatósága és a szólóvezérlők",
|
||||
"render.wear_applies_to": "Alkalmazás erre",
|
||||
"render.wear_layer_count": "{count} réteg",
|
||||
"render.wear_layer_one": "{count} réteg",
|
||||
"render.wear_layers": "Rétegek",
|
||||
"render.wear_no_layers": "Nincsenek rétegek",
|
||||
"render.wear_selected_layer": "Kijelölt réteg",
|
||||
"render.wear_title": "Kopás",
|
||||
"sample.bracket.about": "Alaplap peremekkel és szeggel 2 mm-es szabály szerint",
|
||||
"sample.bracket.name": "Lemezkonzol",
|
||||
"sample.enclosure.about": "Héjazott doboz perem, csavardudorok, támasz és pattintós illesztés",
|
||||
@@ -3030,6 +3376,7 @@
|
||||
"select an axis": "jelöljön ki egy tengelyt",
|
||||
"select an axis, a straight or circular edge, or a cylinder, cone or torus face first": "először jelöljön ki egy tengelyt, egy egyenes vagy kör alakú élt, illetve egy henger-, kúp- vagy tóruszlapot",
|
||||
"select bodies first": "először jelöljön ki testeket",
|
||||
"select components first": "előbb jelöljön ki komponenseket",
|
||||
"select corner points, or the two lines of one corner": "jelöljön ki sarokpontokat, vagy egy sarok két vonalát",
|
||||
"select one corner point, or the two lines of one corner": "jelöljön ki egy sarokpontot, vagy egy sarok két vonalát",
|
||||
"select sheet edges first": "először jelöljön ki lemezéleket",
|
||||
@@ -3048,6 +3395,7 @@
|
||||
"settings.double_click_components": "Kattintson duplán egy komponensre az aktiválásához, vagy egy kapcsolt komponens helyben szerkesztéséhez",
|
||||
"settings.frame_rate_details_note": "Grafikont ad az utolsó képkockák idejéről, rajta a megrajzolt háromszögekkel, valamint hisztogramot a képkockaidőkről és azt, amit a GPU megrajzolt. A nézetben a képkockasebességre kattintva megjelenítheti vagy elrejtheti őket.",
|
||||
"settings.frame_rate_note": "Megjeleníti a másodpercenkénti képkockaszámot a nézet jobb alsó sarkában.",
|
||||
"settings.insert_lists_open_designs": "A Terv beszúrása először a más füleken megnyitott terveket listázza",
|
||||
"settings.measure_axis_distances": "X/Y/Z távolságok megjelenítése",
|
||||
"settings.measure_axis_distances_help": "A világtengely-összetevők méreteit is megjeleníti a teljes távolság mellett, amíg a Mérés nyitva van.",
|
||||
"settings.msaa_applies_on_restart": "Az élsimítás a SolidCraft következő indításakor lép érvénybe",
|
||||
@@ -3072,6 +3420,10 @@
|
||||
"shortcut.unpin": "Rögzítés feloldása",
|
||||
"sketch is missing": "a vázlat hiányzik",
|
||||
"sketch.degrees_of_freedom": "{count} szabadságfok",
|
||||
"sketch.dimension_added_driven": "A vázlat már meghatározza ezt a méretet, ezért vezérelt (referencia-) méretként lett hozzáadva",
|
||||
"sketch.dimension_applied": "Méret alkalmazva",
|
||||
"sketch.dimension_applied_defined": "Méret alkalmazva; a(z) `{name}` paraméter definiálva",
|
||||
"sketch.dimension_applied_renamed": "Méret alkalmazva; a paraméter neve: `{name}`",
|
||||
"sketch.dof_left": "{count} szabadságfok maradt",
|
||||
"sketch.dof_left_one": "{count} szabadságfok maradt",
|
||||
"sketch.draw_curves": "Rajzolás mint {linetype}",
|
||||
@@ -3106,6 +3458,8 @@
|
||||
"sketch_text.use_font_file": "A(z) {path} betűtípusfájl használata",
|
||||
"solid": "szilárd test",
|
||||
"status.editing": "Szerkesztés: {name}",
|
||||
"status.navigation": "Egérkiosztás: {mapping}",
|
||||
"status.navigation_tip": "Hogyan mozgatja az egér a nézetet. Kattintson másik kiosztás választásához",
|
||||
"status.under_constrained": "Alulkényszerezett ({count} szabadságfok)",
|
||||
"status.under_constrained_one": "Alulkényszerezett ({count} szabadságfok)",
|
||||
"status.units_tip": "A terv egységei. Kattintson a módosításukhoz",
|
||||
@@ -3139,8 +3493,10 @@
|
||||
"timeline.delete_folders_tip": "Az elemek és a beágyazott mappák megmaradnak az előzményekben",
|
||||
"timeline.delete_folders_with_features_tip": "A mappák törlése az összes bennük lévő elemmel és a beágyazott mappákkal együtt",
|
||||
"timeline.delete_many": "{count} kijelölt elem törlése",
|
||||
"timeline.edited_rolled_back": "{name} módosult, de az előzményjelölő után van, ezért nem épül fel: az eredmény megtekintéséhez vigye a jelölőt utána",
|
||||
"timeline.feature_error": "Hiba: {message}",
|
||||
"timeline.feature_hint": "Dupla kattintás: szerkesztés · húzás: átrendezés · jobb kattintás: továbbiak",
|
||||
"timeline.feature_rolled_back": "Visszagörgetve: az előzményjelölő után van, ezért nem épül fel",
|
||||
"timeline.feature_warning": "Figyelmeztetés: {message}",
|
||||
"timeline.group": "Új elemmappa",
|
||||
"timeline.move_many": "Idővonal-elemek áthelyezése",
|
||||
@@ -3220,6 +3576,10 @@
|
||||
"ui.3d_mouse_offer": "A 3D-egér kalibrálása kijavítja a felcserélt vagy megfordított tengelyeket, és beállítja a sebességét és az érzetét.",
|
||||
"ui.3d_mouse_offer_never": "Ne jelenjen meg többé",
|
||||
"ui.3d_mouse_offer_swap": "Váltás Hidrawra (közvetlen illesztőprogram)",
|
||||
"ui.3d_mouse_orbit": "Keringés",
|
||||
"ui.3d_mouse_orbit_classic": "Klasszikus",
|
||||
"ui.3d_mouse_orbit_tip": "Célzott: a 3D-egér a nézetet a modell azon része körül forgatja, amely a forgatás kezdetekor a nézet közepén van; ezt egy halvány gömb jelöli. Klasszikus: a nézet középpontja körül",
|
||||
"ui.3d_mouse_orbit_traced": "Célzott",
|
||||
"ui.3d_mouse_reading": "Beolvasás",
|
||||
"ui.3d_mouse_reset_axes": "Tengelykiosztás visszaállítása",
|
||||
"ui.3d_mouse_reset_view": "Nézet alaphelyzetbe állítása",
|
||||
@@ -3604,6 +3964,7 @@
|
||||
"ui.constant": "Állandó",
|
||||
"ui.constraints_conflict": "Kényszerek ütköznek",
|
||||
"ui.construction": "Szerkesztő",
|
||||
"ui.construction.ribbon_label": "Segédvonalak",
|
||||
"ui.context_menu": "Helyi menü",
|
||||
"ui.continuity_g0": "G0 törés",
|
||||
"ui.continuity_g1": "G1 érintő",
|
||||
@@ -3695,6 +4056,14 @@
|
||||
"ui.end_scale": "Végi léptékezés",
|
||||
"ui.entities": "Elemek",
|
||||
"ui.equal": "Egyenlő",
|
||||
"ui.equation_end": "Vég",
|
||||
"ui.equation_explicit": "Explicit",
|
||||
"ui.equation_form": "Alak",
|
||||
"ui.equation_note": "A változó egyszerű szám: a sin(t) radiánban értelmezi. A mértékegység nélküli eredmény a terv mértékegységében értendő.",
|
||||
"ui.equation_parametric": "Parametrikus",
|
||||
"ui.equation_x_of_t": "x(t)",
|
||||
"ui.equation_y_of_t": "y(t)",
|
||||
"ui.equation_y_of_x": "y(x)",
|
||||
"ui.equivalent_radius": "Egyenértékű sugár",
|
||||
"ui.expand": "Kibontás",
|
||||
"ui.exportDxf": "DXF exportálása…",
|
||||
@@ -3760,6 +4129,7 @@
|
||||
"ui.heading_design": "TERVEZÉS",
|
||||
"ui.heading_draft": "DŐLÉS",
|
||||
"ui.heading_edit": "SZERKESZTÉS",
|
||||
"ui.heading_equation_curve": "EGYENLETGÖRBE",
|
||||
"ui.heading_extrude": "KIHÚZÁS",
|
||||
"ui.heading_fillet": "LEKEREKÍTÉS",
|
||||
"ui.heading_finish_editing": "SZERKESZTÉS BEFEJEZÉSE",
|
||||
@@ -3851,6 +4221,10 @@
|
||||
"ui.import_ellipsis": "Importálás…",
|
||||
"ui.infinite": "Végtelen",
|
||||
"ui.insert": "Beszúrás",
|
||||
"ui.insert_design.browse": "Tallózás…",
|
||||
"ui.insert_design.open_designs": "Megnyitott tervek",
|
||||
"ui.insert_design.saved_file": "A(z) {name} nem mentett módosításokat tartalmaz, ezért a mentett fájlja lett beszúrva. Mentse el, majd a Kapcsolatok frissítése paranccsal hozza át a módosításokat.",
|
||||
"ui.insert_design.unsaved": "Nem mentett módosítások",
|
||||
"ui.inspect": "Vizsgálat",
|
||||
"ui.intersect": "Metszet",
|
||||
"ui.isolate": "Elkülönítés",
|
||||
@@ -4000,6 +4374,18 @@
|
||||
"ui.project": "Vetítés",
|
||||
"ui.project_face_edges_sketch": "Lapélek vetítése új vázlatokba",
|
||||
"ui.properties": "Tulajdonságok",
|
||||
"ui.properties.copy_matrix": "Mátrix másolása",
|
||||
"ui.properties.first_moments": "Elsőrendű nyomatékok",
|
||||
"ui.properties.inertia": "Tehetetlenségi nyomaték",
|
||||
"ui.properties.inertia_note": "A tömegközéppontra, világtengelyekben (g·{unit}²)",
|
||||
"ui.properties.inertia_unavailable": "Nem érhető el: egy test hálója nem zárt.",
|
||||
"ui.properties.inertia_x": "Ixx, Ixy, Ixz",
|
||||
"ui.properties.inertia_y": "Iyx, Iyy, Iyz",
|
||||
"ui.properties.inertia_z": "Izx, Izy, Izz",
|
||||
"ui.properties.measuring": "Mérés…",
|
||||
"ui.properties.measuring_failed": "A mérés leállt, mielőtt befejeződött volna.",
|
||||
"ui.properties.principal_axis": "{number}. főtengely",
|
||||
"ui.properties.principal_moments": "Fő tehetetlenségi nyomatékok",
|
||||
"ui.pull_direction": "Húzási irány",
|
||||
"ui.quality": "Minőség",
|
||||
"ui.quantity": "Mennyiség",
|
||||
@@ -4062,6 +4448,7 @@
|
||||
"ui.select": "Kijelölés",
|
||||
"ui.selectOther": "Más kijelölése…",
|
||||
"ui.selectTangentChain": "Érintőlánc kijelölése",
|
||||
"ui.select_all": "Összes kijelölése",
|
||||
"ui.selection": "Kijelölés",
|
||||
"ui.selection_modifiers": "Kijelölési módosítók",
|
||||
"ui.selection_shift_add_only": "Shift+kattintás eltávolítás nélkül hozzáad",
|
||||
@@ -4098,7 +4485,11 @@
|
||||
"ui.sketch": "Vázlat",
|
||||
"ui.sketch_dimension": "Vázlatméret",
|
||||
"ui.sketch_grid": "Vázlatrács",
|
||||
"ui.sketch_intersect_geometry": "Geometria",
|
||||
"ui.sketch_intersect_projection_link": "Vetítési kapcsolat",
|
||||
"ui.sketch_intersect_selection_filter": "Kijelölési szűrő",
|
||||
"ui.sketch_modifiers": "Vázlatmódosítók",
|
||||
"ui.sketch_project_geometry": "Geometria",
|
||||
"ui.sketch_scale": "Vázlat léptéke",
|
||||
"ui.sketches": "Vázlatok",
|
||||
"ui.slice": "Szeletelés",
|
||||
@@ -4149,6 +4540,7 @@
|
||||
"ui.tab_manage": "Kezelés",
|
||||
"ui.tab_sheet_metal": "Lemez",
|
||||
"ui.tab_view": "Nézet",
|
||||
"ui.tab_weldments": "Hegesztés",
|
||||
"ui.tangent": "Érintő",
|
||||
"ui.taper_angle": "Kúposodási szög",
|
||||
"ui.tapped": "Menetes",
|
||||
@@ -4164,6 +4556,7 @@
|
||||
"ui.tip_angle": "Csúcsszög",
|
||||
"ui.to_object": "Objektumig",
|
||||
"ui.tool_direction": "Szerszám iránya",
|
||||
"ui.toolbar_tabs_hidden": "Az eszköztár összes füle rejtett. Egy megjelenítéséhez kattintson a + gombra, vagy kattintson ide a jobb gombbal.",
|
||||
"ui.top": "Felülnézet",
|
||||
"ui.top_diameter": "Felső átmérő",
|
||||
"ui.top_radius": "Felső sugár",
|
||||
@@ -4210,6 +4603,7 @@
|
||||
"ui.visual_shaded_with_edges": "Árnyalt élekkel",
|
||||
"ui.visual_style": "Vizuális stílus",
|
||||
"ui.visual_wireframe": "Drótváz",
|
||||
"ui.wheel_zoom_speed": "Egérgörgős nagyítás sebessége",
|
||||
"ui.width": "Szélesség",
|
||||
"ui.window_system": "Ablakkezelő rendszer",
|
||||
"ui.window_system_auto": "Automatikus",
|
||||
@@ -4261,6 +4655,9 @@
|
||||
"update.prefs_label": "Frissítések",
|
||||
"update.prefs_note": "Ez a SolidCraft {version} ({kind}). A keresés a GitHubtól kéri a legújabb kiadást, és semmi mást nem küld.",
|
||||
"update.prefs_web": "Töltse újra az oldalt a legújabb webalkalmazás megszerzéséhez. Ha a hálózat nem érhető el, vagy a frissítés időben nem tud letöltődni, a mentett verzió nyílik meg; a folyamatban lévő letöltés a következő újratöltéshez folytatódik.",
|
||||
"update.refresh_checking": "A legújabb kiadás keresése…",
|
||||
"update.refresh_fallback": "Nem sikerült újabb kiadást keresni; frissítés a korábban talált {version} verzióra.",
|
||||
"update.refresh_selected": "Frissítés erre: {version}.",
|
||||
"update.release_page": "Kiadási oldal megnyitása",
|
||||
"update.restart": "Újraindítás most",
|
||||
"update.restart_later": "Később",
|
||||
|
||||
@@ -204,6 +204,7 @@
|
||||
"Edges": "Tepi",
|
||||
"Edit": "Edit",
|
||||
"Edit Profile Sketch": "Edit Sketsa Profil",
|
||||
"Edit shortcuts": "Edit pintasan",
|
||||
"Enable rule": "Aktifkan aturan",
|
||||
"Enabled": "Aktif",
|
||||
"End Radius": "Radius Akhir",
|
||||
@@ -466,6 +467,7 @@
|
||||
"Radius": "Radius",
|
||||
"Radius Fit": "Fit Radius",
|
||||
"Ratio": "Rasio",
|
||||
"Read-only list: shortcuts can't be changed here.": "Daftar hanya-baca: pintasan tidak dapat diubah di sini.",
|
||||
"Reattach selected face": "Pasang ulang muka terpilih",
|
||||
"Recover": "Pulihkan",
|
||||
"Recover unsaved design?": "Pulihkan desain yang belum disimpan?",
|
||||
@@ -649,6 +651,7 @@
|
||||
"Third point": "Titik ketiga",
|
||||
"This child is shared. Deleting it removes it from every copy of its parent.": "Anak ini dibagikan. Menghapusnya akan menghilangkannya dari setiap salinan induknya.",
|
||||
"This child is shared. Position changes apply to every copy of its parent.": "Anak ini dibagikan. Perubahan posisi berlaku untuk setiap salinan induknya.",
|
||||
"This component is inside a subassembly placed more than once: aligning it moves it in every placement.": "Komponen ini berada di dalam subrakitan yang ditempatkan lebih dari sekali: menyejajarkannya akan memindahkannya di setiap penempatan.",
|
||||
"This face cannot provide a durable attachment. Choose another face or explicitly use a fixed plane.": "Muka ini tidak dapat menyediakan lampiran yang tahan lama. Pilih muka lain atau gunakan bidang tetap secara eksplisit.",
|
||||
"This image is not attached to GitHub yet. Copy or save it, then attach it on GitHub.": "Gambar ini belum dilampirkan ke GitHub. Salin atau simpan, lalu lampirkan di GitHub.",
|
||||
"Thread depth": "Kedalaman ulir",
|
||||
@@ -790,6 +793,11 @@
|
||||
"cam.roller": "Rol",
|
||||
"cam.roller_pick": "Rol (opsional)",
|
||||
"cam.tip_pick": "Ujung (opsional)",
|
||||
"camera.shot_pitch": "Pitch",
|
||||
"camera.shot_roll": "Roll",
|
||||
"camera.shot_yaw": "Yaw",
|
||||
"canvas.decal_place_hint": "Klik sebuah muka untuk menempatkan decal",
|
||||
"canvas.place_hint": "Klik sebuah bidang atau muka untuk menempatkan kanvas",
|
||||
"choose a profile": "pilih profil",
|
||||
"choose the cam's and the follower's joints": "pilih sambungan kam dan pengikutnya",
|
||||
"choose the joints to couple": "pilih sambungan yang akan dikopel",
|
||||
@@ -797,9 +805,12 @@
|
||||
"click sketch curves": "klik kurva sketsa",
|
||||
"cmd.appearance_assign": "Tampilan",
|
||||
"cmd.appearance_chain": "Rantai Tampilan",
|
||||
"cmd.appearance_copy": "Salin Tampilan",
|
||||
"cmd.appearance_favorite": "Jadikan Tampilan Favorit",
|
||||
"cmd.appearance_library": "Pustaka Tampilan",
|
||||
"cmd.appearance_list": "Daftar Tampilan",
|
||||
"cmd.appearance_paint": "Cat Tampilan",
|
||||
"cmd.appearance_paste": "Tempel Tampilan",
|
||||
"cmd.appearance_pick_up": "Ambil Tampilan",
|
||||
"cmd.appearance_replace": "Ganti Tampilan",
|
||||
"cmd.assembly_bom": "Daftar Material (BOM)",
|
||||
@@ -810,6 +821,7 @@
|
||||
"cmd.browser_move": "Pindahkan Item Penjelajah",
|
||||
"cmd.browser_order": "Urutkan Item Penjelajah",
|
||||
"cmd.browser_rename_group": "Ganti Nama Grup",
|
||||
"cmd.browser_reparent": "Pindah ke Komponen",
|
||||
"cmd.browser_ungroup": "Pisahkan Grup",
|
||||
"cmd.browser_visibility": "Tampil/Sembunyi",
|
||||
"cmd.canvas_calibrate": "Kalibrasi Kanvas",
|
||||
@@ -836,7 +848,9 @@
|
||||
"cmd.component_metadata": "Properti Part",
|
||||
"cmd.component_metadata_set": "Ubah Properti Part",
|
||||
"cmd.component_move_bodies": "Pindahkan Bodi ke Komponen",
|
||||
"cmd.component_move_features": "Pindahkan Fitur ke Komponen",
|
||||
"cmd.component_move_sketches": "Pindahkan Sketsa ke Komponen",
|
||||
"cmd.component_paste_from_design": "Tempel dari Desain Lain",
|
||||
"cmd.component_paste_new": "Tempel Baru",
|
||||
"cmd.component_properties": "Properti Fisik Komponen",
|
||||
"cmd.component_relink": "Tautkan Ulang Sumber",
|
||||
@@ -973,6 +987,7 @@
|
||||
"cmd.motion_trace": "Jejak Gerak",
|
||||
"cmd.motion_trace_edit": "Edit Jejak Gerakan",
|
||||
"cmd.motion_trace_keep": "Simpan Jejak Gerak",
|
||||
"cmd.occurrence_align": "Sejajarkan Kemunculan",
|
||||
"cmd.occurrence_copy": "Tempel (Instans)",
|
||||
"cmd.occurrence_drag": "Seret Kemunculan",
|
||||
"cmd.occurrence_ground": "Ground",
|
||||
@@ -1030,11 +1045,17 @@
|
||||
"cmd.render_library_surface_unbind": "Hapus Binding Permukaan",
|
||||
"cmd.render_library_targets": "Cari Target Pustaka Render",
|
||||
"cmd.render_lights_add": "Tambah Lampu",
|
||||
"cmd.render_lights_duplicate": "Duplikasi Lampu Render",
|
||||
"cmd.render_lights_list": "Daftar Lampu Render",
|
||||
"cmd.render_lights_mute": "Bisukan Lampu",
|
||||
"cmd.render_lights_remove": "Hapus Lampu Render",
|
||||
"cmd.render_lights_set": "Atur Lampu Render",
|
||||
"cmd.render_lights_solo": "Lampu Solo",
|
||||
"cmd.render_optics_bind": "Simpan Binding Optik",
|
||||
"cmd.render_optics_unbind": "Hapus Binding Optik",
|
||||
"cmd.render_output_size": "Atur Ukuran Keluaran Render",
|
||||
"cmd.render_preflight": "Periksa Permintaan Render",
|
||||
"cmd.render_preflight_copy": "Salin Laporan Pemeriksaan Render",
|
||||
"cmd.render_preset_apply": "Terapkan Studio Native",
|
||||
"cmd.render_preset_resolve": "Tinjau Studio Native",
|
||||
"cmd.render_quality_prepare": "Tinjau Anggaran Sampling Tetap",
|
||||
@@ -1057,6 +1078,13 @@
|
||||
"cmd.render_start": "Render Gambar",
|
||||
"cmd.render_status": "Progres Render",
|
||||
"cmd.select_clear": "Hapus Pilihan",
|
||||
"cmd.settings_profile_apply": "Terapkan Profil Pengaturan",
|
||||
"cmd.settings_profile_delete": "Hapus Profil Pengaturan",
|
||||
"cmd.settings_profile_export": "Ekspor Profil Pengaturan",
|
||||
"cmd.settings_profile_import": "Impor Profil Pengaturan",
|
||||
"cmd.settings_profile_list": "Profil Pengaturan",
|
||||
"cmd.settings_profile_rename": "Ganti Nama Profil Pengaturan",
|
||||
"cmd.settings_profile_save": "Simpan Profil Pengaturan",
|
||||
"cmd.sheet_convert": "Konversi ke Pelat Logam",
|
||||
"cmd.sheet_export_bend_table": "Ekspor Tabel Tekukan",
|
||||
"cmd.sheet_export_dxf": "Ekspor Pola Datar sebagai DXF",
|
||||
@@ -1070,6 +1098,16 @@
|
||||
"cmd.sheet_refold": "Lipat Ulang",
|
||||
"cmd.sheet_rules": "Daftar Aturan Pelat Logam",
|
||||
"cmd.sheet_unfold": "Buka Lipatan",
|
||||
"cmd.sketch.construction_line": "Garis bantu",
|
||||
"cmd.sketch.construction_line.angle": "Garis bantu bersudut",
|
||||
"cmd.sketch.construction_line.bisector": "Garis bagi sudut",
|
||||
"cmd.sketch.construction_line.horizontal": "Garis bantu horizontal",
|
||||
"cmd.sketch.construction_line.parallel": "Garis bantu sejajar",
|
||||
"cmd.sketch.construction_line.perpendicular": "Garis bantu tegak lurus",
|
||||
"cmd.sketch.construction_line.tangent_at": "Garis singgung pada titik kurva",
|
||||
"cmd.sketch.construction_line.tangent_external": "Garis singgung melalui titik luar",
|
||||
"cmd.sketch.construction_line.tangent_two": "Garis singgung persekutuan",
|
||||
"cmd.sketch.construction_line.vertical": "Garis bantu vertikal",
|
||||
"cmd.sketch_arc3d": "Busur 3D",
|
||||
"cmd.sketch_arc_center_point": "Busur Titik Pusat",
|
||||
"cmd.sketch_arc_tangent": "Busur Tangen",
|
||||
@@ -1102,6 +1140,8 @@
|
||||
"cmd.sketch_drawing_bounds": "Ukuran Gambar",
|
||||
"cmd.sketch_edit": "Edit Sketsa",
|
||||
"cmd.sketch_edit_text": "Edit Teks",
|
||||
"cmd.sketch_equation_curve": "Kurva Persamaan",
|
||||
"cmd.sketch_equation_curve_edit": "Edit Kurva Persamaan",
|
||||
"cmd.sketch_export_dxf": "Simpan Sebagai DXF",
|
||||
"cmd.sketch_finish_auto_constrain": "Selesai dengan AutoConstrain",
|
||||
"cmd.sketch_fit_curves_to_section": "Fit Kurva ke Penampang Mesh",
|
||||
@@ -1198,6 +1238,7 @@
|
||||
"cmd.view.render_browser": "Penjelajah Render",
|
||||
"cmd.view.render_dock": "Pindah Dok Render",
|
||||
"cmd.view.render_focus": "Tampilan Fokus Render",
|
||||
"cmd.view.status_items": "Item Status Viewport",
|
||||
"cmd.view_ambient_occlusion": "Ambient Occlusion",
|
||||
"cmd.view_angle_readout": "Sudut Tampilan",
|
||||
"cmd.view_apply": "Pulihkan Tampilan Bernama",
|
||||
@@ -1219,6 +1260,7 @@
|
||||
"cmd.view_normal_to": "Tegak Lurus Pilihan",
|
||||
"cmd.view_previous_tab": "Tab Sebelumnya",
|
||||
"cmd.view_rename": "Ganti Nama Tampilan Bernama",
|
||||
"cmd.view_render_frame": "Pemandu Bingkai Render",
|
||||
"cmd.view_right": "Tampilan Kanan",
|
||||
"cmd.view_save": "Tampilan Bernama Baru",
|
||||
"cmd.view_shots_strip": "Strip Bidikan",
|
||||
@@ -1229,10 +1271,14 @@
|
||||
"color.copy": "Klik untuk menyalin nilai warna",
|
||||
"color.edit": "Klik untuk mengedit warna",
|
||||
"color.gamma": "Menampilkan nilai warna dalam ruang gamma 0-255",
|
||||
"color.hex": "Hex",
|
||||
"color.hex_help": "Masukkan #rrggbb atau #rrggbbaa; enam digit mempertahankan opasitas",
|
||||
"color.hex_hint": "#rrggbb",
|
||||
"color.hue": "Rona",
|
||||
"color.linear": "Menampilkan nilai warna dalam ruang linear 0-1",
|
||||
"color.saturation_value": "Saturasi dan nilai",
|
||||
"color.selected": "Warna terpilih",
|
||||
"config.column_filter_empty": "Tidak ada kolom yang cocok",
|
||||
"contact.components_count": "{count} komponen",
|
||||
"contact.enabled_label": "aktif",
|
||||
"coupling.gear_1": "Roda Gigi 1",
|
||||
@@ -1346,8 +1392,10 @@
|
||||
"help.material.assign": "Menetapkan bahan pembuat bodi terpilih, seperti baja, aluminium, atau ABS. Gunakan agar massa dan bobot sesuai dengan part sebenarnya.",
|
||||
"help.mit": "Lisensi MIT",
|
||||
"help.notice": "NOTICE",
|
||||
"help.occurrence.move": "Memindahkan part rakitan hanya sepanjang kebebasan yang diizinkan oleh sambungannya. Pilih sebuah muka part, lalu seret panah atau busur yang tersedia.",
|
||||
"help.parameters.change": "Membuka tabel nilai dan ekspresi bernama yang menggerakkan dimensi desain. Gunakan untuk mengubah ukuran di satu tempat dan membuat semua fitur yang memakainya mengikuti.",
|
||||
"help.pointcloud.insert": "Sisipkan hasil pindai PLY, XYZ, atau PTS sebagai awan titik di samping model. Gunakan sebagai referensi saat membangun model dari data hasil pengukuran.",
|
||||
"help.sketch.equation_curve": "Menggambar kurva dari rumus: x(t) dan y(t), atau y = f(x), pada suatu rentang. Rumusnya dapat memakai parameter dan kurva mengikutinya: gunakan untuk gelombang sinus, spiral, atau involut gigi roda gigi.",
|
||||
"help.solid.align": "Memindahkan bodi terpilih sehingga titik, muka, atau bidang padanya bertemu titik, muka, atau bidang di tempat lain. Gunakan untuk menempatkan part pada part lain tanpa mengukur offset.",
|
||||
"help.solid.chamfer": "Memotong tepi terpilih dengan bevel datar sejauh jarak yang Anda atur. Gunakan untuk menumpulkan tepi tajam atau mempermudah masuknya pin atau sekrup.",
|
||||
"help.solid.combine": "Menggabungkan bodi, memotongnya dari bodi target, atau hanya menyimpan volume yang dimiliki bersama, dan dapat mempertahankan bodi alat. Gunakan untuk menyatukan part, memotong satu bentuk dengan bentuk lain, atau menemukan tempat dua bodi bertumpang tindih.",
|
||||
@@ -1474,6 +1522,21 @@
|
||||
"joint.one_component": "Part ini adalah bodi dari satu komponen: {bodies}. Sambungan menggerakkan satu komponen terhadap komponen lain, jadi setiap part memerlukan komponennya sendiri.",
|
||||
"joint.rigid_group_one_component": "Semua {count} bodi ini berada dalam satu komponen (atau di desain itu sendiri): gunakan {command} terlebih dahulu.",
|
||||
"joint.rigid_group_select_components": "Pilih dua komponen atau lebih.",
|
||||
"joint_move.blocked_hint": "Periksa tipe sambungan (misalnya Kaku), status ground, batas sambungan, dan nilai yang digerakkan parameter.",
|
||||
"joint_move.blocked_title": "Tidak dapat memindahkan part ini",
|
||||
"joint_move.coarse": "Langkah rotasi dekat sumbu (°)",
|
||||
"joint_move.distance": "Jarak dari awal",
|
||||
"joint_move.done": "Selesai",
|
||||
"joint_move.fine": "Langkah rotasi jauh dari sumbu (°)",
|
||||
"joint_move.fixed": "Part ini tidak memiliki sumbu sambungan yang dapat digerakkan.",
|
||||
"joint_move.help": "Pindah — seret panah atau cincin. Esc membatalkan seretan saat ini.",
|
||||
"joint_move.legacy_hint": "Matikan untuk memakai panel Pindah sebelumnya.",
|
||||
"joint_move.precision": "Tarik ke luar pemandu garis putus-putus untuk rotasi halus.",
|
||||
"joint_move.rotation": "Rotasi dari awal",
|
||||
"joint_move.select": "Pilih sebuah muka atau satu part rakitan, lalu pilih Pindah.",
|
||||
"joint_move.settings": "Pindah di Rakitan",
|
||||
"joint_move.step": "Langkah",
|
||||
"joint_move.use_handles": "Gunakan handle gerak sambungan untuk Pindah di rakitan",
|
||||
"keymap.command_id": "ID Perintah",
|
||||
"keymap.empty": "Tidak ada perintah yang cocok",
|
||||
"keymap.use_anyway": "Tetap gunakan {key} di sini",
|
||||
@@ -1568,6 +1631,8 @@
|
||||
"nav.maya.help": "Alt+seret kiri mengorbit, Alt+tengah menggeser, Alt+kanan memperbesar/memperkecil; seret tengah juga menggeser",
|
||||
"nav.openscad.help": "Seret kiri di ruang kosong memutar orbit, Shift+seret kiri memilih dengan kotak, seret geometri sketsa mengeditnya; seret kanan atau tombol tengah menggeser, Shift+seret kanan atau Shift+seret tombol tengah memperbesar/memperkecil",
|
||||
"nav.perspective.sketch": "Pengeditan sketsa memakai tampilan ortografis. Selesaikan sketsa untuk beralih ke perspektif.",
|
||||
"nav.right_drag_orbits.help": "Mati: seret kanan tidak menggerakkan kamera dan tombol kanan hanya membuka menu konteks. Memilih pemetaan mouse SolidWorks akan mematikannya.",
|
||||
"nav.right_drag_orbits.label": "Seret kanan untuk orbit",
|
||||
"nav.solidworks.help": "Seret tombol tengah memutar orbit, Ctrl+tombol tengah menggeser, Shift+tombol tengah memperbesar/memperkecil, seret kanan memutar orbit",
|
||||
"nav.tinkercad.help": "Seret kanan memutar orbit, seret tombol tengah atau Shift+kanan menggeser",
|
||||
"nav.touchpad.help": "Tahan Shift dan gerakkan penunjuk untuk pan; tahan Alt/Option dan gerakkan untuk orbit. Tidak perlu tombol mouse. Gulir vertikal untuk zoom.",
|
||||
@@ -1589,6 +1654,9 @@
|
||||
"navbar.custom.customise": "Kustomisasi bilah navigasi…",
|
||||
"navbar.custom.design": "Desain",
|
||||
"navbar.custom.duplicate": "Slot ini sudah ada di bilah.",
|
||||
"navbar.custom.edge": "Tepi",
|
||||
"navbar.custom.edge_bottom": "Bawah",
|
||||
"navbar.custom.edge_top": "Atas",
|
||||
"navbar.custom.fade": "Pudar",
|
||||
"navbar.custom.full": "Hapus satu slot untuk menambah yang lain.",
|
||||
"navbar.custom.hidden_design": "Disembunyikan di Desain",
|
||||
@@ -1695,6 +1763,7 @@
|
||||
"parts.dimension.thickness": "Ketebalan",
|
||||
"parts.dimension.width": "Lebar",
|
||||
"parts.family.bearing": "Bearing bola alur dalam (selubung)",
|
||||
"parts.family.button_head_cap_screw": "Sekrup kepala bulat (button head)",
|
||||
"parts.family.dowel_pin": "Pin paralel (dowel)",
|
||||
"parts.family.hex_bolt": "Baut / sekrup kepala segi enam",
|
||||
"parts.family.hex_nut": "Mur segi enam",
|
||||
@@ -1751,6 +1820,9 @@
|
||||
"prefs.bottom_centre": "Tengah bawah",
|
||||
"prefs.bottom_right": "Kanan bawah",
|
||||
"prefs.browser": "Penjelajah",
|
||||
"prefs.browser_reveal_on_hover": "Tampilkan saat disorot",
|
||||
"prefs.browser_show_note": "Ditampilkan menjaga penjelajah tetap di layar. Tampilkan saat disorot menyembunyikannya sampai penunjuk berada di atas tempatnya atau di atas tab tipis di tepi kirinya, dan penjelajah tetap terbuka selama penunjuk ada di dalamnya atau ada menu darinya yang terbuka.",
|
||||
"prefs.browser_shown": "Ditampilkan",
|
||||
"prefs.built_in": "Bawaan",
|
||||
"prefs.button_left": "Seret kiri",
|
||||
"prefs.button_middle": "Seret tengah",
|
||||
@@ -1821,6 +1893,8 @@
|
||||
"prefs.layout_note": "Ringkas menempelkan panel ke tepi jendela. Translusensi penjelajah tersedia di Mengambang. Ubah sisi Asisten di halaman Asisten.",
|
||||
"prefs.left": "Kiri",
|
||||
"prefs.left_click": "Klik kiri",
|
||||
"prefs.line_drag_draws_one": "Tekan dan seret menggambar satu garis",
|
||||
"prefs.line_drag_draws_one_note": "Di alat Garis, menekan, menyeret, lalu melepas menggambar satu garis dari titik tekan hingga titik lepas, dan garis berakhir di sana. Klik tetap menggambar rantai. Mati: seretan menaruh titik di tempat dilepas, seperti klik.",
|
||||
"prefs.linked_designs": "Desain tertaut",
|
||||
"prefs.live_input": "Input langsung",
|
||||
"prefs.live_preview": "Pratinjau langsung",
|
||||
@@ -1853,14 +1927,36 @@
|
||||
"prefs.origin_plane_names": "Nama bidang origin",
|
||||
"prefs.origin_plane_names_note": "Nama yang ditampilkan di penjelajah, dialog, dan daftar. {top} adalah XY, {front} adalah XZ, dan {right} adalah YZ, dengan Z ke atas. Perintah, skrip, dan desain tersimpan tetap memakai XY, XZ, dan YZ.",
|
||||
"prefs.overall_speed": "Kecepatan keseluruhan",
|
||||
"prefs.perspective_fov": "Bidang pandang",
|
||||
"prefs.placement": "Penempatan",
|
||||
"prefs.prefer_free_sketch_points": "Utamakan titik sketsa yang dapat digerakkan saat titik saling tumpang tindih",
|
||||
"prefs.preview_choices": "Pratinjau pilihan Anda",
|
||||
"prefs.profile_active": "Profil aktif",
|
||||
"prefs.profile_applied": "Profil diterapkan.",
|
||||
"prefs.profile_changed": "Pengaturan berubah sejak profil disimpan. Simpan akan menyimpannya ke profil.",
|
||||
"prefs.profile_deleted": "Profil dihapus.",
|
||||
"prefs.profile_export": "Ekspor…",
|
||||
"prefs.profile_exported": "Profil diekspor.",
|
||||
"prefs.profile_imported": "Profil diimpor. Pilih di Profil aktif untuk beralih ke profil itu.",
|
||||
"prefs.profile_name_hint": "Nama profil, mis. Laptop",
|
||||
"prefs.profile_rename": "Ganti nama",
|
||||
"prefs.profile_renamed": "Nama profil diganti.",
|
||||
"prefs.profile_save": "Simpan",
|
||||
"prefs.profile_saved": "Pengaturan saat ini disimpan ke profil.",
|
||||
"prefs.profile_skipped": "Profil diterapkan; {n} pengaturan mempertahankan nilainya saat ini (lihat log).",
|
||||
"prefs.profiles": "Profil pengaturan",
|
||||
"prefs.profiles_note": "Pintasan, toolbar, navigasi, menu radial, dan pengaturan antarmuka, disimpan bersama di bawah satu nama dan diganti sekaligus.",
|
||||
"prefs.project_options_dialog": "Dialog opsi Proyeksi",
|
||||
"prefs.project_options_dialog_note": "Aktif: pilih Geometri atau Bodi dan Tautan Proyeksi sebelum memproyeksikan. Mati: pertahankan alur kerja pilih-langsung sebelumnya.",
|
||||
"prefs.quality_default": "default",
|
||||
"prefs.quality_fastest": "tercepat",
|
||||
"prefs.quality_slowest": "paling lambat",
|
||||
"prefs.quality_smoother": "lebih halus",
|
||||
"prefs.render_previous_geometry_budget": "Gunakan anggaran geometri pratinjau Render sebelumnya",
|
||||
"prefs.render_previous_geometry_budget_help": "Pulihkan batas geometri tetap sebelumnya (512 MiB di desktop 64-bit, 128 MiB di tempat lain) alih-alih anggaran berbasis perangkat.",
|
||||
"prefs.reports_saved": "{n} tersimpan",
|
||||
"prefs.ribbon_reveal": "Tampilkan hasil pencarian di ribbon",
|
||||
"prefs.ribbon_reveal_note": "Mengarahkan kursor ke hasil di Cari perintah menunjukkan letak perintah itu di ribbon: tab-nya, tombolnya, atau barisnya di dropdown panel. Perintah yang dimulai dari pencarian berkedip di sana, dan perintah yang berjalan dari dropdown menandai panelnya.",
|
||||
"prefs.right_click": "Klik kanan",
|
||||
"prefs.saving": "Simpan otomatis dan pemulihan",
|
||||
"prefs.scale_note": "Juga Ctrl + / Ctrl − di jendela. Tombol berukuran 28 px pada 100%.",
|
||||
@@ -1874,6 +1970,10 @@
|
||||
"prefs.shift_add_ctrl_toggle": "Shift hanya menambah; Ctrl / Cmd mengalihkan",
|
||||
"prefs.shift_add_note": "Aktif: Shift menambah, Ctrl / Cmd mengalihkan. Nonaktif (default): keduanya mengalihkan.",
|
||||
"prefs.shortcuts": "Pintasan",
|
||||
"prefs.single_surface_analysis": "Gunakan satu analisis permukaan",
|
||||
"prefs.single_surface_analysis_help": "Saat mati, shading permukaan dan Kontinuitas dapat tetap aktif bersamaan. Mengaktifkan ini mempertahankan analisis terakhir yang dimulai atau diubah.",
|
||||
"prefs.sketch_align_points": "Sejajarkan dengan titik sketsa lain saat menggambar",
|
||||
"prefs.sketch_align_points_note": "Saat menggambar, sebuah titik sejajar secara horizontal dengan satu titik sketsa dan secara vertikal dengan titik lain sekaligus, dengan pemandu titik-titik, dan klik mempertahankan kedua perataan itu. Mati: hanya dengan titik sebelumnya, satu sumbu setiap kali.",
|
||||
"prefs.sketch_conflict_colour": "Geometri yang konflik dengan warna konflik",
|
||||
"prefs.sketch_conflict_colour_note": "Saat batasan sketsa saling konflik, kurva dan titik yang ditahan oleh batasan yang gagal juga digambar dengan warna konflik, bukan hanya glif atau dimensinya. Mati: warnanya tetap seperti biasa.",
|
||||
"prefs.sketch_exit_view": "Saat sketsa selesai",
|
||||
@@ -1881,6 +1981,8 @@
|
||||
"prefs.sketch_exit_view.previous": "Kembali ke tampilan sebelumnya",
|
||||
"prefs.sketch_exit_view.unless_rotated": "Kembali kecuali diputar",
|
||||
"prefs.sketch_exit_view_note": "Ke mana tampilan beralih setelah Selesai Sketsa, Batal, atau Esc dua kali.",
|
||||
"prefs.sketch_recent_snap": "Snap otomatis ke pusat dan titik tengah terbaru",
|
||||
"prefs.sketch_recent_snap_note": "Saat menggambar, kursor melakukan snap ke titik persilangan pemandu dari dua pusat lingkaran atau titik tengah tepi lurus terbaru. Mati: pemandu tersebut hanya bersifat visual dan kursor tidak bergerak.",
|
||||
"prefs.sketch_selection": "Sketsa & pilihan",
|
||||
"prefs.sketch_selection_heading": "Sketsa dan pilihan",
|
||||
"prefs.sketch_selection_note": "Cara sketsa melakukan snap dan cara klik memilih.",
|
||||
@@ -1918,7 +2020,14 @@
|
||||
"prefs.toast_place": "Pemberitahuan",
|
||||
"prefs.toggle_item": "Tambahkan item, atau keluarkan lagi",
|
||||
"prefs.toolbar": "Toolbar",
|
||||
"prefs.toolbar_tabs": "Tab toolbar",
|
||||
"prefs.top": "Atas",
|
||||
"prefs.trackpad_zoom_modifier": "Zoom dengan gulir dua jari sambil menahan",
|
||||
"prefs.trackpad_zoom_modifier.alt": "⌥ / Alt",
|
||||
"prefs.trackpad_zoom_modifier.cmd": "⌘",
|
||||
"prefs.trackpad_zoom_modifier.ctrl": "Ctrl",
|
||||
"prefs.trackpad_zoom_modifier.help": "Tahan hanya tombol ini untuk zoom di penunjuk dengan gulir vertikal. Mati mempertahankan perilaku gulir yang ada.",
|
||||
"prefs.trackpad_zoom_modifier.off": "Mati",
|
||||
"prefs.translucent": "Tembus pandang",
|
||||
"prefs.under_browser": "Di bawah penjelajah",
|
||||
"prefs.under_cursor": "Di bawah kursor",
|
||||
@@ -1928,9 +2037,14 @@
|
||||
"prefs.view_confirm_corner": "OK dan Batal di sudut tampilan",
|
||||
"prefs.view_confirm_corner_note": "Saat dialog atau sketsa terbuka, tanda centang dan tanda silang di kanan atas tampilan melakukan hal yang sama seperti OK dan Batal pada dialog, atau menyelesaikan dan membatalkan sketsa. Navigator tampilan bergeser ke bawahnya.",
|
||||
"prefs.viewport": "Viewport",
|
||||
"prefs.viewport_background": "Latar belakang",
|
||||
"prefs.viewport_background_colour": "Warna",
|
||||
"prefs.viewport_background_theme": "Gradasi tema",
|
||||
"prefs.wheel": "Roda",
|
||||
"prefs.wheel_trackpad": "Roda dan trackpad",
|
||||
"prefs.workspace": "Workspace",
|
||||
"prefs.zoom_stop_at_model": "Hentikan zoom di model",
|
||||
"prefs.zoom_stop_at_model_tip": "Mouse 3D dan aplikasi perangkat melakukan zoom ke arah permukaan di tengah tampilan; zoom seret menahan titik tempat seretan dimulai. Mati: zoom dapat menembus model. Roda dan cubit memakai Zoom ke kursor secara terpisah",
|
||||
"prefs.zoom_toward_cursor": "Zoom, ke arah kursor",
|
||||
"properties.title": "Properti: {name}",
|
||||
"recovery.days_ago": "{count} hari lalu",
|
||||
@@ -2019,6 +2133,7 @@
|
||||
"render.appearance_editor.weight": "Bobot",
|
||||
"render.appearance_physics_separate": "Tampilan visual tidak menetapkan massa jenis, data termal, atau properti rekayasa lainnya.",
|
||||
"render.appearances": "Tampilan",
|
||||
"render.assign_help": "Klik untuk menerapkan ke pilihan; seret untuk pratinjau lalu lepaskan, atau klik tanpa ada yang dipilih untuk mengecat.",
|
||||
"render.availability_native": "Komposisi native; tinjau sebelum diterapkan",
|
||||
"render.availability_projection": "Proyeksi yang didukung; lihat cakupan dan bagian yang dihilangkan",
|
||||
"render.availability_reference": "Data referensi; bukan penetapan otomatis",
|
||||
@@ -2057,6 +2172,7 @@
|
||||
"render.bloom_threshold": "Ambang sorotan linear",
|
||||
"render.browse_capabilities": "Periksa katalog kemampuan lengkap",
|
||||
"render.browse_environments": "Jelajahi lingkungan HDR orisinal",
|
||||
"render.browse_looks": "Jelajahi…",
|
||||
"render.browse_native_scenes": "Jelajahi studio native",
|
||||
"render.browse_physical": "Periksa referensi fisik",
|
||||
"render.browse_quality": "Periksa spesifikasi kualitas",
|
||||
@@ -2080,6 +2196,82 @@
|
||||
"render.check_opaque": "Transparansi: hanya permukaan opak; alfa latar belakang didukung.",
|
||||
"render.check_sorted_alpha": "Transparansi: perkiraan alfa terurut.",
|
||||
"render.check_transmission": "Transparansi: transmisi fisik.",
|
||||
"render.children.absolute_floor": "Batas bawah absolut",
|
||||
"render.children.adaptive": "Adaptif",
|
||||
"render.children.add_look_reason": "Tambahkan look untuk mengedit status aktif dan kekuatannya.",
|
||||
"render.children.all_shots": "Semua bidikan",
|
||||
"render.children.bloom": "Bloom",
|
||||
"render.children.check": "Periksa",
|
||||
"render.children.check_now": "Periksa sekarang",
|
||||
"render.children.chromatic": "Kromatik",
|
||||
"render.children.compact": "Ringkas",
|
||||
"render.children.contrast": "Kontras",
|
||||
"render.children.copy_image": "Salin",
|
||||
"render.children.copy_job": "Salin JSON tugas",
|
||||
"render.children.copy_request": "Salin JSON permintaan",
|
||||
"render.children.coverage_error": "Galat cakupan",
|
||||
"render.children.cpu": "Ray tracing CPU",
|
||||
"render.children.denoise": "Kurangi noise pada gambar jadi",
|
||||
"render.children.depth": "Kedalaman jalur",
|
||||
"render.children.distortion": "Distorsi",
|
||||
"render.children.edge_samples": "Sampel tepi",
|
||||
"render.children.effects_banner": "Efek ini memerlukan path tracing GPU. Membuka bagian ini tidak pernah mengubah metode.",
|
||||
"render.children.enable_adaptive": "Aktifkan pilot independen untuk mengedit batas adaptif.",
|
||||
"render.children.enable_bloom": "Aktifkan bloom untuk mengedit kekuatan, ambang, dan radiusnya.",
|
||||
"render.children.finishing": "Finishing",
|
||||
"render.children.flare": "Flare",
|
||||
"render.children.fresnel": "Strata Fresnel",
|
||||
"render.children.ghosts": "Cincin ghost",
|
||||
"render.children.glass": "Transport kaca",
|
||||
"render.children.go_to": "Buka {editor}",
|
||||
"render.children.grain": "Grain",
|
||||
"render.children.halo": "Halo",
|
||||
"render.children.hdr": "HDR",
|
||||
"render.children.keep_master": "Simpan master linear mentah",
|
||||
"render.children.last_result": "Terakhir: {number} · {width} × {height} · {phase}",
|
||||
"render.children.lens_effects": "Efek lensa",
|
||||
"render.children.look_summary": "{tone} · {count} look",
|
||||
"render.children.looks": "Look kreatif",
|
||||
"render.children.memory": "Memori",
|
||||
"render.children.method": "Metode",
|
||||
"render.children.minimum": "Minimum",
|
||||
"render.children.needs_cpu": "Memerlukan ray tracing CPU. Membuka bagian ini tidak pernah mengubah metode.",
|
||||
"render.children.nested": "Dielektrik bersarang tersertifikasi",
|
||||
"render.children.not_checked": "Belum diperiksa",
|
||||
"render.children.path": "Path tracing",
|
||||
"render.children.pilots": "Sampel pilot",
|
||||
"render.children.preview": "Payload pratinjau",
|
||||
"render.children.progressive_reason": "Pilih Progresif untuk mengedit jumlah sampel dan seed-nya.",
|
||||
"render.children.radius": "Radius",
|
||||
"render.children.reflect_depth": "Kedalaman pantulan",
|
||||
"render.children.reflect_samples": "Sampel pantulan",
|
||||
"render.children.regrade": "Koreksi warna ulang",
|
||||
"render.children.relative_error": "Galat relatif",
|
||||
"render.children.render": "Render",
|
||||
"render.children.render_shot": "Render bidikan",
|
||||
"render.children.renderer": "Renderer",
|
||||
"render.children.renderers": "Renderer",
|
||||
"render.children.request": "Permintaan ini",
|
||||
"render.children.reset_finishing": "Atur ulang finishing",
|
||||
"render.children.review_quality": "Tinjau spesifikasi kualitas…",
|
||||
"render.children.rgb_gain": "Gain RGB",
|
||||
"render.children.samples": "Sampel",
|
||||
"render.children.sampling": "Sampling",
|
||||
"render.children.saturation": "Saturasi",
|
||||
"render.children.scene_summary": "{bodies} bodi · {triangles} segitiga",
|
||||
"render.children.seed": "Seed",
|
||||
"render.children.sharpening": "Penajaman",
|
||||
"render.children.single_image": "Gambar tunggal",
|
||||
"render.children.soft_focus": "Fokus lembut",
|
||||
"render.children.streak": "Streak",
|
||||
"render.children.strength": "Kekuatan",
|
||||
"render.children.studio": "Studio",
|
||||
"render.children.threshold": "Ambang",
|
||||
"render.children.tone": "Tone",
|
||||
"render.children.under_hood": "Di balik layar",
|
||||
"render.children.vignette": "Vinyet",
|
||||
"render.children.workstation": "Workstation",
|
||||
"render.choose_look": "Pilih look di Tampilan terlebih dahulu",
|
||||
"render.chromatic_offset": "Offset tepi kromatik",
|
||||
"render.clear_stage": "Hapus panggung tersimpan",
|
||||
"render.copy_request": "Salin JSON",
|
||||
@@ -2331,8 +2523,33 @@
|
||||
"render.flare_strength": "Kekuatan flare sorotan",
|
||||
"render.flare_threshold": "Ambang flare linear-adegan",
|
||||
"render.fold_browser": "Lipat Penjelajah",
|
||||
"render.frame_aspect": "Aspek",
|
||||
"render.frame_centre_mark": "Tanda pusat",
|
||||
"render.frame_copy_limit": "Tidak ada nama bidikan duplikat yang tersedia",
|
||||
"render.frame_copy_name": "{name} salinan {number}",
|
||||
"render.frame_custom": "Kustom",
|
||||
"render.frame_distance_unit": " × ukuran",
|
||||
"render.frame_duplicate": "Duplikasi",
|
||||
"render.frame_exposure": "Eksposur",
|
||||
"render.frame_fov": "Bidang pandang",
|
||||
"render.frame_guides": "Pemandu",
|
||||
"render.frame_invalid_aspect": "Preset aspek tidak valid",
|
||||
"render.frame_lens": "FOV {fov}° · ≈ {mm} mm",
|
||||
"render.frame_name": "Nama",
|
||||
"render.frame_output_size": "Ukuran keluaran",
|
||||
"render.frame_photo": "3:2 · Foto",
|
||||
"render.frame_portrait": "4:5 · Potret",
|
||||
"render.frame_presets": "Preset frame",
|
||||
"render.frame_presets_pending": "Hadir bersama editor Bidikan",
|
||||
"render.frame_projection": "Proyeksi",
|
||||
"render.frame_render_shot": "Render bidikan ini",
|
||||
"render.frame_rule_thirds": "Aturan sepertiga",
|
||||
"render.frame_safe_area": "Area aman",
|
||||
"render.frame_shot_title": "Bidikan · {name}",
|
||||
"render.frame_square": "1:1 · Persegi",
|
||||
"render.frame_tall": "9:16 · Vertikal",
|
||||
"render.frame_thirds": "Sepertiga",
|
||||
"render.frame_wide": "16:9 · Layar lebar",
|
||||
"render.gpu_depth": "Kedalaman jalur maksimum",
|
||||
"render.gpu_options_help": "Sampel, kedalaman, seed, dan eksposur disimpan bersama setup ini. Hanya metode gambar yang aktif yang disimpan.",
|
||||
"render.gpu_path_failed": "GPU path tracer tidak tersedia",
|
||||
@@ -2360,6 +2577,7 @@
|
||||
"render.heading_results": "HASIL",
|
||||
"render.heading_shots": "BIDIKAN",
|
||||
"render.hide_shots_label": "Sembunyikan strip Bidikan",
|
||||
"render.hover_look": "{object} · {look} · klik untuk memilih",
|
||||
"render.image_advanced": "Kontrol GPU lanjutan",
|
||||
"render.image_cancelled": "Render dibatalkan",
|
||||
"render.image_cancelling": "Membatalkan",
|
||||
@@ -2506,17 +2724,95 @@
|
||||
"render.library_uniform_ack": "Gunakan aproksimasi seragam tanpa efek spasial atau lanjutan",
|
||||
"render.library_usable": "Proyeksi yang dapat dieksekusi",
|
||||
"render.library_users": "Dipakai oleh",
|
||||
"render.light_aim": "Arahkan ke",
|
||||
"render.light_anchor_pending": "Mengubah kerangka koordinat lampu belum didukung.",
|
||||
"render.light_azimuth": "Azimut",
|
||||
"render.light_backend_limit": "Pilih ray tracing CPU atau studio GPU eksplisit untuk mengedit lampu. Lampu studio GPU lama tetap hanya-baca.",
|
||||
"render.light_behaviour": "PERILAKU",
|
||||
"render.light_default_fill": "Fill",
|
||||
"render.light_default_key": "Key",
|
||||
"render.light_default_number": "Lampu {number}",
|
||||
"render.light_default_rim": "Rim",
|
||||
"render.light_delete": "Hapus",
|
||||
"render.light_distance": "Jarak",
|
||||
"render.light_duplicate": "Duplikasi",
|
||||
"render.light_elevation": "Elevasi",
|
||||
"render.light_gpu_punctual": "Lampu Titik dan Spot tersedia dengan ray tracing CPU.",
|
||||
"render.light_hard_shadow": "Lampu ini memiliki bayangan tajam; kelembutan emitter tidak tersedia.",
|
||||
"render.light_intensity": "Intensitas",
|
||||
"render.light_missing": "Lampu ini sudah tidak ada. Pilih lampu di Penjelajah.",
|
||||
"render.light_place_highlight": "Tempatkan menurut sorotan",
|
||||
"render.light_place_pending": "Penempatan menurut sorotan memerlukan pemilihan lampu di viewport dan belum didukung.",
|
||||
"render.light_position": "POSISI",
|
||||
"render.light_preview_help": "Tampilan langsung tanpa bayangan; lampu Area memakai perkiraan sampel pusat. Render memakai model cahaya yang lengkap.",
|
||||
"render.light_product_centre": "Pusat produk",
|
||||
"render.light_size": "Ukuran",
|
||||
"render.light_softness": "Kelembutan",
|
||||
"render.light_temperature": "Suhu warna",
|
||||
"render.light_temperature_help": "Perkiraan rona benda hitam; disimpan sebagai RGB linear.",
|
||||
"render.light_type": "Tipe",
|
||||
"render.light_type_area": "Area",
|
||||
"render.light_type_point": "Titik",
|
||||
"render.light_type_spot": "Spot",
|
||||
"render.light_type_sun": "Matahari",
|
||||
"render.light_view_only": "Solo dan bisu memengaruhi tampilan ini dan render-nya; keduanya tidak pernah disimpan dalam desain.",
|
||||
"render.light_world_origin": "Origin dunia",
|
||||
"render.lighting_aim_point": "Titik bidik",
|
||||
"render.lighting_apply": "Terapkan preset",
|
||||
"render.lighting_area_samples": "Sampel area",
|
||||
"render.lighting_budget": "Anggaran",
|
||||
"render.lighting_budget_help": "Jumlahnya hanya-baca. Tambah, duplikasi, atau hapus lampu untuk mengubahnya; metode menentukan batasnya.",
|
||||
"render.lighting_colour": "Warna",
|
||||
"render.lighting_consent": "Ganti lampu arah dengan preset ini",
|
||||
"render.lighting_custom": "Lampu kustom",
|
||||
"render.lighting_custom_help": "Memilih Kustom mengubah preset menjadi lampu yang dapat diedit, masing-masing satu baris di pohon.",
|
||||
"render.lighting_direction": "Arah X Y Z",
|
||||
"render.lighting_direction_help": "Atau ketik arah menuju lampu (X Y Z).",
|
||||
"render.lighting_distance_unit": " × ukuran",
|
||||
"render.lighting_edge_u": "Vektor sisi U",
|
||||
"render.lighting_edge_v": "Vektor sisi V",
|
||||
"render.lighting_falloff": "Atenuasi",
|
||||
"render.lighting_falloff_help": "Intensitas dinyatakan pada jarak referensi.",
|
||||
"render.lighting_height": "Tinggi V",
|
||||
"render.lighting_minimum": "Minimum",
|
||||
"render.lighting_mute": "Bisukan lampu ini",
|
||||
"render.lighting_point": "Titik",
|
||||
"render.lighting_preset": "Preset studio",
|
||||
"render.lighting_preset_cpu": "Preset studio arah memerlukan ray tracing CPU. Pencahayaan GPU memakai lampu Matahari dan Area yang eksplisit.",
|
||||
"render.lighting_preset_row": "Preset",
|
||||
"render.lighting_radiance": "Radiance",
|
||||
"render.lighting_reference": "Referensi",
|
||||
"render.lighting_review_help": "Mengganti daftar lampu arah. Mempertahankan lampu titik dan area, lingkungan, bayangan, kamera, dan semua pengaturan bidikan lainnya.",
|
||||
"render.lighting_review_title": "Tinjau preset pencahayaan",
|
||||
"render.lighting_samples_cpu": "Sampel lampu area berlaku untuk ray tracing CPU.",
|
||||
"render.lighting_samples_need_area": "Tambahkan lampu area CPU untuk mengatur sampel area.",
|
||||
"render.lighting_samples_reason": "Sampel area harus 1, 4, 16 atau 64.",
|
||||
"render.lighting_shadow_cpu": "Sakelar bayangan memerlukan ray tracing CPU. Path tracing GPU selalu menghasilkan bayangan.",
|
||||
"render.lighting_shadows": "Buat bayangan",
|
||||
"render.lighting_shadows_section": "Bayangan dan sampling",
|
||||
"render.lighting_shape": "Bentuk",
|
||||
"render.lighting_solo": "Jadikan lampu ini solo",
|
||||
"render.lighting_source": "Sumber",
|
||||
"render.lighting_source_section": "Sumber cahaya",
|
||||
"render.lighting_spot_preserved": "Lampu titik ini mempertahankan kerucut spot tersimpannya sampai tipenya diubah.",
|
||||
"render.lighting_sun_distance": "Arah matahari tidak bergantung pada jarak dan titik bidik.",
|
||||
"render.lighting_unsupported": "tidak didukung",
|
||||
"render.lighting_used": "{used} dari {limit}",
|
||||
"render.lighting_width": "Lebar U",
|
||||
"render.lighting_world_position": "Dunia X Y Z",
|
||||
"render.lights_fixed_to": "Lampu tetap pada",
|
||||
"render.linear_help": "Mempertahankan master RGBA float 32-bit sebelum denoising, eksposur, tone mapping, filter, dan latar belakang. sRGB linear/D65; premultiplied terhadap cakupan. Memori tambahan diterima secara eksplisit. Tanpa kompresi atau pass tambahan.",
|
||||
"render.linear_retain": "Simpan EXR linear mentah",
|
||||
"render.linear_unavailable": "Bingkai selesai yang dipilih tidak memiliki EXR yang disimpan. Aktifkan penyimpanan sebelum merender; PNG lama tidak dapat memulihkan radiance mentah.",
|
||||
"render.look_add": "Tambah look warna",
|
||||
"render.look_applied": "{name} diterapkan",
|
||||
"render.look_bleach": "Terinspirasi bleach-bypass",
|
||||
"render.look_cool": "Dingin",
|
||||
"render.look_cyanotype": "Terinspirasi sianotipe",
|
||||
"render.look_faded": "Cetakan pudar",
|
||||
"render.look_material": "Material",
|
||||
"render.look_mono": "Monokrom",
|
||||
"render.look_pasted": "Look ditempel",
|
||||
"render.look_sepia": "Sepia",
|
||||
"render.look_strength": "Kekuatan look",
|
||||
"render.look_teal_orange": "Teal / oranye",
|
||||
@@ -2592,9 +2888,11 @@
|
||||
"render.output_advanced": "Lanjutan",
|
||||
"render.output_backend_ready": "Siap",
|
||||
"render.output_check": "Periksa",
|
||||
"render.output_check_failed": "Periksa · galat",
|
||||
"render.output_check_help": "Jalankan Periksa untuk meninjau permintaan ini tanpa memulai render.",
|
||||
"render.output_check_summary": "Periksa · Catatan: {count}",
|
||||
"render.output_copy": "Salin",
|
||||
"render.output_copy_report": "Salin laporan",
|
||||
"render.output_destination": "Tujuan",
|
||||
"render.output_destination_help": "Pilih file tujuan saat mengekspor gambar yang sudah selesai.",
|
||||
"render.output_dimensions": "Ukuran",
|
||||
@@ -2604,6 +2902,7 @@
|
||||
"render.output_fit": "Pas",
|
||||
"render.output_format": "Format",
|
||||
"render.output_format_status": "PNG adalah gambar tampilan selesai yang persis. EXR GPU opsional menyimpan radiance FLOAT32 linear-adegan mentah sebelum filter tampilan. Ekspor tidak pernah menggantikan cache pratinjau atau pekerjaan lain.",
|
||||
"render.output_grading": "Koreksi warna",
|
||||
"render.output_image": "Gambar",
|
||||
"render.output_largest": "{width} × {height} maks",
|
||||
"render.output_lock_ratio": "Kunci rasio aspek",
|
||||
@@ -2613,6 +2912,8 @@
|
||||
"render.output_quality_waiting": "menunggu kontrak kualitas",
|
||||
"render.output_ratio_refused": "Dimensi yang tertaut melebihi batas ukuran metode ini. Ukuran sebelumnya dipertahankan; buka kunci rasio atau pilih nilai yang lebih kecil.",
|
||||
"render.output_ready": "Siap dirender",
|
||||
"render.output_run_check": "Jalankan pemeriksaan",
|
||||
"render.output_size_limit": "{method}: hingga {dimension} px per sisi dan {pixels} piksel. Ukuran terbesar yang muat: {width} × {height}.",
|
||||
"render.output_size_ok": "Ukuran OK · {width} × {height} px",
|
||||
"render.output_swap_orientation": "Tukar lebar dan tinggi",
|
||||
"render.output_tools_inspector": "Edit ukuran dan format di Inspektor Keluaran.",
|
||||
@@ -2629,6 +2930,7 @@
|
||||
"render.page_output": "Keluaran",
|
||||
"render.page_scene": "Adegan",
|
||||
"render.paint_label": "Cat",
|
||||
"render.painting_with": "Mengecat dengan {name}",
|
||||
"render.passive_stage": "Lantai dan panggung pasif",
|
||||
"render.passive_stage_help": "Panel pasif berhingga hanya milik gambar yang dirender. Panel ini tidak menambah bodi CAD atau massa. Penempatan menjadi tetap setelah diterapkan; batas produk yang berpotongan ditolak. CPU tidak menyediakan pencahayaan pantulan difus.",
|
||||
"render.perspective": "Kamera perspektif",
|
||||
@@ -2650,6 +2952,7 @@
|
||||
"render.pick_help": "Pilih Bodi, Muka, atau Komponen. Klik ruang kosong untuk membersihkan; Shift atau Ctrl menambah atau mengalihkan. Sorotan hanya muncul di tampilan produk langsung.",
|
||||
"render.pick_label": "Pilih",
|
||||
"render.pick_up_label": "Ambil",
|
||||
"render.pick_up_prompt": "Klik sebuah objek untuk mengambil look-nya",
|
||||
"render.pick_waiting": "Pemilihan produk belum didukung.",
|
||||
"render.post_contrast": "Kontras",
|
||||
"render.post_gain_b": "Gain biru",
|
||||
@@ -2689,13 +2992,17 @@
|
||||
"render.radial_distortion": "Distorsi radial",
|
||||
"render.radial_fit": "Fit Produk",
|
||||
"render.radial_save": "Simpan Bidikan",
|
||||
"render.recent_looks": "Look terbaru",
|
||||
"render.regrade_action": "Koreksi warna ulang master mentah (tanpa denoise)",
|
||||
"render.regrade_help": "Membuat PNG terpisah dari master mentah selesai yang dipilih, memakai kontrol presentasi ini. Tidak menelusuri sinar, tidak mengubah ukuran/kamera/lampu yang ditangkap, dan tidak menimpa EXR. Denoise tidak diterapkan lagi: master mentah tidak menyimpan panduannya. Turunan ini tetap dapat diekspor melalui kontrol tugas yang sama.",
|
||||
"render.regrade_label": "Koreksi warna ulang",
|
||||
"render.reload_settings": "Muat Ulang Pengaturan Tersimpan",
|
||||
"render.remove_override": "Hapus Override",
|
||||
"render.replace_all": "Ganti Semua",
|
||||
"render.replace_ground": "Konfirmasi penggantian panggung yang ada",
|
||||
"render.replace_label": "Ganti",
|
||||
"render.replace_saved_surface": "Ganti binding tersimpan yang ada untuk target ini",
|
||||
"render.replace_with": "Ganti dengan",
|
||||
"render.restore_camera": "Pulihkan Kamera Tersimpan",
|
||||
"render.result_actual": "100%",
|
||||
"render.result_actual_help": "Satu piksel gambar per piksel layar.",
|
||||
@@ -2747,14 +3054,28 @@
|
||||
"render.saved_surface_remove": "Hapus binding tersimpan",
|
||||
"render.saved_surfaces": "Binding permukaan tersimpan",
|
||||
"render.saved_surfaces_help": "Peta bawaan yang disematkan mengikuti kemunculan terpilih dalam milimeter lokal. Target yang diganti atau hilang adalah galat, bukan penugasan ulang otomatis.",
|
||||
"render.scene_all_shots": "Semua bidikan ({count})",
|
||||
"render.scene_apply": "Terapkan studio yang sudah ditinjau",
|
||||
"render.scene_batch_reason": "Semua bidikan memerlukan antrean render bidikan tersimpan, yang belum tersedia.",
|
||||
"render.scene_check_now": "Periksa sekarang",
|
||||
"render.scene_check_passed": "Pemeriksaan lolos · {notes} catatan",
|
||||
"render.scene_check_stale": "Pemeriksaan usang · periksa lagi",
|
||||
"render.scene_check_unchecked": "Belum diperiksa · 0 catatan",
|
||||
"render.scene_consent": "Konfirmasi penggantian pencahayaan, lingkungan, eksposur, dan panggung",
|
||||
"render.scene_light_summary": "{environment} · {lights} lampu",
|
||||
"render.scene_look_summary": "{looks} look · {overrides} override",
|
||||
"render.scene_open_check": "Buka Pemeriksaan",
|
||||
"render.scene_preserved_fields": "Kamera, sampling, dimensi, binding optik, geometri CAD, dan material rekayasa tetap dipertahankan.",
|
||||
"render.scene_preserves_design": "Susun pencahayaan dan panggung pasif untuk subjek yang terlihat. Geometri, material rekayasa, dan kamera tetap terpisah.",
|
||||
"render.scene_ready": "Siap dirender",
|
||||
"render.scene_reminder": "Adegan mempertahankan desain. Geometri, properti rekayasa, dan CAD tidak pernah diubah dari Render.",
|
||||
"render.scene_reminders": "Pengingat",
|
||||
"render.scene_renderer_ready": "{renderer} siap",
|
||||
"render.scene_replaces": "Mengganti",
|
||||
"render.scene_review": "Proses dan tinjau",
|
||||
"render.scene_review_help": "Tinjau komposisi native secara lengkap sebelum menerapkan. Spesifikasi SCENE lanjutan yang tidak terikat tidak digantikan.",
|
||||
"render.scene_scope_details": "Cakupan komposisi",
|
||||
"render.scene_stages": "Tahapan",
|
||||
"render.search_appearances": "Cari di {count} tampilan",
|
||||
"render.setup_legacy_environment": "Setup lama ini memakai rotasi atau intensitas lingkungan versi lama. Nilai tersebut dipertahankan; konversikan secara eksplisit sebelum menyimpan tugas gambar penuh.",
|
||||
"render.setup_name": "Nama setup",
|
||||
@@ -2767,7 +3088,22 @@
|
||||
"render.shell_tab_camera": "KAMERA RENDER",
|
||||
"render.shell_tab_lighting": "PENCAHAYAAN",
|
||||
"render.shell_tab_scene": "ADEGAN RENDER",
|
||||
"render.shot_aperture": "Apertur",
|
||||
"render.shot_distance": "Jarak",
|
||||
"render.shot_dof": "Kedalaman bidang",
|
||||
"render.shot_duplicate": "Duplikasi bidikan tersimpan",
|
||||
"render.shot_edit_output": "Edit di Keluaran",
|
||||
"render.shot_exposure_reason": "Eksposur memerlukan ray tracing CPU atau path tracing GPU.",
|
||||
"render.shot_exposure_section": "Eksposur",
|
||||
"render.shot_focus_distance": "Jarak fokus",
|
||||
"render.shot_fov_reason": "Bidang pandang memerlukan proyeksi perspektif.",
|
||||
"render.shot_frame_subject": "Bingkaikan subjek",
|
||||
"render.shot_invalid_camera": "Nilai kamera harus berhingga dan dalam rentang.",
|
||||
"render.shot_lens": "Lensa",
|
||||
"render.shot_lens_enable_reason": "Aktifkan kedalaman bidang untuk mengedit apertur dan jarak fokus.",
|
||||
"render.shot_lens_gpu_reason": "Kedalaman bidang memerlukan path tracing GPU.",
|
||||
"render.shot_lens_perspective_reason": "Kedalaman bidang memerlukan proyeksi perspektif.",
|
||||
"render.shot_look_selection": "Hadapkan ke pilihan",
|
||||
"render.shot_manager": "Bidikan tersimpan",
|
||||
"render.shot_new_name": "Nama bidikan baru",
|
||||
"render.shot_remove": "Hapus bidikan tersimpan",
|
||||
@@ -2775,6 +3111,9 @@
|
||||
"render.shot_remove_title": "Hapus bidikan tersimpan?",
|
||||
"render.shot_rename": "Ganti nama bidikan tersimpan",
|
||||
"render.shot_saved_only": "Simpan draf saat ini terlebih dahulu. Duplikasi dan ganti nama mempertahankan opsi tersimpan dan referensi sumber daya secara persis.",
|
||||
"render.shot_selection_reason": "Pilih bodi atau muka sebagai sasaran.",
|
||||
"render.shot_size": "Ukuran",
|
||||
"render.shot_target": "Target",
|
||||
"render.shots_camera_changed": "Kamera berubah sejak bidikan ini disimpan",
|
||||
"render.shots_name_help": "Masukkan nama unik untuk bidikan saat ini.",
|
||||
"render.shots_no_result": "Belum ada render",
|
||||
@@ -2997,6 +3336,13 @@
|
||||
"render.wait_pick_up": "belum didukung: pemilihan produk dan pengambilan sampel tampilan",
|
||||
"render.wait_replace": "belum didukung: penggantian semua pemakaian suatu tampilan",
|
||||
"render.wait_solo": "belum didukung: visibilitas lampu dan kontrol solo",
|
||||
"render.wear_applies_to": "Berlaku untuk",
|
||||
"render.wear_layer_count": "{count} lapisan",
|
||||
"render.wear_layer_one": "{count} lapisan",
|
||||
"render.wear_layers": "Lapisan",
|
||||
"render.wear_no_layers": "Tidak ada lapisan",
|
||||
"render.wear_selected_layer": "Lapisan terpilih",
|
||||
"render.wear_title": "Keausan",
|
||||
"sample.bracket.about": "Flens dasar dengan flens tepi dan hem pada aturan 2 mm",
|
||||
"sample.bracket.name": "Braket Pelat Logam",
|
||||
"sample.enclosure.about": "Kotak shell dengan lip, boss sekrup, rest, dan snap fit",
|
||||
@@ -3030,6 +3376,7 @@
|
||||
"select an axis": "pilih sumbu",
|
||||
"select an axis, a straight or circular edge, or a cylinder, cone or torus face first": "pilih sumbu, tepi lurus atau melingkar, atau muka silinder, kerucut, atau torus terlebih dahulu",
|
||||
"select bodies first": "pilih bodi terlebih dahulu",
|
||||
"select components first": "pilih komponen terlebih dahulu",
|
||||
"select corner points, or the two lines of one corner": "pilih titik sudut, atau dua garis dari satu sudut",
|
||||
"select one corner point, or the two lines of one corner": "pilih satu titik sudut, atau dua garis dari satu sudut",
|
||||
"select sheet edges first": "pilih tepi pelat terlebih dahulu",
|
||||
@@ -3048,6 +3395,7 @@
|
||||
"settings.double_click_components": "Klik dua kali komponen untuk mengaktifkannya, atau untuk mengedit komponen tertaut di tempat",
|
||||
"settings.frame_rate_details_note": "Menambahkan grafik waktu frame terakhir dengan segitiga yang digambar di atasnya, histogram waktu frame, dan apa yang digambar GPU. Klik frame rate di tampilan untuk menampilkan atau menyembunyikannya.",
|
||||
"settings.frame_rate_note": "Menampilkan frame per detik di sudut kanan bawah tampilan.",
|
||||
"settings.insert_lists_open_designs": "Sisipkan Desain mencantumkan desain yang terbuka di tab lain terlebih dahulu",
|
||||
"settings.measure_axis_distances": "Tampilkan jarak X/Y/Z",
|
||||
"settings.measure_axis_distances_help": "Tampilkan dimensi komponen sumbu dunia di samping jarak total saat Ukur terbuka.",
|
||||
"settings.msaa_applies_on_restart": "Anti-aliasing berlaku saat SolidCraft dimulai berikutnya",
|
||||
@@ -3072,6 +3420,10 @@
|
||||
"shortcut.unpin": "Lepas sematan",
|
||||
"sketch is missing": "sketsa tidak ditemukan",
|
||||
"sketch.degrees_of_freedom": "{count} derajat kebebasan",
|
||||
"sketch.dimension_added_driven": "Sketsa sudah menentukan dimensi itu, sehingga dimensi ditambahkan sebagai dimensi driven (referensi)",
|
||||
"sketch.dimension_applied": "Dimensi diterapkan",
|
||||
"sketch.dimension_applied_defined": "Dimensi diterapkan; parameter `{name}` didefinisikan",
|
||||
"sketch.dimension_applied_renamed": "Dimensi diterapkan; parameter diberi nama `{name}`",
|
||||
"sketch.dof_left": "{count} derajat kebebasan tersisa",
|
||||
"sketch.dof_left_one": "{count} derajat kebebasan tersisa",
|
||||
"sketch.draw_curves": "Gambar sebagai {linetype}",
|
||||
@@ -3106,6 +3458,8 @@
|
||||
"sketch_text.use_font_file": "Gunakan file font {path}",
|
||||
"solid": "solid",
|
||||
"status.editing": "Mengedit {name}",
|
||||
"status.navigation": "Pemetaan mouse: {mapping}",
|
||||
"status.navigation_tip": "Cara mouse menggerakkan tampilan. Klik untuk memilih pemetaan lain",
|
||||
"status.under_constrained": "Kurang dibatasi ({count} derajat kebebasan)",
|
||||
"status.under_constrained_one": "Kurang dibatasi ({count} derajat kebebasan)",
|
||||
"status.units_tip": "Satuan desain. Klik untuk mengubahnya",
|
||||
@@ -3139,8 +3493,10 @@
|
||||
"timeline.delete_folders_tip": "Pertahankan fitur dan folder bersarangnya di riwayat",
|
||||
"timeline.delete_folders_with_features_tip": "Hapus folder beserta setiap fitur di dalamnya dan folder bersarangnya",
|
||||
"timeline.delete_many": "Hapus {count} Fitur Terpilih",
|
||||
"timeline.edited_rolled_back": "{name} diubah, tetapi berada setelah penanda riwayat, sehingga tidak dibangun: pindahkan penanda melewatinya untuk melihat hasilnya",
|
||||
"timeline.feature_error": "Error: {message}",
|
||||
"timeline.feature_hint": "Klik dua kali untuk edit · seret untuk mengurutkan ulang · klik kanan untuk lainnya",
|
||||
"timeline.feature_rolled_back": "Dimundurkan: berada setelah penanda riwayat, sehingga tidak dibangun",
|
||||
"timeline.feature_warning": "Peringatan: {message}",
|
||||
"timeline.group": "Folder Fitur Baru",
|
||||
"timeline.move_many": "Pindahkan Item Linimasa",
|
||||
@@ -3220,6 +3576,10 @@
|
||||
"ui.3d_mouse_offer": "Mengkalibrasi mouse 3D memperbaiki sumbu yang tertukar atau terbalik dan mengatur kecepatan serta rasanya.",
|
||||
"ui.3d_mouse_offer_never": "Jangan tampilkan lagi",
|
||||
"ui.3d_mouse_offer_swap": "Beralih ke Hidraw (driver langsung)",
|
||||
"ui.3d_mouse_orbit": "Orbit",
|
||||
"ui.3d_mouse_orbit_classic": "Klasik",
|
||||
"ui.3d_mouse_orbit_tip": "Terlacak: mouse 3D memutar tampilan mengelilingi bagian model yang ada di tengah tampilan saat putaran dimulai, ditandai dengan bola samar. Klasik: mengelilingi pusat tampilan",
|
||||
"ui.3d_mouse_orbit_traced": "Terlacak",
|
||||
"ui.3d_mouse_reading": "Pembacaan",
|
||||
"ui.3d_mouse_reset_axes": "Atur ulang penetapan sumbu",
|
||||
"ui.3d_mouse_reset_view": "Atur ulang tampilan",
|
||||
@@ -3604,6 +3964,7 @@
|
||||
"ui.constant": "Konstan",
|
||||
"ui.constraints_conflict": "Batasan bertentangan",
|
||||
"ui.construction": "Konstruksi",
|
||||
"ui.construction.ribbon_label": "Garis bantu",
|
||||
"ui.context_menu": "Menu konteks",
|
||||
"ui.continuity_g0": "Lipatan G0",
|
||||
"ui.continuity_g1": "Tangen G1",
|
||||
@@ -3695,6 +4056,14 @@
|
||||
"ui.end_scale": "Skala Akhir",
|
||||
"ui.entities": "Entitas",
|
||||
"ui.equal": "Sama",
|
||||
"ui.equation_end": "Akhir",
|
||||
"ui.equation_explicit": "Eksplisit",
|
||||
"ui.equation_form": "Bentuk",
|
||||
"ui.equation_note": "Variabelnya berupa angka biasa: sin(t) menganggapnya dalam radian. Hasil tanpa satuan memakai satuan desain.",
|
||||
"ui.equation_parametric": "Parametrik",
|
||||
"ui.equation_x_of_t": "x(t)",
|
||||
"ui.equation_y_of_t": "y(t)",
|
||||
"ui.equation_y_of_x": "y(x)",
|
||||
"ui.equivalent_radius": "Radius Ekuivalen",
|
||||
"ui.expand": "Perluas",
|
||||
"ui.exportDxf": "Ekspor DXF…",
|
||||
@@ -3760,6 +4129,7 @@
|
||||
"ui.heading_design": "DESAIN",
|
||||
"ui.heading_draft": "DRAFT",
|
||||
"ui.heading_edit": "EDIT",
|
||||
"ui.heading_equation_curve": "KURVA PERSAMAAN",
|
||||
"ui.heading_extrude": "EKSTRUSI",
|
||||
"ui.heading_fillet": "FILLET",
|
||||
"ui.heading_finish_editing": "SELESAI EDIT",
|
||||
@@ -3851,6 +4221,10 @@
|
||||
"ui.import_ellipsis": "Impor…",
|
||||
"ui.infinite": "Tak hingga",
|
||||
"ui.insert": "Sisipkan",
|
||||
"ui.insert_design.browse": "Jelajahi…",
|
||||
"ui.insert_design.open_designs": "Desain terbuka",
|
||||
"ui.insert_design.saved_file": "{name} memiliki perubahan yang belum disimpan, sehingga file tersimpannya yang disisipkan. Simpan desain itu, lalu jalankan Perbarui Tautan untuk memasukkan perubahannya.",
|
||||
"ui.insert_design.unsaved": "Perubahan belum disimpan",
|
||||
"ui.inspect": "Inspeksi",
|
||||
"ui.intersect": "Irisan",
|
||||
"ui.isolate": "Isolasi",
|
||||
@@ -4000,6 +4374,18 @@
|
||||
"ui.project": "Proyeksi",
|
||||
"ui.project_face_edges_sketch": "Proyeksikan tepi muka ke sketsa baru",
|
||||
"ui.properties": "Properti",
|
||||
"ui.properties.copy_matrix": "Salin matriks",
|
||||
"ui.properties.first_moments": "Momen pertama",
|
||||
"ui.properties.inertia": "Momen inersia",
|
||||
"ui.properties.inertia_note": "Terhadap pusat massa, pada sumbu dunia (g·{unit}²)",
|
||||
"ui.properties.inertia_unavailable": "Tidak tersedia: mesh sebuah bodi tidak tertutup.",
|
||||
"ui.properties.inertia_x": "Ixx, Ixy, Ixz",
|
||||
"ui.properties.inertia_y": "Iyx, Iyy, Iyz",
|
||||
"ui.properties.inertia_z": "Izx, Izy, Izz",
|
||||
"ui.properties.measuring": "Mengukur…",
|
||||
"ui.properties.measuring_failed": "Pengukuran berhenti sebelum selesai.",
|
||||
"ui.properties.principal_axis": "Sumbu utama {number}",
|
||||
"ui.properties.principal_moments": "Momen utama",
|
||||
"ui.pull_direction": "Arah tarik",
|
||||
"ui.quality": "Kualitas",
|
||||
"ui.quantity": "Jumlah",
|
||||
@@ -4062,6 +4448,7 @@
|
||||
"ui.select": "Pilih",
|
||||
"ui.selectOther": "Pilih Lainnya…",
|
||||
"ui.selectTangentChain": "Pilih Rantai Tangen",
|
||||
"ui.select_all": "Pilih Semua",
|
||||
"ui.selection": "Pilihan",
|
||||
"ui.selection_modifiers": "Pengubah pilihan",
|
||||
"ui.selection_shift_add_only": "Shift+klik menambah tanpa menghapus",
|
||||
@@ -4098,7 +4485,11 @@
|
||||
"ui.sketch": "Sketsa",
|
||||
"ui.sketch_dimension": "Dimensi Sketsa",
|
||||
"ui.sketch_grid": "Grid Sketsa",
|
||||
"ui.sketch_intersect_geometry": "Geometri",
|
||||
"ui.sketch_intersect_projection_link": "Tautan Proyeksi",
|
||||
"ui.sketch_intersect_selection_filter": "Filter Pilihan",
|
||||
"ui.sketch_modifiers": "Pengubah sketsa",
|
||||
"ui.sketch_project_geometry": "Geometri",
|
||||
"ui.sketch_scale": "Skala Sketsa",
|
||||
"ui.sketches": "Sketsa",
|
||||
"ui.slice": "Iris",
|
||||
@@ -4149,6 +4540,7 @@
|
||||
"ui.tab_manage": "Kelola",
|
||||
"ui.tab_sheet_metal": "Pelat Logam",
|
||||
"ui.tab_view": "Tampilan",
|
||||
"ui.tab_weldments": "Konstruksi Las",
|
||||
"ui.tangent": "Tangen",
|
||||
"ui.taper_angle": "Sudut Taper",
|
||||
"ui.tapped": "Bertap",
|
||||
@@ -4164,6 +4556,7 @@
|
||||
"ui.tip_angle": "Sudut Ujung",
|
||||
"ui.to_object": "Ke Objek",
|
||||
"ui.tool_direction": "Arah alat",
|
||||
"ui.toolbar_tabs_hidden": "Semua tab toolbar disembunyikan. Klik + atau klik kanan di sini untuk menampilkan salah satunya.",
|
||||
"ui.top": "Atas",
|
||||
"ui.top_diameter": "Diameter atas",
|
||||
"ui.top_radius": "Radius atas",
|
||||
@@ -4210,6 +4603,7 @@
|
||||
"ui.visual_shaded_with_edges": "Shaded dengan tepi",
|
||||
"ui.visual_style": "Gaya visual",
|
||||
"ui.visual_wireframe": "Wireframe",
|
||||
"ui.wheel_zoom_speed": "Kecepatan zoom roda mouse",
|
||||
"ui.width": "Lebar",
|
||||
"ui.window_system": "Sistem jendela",
|
||||
"ui.window_system_auto": "Otomatis",
|
||||
@@ -4261,6 +4655,9 @@
|
||||
"update.prefs_label": "Pembaruan",
|
||||
"update.prefs_note": "Ini adalah SolidCraft {version} ({kind}). Pemeriksaan meminta rilis terbaru ke GitHub dan tidak mengirim apa pun lagi.",
|
||||
"update.prefs_web": "Muat ulang halaman untuk mendapatkan aplikasi web terbaru. Jika jaringan tidak tersedia atau pembaruan tidak selesai diunduh tepat waktu, versi tersimpan akan terbuka; unduhan yang sedang berjalan berlanjut untuk muat ulang berikutnya.",
|
||||
"update.refresh_checking": "Memeriksa rilis terbaru…",
|
||||
"update.refresh_fallback": "Tidak dapat memeriksa rilis yang lebih baru; memperbarui ke {version} yang ditemukan sebelumnya.",
|
||||
"update.refresh_selected": "Memperbarui ke {version}.",
|
||||
"update.release_page": "Buka halaman rilis",
|
||||
"update.restart": "Mulai ulang sekarang",
|
||||
"update.restart_later": "Nanti",
|
||||
|
||||
@@ -204,6 +204,7 @@
|
||||
"Edges": "Spigoli",
|
||||
"Edit": "Modifica",
|
||||
"Edit Profile Sketch": "Modifica schizzo del profilo",
|
||||
"Edit shortcuts": "Modifica scorciatoie",
|
||||
"Enable rule": "Abilita regola",
|
||||
"Enabled": "Abilitato",
|
||||
"End Radius": "Raggio finale",
|
||||
@@ -466,6 +467,7 @@
|
||||
"Radius": "Raggio",
|
||||
"Radius Fit": "Adattamento del raggio",
|
||||
"Ratio": "Rapporto",
|
||||
"Read-only list: shortcuts can't be changed here.": "Elenco di sola lettura: qui le scorciatoie non si possono modificare.",
|
||||
"Reattach selected face": "Ricollega la faccia selezionata",
|
||||
"Recover": "Recupera",
|
||||
"Recover unsaved design?": "Recuperare il progetto non salvato?",
|
||||
@@ -649,6 +651,7 @@
|
||||
"Third point": "Terzo punto",
|
||||
"This child is shared. Deleting it removes it from every copy of its parent.": "Questo elemento figlio è condiviso. Eliminandolo verrà rimosso da ogni copia del padre.",
|
||||
"This child is shared. Position changes apply to every copy of its parent.": "Questo elemento figlio è condiviso. Le modifiche alla posizione si applicano a ogni copia del padre.",
|
||||
"This component is inside a subassembly placed more than once: aligning it moves it in every placement.": "Questo componente si trova in un sottoassieme inserito più volte: allinearlo lo sposta in ogni posizionamento.",
|
||||
"This face cannot provide a durable attachment. Choose another face or explicitly use a fixed plane.": "Questa faccia non consente un collegamento persistente. Scegli un'altra faccia o usa esplicitamente un piano fisso.",
|
||||
"This image is not attached to GitHub yet. Copy or save it, then attach it on GitHub.": "Questa immagine non è ancora allegata a GitHub. Copiala o salvala, poi allegala su GitHub.",
|
||||
"Thread depth": "Profondità filetto",
|
||||
@@ -790,6 +793,11 @@
|
||||
"cam.roller": "Rullo",
|
||||
"cam.roller_pick": "Rullo (facoltativo)",
|
||||
"cam.tip_pick": "Punta (facoltativa)",
|
||||
"camera.shot_pitch": "Beccheggio",
|
||||
"camera.shot_roll": "Rollio",
|
||||
"camera.shot_yaw": "Imbardata",
|
||||
"canvas.decal_place_hint": "Fai clic su una faccia per posizionare la decalcomania",
|
||||
"canvas.place_hint": "Fai clic su un piano o una faccia per posizionare l'immagine di riferimento",
|
||||
"choose a profile": "scegli un profilo",
|
||||
"choose the cam's and the follower's joints": "scegli i giunti della camma e del seguace",
|
||||
"choose the joints to couple": "scegli i giunti da accoppiare",
|
||||
@@ -797,9 +805,12 @@
|
||||
"click sketch curves": "fare clic sulle curve dello schizzo",
|
||||
"cmd.appearance_assign": "Aspetto",
|
||||
"cmd.appearance_chain": "Catena degli aspetti",
|
||||
"cmd.appearance_copy": "Copia aspetto",
|
||||
"cmd.appearance_favorite": "Aspetto preferito",
|
||||
"cmd.appearance_library": "Libreria degli aspetti",
|
||||
"cmd.appearance_list": "Elenca aspetti",
|
||||
"cmd.appearance_paint": "Applica aspetto",
|
||||
"cmd.appearance_paste": "Incolla aspetto",
|
||||
"cmd.appearance_pick_up": "Preleva aspetto",
|
||||
"cmd.appearance_replace": "Sostituisci aspetto",
|
||||
"cmd.assembly_bom": "Distinta base",
|
||||
@@ -810,6 +821,7 @@
|
||||
"cmd.browser_move": "Sposta elementi della struttura",
|
||||
"cmd.browser_order": "Ordina elementi della struttura",
|
||||
"cmd.browser_rename_group": "Rinomina gruppo",
|
||||
"cmd.browser_reparent": "Sposta nel componente",
|
||||
"cmd.browser_ungroup": "Separa gruppo",
|
||||
"cmd.browser_visibility": "Mostra/Nascondi",
|
||||
"cmd.canvas_calibrate": "Calibra immagine di riferimento",
|
||||
@@ -836,7 +848,9 @@
|
||||
"cmd.component_metadata": "Proprietà della parte",
|
||||
"cmd.component_metadata_set": "Modifica proprietà della parte",
|
||||
"cmd.component_move_bodies": "Sposta corpi nel componente",
|
||||
"cmd.component_move_features": "Sposta lavorazioni nel componente",
|
||||
"cmd.component_move_sketches": "Sposta schizzi nel componente",
|
||||
"cmd.component_paste_from_design": "Incolla da un altro progetto",
|
||||
"cmd.component_paste_new": "Incolla come nuovo",
|
||||
"cmd.component_properties": "Proprietà fisiche del componente",
|
||||
"cmd.component_relink": "Ricollega sorgente",
|
||||
@@ -973,6 +987,7 @@
|
||||
"cmd.motion_trace": "Traiettoria del movimento",
|
||||
"cmd.motion_trace_edit": "Modifica traccia di movimento",
|
||||
"cmd.motion_trace_keep": "Mantieni traiettoria del movimento",
|
||||
"cmd.occurrence_align": "Allinea occorrenza",
|
||||
"cmd.occurrence_copy": "Incolla (istanza)",
|
||||
"cmd.occurrence_drag": "Trascina occorrenza",
|
||||
"cmd.occurrence_ground": "Fissa a terra",
|
||||
@@ -1030,11 +1045,17 @@
|
||||
"cmd.render_library_surface_unbind": "Rimuovi associazione della superficie",
|
||||
"cmd.render_library_targets": "Trova destinazioni della libreria di rendering",
|
||||
"cmd.render_lights_add": "Aggiungi luce",
|
||||
"cmd.render_lights_duplicate": "Duplica luce di rendering",
|
||||
"cmd.render_lights_list": "Elenca luci di rendering",
|
||||
"cmd.render_lights_mute": "Silenzia luce",
|
||||
"cmd.render_lights_remove": "Rimuovi luce di rendering",
|
||||
"cmd.render_lights_set": "Imposta luce di rendering",
|
||||
"cmd.render_lights_solo": "Isola luce",
|
||||
"cmd.render_optics_bind": "Salva associazione ottica",
|
||||
"cmd.render_optics_unbind": "Rimuovi associazione ottica",
|
||||
"cmd.render_output_size": "Imposta dimensioni di uscita del rendering",
|
||||
"cmd.render_preflight": "Verifica richiesta di rendering",
|
||||
"cmd.render_preflight_copy": "Copia rapporto di verifica del rendering",
|
||||
"cmd.render_preset_apply": "Applica studio nativo",
|
||||
"cmd.render_preset_resolve": "Verifica studio nativo",
|
||||
"cmd.render_quality_prepare": "Verifica budget di campionamento fisso",
|
||||
@@ -1057,6 +1078,13 @@
|
||||
"cmd.render_start": "Renderizza immagine",
|
||||
"cmd.render_status": "Avanzamento del rendering",
|
||||
"cmd.select_clear": "Deseleziona tutto",
|
||||
"cmd.settings_profile_apply": "Applica profilo delle impostazioni",
|
||||
"cmd.settings_profile_delete": "Elimina profilo delle impostazioni",
|
||||
"cmd.settings_profile_export": "Esporta profilo delle impostazioni",
|
||||
"cmd.settings_profile_import": "Importa profilo delle impostazioni",
|
||||
"cmd.settings_profile_list": "Profili delle impostazioni",
|
||||
"cmd.settings_profile_rename": "Rinomina profilo delle impostazioni",
|
||||
"cmd.settings_profile_save": "Salva profilo delle impostazioni",
|
||||
"cmd.sheet_convert": "Converti in lamiera",
|
||||
"cmd.sheet_export_bend_table": "Esporta tabella delle pieghe",
|
||||
"cmd.sheet_export_dxf": "Esporta sviluppo piano come DXF",
|
||||
@@ -1070,6 +1098,16 @@
|
||||
"cmd.sheet_refold": "Ripiega",
|
||||
"cmd.sheet_rules": "Elenca regole per lamiera",
|
||||
"cmd.sheet_unfold": "Spiega",
|
||||
"cmd.sketch.construction_line": "Retta di costruzione",
|
||||
"cmd.sketch.construction_line.angle": "Retta di costruzione inclinata",
|
||||
"cmd.sketch.construction_line.bisector": "Bisettrice",
|
||||
"cmd.sketch.construction_line.horizontal": "Retta di costruzione orizzontale",
|
||||
"cmd.sketch.construction_line.parallel": "Retta di costruzione parallela",
|
||||
"cmd.sketch.construction_line.perpendicular": "Retta di costruzione perpendicolare",
|
||||
"cmd.sketch.construction_line.tangent_at": "Tangente in un punto della curva",
|
||||
"cmd.sketch.construction_line.tangent_external": "Tangente per un punto esterno",
|
||||
"cmd.sketch.construction_line.tangent_two": "Tangente comune",
|
||||
"cmd.sketch.construction_line.vertical": "Retta di costruzione verticale",
|
||||
"cmd.sketch_arc3d": "Arco 3D",
|
||||
"cmd.sketch_arc_center_point": "Arco per centro",
|
||||
"cmd.sketch_arc_tangent": "Arco tangente",
|
||||
@@ -1102,6 +1140,8 @@
|
||||
"cmd.sketch_drawing_bounds": "Dimensioni del disegno",
|
||||
"cmd.sketch_edit": "Modifica schizzo",
|
||||
"cmd.sketch_edit_text": "Modifica testo",
|
||||
"cmd.sketch_equation_curve": "Curva da equazione",
|
||||
"cmd.sketch_equation_curve_edit": "Modifica curva da equazione",
|
||||
"cmd.sketch_export_dxf": "Salva come DXF",
|
||||
"cmd.sketch_finish_auto_constrain": "Termina con vincoli automatici",
|
||||
"cmd.sketch_fit_curves_to_section": "Adatta curve alla sezione della mesh",
|
||||
@@ -1198,6 +1238,7 @@
|
||||
"cmd.view.render_browser": "Struttura del rendering",
|
||||
"cmd.view.render_dock": "Sposta pannello di rendering",
|
||||
"cmd.view.render_focus": "Vista focalizzata sul rendering",
|
||||
"cmd.view.status_items": "Elementi di stato della vista",
|
||||
"cmd.view_ambient_occlusion": "Occlusione ambientale",
|
||||
"cmd.view_angle_readout": "Angoli della vista",
|
||||
"cmd.view_apply": "Ripristina vista con nome",
|
||||
@@ -1219,6 +1260,7 @@
|
||||
"cmd.view_normal_to": "Normale alla selezione",
|
||||
"cmd.view_previous_tab": "Scheda precedente",
|
||||
"cmd.view_rename": "Rinomina vista con nome",
|
||||
"cmd.view_render_frame": "Guide di inquadratura del rendering",
|
||||
"cmd.view_right": "Vista destra",
|
||||
"cmd.view_save": "Nuova vista con nome",
|
||||
"cmd.view_shots_strip": "Striscia degli scatti",
|
||||
@@ -1229,10 +1271,14 @@
|
||||
"color.copy": "Fai clic per copiare i valori del colore",
|
||||
"color.edit": "Fai clic per modificare il colore",
|
||||
"color.gamma": "Valori del colore mostrati nello spazio gamma 0-255",
|
||||
"color.hex": "Hex",
|
||||
"color.hex_help": "Inserisci #rrggbb o #rrggbbaa; con sei cifre l'opacità resta invariata",
|
||||
"color.hex_hint": "#rrggbb",
|
||||
"color.hue": "Tonalità",
|
||||
"color.linear": "Valori del colore mostrati nello spazio lineare 0-1",
|
||||
"color.saturation_value": "Saturazione e valore",
|
||||
"color.selected": "Colore selezionato",
|
||||
"config.column_filter_empty": "Nessuna colonna corrispondente",
|
||||
"contact.components_count": "{count} componenti",
|
||||
"contact.enabled_label": "abilitato",
|
||||
"coupling.gear_1": "Ruota dentata 1",
|
||||
@@ -1346,8 +1392,10 @@
|
||||
"help.material.assign": "Imposta di che cosa sono fatti i corpi selezionati, per esempio acciaio, alluminio o ABS. Usalo perché massa e peso corrispondano al pezzo reale.",
|
||||
"help.mit": "Licenza MIT",
|
||||
"help.notice": "NOTICE",
|
||||
"help.occurrence.move": "Sposta una parte dell'assieme solo lungo i gradi di libertà consentiti dai suoi giunti. Seleziona una faccia della parte, poi trascina una freccia o un arco disponibile.",
|
||||
"help.parameters.change": "Apre la tabella dei valori con nome e delle espressioni che guidano le quote della progettazione. Usala per cambiare una misura in un solo punto e far seguire tutte le lavorazioni che la usano.",
|
||||
"help.pointcloud.insert": "Inserisci una scansione PLY, XYZ o PTS come nuvola di punti accanto al modello. Usala come riferimento quando costruisci un modello a partire da dati misurati.",
|
||||
"help.sketch.equation_curve": "Disegna una curva da formule: x(t) e y(t), oppure y = f(x), su un intervallo. Le formule possono usare parametri e la curva li segue: usala per un'onda sinusoidale, una spirale o l'evolvente del dente di un ingranaggio.",
|
||||
"help.solid.align": "Sposta i corpi selezionati in modo che un punto, una faccia o un piano su di essi coincida con un punto, una faccia o un piano altrove. Usalo per posizionare un pezzo contro un altro senza misurare lo scostamento.",
|
||||
"help.solid.chamfer": "Taglia gli spigoli selezionati con uno smusso piano della distanza impostata. Usalo per eliminare gli spigoli vivi o per facilitare l'ingresso di un perno o di una vite.",
|
||||
"help.solid.combine": "Unisce i corpi, li sottrae da un corpo di destinazione oppure tiene solo il volume che hanno in comune, e può conservare i corpi utensile. Usalo per fondere parti, per tagliare una forma con un'altra o per trovare dove due corpi si sovrappongono.",
|
||||
@@ -1474,6 +1522,21 @@
|
||||
"joint.one_component": "Queste parti sono corpi di un unico componente: {bodies}. Un giunto muove un componente rispetto a un altro, quindi ogni parte richiede un componente distinto.",
|
||||
"joint.rigid_group_one_component": "Questi {count} corpi sono tutti in un solo componente (o nella progettazione stessa): usa prima {command}.",
|
||||
"joint.rigid_group_select_components": "Seleziona due o più componenti.",
|
||||
"joint_move.blocked_hint": "Controlla il tipo di giunto (ad esempio Rigido), il fissaggio a terra, i limiti del giunto e i valori comandati da parametri.",
|
||||
"joint_move.blocked_title": "Impossibile spostare questa parte",
|
||||
"joint_move.coarse": "Passo di rotazione vicino all'asse (°)",
|
||||
"joint_move.distance": "Distanza dall'inizio",
|
||||
"joint_move.done": "Fatto",
|
||||
"joint_move.fine": "Passo di rotazione lontano dall'asse (°)",
|
||||
"joint_move.fixed": "Questa parte non ha alcun asse di giunto mobile.",
|
||||
"joint_move.help": "Sposta — trascina una freccia o un anello. Esc annulla il trascinamento in corso.",
|
||||
"joint_move.legacy_hint": "Disattiva per usare il pannello Sposta precedente.",
|
||||
"joint_move.precision": "Trascina oltre la guida tratteggiata per una rotazione fine.",
|
||||
"joint_move.rotation": "Rotazione dall'inizio",
|
||||
"joint_move.select": "Seleziona una faccia o una parte dell'assieme, poi scegli Sposta.",
|
||||
"joint_move.settings": "Spostamento nell'assieme",
|
||||
"joint_move.step": "Passo",
|
||||
"joint_move.use_handles": "Usa le maniglie di movimento dei giunti per Sposta nell'assieme",
|
||||
"keymap.command_id": "ID comando",
|
||||
"keymap.empty": "Nessun comando corrispondente",
|
||||
"keymap.use_anyway": "Usa comunque {key} qui",
|
||||
@@ -1568,6 +1631,8 @@
|
||||
"nav.maya.help": "Alt+trascinamento con il pulsante sinistro orbita, Alt+pulsante centrale esegue la panoramica, Alt+pulsante destro lo zoom; anche il trascinamento con il pulsante centrale esegue la panoramica",
|
||||
"nav.openscad.help": "Il trascinamento sinistro nello spazio vuoto orbita, Shift+trascinamento sinistro seleziona con un riquadro, il trascinamento sulla geometria dello schizzo la modifica; il trascinamento destro o centrale fa la panoramica, Shift+destro o Shift+centrale fa lo zoom",
|
||||
"nav.perspective.sketch": "La modifica dello schizzo usa la vista ortogonale. Termina lo schizzo per passare alla prospettiva.",
|
||||
"nav.right_drag_orbits.help": "Disattivato: il trascinamento con il pulsante destro non muove la camera e il pulsante destro apre solo il menu contestuale. Scegliendo l'assegnazione del mouse SolidWorks l'opzione si disattiva.",
|
||||
"nav.right_drag_orbits.label": "Orbita con il trascinamento destro",
|
||||
"nav.solidworks.help": "Trascina con il tasto centrale per orbitare, Ctrl+centrale per la panoramica, Shift+centrale per lo zoom, trascina con il destro per orbitare",
|
||||
"nav.tinkercad.help": "Trascina con il tasto destro per orbitare, con il centrale o Shift+destro per la panoramica",
|
||||
"nav.touchpad.help": "Tieni premuto Shift e muovi il puntatore per eseguire una panoramica; tieni premuto Alt/Option e muovilo per orbitare. Non serve premere pulsanti del mouse. Lo scorrimento verticale regola lo zoom.",
|
||||
@@ -1698,6 +1763,7 @@
|
||||
"parts.dimension.thickness": "Spessore",
|
||||
"parts.dimension.width": "Larghezza",
|
||||
"parts.family.bearing": "Cuscinetto radiale a sfere (ingombro)",
|
||||
"parts.family.button_head_cap_screw": "Vite a testa bombata con esagono incassato",
|
||||
"parts.family.dowel_pin": "Spina cilindrica",
|
||||
"parts.family.hex_bolt": "Vite a testa esagonale",
|
||||
"parts.family.hex_nut": "Dado esagonale",
|
||||
@@ -1754,6 +1820,9 @@
|
||||
"prefs.bottom_centre": "In basso al centro",
|
||||
"prefs.bottom_right": "In basso a destra",
|
||||
"prefs.browser": "Struttura",
|
||||
"prefs.browser_reveal_on_hover": "Mostra al passaggio del puntatore",
|
||||
"prefs.browser_show_note": "Visibile mantiene la Struttura sullo schermo. Mostra al passaggio del puntatore la tiene nascosta finché il puntatore non passa sulla sua posizione o sulla sottile linguetta al suo bordo sinistro, e resta aperta finché il puntatore è al suo interno o un suo menu è aperto.",
|
||||
"prefs.browser_shown": "Visibile",
|
||||
"prefs.built_in": "Integrato",
|
||||
"prefs.button_left": "Trascinamento sinistro",
|
||||
"prefs.button_middle": "Trascinamento centrale",
|
||||
@@ -1824,6 +1893,8 @@
|
||||
"prefs.layout_note": "Compatta: pannelli ancorati ai bordi della finestra. La trasparenza della Struttura è disponibile in Flottante. Cambia il lato dell'Assistente nella pagina Assistente.",
|
||||
"prefs.left": "Sinistra",
|
||||
"prefs.left_click": "Clic sinistro",
|
||||
"prefs.line_drag_draws_one": "Premi e trascina per disegnare una linea",
|
||||
"prefs.line_drag_draws_one_note": "Nello strumento Linea, premere, trascinare e rilasciare disegna una linea dal punto di pressione a quello di rilascio, e il disegno termina lì. I clic disegnano comunque una catena. Disattivato: un trascinamento posiziona un punto dove viene rilasciato, come un clic.",
|
||||
"prefs.linked_designs": "Progetti collegati",
|
||||
"prefs.live_input": "Input in tempo reale",
|
||||
"prefs.live_preview": "Anteprima dal vivo",
|
||||
@@ -1856,14 +1927,36 @@
|
||||
"prefs.origin_plane_names": "Nomi dei piani di origine",
|
||||
"prefs.origin_plane_names_note": "Nomi mostrati nella Struttura, nelle finestre di dialogo e negli elenchi. {top} è XY, {front} è XZ e {right} è YZ, con Z verso l'alto. Comandi, script e progetti salvati mantengono XY, XZ e YZ.",
|
||||
"prefs.overall_speed": "Velocità complessiva",
|
||||
"prefs.perspective_fov": "Campo visivo",
|
||||
"prefs.placement": "Posizione",
|
||||
"prefs.prefer_free_sketch_points": "Preferisci i punti dello schizzo mobili quando i punti si sovrappongono",
|
||||
"prefs.preview_choices": "Anteprima delle tue scelte",
|
||||
"prefs.profile_active": "Profilo attivo",
|
||||
"prefs.profile_applied": "Profilo applicato.",
|
||||
"prefs.profile_changed": "Le impostazioni sono cambiate da quando il profilo è stato salvato. Salva le conserva nel profilo.",
|
||||
"prefs.profile_deleted": "Profilo eliminato.",
|
||||
"prefs.profile_export": "Esporta…",
|
||||
"prefs.profile_exported": "Profilo esportato.",
|
||||
"prefs.profile_imported": "Profilo importato. Sceglilo in Profilo attivo per passare a esso.",
|
||||
"prefs.profile_name_hint": "Nome del profilo, ad es. Portatile",
|
||||
"prefs.profile_rename": "Rinomina",
|
||||
"prefs.profile_renamed": "Profilo rinominato.",
|
||||
"prefs.profile_save": "Salva",
|
||||
"prefs.profile_saved": "Impostazioni attuali salvate nel profilo.",
|
||||
"prefs.profile_skipped": "Profilo applicato; {n} impostazioni hanno mantenuto il valore attuale (vedi il registro).",
|
||||
"prefs.profiles": "Profili delle impostazioni",
|
||||
"prefs.profiles_note": "Scorciatoie, barra degli strumenti, navigazione, menu radiale e impostazioni dell'interfaccia, raccolti sotto un nome e cambiati tutti insieme.",
|
||||
"prefs.project_options_dialog": "Finestra delle opzioni di Proietta",
|
||||
"prefs.project_options_dialog_note": "Attivo: scegli Geometria o Corpi e Collegamento di proiezione prima di proiettare. Disattivato: mantiene il flusso di lavoro precedente con selezione diretta.",
|
||||
"prefs.quality_default": "predefinito",
|
||||
"prefs.quality_fastest": "più veloce",
|
||||
"prefs.quality_slowest": "più lento",
|
||||
"prefs.quality_smoother": "più fluido",
|
||||
"prefs.render_previous_geometry_budget": "Usa il budget di geometria precedente per l'anteprima di Rendering",
|
||||
"prefs.render_previous_geometry_budget_help": "Ripristina il limite fisso di geometria precedente (512 MiB su desktop a 64 bit, 128 MiB altrove) invece del budget basato sul dispositivo.",
|
||||
"prefs.reports_saved": "{n} salvati",
|
||||
"prefs.ribbon_reveal": "Mostra i risultati della ricerca nella barra multifunzione",
|
||||
"prefs.ribbon_reveal_note": "Passando il puntatore su un risultato in Cerca comandi si vede dove si trova il comando nella barra multifunzione: la sua scheda, il suo pulsante o la sua riga nel menu a discesa di un pannello. Un comando avviato dalla ricerca lampeggia lì, e un comando in esecuzione da un menu a discesa ne evidenzia il pannello.",
|
||||
"prefs.right_click": "Clic destro",
|
||||
"prefs.saving": "Salvataggio automatico e ripristino",
|
||||
"prefs.scale_note": "Anche Ctrl + / Ctrl − nella finestra. I pulsanti sono 28 px al 100%.",
|
||||
@@ -1877,6 +1970,10 @@
|
||||
"prefs.shift_add_ctrl_toggle": "Shift solo aggiunge; Ctrl / Cmd alterna",
|
||||
"prefs.shift_add_note": "Attivo: Shift aggiunge, Ctrl / Cmd alterna. Disattivo (predefinito): entrambi alternano.",
|
||||
"prefs.shortcuts": "Scorciatoie",
|
||||
"prefs.single_surface_analysis": "Usa una sola analisi della superficie",
|
||||
"prefs.single_surface_analysis_help": "Se disattivato, l'ombreggiatura della superficie e Continuità possono restare attive insieme. Se attivato, resta solo l'ultima analisi avviata o modificata.",
|
||||
"prefs.sketch_align_points": "Allinea agli altri punti dello schizzo durante il disegno",
|
||||
"prefs.sketch_align_points_note": "Durante il disegno, un punto si allinea contemporaneamente in orizzontale con un punto dello schizzo e in verticale con un altro, con una guida punteggiata, e il clic mantiene entrambi gli allineamenti. Disattivato: solo con il punto precedente, un asse alla volta.",
|
||||
"prefs.sketch_conflict_colour": "Geometria in conflitto nel colore di conflitto",
|
||||
"prefs.sketch_conflict_colour_note": "Quando i vincoli di uno schizzo sono in conflitto, anche le curve e i punti interessati da un vincolo in errore vengono disegnati con il colore di conflitto, non solo il suo simbolo o la sua quota. Disattivato: mantengono i colori abituali.",
|
||||
"prefs.sketch_exit_view": "Al termine di uno schizzo",
|
||||
@@ -1884,6 +1981,8 @@
|
||||
"prefs.sketch_exit_view.previous": "Torna alla vista precedente",
|
||||
"prefs.sketch_exit_view.unless_rotated": "Torna, se non ruotata",
|
||||
"prefs.sketch_exit_view_note": "Dove va la vista dopo Termina schizzo, Annulla o un doppio Esc.",
|
||||
"prefs.sketch_recent_snap": "Aggancia automaticamente ai centri e punti medi recenti",
|
||||
"prefs.sketch_recent_snap_note": "Durante il disegno, il cursore si aggancia dove si incrociano le guide degli ultimi due centri di cerchio o punti medi di segmento. Disattivato: queste guide restano solo visive e il cursore non si sposta.",
|
||||
"prefs.sketch_selection": "Schizzo e selezione",
|
||||
"prefs.sketch_selection_heading": "Schizzo e selezione",
|
||||
"prefs.sketch_selection_note": "Come si agganciano gli schizzi e come selezionano i clic.",
|
||||
@@ -1921,7 +2020,14 @@
|
||||
"prefs.toast_place": "Avvisi",
|
||||
"prefs.toggle_item": "Aggiungi l'elemento o toglilo di nuovo",
|
||||
"prefs.toolbar": "Barra degli strumenti",
|
||||
"prefs.toolbar_tabs": "Schede della barra degli strumenti",
|
||||
"prefs.top": "In alto",
|
||||
"prefs.trackpad_zoom_modifier": "Zoom con lo scorrimento a due dita tenendo premuto",
|
||||
"prefs.trackpad_zoom_modifier.alt": "⌥ / Alt",
|
||||
"prefs.trackpad_zoom_modifier.cmd": "⌘",
|
||||
"prefs.trackpad_zoom_modifier.ctrl": "Ctrl",
|
||||
"prefs.trackpad_zoom_modifier.help": "Tieni premuto solo questo tasto per eseguire lo zoom sul puntatore con lo scorrimento verticale. Disattivato mantiene il comportamento di scorrimento attuale.",
|
||||
"prefs.trackpad_zoom_modifier.off": "Disattivato",
|
||||
"prefs.translucent": "Traslucido",
|
||||
"prefs.under_browser": "Sotto la Struttura",
|
||||
"prefs.under_cursor": "Sotto il cursore",
|
||||
@@ -1937,6 +2043,8 @@
|
||||
"prefs.wheel": "Rotellina",
|
||||
"prefs.wheel_trackpad": "Rotellina e trackpad",
|
||||
"prefs.workspace": "Area di lavoro",
|
||||
"prefs.zoom_stop_at_model": "Ferma lo zoom sul modello",
|
||||
"prefs.zoom_stop_at_model_tip": "Il mouse 3D e l'app del dispositivo eseguono lo zoom verso la superficie al centro della vista; lo zoom con trascinamento mantiene il punto in cui è iniziato il trascinamento. Disattivato: lo zoom può attraversare il modello. Rotellina e pizzicamento usano separatamente Zoom verso il cursore",
|
||||
"prefs.zoom_toward_cursor": "Zoom verso il cursore",
|
||||
"properties.title": "Proprietà: {name}",
|
||||
"recovery.days_ago": "{count} giorni fa",
|
||||
@@ -2025,6 +2133,7 @@
|
||||
"render.appearance_editor.weight": "Peso",
|
||||
"render.appearance_physics_separate": "L'aspetto visivo non assegna densità, dati termici o altre proprietà ingegneristiche.",
|
||||
"render.appearances": "Aspetti",
|
||||
"render.assign_help": "Fai clic per applicare alla selezione; trascina per vedere l'anteprima e rilascia, oppure, senza nulla selezionato, fai clic per applicare con il pennello.",
|
||||
"render.availability_native": "Composizione nativa; verifica prima di applicare",
|
||||
"render.availability_projection": "Proiezione supportata; vedi ambito e omissioni",
|
||||
"render.availability_reference": "Dati di riferimento; non è un'assegnazione automatica",
|
||||
@@ -2063,6 +2172,7 @@
|
||||
"render.bloom_threshold": "Soglia lineare delle alte luci",
|
||||
"render.browse_capabilities": "Esamina il catalogo completo delle funzionalità",
|
||||
"render.browse_environments": "Sfoglia gli ambienti HDR originali",
|
||||
"render.browse_looks": "Sfoglia…",
|
||||
"render.browse_native_scenes": "Sfoglia gli studi nativi",
|
||||
"render.browse_physical": "Esamina i riferimenti fisici",
|
||||
"render.browse_quality": "Esamina le specifiche di qualità",
|
||||
@@ -2086,6 +2196,82 @@
|
||||
"render.check_opaque": "Trasparenza: solo superfici opache; l'alfa dello sfondo è supportato.",
|
||||
"render.check_sorted_alpha": "Trasparenza: approssimazione alfa ordinata.",
|
||||
"render.check_transmission": "Trasparenza: trasmissione fisica.",
|
||||
"render.children.absolute_floor": "Soglia minima assoluta",
|
||||
"render.children.adaptive": "Adattivo",
|
||||
"render.children.add_look_reason": "Aggiungi un look per modificarne l'attivazione e l'intensità.",
|
||||
"render.children.all_shots": "Tutte le inquadrature",
|
||||
"render.children.bloom": "Bloom",
|
||||
"render.children.check": "Verifica",
|
||||
"render.children.check_now": "Verifica ora",
|
||||
"render.children.chromatic": "Scostamento cromatico",
|
||||
"render.children.compact": "Compatto",
|
||||
"render.children.contrast": "Contrasto",
|
||||
"render.children.copy_image": "Copia",
|
||||
"render.children.copy_job": "Copia JSON del lavoro",
|
||||
"render.children.copy_request": "Copia JSON della richiesta",
|
||||
"render.children.coverage_error": "Errore di copertura",
|
||||
"render.children.cpu": "Ray tracing su CPU",
|
||||
"render.children.denoise": "Riduci il rumore nell'immagine finale",
|
||||
"render.children.depth": "Profondità del percorso",
|
||||
"render.children.distortion": "Distorsione",
|
||||
"render.children.edge_samples": "Campioni dei bordi",
|
||||
"render.children.effects_banner": "Questi effetti richiedono il path tracing su GPU. Aprire questa sezione non cambia mai il metodo.",
|
||||
"render.children.enable_adaptive": "Abilita i piloti indipendenti per modificare i limiti adattivi.",
|
||||
"render.children.enable_bloom": "Abilita il bloom per modificarne intensità, soglia e raggio.",
|
||||
"render.children.finishing": "Finitura",
|
||||
"render.children.flare": "Flare",
|
||||
"render.children.fresnel": "Strati di Fresnel",
|
||||
"render.children.ghosts": "Anelli fantasma",
|
||||
"render.children.glass": "Trasporto nel vetro",
|
||||
"render.children.go_to": "Vai a {editor}",
|
||||
"render.children.grain": "Grana",
|
||||
"render.children.halo": "Alone",
|
||||
"render.children.hdr": "HDR",
|
||||
"render.children.keep_master": "Conserva il master lineare grezzo",
|
||||
"render.children.last_result": "Ultimo: {number} · {width} × {height} · {phase}",
|
||||
"render.children.lens_effects": "Effetti obiettivo",
|
||||
"render.children.look_summary": "{tone} · {count} look",
|
||||
"render.children.looks": "Look creativi",
|
||||
"render.children.memory": "Memoria",
|
||||
"render.children.method": "Metodo",
|
||||
"render.children.minimum": "Minimo",
|
||||
"render.children.needs_cpu": "Richiede il ray tracing su CPU. Aprire questa sezione non cambia mai il metodo.",
|
||||
"render.children.nested": "Dielettrici annidati certificati",
|
||||
"render.children.not_checked": "Non verificato",
|
||||
"render.children.path": "Path tracing",
|
||||
"render.children.pilots": "Campioni pilota",
|
||||
"render.children.preview": "Payload dell'anteprima",
|
||||
"render.children.progressive_reason": "Scegli Progressiva per modificarne il numero di campioni e il seme.",
|
||||
"render.children.radius": "Raggio",
|
||||
"render.children.reflect_depth": "Profondità delle riflessioni",
|
||||
"render.children.reflect_samples": "Campioni di riflessione",
|
||||
"render.children.regrade": "Correzione colore",
|
||||
"render.children.relative_error": "Errore relativo",
|
||||
"render.children.render": "Rendering",
|
||||
"render.children.render_shot": "Renderizza inquadratura",
|
||||
"render.children.renderer": "Motore di rendering",
|
||||
"render.children.renderers": "Motori di rendering",
|
||||
"render.children.request": "Questa richiesta",
|
||||
"render.children.reset_finishing": "Reimposta finitura",
|
||||
"render.children.review_quality": "Esamina una specifica di qualità…",
|
||||
"render.children.rgb_gain": "Guadagno RGB",
|
||||
"render.children.samples": "Campioni",
|
||||
"render.children.sampling": "Campionamento",
|
||||
"render.children.saturation": "Saturazione",
|
||||
"render.children.scene_summary": "{bodies} corpi · {triangles} triangoli",
|
||||
"render.children.seed": "Seme",
|
||||
"render.children.sharpening": "Nitidezza",
|
||||
"render.children.single_image": "Immagine singola",
|
||||
"render.children.soft_focus": "Messa a fuoco morbida",
|
||||
"render.children.streak": "Striatura",
|
||||
"render.children.strength": "Intensità",
|
||||
"render.children.studio": "Studio",
|
||||
"render.children.threshold": "Soglia",
|
||||
"render.children.tone": "Tono",
|
||||
"render.children.under_hood": "Dettagli tecnici",
|
||||
"render.children.vignette": "Vignettatura",
|
||||
"render.children.workstation": "Workstation",
|
||||
"render.choose_look": "Scegli prima un aspetto in Aspetti",
|
||||
"render.chromatic_offset": "Scostamento cromatico dei bordi",
|
||||
"render.clear_stage": "Rimuovi la scenografia salvata",
|
||||
"render.copy_request": "Copia JSON",
|
||||
@@ -2337,8 +2523,33 @@
|
||||
"render.flare_strength": "Intensità del flare sulle alte luci",
|
||||
"render.flare_threshold": "Soglia del flare lineare della scena",
|
||||
"render.fold_browser": "Comprimi struttura",
|
||||
"render.frame_aspect": "Proporzioni",
|
||||
"render.frame_centre_mark": "Segno centrale",
|
||||
"render.frame_copy_limit": "Nessun nome disponibile per l'inquadratura duplicata",
|
||||
"render.frame_copy_name": "{name} copia {number}",
|
||||
"render.frame_custom": "Personalizzato",
|
||||
"render.frame_distance_unit": " × dimensione",
|
||||
"render.frame_duplicate": "Duplica",
|
||||
"render.frame_exposure": "Esposizione",
|
||||
"render.frame_fov": "Campo visivo",
|
||||
"render.frame_guides": "Guide",
|
||||
"render.frame_invalid_aspect": "Preimpostazione delle proporzioni non valida",
|
||||
"render.frame_lens": "FOV {fov}° · ≈ {mm} mm",
|
||||
"render.frame_name": "Nome",
|
||||
"render.frame_output_size": "Dimensioni di uscita",
|
||||
"render.frame_photo": "3:2 · Foto",
|
||||
"render.frame_portrait": "4:5 · Ritratto",
|
||||
"render.frame_presets": "Preimpostazioni del fotogramma",
|
||||
"render.frame_presets_pending": "In arrivo con l'editor delle inquadrature",
|
||||
"render.frame_projection": "Proiezione",
|
||||
"render.frame_render_shot": "Renderizza questa inquadratura",
|
||||
"render.frame_rule_thirds": "Regola dei terzi",
|
||||
"render.frame_safe_area": "Area di sicurezza",
|
||||
"render.frame_shot_title": "Inquadratura · {name}",
|
||||
"render.frame_square": "1:1 · Quadrato",
|
||||
"render.frame_tall": "9:16 · Verticale",
|
||||
"render.frame_thirds": "Terzi",
|
||||
"render.frame_wide": "16:9 · Panoramico",
|
||||
"render.gpu_depth": "Profondità massima del percorso",
|
||||
"render.gpu_options_help": "Campioni, profondità, seed ed esposizione vengono salvati con questa impostazione. Viene salvato solo il metodo di generazione attivo.",
|
||||
"render.gpu_path_failed": "Path tracer GPU non disponibile",
|
||||
@@ -2366,6 +2577,7 @@
|
||||
"render.heading_results": "RISULTATI",
|
||||
"render.heading_shots": "INQUADRATURE",
|
||||
"render.hide_shots_label": "Nascondi la barra delle inquadrature",
|
||||
"render.hover_look": "{object} · {look} · fai clic per selezionare",
|
||||
"render.image_advanced": "Controlli GPU avanzati",
|
||||
"render.image_cancelled": "Rendering annullato",
|
||||
"render.image_cancelling": "Annullamento",
|
||||
@@ -2512,17 +2724,95 @@
|
||||
"render.library_uniform_ack": "Usa l'approssimazione uniforme senza effetti spaziali o avanzati",
|
||||
"render.library_usable": "Proiezioni eseguibili",
|
||||
"render.library_users": "Usato da",
|
||||
"render.light_aim": "Punta verso",
|
||||
"render.light_anchor_pending": "La modifica del sistema di coordinate delle luci non è ancora supportata.",
|
||||
"render.light_azimuth": "Azimut",
|
||||
"render.light_backend_limit": "Scegli il ray tracing su CPU o uno studio GPU esplicito per modificare le luci. Le luci dello studio GPU di vecchio tipo restano di sola lettura.",
|
||||
"render.light_behaviour": "COMPORTAMENTO",
|
||||
"render.light_default_fill": "Riempimento",
|
||||
"render.light_default_key": "Principale",
|
||||
"render.light_default_number": "Luce {number}",
|
||||
"render.light_default_rim": "Controluce",
|
||||
"render.light_delete": "Elimina",
|
||||
"render.light_distance": "Distanza",
|
||||
"render.light_duplicate": "Duplica",
|
||||
"render.light_elevation": "Elevazione",
|
||||
"render.light_gpu_punctual": "Le luci puntiformi e spot sono disponibili con il ray tracing su CPU.",
|
||||
"render.light_hard_shadow": "Questa luce ha ombre nette; la morbidezza dell'emettitore non è disponibile.",
|
||||
"render.light_intensity": "Intensità",
|
||||
"render.light_missing": "Questa luce non esiste più. Seleziona una luce nella Struttura.",
|
||||
"render.light_place_highlight": "Posiziona in base al riflesso",
|
||||
"render.light_place_pending": "Il posizionamento in base al riflesso richiede la selezione delle luci nella vista e non è ancora supportato.",
|
||||
"render.light_position": "POSIZIONE",
|
||||
"render.light_preview_help": "La vista live è senza ombre; le luci ad area usano un'approssimazione con un campione centrale. Il rendering usa il modello di luce completo.",
|
||||
"render.light_product_centre": "Centro del prodotto",
|
||||
"render.light_size": "Dimensioni",
|
||||
"render.light_softness": "Morbidezza",
|
||||
"render.light_temperature": "Temperatura di colore",
|
||||
"render.light_temperature_help": "Tinta approssimata del corpo nero; salvata come RGB lineare.",
|
||||
"render.light_type": "Tipo",
|
||||
"render.light_type_area": "Area",
|
||||
"render.light_type_point": "Puntiforme",
|
||||
"render.light_type_spot": "Spot",
|
||||
"render.light_type_sun": "Sole",
|
||||
"render.light_view_only": "Isola e silenzia agiscono su questa vista e sui suoi rendering; non vengono mai salvati nel progetto.",
|
||||
"render.light_world_origin": "Origine globale",
|
||||
"render.lighting_aim_point": "Punto di mira",
|
||||
"render.lighting_apply": "Applica preimpostazione",
|
||||
"render.lighting_area_samples": "Campioni delle luci ad area",
|
||||
"render.lighting_budget": "Budget",
|
||||
"render.lighting_budget_help": "I conteggi sono di sola lettura. Aggiungi, duplica o elimina luci per cambiarli; i limiti dipendono dal metodo.",
|
||||
"render.lighting_colour": "Colore",
|
||||
"render.lighting_consent": "Sostituisci le luci direzionali con questa preimpostazione",
|
||||
"render.lighting_custom": "Luci personalizzate",
|
||||
"render.lighting_custom_help": "Scegliendo Personalizzato, la preimpostazione diventa un insieme di luci modificabili, ognuna con una riga nella struttura.",
|
||||
"render.lighting_direction": "Direzione X Y Z",
|
||||
"render.lighting_direction_help": "Oppure digita una direzione verso la luce (X Y Z).",
|
||||
"render.lighting_distance_unit": " × dimensione",
|
||||
"render.lighting_edge_u": "Vettore del lato U",
|
||||
"render.lighting_edge_v": "Vettore del lato V",
|
||||
"render.lighting_falloff": "Attenuazione",
|
||||
"render.lighting_falloff_help": "L'intensità è indicata alla distanza di riferimento.",
|
||||
"render.lighting_height": "Altezza V",
|
||||
"render.lighting_minimum": "Distanza minima",
|
||||
"render.lighting_mute": "Silenzia questa luce",
|
||||
"render.lighting_point": "Puntiforme",
|
||||
"render.lighting_preset": "Preimpostazione dello studio",
|
||||
"render.lighting_preset_cpu": "Le preimpostazioni direzionali dello studio richiedono il ray tracing su CPU. L'illuminazione GPU usa luci Sole e Area esplicite.",
|
||||
"render.lighting_preset_row": "Preimpostazione",
|
||||
"render.lighting_radiance": "Radianza",
|
||||
"render.lighting_reference": "Distanza di riferimento",
|
||||
"render.lighting_review_help": "Sostituisce l'elenco delle luci direzionali. Mantiene le luci puntiformi e ad area, l'ambiente, le ombre, la camera e tutte le altre impostazioni dell'inquadratura.",
|
||||
"render.lighting_review_title": "Esamina la preimpostazione di illuminazione",
|
||||
"render.lighting_samples_cpu": "I campioni delle luci ad area si applicano al ray tracing su CPU.",
|
||||
"render.lighting_samples_need_area": "Aggiungi una luce ad area CPU per impostare i campioni delle luci ad area.",
|
||||
"render.lighting_samples_reason": "I campioni delle luci ad area devono essere 1, 4, 16 o 64.",
|
||||
"render.lighting_shadow_cpu": "L'interruttore delle ombre richiede il ray tracing su CPU. Il path tracing su GPU proietta sempre le ombre.",
|
||||
"render.lighting_shadows": "Proietta ombre",
|
||||
"render.lighting_shadows_section": "Ombre e campionamento",
|
||||
"render.lighting_shape": "Forma",
|
||||
"render.lighting_solo": "Isola questa luce",
|
||||
"render.lighting_source": "Sorgente",
|
||||
"render.lighting_source_section": "Sorgente luminosa",
|
||||
"render.lighting_spot_preserved": "Questa luce puntiforme mantiene il cono dello spot salvato finché non se ne cambia il tipo.",
|
||||
"render.lighting_sun_distance": "La direzione del sole non dipende dalla distanza né dal punto di mira.",
|
||||
"render.lighting_unsupported": "non supportato",
|
||||
"render.lighting_used": "{used} di {limit}",
|
||||
"render.lighting_width": "Larghezza U",
|
||||
"render.lighting_world_position": "X Y Z globali",
|
||||
"render.lights_fixed_to": "Luci fissate a",
|
||||
"render.linear_help": "Mantiene un master RGBA float a 32 bit prima di riduzione del rumore, esposizione, tone mapping, filtri e sfondo. sRGB lineare/D65; con alfa premoltiplicato dalla copertura. La memoria aggiuntiva viene ammessa esplicitamente. Nessuna compressione né passate aggiuntive.",
|
||||
"render.linear_retain": "Conserva EXR lineare grezzo",
|
||||
"render.linear_unavailable": "L'immagine completata selezionata non ha un EXR conservato. Abilita la conservazione prima del rendering; un PNG precedente non può recuperare la radianza grezza.",
|
||||
"render.look_add": "Aggiungi look cromatico",
|
||||
"render.look_applied": "{name} applicato",
|
||||
"render.look_bleach": "Ispirato al bleach bypass",
|
||||
"render.look_cool": "Freddo",
|
||||
"render.look_cyanotype": "Ispirato alla cianotipia",
|
||||
"render.look_faded": "Stampa sbiadita",
|
||||
"render.look_material": "Materiale",
|
||||
"render.look_mono": "Monocromatico",
|
||||
"render.look_pasted": "Aspetto incollato",
|
||||
"render.look_sepia": "Seppia",
|
||||
"render.look_strength": "Intensità del look",
|
||||
"render.look_teal_orange": "Turchese / arancione",
|
||||
@@ -2598,9 +2888,11 @@
|
||||
"render.output_advanced": "Avanzate",
|
||||
"render.output_backend_ready": "Pronto",
|
||||
"render.output_check": "Verifica",
|
||||
"render.output_check_failed": "Verifica · errore",
|
||||
"render.output_check_help": "Esegui Verifica per esaminare questa richiesta senza avviare un rendering.",
|
||||
"render.output_check_summary": "Verifica · Note: {count}",
|
||||
"render.output_copy": "Copia",
|
||||
"render.output_copy_report": "Copia rapporto",
|
||||
"render.output_destination": "Destinazione",
|
||||
"render.output_destination_help": "Scegli il file di destinazione quando esporti l'immagine completata.",
|
||||
"render.output_dimensions": "Dimensioni",
|
||||
@@ -2610,6 +2902,7 @@
|
||||
"render.output_fit": "Adatta",
|
||||
"render.output_format": "Formato",
|
||||
"render.output_format_status": "Il PNG è l'immagine visualizzata completata, esattamente com'è. L'EXR GPU facoltativo conserva la radianza FLOAT32 lineare della scena, grezza, prima dei filtri di visualizzazione. L'esportazione non sostituisce mai la cache dell'anteprima né un lavoro diverso.",
|
||||
"render.output_grading": "Correzione colore",
|
||||
"render.output_image": "Immagine",
|
||||
"render.output_largest": "max {width} × {height}",
|
||||
"render.output_lock_ratio": "Blocca proporzioni",
|
||||
@@ -2619,6 +2912,8 @@
|
||||
"render.output_quality_waiting": "in attesa del contratto di qualità",
|
||||
"render.output_ratio_refused": "La dimensione collegata supera il limite di dimensioni di questo metodo. Viene mantenuta la dimensione precedente; sblocca le proporzioni o scegli un valore più piccolo.",
|
||||
"render.output_ready": "Pronto per il rendering",
|
||||
"render.output_run_check": "Esegui verifica",
|
||||
"render.output_size_limit": "{method}: fino a {dimension} px per lato e {pixels} pixel. Dimensioni massime consentite: {width} × {height}.",
|
||||
"render.output_size_ok": "Dimensioni OK · {width} × {height} px",
|
||||
"render.output_swap_orientation": "Scambia larghezza e altezza",
|
||||
"render.output_tools_inspector": "Modifica dimensioni e formato nell'ispettore Uscita.",
|
||||
@@ -2635,6 +2930,7 @@
|
||||
"render.page_output": "Uscita",
|
||||
"render.page_scene": "Scena",
|
||||
"render.paint_label": "Vernice",
|
||||
"render.painting_with": "Applicazione di {name} con il pennello",
|
||||
"render.passive_stage": "Piano d'appoggio e scenografia passiva",
|
||||
"render.passive_stage_help": "I pannelli passivi finiti appartengono solo alle immagini renderizzate. Non aggiungono corpi CAD né massa. Il posizionamento è fisso dopo l'applicazione; se intersecano l'ingombro del prodotto, vengono rifiutati. La CPU non fornisce illuminazione diffusa di rimbalzo.",
|
||||
"render.perspective": "Camera prospettica",
|
||||
@@ -2656,6 +2952,7 @@
|
||||
"render.pick_help": "Scegli Corpo, Faccia o Componente. Fai clic nello spazio vuoto per deselezionare; Shift o Ctrl aggiunge o commuta la selezione. Le evidenziazioni compaiono solo nella vista live del prodotto.",
|
||||
"render.pick_label": "Seleziona",
|
||||
"render.pick_up_label": "Preleva",
|
||||
"render.pick_up_prompt": "Fai clic su un oggetto per prelevarne l'aspetto",
|
||||
"render.pick_waiting": "La selezione sul prodotto non è ancora supportata.",
|
||||
"render.post_contrast": "Contrasto",
|
||||
"render.post_gain_b": "Guadagno blu",
|
||||
@@ -2695,13 +2992,17 @@
|
||||
"render.radial_distortion": "Distorsione radiale",
|
||||
"render.radial_fit": "Inquadra prodotto",
|
||||
"render.radial_save": "Salva inquadratura",
|
||||
"render.recent_looks": "Aspetti recenti",
|
||||
"render.regrade_action": "Correggi il colore del master grezzo (senza riduzione del rumore)",
|
||||
"render.regrade_help": "Crea un PNG separato dal master grezzo completato selezionato, usando questi controlli di presentazione. Non traccia raggi, non modifica dimensioni, camera o luci acquisite e non sovrascrive l'EXR. La riduzione del rumore non viene riapplicata: i master grezzi non conservano le sue guide. Il derivato resta esportabile con gli stessi controlli del lavoro.",
|
||||
"render.regrade_label": "Correzione colore",
|
||||
"render.reload_settings": "Ricarica impostazioni salvate",
|
||||
"render.remove_override": "Rimuovi sostituzione",
|
||||
"render.replace_all": "Sostituisci tutto",
|
||||
"render.replace_ground": "Conferma la sostituzione della scenografia esistente",
|
||||
"render.replace_label": "Sostituisci",
|
||||
"render.replace_saved_surface": "Sostituisci un'associazione salvata esistente per questa destinazione",
|
||||
"render.replace_with": "Sostituisci con",
|
||||
"render.restore_camera": "Ripristina camera salvata",
|
||||
"render.result_actual": "100%",
|
||||
"render.result_actual_help": "Un pixel dell'immagine per ogni pixel dello schermo.",
|
||||
@@ -2753,14 +3054,28 @@
|
||||
"render.saved_surface_remove": "Rimuovi l'associazione salvata",
|
||||
"render.saved_surfaces": "Associazioni di superficie salvate",
|
||||
"render.saved_surfaces_help": "Le mappe integrate fissate seguono l'occorrenza selezionata in millimetri locali. Una destinazione sostituita o mancante è un errore, mai una riassegnazione automatica.",
|
||||
"render.scene_all_shots": "Tutte le inquadrature ({count})",
|
||||
"render.scene_apply": "Applica lo studio esaminato",
|
||||
"render.scene_batch_reason": "Tutte le inquadrature richiede la coda di rendering delle inquadrature salvate, che non è ancora disponibile.",
|
||||
"render.scene_check_now": "Verifica ora",
|
||||
"render.scene_check_passed": "Verifica superata · {notes} note",
|
||||
"render.scene_check_stale": "Verifica non aggiornata · verifica di nuovo",
|
||||
"render.scene_check_unchecked": "Non ancora verificato · 0 note",
|
||||
"render.scene_consent": "Conferma la sostituzione di illuminazione, ambiente, esposizione e scenografia",
|
||||
"render.scene_light_summary": "{environment} · {lights} luci",
|
||||
"render.scene_look_summary": "{looks} aspetti · {overrides} sostituzioni",
|
||||
"render.scene_open_check": "Apri Verifica",
|
||||
"render.scene_preserved_fields": "Camera, campionamento, dimensioni, associazioni ottiche, geometria CAD e materiali ingegneristici vengono conservati.",
|
||||
"render.scene_preserves_design": "Compone l'illuminazione e un set passivo per il soggetto visibile. Geometria, materiali ingegneristici e camera restano separati.",
|
||||
"render.scene_ready": "Pronto per il rendering",
|
||||
"render.scene_reminder": "Scena preserva il progetto. Geometria, proprietà tecniche e CAD non vengono mai modificati da Rendering.",
|
||||
"render.scene_reminders": "Promemoria",
|
||||
"render.scene_renderer_ready": "{renderer} pronto",
|
||||
"render.scene_replaces": "Sostituisce",
|
||||
"render.scene_review": "Risolvi ed esamina",
|
||||
"render.scene_review_help": "Esamina la composizione nativa completa prima di applicarla. Le specifiche SCENE avanzate non associate non vengono sostituite.",
|
||||
"render.scene_scope_details": "Ambito della composizione",
|
||||
"render.scene_stages": "Fasi",
|
||||
"render.search_appearances": "Cerca tra {count} aspetti",
|
||||
"render.setup_legacy_environment": "Questa impostazione precedente usa la rotazione o l'intensità dell'ambiente nel formato obsoleto. Questi valori vengono conservati; convertili esplicitamente prima di salvare un lavoro immagine completo.",
|
||||
"render.setup_name": "Nome dell'impostazione",
|
||||
@@ -2773,7 +3088,22 @@
|
||||
"render.shell_tab_camera": "CAMERA RENDERING",
|
||||
"render.shell_tab_lighting": "ILLUMINAZIONE",
|
||||
"render.shell_tab_scene": "SCENA RENDERING",
|
||||
"render.shot_aperture": "Apertura",
|
||||
"render.shot_distance": "Distanza",
|
||||
"render.shot_dof": "Profondità di campo",
|
||||
"render.shot_duplicate": "Duplica l'inquadratura salvata",
|
||||
"render.shot_edit_output": "Modifica in Uscita",
|
||||
"render.shot_exposure_reason": "L'esposizione richiede il ray tracing su CPU o il path tracing su GPU.",
|
||||
"render.shot_exposure_section": "Esposizione",
|
||||
"render.shot_focus_distance": "Distanza di messa a fuoco",
|
||||
"render.shot_fov_reason": "Il campo visivo richiede la proiezione prospettica.",
|
||||
"render.shot_frame_subject": "Inquadra il soggetto",
|
||||
"render.shot_invalid_camera": "I valori della camera devono essere finiti e compresi nell'intervallo.",
|
||||
"render.shot_lens": "Obiettivo",
|
||||
"render.shot_lens_enable_reason": "Abilita la profondità di campo per modificare apertura e distanza di messa a fuoco.",
|
||||
"render.shot_lens_gpu_reason": "La profondità di campo richiede il path tracing su GPU.",
|
||||
"render.shot_lens_perspective_reason": "La profondità di campo richiede la proiezione prospettica.",
|
||||
"render.shot_look_selection": "Mira alla selezione",
|
||||
"render.shot_manager": "Inquadrature salvate",
|
||||
"render.shot_new_name": "Nome della nuova inquadratura",
|
||||
"render.shot_remove": "Rimuovi l'inquadratura salvata",
|
||||
@@ -2781,6 +3111,9 @@
|
||||
"render.shot_remove_title": "Rimuovere l'inquadratura salvata?",
|
||||
"render.shot_rename": "Rinomina l'inquadratura salvata",
|
||||
"render.shot_saved_only": "Salva prima la bozza attuale. Duplica e Rinomina conservano esattamente le opzioni salvate e i riferimenti alle risorse.",
|
||||
"render.shot_selection_reason": "Seleziona un corpo o una faccia a cui mirare.",
|
||||
"render.shot_size": "Dimensioni",
|
||||
"render.shot_target": "Punto di mira",
|
||||
"render.shots_camera_changed": "La camera è cambiata da quando l'inquadratura è stata salvata",
|
||||
"render.shots_name_help": "Inserisci un nome univoco per l'inquadratura corrente.",
|
||||
"render.shots_no_result": "Ancora nessun rendering",
|
||||
@@ -3003,6 +3336,13 @@
|
||||
"render.wait_pick_up": "non ancora supportato: la selezione del prodotto e il prelievo degli aspetti",
|
||||
"render.wait_replace": "non ancora supportato: la sostituzione di tutti gli usi di un aspetto",
|
||||
"render.wait_solo": "non ancora supportato: la visibilità delle luci e i controlli di isolamento",
|
||||
"render.wear_applies_to": "Si applica a",
|
||||
"render.wear_layer_count": "{count} strati",
|
||||
"render.wear_layer_one": "{count} strato",
|
||||
"render.wear_layers": "Strati",
|
||||
"render.wear_no_layers": "Nessuno strato",
|
||||
"render.wear_selected_layer": "Strato selezionato",
|
||||
"render.wear_title": "Usura",
|
||||
"sample.bracket.about": "Flangia di base con flange sui bordi e un orlo, con una regola da 2 mm",
|
||||
"sample.bracket.name": "Staffa in lamiera",
|
||||
"sample.enclosure.about": "Scatola svuotata con labbro, risalti per viti, appoggio e aggancio a scatto",
|
||||
@@ -3036,6 +3376,7 @@
|
||||
"select an axis": "seleziona un asse",
|
||||
"select an axis, a straight or circular edge, or a cylinder, cone or torus face first": "seleziona prima un asse, uno spigolo retto o circolare, oppure una faccia cilindrica, conica o toroidale",
|
||||
"select bodies first": "seleziona prima dei corpi",
|
||||
"select components first": "seleziona prima i componenti",
|
||||
"select corner points, or the two lines of one corner": "seleziona punti d'angolo, oppure le due linee di un angolo",
|
||||
"select one corner point, or the two lines of one corner": "seleziona un punto d'angolo, oppure le due linee di un angolo",
|
||||
"select sheet edges first": "seleziona prima gli spigoli della lamiera",
|
||||
@@ -3054,6 +3395,7 @@
|
||||
"settings.double_click_components": "Doppio clic su un componente per attivarlo o, se è collegato, per modificarlo sul posto",
|
||||
"settings.frame_rate_details_note": "Aggiunge un grafico dei tempi degli ultimi fotogrammi con i triangoli disegnati sopra, un istogramma dei tempi dei fotogrammi e ciò che la GPU ha disegnato. Fai clic sulla frequenza nella vista per mostrarli o nasconderli.",
|
||||
"settings.frame_rate_note": "Mostra i fotogrammi al secondo nell'angolo inferiore destro della vista.",
|
||||
"settings.insert_lists_open_designs": "Inserisci progetto elenca per primi i progetti aperti in altre schede",
|
||||
"settings.measure_axis_distances": "Mostra distanze X/Y/Z",
|
||||
"settings.measure_axis_distances_help": "Mostra le componenti lungo gli assi globali accanto alla distanza totale quando Misura è aperto.",
|
||||
"settings.msaa_applies_on_restart": "L'antialiasing verrà applicato al prossimo avvio di SolidCraft",
|
||||
@@ -3078,6 +3420,10 @@
|
||||
"shortcut.unpin": "Rimuovi fissaggio",
|
||||
"sketch is missing": "manca lo schizzo",
|
||||
"sketch.degrees_of_freedom": "{count} gradi di libertà",
|
||||
"sketch.dimension_added_driven": "Lo schizzo determina già quella quota, quindi è stata aggiunta come quota di riferimento (non di controllo)",
|
||||
"sketch.dimension_applied": "Quota applicata",
|
||||
"sketch.dimension_applied_defined": "Quota applicata; parametro `{name}` definito",
|
||||
"sketch.dimension_applied_renamed": "Quota applicata; parametro denominato `{name}`",
|
||||
"sketch.dof_left": "{count} gradi di libertà rimanenti",
|
||||
"sketch.dof_left_one": "{count} grado di libertà rimanente",
|
||||
"sketch.draw_curves": "Disegna come {linetype}",
|
||||
@@ -3147,8 +3493,10 @@
|
||||
"timeline.delete_folders_tip": "Mantieni le loro lavorazioni e le cartelle annidate nella cronologia",
|
||||
"timeline.delete_folders_with_features_tip": "Elimina le cartelle con tutte le lavorazioni al loro interno e le cartelle annidate",
|
||||
"timeline.delete_many": "Elimina {count} lavorazioni selezionate",
|
||||
"timeline.edited_rolled_back": "{name} è cambiato, ma si trova dopo il marcatore della cronologia e quindi non viene costruito: sposta il marcatore oltre per vedere il risultato",
|
||||
"timeline.feature_error": "Errore: {message}",
|
||||
"timeline.feature_hint": "Doppio clic per modificare · trascina per riordinare · clic destro per altro",
|
||||
"timeline.feature_rolled_back": "Riavvolta: dopo il marcatore della cronologia, quindi non costruita",
|
||||
"timeline.feature_warning": "Avviso: {message}",
|
||||
"timeline.group": "Nuova cartella di lavorazioni",
|
||||
"timeline.move_many": "Sposta elementi della sequenza temporale",
|
||||
@@ -3228,6 +3576,10 @@
|
||||
"ui.3d_mouse_offer": "Calibrare il mouse 3D corregge gli assi scambiati o invertiti e imposta velocità e sensibilità.",
|
||||
"ui.3d_mouse_offer_never": "Non mostrare più",
|
||||
"ui.3d_mouse_offer_swap": "Passa a Hidraw (driver diretto)",
|
||||
"ui.3d_mouse_orbit": "Orbita",
|
||||
"ui.3d_mouse_orbit_classic": "Classica",
|
||||
"ui.3d_mouse_orbit_tip": "Tracciata: il mouse 3D ruota la vista attorno alla parte del modello che si trova al centro della vista all'inizio della rotazione, indicata da una sfera tenue. Classica: attorno al centro della vista",
|
||||
"ui.3d_mouse_orbit_traced": "Tracciata",
|
||||
"ui.3d_mouse_reading": "Lettura",
|
||||
"ui.3d_mouse_reset_axes": "Ripristina assegnazione assi",
|
||||
"ui.3d_mouse_reset_view": "Ripristina vista",
|
||||
@@ -3612,6 +3964,7 @@
|
||||
"ui.constant": "Costante",
|
||||
"ui.constraints_conflict": "Vincoli in conflitto",
|
||||
"ui.construction": "Costruzione",
|
||||
"ui.construction.ribbon_label": "Linee aus.",
|
||||
"ui.context_menu": "Menu contestuale",
|
||||
"ui.continuity_g0": "G0 spigolo vivo",
|
||||
"ui.continuity_g1": "G1 tangenza",
|
||||
@@ -3703,6 +4056,14 @@
|
||||
"ui.end_scale": "Scala finale",
|
||||
"ui.entities": "Entità",
|
||||
"ui.equal": "Uguale",
|
||||
"ui.equation_end": "Fine",
|
||||
"ui.equation_explicit": "Esplicita",
|
||||
"ui.equation_form": "Forma",
|
||||
"ui.equation_note": "La variabile è un numero puro: sin(t) la interpreta in radianti. Un risultato senza unità è nell'unità del progetto.",
|
||||
"ui.equation_parametric": "Parametrica",
|
||||
"ui.equation_x_of_t": "x(t)",
|
||||
"ui.equation_y_of_t": "y(t)",
|
||||
"ui.equation_y_of_x": "y(x)",
|
||||
"ui.equivalent_radius": "Raggio equivalente",
|
||||
"ui.expand": "Espandi",
|
||||
"ui.exportDxf": "Esporta DXF…",
|
||||
@@ -3768,6 +4129,7 @@
|
||||
"ui.heading_design": "PROGETTAZIONE",
|
||||
"ui.heading_draft": "SFORMO",
|
||||
"ui.heading_edit": "MODIFICA",
|
||||
"ui.heading_equation_curve": "CURVA DA EQUAZIONE",
|
||||
"ui.heading_extrude": "ESTRUSIONE",
|
||||
"ui.heading_fillet": "RACCORDO",
|
||||
"ui.heading_finish_editing": "TERMINA MODIFICA",
|
||||
@@ -3859,6 +4221,10 @@
|
||||
"ui.import_ellipsis": "Importa…",
|
||||
"ui.infinite": "Infinito",
|
||||
"ui.insert": "Inserisci",
|
||||
"ui.insert_design.browse": "Sfoglia…",
|
||||
"ui.insert_design.open_designs": "Progetti aperti",
|
||||
"ui.insert_design.saved_file": "{name} contiene modifiche non salvate, quindi è stato inserito il file salvato. Salvalo, poi usa Aggiorna collegamenti per includere le modifiche.",
|
||||
"ui.insert_design.unsaved": "Modifiche non salvate",
|
||||
"ui.inspect": "Esamina",
|
||||
"ui.intersect": "Interseca",
|
||||
"ui.isolate": "Isola",
|
||||
@@ -4008,6 +4374,18 @@
|
||||
"ui.project": "Proietta",
|
||||
"ui.project_face_edges_sketch": "Proietta gli spigoli delle facce nei nuovi schizzi",
|
||||
"ui.properties": "Proprietà",
|
||||
"ui.properties.copy_matrix": "Copia matrice",
|
||||
"ui.properties.first_moments": "Momenti del primo ordine",
|
||||
"ui.properties.inertia": "Momento d'inerzia",
|
||||
"ui.properties.inertia_note": "Rispetto al centro di massa, negli assi globali (g·{unit}²)",
|
||||
"ui.properties.inertia_unavailable": "Non disponibile: la mesh di un corpo non è chiusa.",
|
||||
"ui.properties.inertia_x": "Ixx, Ixy, Ixz",
|
||||
"ui.properties.inertia_y": "Iyx, Iyy, Iyz",
|
||||
"ui.properties.inertia_z": "Izx, Izy, Izz",
|
||||
"ui.properties.measuring": "Misurazione…",
|
||||
"ui.properties.measuring_failed": "La misurazione si è interrotta prima del termine.",
|
||||
"ui.properties.principal_axis": "Asse principale {number}",
|
||||
"ui.properties.principal_moments": "Momenti principali",
|
||||
"ui.pull_direction": "Direzione di estrazione",
|
||||
"ui.quality": "Qualità",
|
||||
"ui.quantity": "Quantità",
|
||||
@@ -4070,6 +4448,7 @@
|
||||
"ui.select": "Seleziona",
|
||||
"ui.selectOther": "Seleziona altro…",
|
||||
"ui.selectTangentChain": "Seleziona catena tangente",
|
||||
"ui.select_all": "Seleziona tutto",
|
||||
"ui.selection": "Selezione",
|
||||
"ui.selection_modifiers": "Modificatori di selezione",
|
||||
"ui.selection_shift_add_only": "Maiusc+clic aggiunge senza rimuovere",
|
||||
@@ -4106,7 +4485,11 @@
|
||||
"ui.sketch": "Schizzo",
|
||||
"ui.sketch_dimension": "Quota dello schizzo",
|
||||
"ui.sketch_grid": "Griglia dello schizzo",
|
||||
"ui.sketch_intersect_geometry": "Geometria",
|
||||
"ui.sketch_intersect_projection_link": "Collegamento di proiezione",
|
||||
"ui.sketch_intersect_selection_filter": "Filtro di selezione",
|
||||
"ui.sketch_modifiers": "Modificatori dello schizzo",
|
||||
"ui.sketch_project_geometry": "Geometria",
|
||||
"ui.sketch_scale": "Scala schizzo",
|
||||
"ui.sketches": "Schizzi",
|
||||
"ui.slice": "Genera sezioni",
|
||||
@@ -4157,6 +4540,7 @@
|
||||
"ui.tab_manage": "Gestisci",
|
||||
"ui.tab_sheet_metal": "Lamiera",
|
||||
"ui.tab_view": "Vista",
|
||||
"ui.tab_weldments": "Saldature",
|
||||
"ui.tangent": "Tangente",
|
||||
"ui.taper_angle": "Angolo di rastremazione",
|
||||
"ui.tapped": "Maschiato",
|
||||
@@ -4172,6 +4556,7 @@
|
||||
"ui.tip_angle": "Angolo della punta",
|
||||
"ui.to_object": "Fino all'oggetto",
|
||||
"ui.tool_direction": "Direzione dell'utensile",
|
||||
"ui.toolbar_tabs_hidden": "Tutte le schede della barra degli strumenti sono nascoste. Fai clic su + o fai clic destro qui per mostrarne una.",
|
||||
"ui.top": "Superiore",
|
||||
"ui.top_diameter": "Diametro superiore",
|
||||
"ui.top_radius": "Raggio superiore",
|
||||
@@ -4218,6 +4603,7 @@
|
||||
"ui.visual_shaded_with_edges": "Ombreggiato con spigoli",
|
||||
"ui.visual_style": "Stile di visualizzazione",
|
||||
"ui.visual_wireframe": "Reticolo",
|
||||
"ui.wheel_zoom_speed": "Velocità di zoom della rotellina del mouse",
|
||||
"ui.width": "Larghezza",
|
||||
"ui.window_system": "Sistema di finestre",
|
||||
"ui.window_system_auto": "Automatico",
|
||||
@@ -4269,6 +4655,9 @@
|
||||
"update.prefs_label": "Aggiornamenti",
|
||||
"update.prefs_note": "Questa è la versione SolidCraft {version} ({kind}). Il controllo richiede a GitHub l'ultima versione e non invia altri dati.",
|
||||
"update.prefs_web": "Ricarica la pagina per ottenere l'ultima versione dell'app web. Se la rete non è disponibile o l'aggiornamento non riesce a finire il download in tempo, si apre invece la versione salvata; un download in corso continua per il prossimo ricaricamento.",
|
||||
"update.refresh_checking": "Ricerca della versione più recente…",
|
||||
"update.refresh_fallback": "Impossibile cercare una versione più recente; aggiornamento a {version}, trovata in precedenza.",
|
||||
"update.refresh_selected": "Aggiornamento a {version}.",
|
||||
"update.release_page": "Apri pagina della versione",
|
||||
"update.restart": "Riavvia ora",
|
||||
"update.restart_later": "Più tardi",
|
||||
|
||||
@@ -206,6 +206,7 @@
|
||||
"Edges": "エッジ",
|
||||
"Edit": "編集",
|
||||
"Edit Profile Sketch": "プロファイルスケッチを編集",
|
||||
"Edit shortcuts": "ショートカットを編集",
|
||||
"Enable rule": "ルールを有効化",
|
||||
"Enabled": "有効",
|
||||
"End Radius": "終了半径",
|
||||
@@ -468,6 +469,7 @@
|
||||
"Radius": "半径",
|
||||
"Radius Fit": "半径フィット",
|
||||
"Ratio": "比率",
|
||||
"Read-only list: shortcuts can't be changed here.": "読み取り専用の一覧です。ここではショートカットを変更できません。",
|
||||
"Reattach selected face": "選択した面を再アタッチ",
|
||||
"Recover": "復元",
|
||||
"Recover unsaved design?": "未保存のデザインを復元しますか?",
|
||||
@@ -773,6 +775,8 @@
|
||||
"at the face": "面の位置",
|
||||
"bom.group_children": "サブパーツを親パーツの行に含める",
|
||||
"browser.body_name": "ボディ{number}",
|
||||
"browser.calibrate_click_a": "画像をクリックして点Aを指定するか、座標を入力してください。",
|
||||
"browser.calibrate_click_b": "画像をクリックして点Bを指定するか、座標を入力してください。",
|
||||
"browser.calibrate_title": "尺度を設定: {name}",
|
||||
"browser.capture_many": "{count}個のコンポーネントが移動されましたが、位置がキャプチャされていません。",
|
||||
"browser.capture_note": "「位置をキャプチャ」で新しい位置を保持し、「位置を元に戻す」で以前の位置に戻します。",
|
||||
@@ -822,6 +826,7 @@
|
||||
"cmd.browser_move": "ブラウザ項目を移動",
|
||||
"cmd.browser_order": "ブラウザ項目の並び順を変更",
|
||||
"cmd.browser_rename_group": "グループの名前を変更",
|
||||
"cmd.browser_reparent": "コンポーネントへ移動",
|
||||
"cmd.browser_ungroup": "グループ解除",
|
||||
"cmd.browser_visibility": "表示/非表示",
|
||||
"cmd.canvas_calibrate": "キャンバスの尺度を設定",
|
||||
@@ -848,7 +853,9 @@
|
||||
"cmd.component_metadata": "部品プロパティ",
|
||||
"cmd.component_metadata_set": "部品プロパティを変更",
|
||||
"cmd.component_move_bodies": "ボディをコンポーネントに移動",
|
||||
"cmd.component_move_features": "フィーチャーをコンポーネントに移動",
|
||||
"cmd.component_move_sketches": "スケッチをコンポーネントに移動",
|
||||
"cmd.component_paste_from_design": "別のデザインから貼り付け",
|
||||
"cmd.component_paste_new": "新規として貼り付け",
|
||||
"cmd.component_properties": "コンポーネントの物理的プロパティ",
|
||||
"cmd.component_relink": "参照元を再リンク",
|
||||
@@ -1076,6 +1083,13 @@
|
||||
"cmd.render_start": "画像をレンダリング",
|
||||
"cmd.render_status": "レンダリングの進行状況",
|
||||
"cmd.select_clear": "選択をクリア",
|
||||
"cmd.settings_profile_apply": "設定プロファイルを適用",
|
||||
"cmd.settings_profile_delete": "設定プロファイルを削除",
|
||||
"cmd.settings_profile_export": "設定プロファイルをエクスポート",
|
||||
"cmd.settings_profile_import": "設定プロファイルをインポート",
|
||||
"cmd.settings_profile_list": "設定プロファイル",
|
||||
"cmd.settings_profile_rename": "設定プロファイルの名前を変更",
|
||||
"cmd.settings_profile_save": "設定プロファイルを保存",
|
||||
"cmd.sheet_convert": "板金に変換",
|
||||
"cmd.sheet_export_bend_table": "曲げテーブルをエクスポート",
|
||||
"cmd.sheet_export_dxf": "展開図を DXF としてエクスポート",
|
||||
@@ -1089,6 +1103,16 @@
|
||||
"cmd.sheet_refold": "折り戻し",
|
||||
"cmd.sheet_rules": "板金ルールを一覧表示",
|
||||
"cmd.sheet_unfold": "展開",
|
||||
"cmd.sketch.construction_line": "補助直線",
|
||||
"cmd.sketch.construction_line.angle": "角度指定の補助直線",
|
||||
"cmd.sketch.construction_line.bisector": "角の二等分線",
|
||||
"cmd.sketch.construction_line.horizontal": "水平補助直線",
|
||||
"cmd.sketch.construction_line.parallel": "平行補助直線",
|
||||
"cmd.sketch.construction_line.perpendicular": "直交補助直線",
|
||||
"cmd.sketch.construction_line.tangent_at": "曲線上の点での接線",
|
||||
"cmd.sketch.construction_line.tangent_external": "外部点を通る接線",
|
||||
"cmd.sketch.construction_line.tangent_two": "共通接線",
|
||||
"cmd.sketch.construction_line.vertical": "垂直補助直線",
|
||||
"cmd.sketch_arc3d": "3D 円弧",
|
||||
"cmd.sketch_arc_center_point": "中心点円弧",
|
||||
"cmd.sketch_arc_tangent": "正接円弧",
|
||||
@@ -1121,6 +1145,8 @@
|
||||
"cmd.sketch_drawing_bounds": "図面のサイズ",
|
||||
"cmd.sketch_edit": "スケッチを編集",
|
||||
"cmd.sketch_edit_text": "テキストを編集",
|
||||
"cmd.sketch_equation_curve": "方程式曲線",
|
||||
"cmd.sketch_equation_curve_edit": "方程式曲線を編集",
|
||||
"cmd.sketch_export_dxf": "DXF として保存",
|
||||
"cmd.sketch_finish_auto_constrain": "自動拘束で終了",
|
||||
"cmd.sketch_fit_curves_to_section": "メッシュ断面に曲線をフィット",
|
||||
@@ -1217,6 +1243,7 @@
|
||||
"cmd.view.render_browser": "Renderブラウザー",
|
||||
"cmd.view.render_dock": "レンダードックを移動",
|
||||
"cmd.view.render_focus": "Renderフォーカス表示",
|
||||
"cmd.view.status_items": "ビューポートの状態項目",
|
||||
"cmd.view_ambient_occlusion": "アンビエントオクルージョン",
|
||||
"cmd.view_angle_readout": "ビュー角度",
|
||||
"cmd.view_apply": "名前付きビューを復元",
|
||||
@@ -1374,6 +1401,17 @@
|
||||
"help.occurrence.move": "アセンブリ部品をジョイントが許す自由度だけで動かします。部品の面を選択してから、操作可能な矢印または円弧をドラッグしてください。",
|
||||
"help.parameters.change": "デザインの寸法を決める名前付きの値と式の表を開きます。1か所で寸法を変え、それを使うすべてのフィーチャに反映させるときに使います。",
|
||||
"help.pointcloud.insert": "PLY・XYZ・PTS形式のスキャンを点群としてモデルと一緒に挿入します。計測データを参考にモデリングするときに使います。",
|
||||
"help.sketch.construction_line": "2点を通る無限の補助直線を作成します。スケッチの輪郭を分割せずに作図できます。",
|
||||
"help.sketch.construction_line.angle": "スケッチのX軸に対して角度を指定し、無限の補助直線を作成します。点を選び、角度を入力するか方向を選びます。",
|
||||
"help.sketch.construction_line.bisector": "交差する2本のスケッチ直線を選び、2つの角の二等分線から選びます。結果は元の直線の編集に追従します。",
|
||||
"help.sketch.construction_line.horizontal": "指定点を通る無限の水平補助直線を作成します。後で編集しても水平拘束が維持されます。",
|
||||
"help.sketch.construction_line.parallel": "スケッチの直線を選び、平行な無限の補助直線を配置します。右クリックで参照を選び直します。",
|
||||
"help.sketch.construction_line.perpendicular": "スケッチの直線を選び、直交する無限の補助直線を配置します。右クリックで参照を選び直します。",
|
||||
"help.sketch.construction_line.tangent_at": "円や円弧上の点、または開いたスプラインや円錐曲線の端点に接線を作成します。曲線を選び、接点を選びます。",
|
||||
"help.sketch.construction_line.tangent_external": "円または円弧、外部点、接線の解を順に選びます。プレビューには描かれた円弧上の接点のみが表示されます。",
|
||||
"help.sketch.construction_line.tangent_two": "2つの円または円弧を選び、プレビューから共通接線を選びます。接点は描かれた曲線上にある必要があります。",
|
||||
"help.sketch.construction_line.vertical": "指定点を通る無限の垂直補助直線を作成します。後で編集しても垂直拘束が維持されます。",
|
||||
"help.sketch.equation_curve": "x(t) と y(t)、または y = f(x) の式から、範囲を指定して曲線を描きます。式にはパラメーターを使え、曲線はその変更に追従します。正弦波、らせん、歯車のインボリュートなどに使います。",
|
||||
"help.solid.align": "選択した立体を動かし、その点、面、平面を別の場所の点、面、平面に合わせます。距離を測らずに部品を別の部品に当てて配置するときに使います。",
|
||||
"help.solid.chamfer": "選択した辺を、指定した距離で平らに斜めに削ります。鋭い角を落とすときや、ピンやねじを入れやすくするときに使います。",
|
||||
"help.solid.combine": "複数の立体を結合したり、対象の立体から切り取ったり、共通する体積だけを残したりでき、工具の立体を残すこともできます。部品の結合、ある形での切り抜き、2つの立体が重なる範囲の確認に使います。",
|
||||
@@ -1743,6 +1781,7 @@
|
||||
"parts.dimension.thickness": "厚さ",
|
||||
"parts.dimension.width": "幅",
|
||||
"parts.family.bearing": "深溝玉軸受(外形)",
|
||||
"parts.family.button_head_cap_screw": "ボタンヘッド六角穴付きボルト",
|
||||
"parts.family.dowel_pin": "平行ピン",
|
||||
"parts.family.hex_bolt": "六角ボルト",
|
||||
"parts.family.hex_nut": "六角ナット",
|
||||
@@ -1874,6 +1913,8 @@
|
||||
"prefs.layout_note": "コンパクトではパネルをウィンドウの端に固定します。ブラウザーの半透明表示はフローティングで使用できます。アシスタントの配置はアシスタントページで変更します。",
|
||||
"prefs.left": "左",
|
||||
"prefs.left_click": "左クリック",
|
||||
"prefs.line_drag_draws_one": "押してドラッグすると線を 1 本描く",
|
||||
"prefs.line_drag_draws_one_note": "線ツールで押してドラッグし、離すと、押した位置から離した位置まで線を 1 本描いてそこで終わります。クリックでは従来どおり連続した線を描きます。オフ: ドラッグはクリックと同じく、離した位置に点を置きます。",
|
||||
"prefs.linked_designs": "リンクされたデザイン",
|
||||
"prefs.live_input": "現在の入力",
|
||||
"prefs.live_preview": "ライブプレビュー",
|
||||
@@ -1906,9 +1947,27 @@
|
||||
"prefs.origin_plane_names": "原点平面の名前",
|
||||
"prefs.origin_plane_names_note": "ブラウザー、ダイアログ、一覧に表示される名前です。{top} は XY、{front} は XZ、{right} は YZ です (Z が上)。コマンド、スクリプト、保存されたデザインでは XY、XZ、YZ のままです。",
|
||||
"prefs.overall_speed": "全体の速度",
|
||||
"prefs.persistent_ribbon_pressed": "有効なリボンコマンドを強調表示",
|
||||
"prefs.persistent_ribbon_pressed_help": "効果が有効な間、リボンのコマンドを強調表示します。無効にすると、従来の中立的な表示とコマンドのヘルプを保持します。",
|
||||
"prefs.perspective_fov": "画角",
|
||||
"prefs.placement": "配置",
|
||||
"prefs.prefer_free_sketch_points": "スケッチ点が重なったときは移動可能な点を優先する",
|
||||
"prefs.preview_choices": "選択した設定のプレビュー",
|
||||
"prefs.profile_active": "使用中のプロファイル",
|
||||
"prefs.profile_applied": "プロファイルを適用しました。",
|
||||
"prefs.profile_changed": "プロファイルの保存後に設定が変更されています。「保存」でプロファイルに反映されます。",
|
||||
"prefs.profile_deleted": "プロファイルを削除しました。",
|
||||
"prefs.profile_export": "エクスポート…",
|
||||
"prefs.profile_exported": "プロファイルをエクスポートしました。",
|
||||
"prefs.profile_imported": "プロファイルをインポートしました。切り替えるには「使用中のプロファイル」で選択してください。",
|
||||
"prefs.profile_name_hint": "プロファイル名(例: ノートPC)",
|
||||
"prefs.profile_rename": "名前を変更",
|
||||
"prefs.profile_renamed": "プロファイルの名前を変更しました。",
|
||||
"prefs.profile_save": "保存",
|
||||
"prefs.profile_saved": "現在の設定をプロファイルに保存しました。",
|
||||
"prefs.profile_skipped": "プロファイルを適用しました。{n} 件の設定は現在の値のままです(ログを参照)。",
|
||||
"prefs.profiles": "設定プロファイル",
|
||||
"prefs.profiles_note": "ショートカット、ツールバー、ナビゲーション、ラジアルメニュー、インターフェース設定を名前を付けてまとめて保存し、一度に切り替えます。",
|
||||
"prefs.project_options_dialog": "Projectのオプションダイアログ",
|
||||
"prefs.project_options_dialog_note": "オン: 投影前に「ジオメトリ」または「ボディ」と「投影リンク」を選択します。オフ: 従来の直接選択方式を使用します。",
|
||||
"prefs.quality_default": "既定",
|
||||
@@ -1918,6 +1977,8 @@
|
||||
"prefs.render_previous_geometry_budget": "レンダープレビューで以前のジオメトリ予算を使用",
|
||||
"prefs.render_previous_geometry_budget_help": "デバイスに基づく予算の代わりに、以前の固定ジオメトリ上限(64ビットデスクトップでは512 MiB、その他では128 MiB)に戻します。",
|
||||
"prefs.reports_saved": "{n} 件保存済み",
|
||||
"prefs.ribbon_reveal": "検索結果をリボンに表示",
|
||||
"prefs.ribbon_reveal_note": "コマンド検索で結果にポインターを合わせると、そのコマンドがリボンのどこにあるか(タブ、ボタン、またはパネルのドロップダウン内の行)を表示します。検索から開始したコマンドはそこで点滅し、ドロップダウンから実行中のコマンドはそのパネルに印が付きます。",
|
||||
"prefs.right_click": "右クリック",
|
||||
"prefs.saving": "自動保存と復元",
|
||||
"prefs.scale_note": "ウィンドウ内では Ctrl + / Ctrl − でも変更できます。100% のボタンは 28 px です。",
|
||||
@@ -1931,13 +1992,22 @@
|
||||
"prefs.shift_add_ctrl_toggle": "Shift は追加のみ、Ctrl / Cmd は選択を切り替え",
|
||||
"prefs.shift_add_note": "オン:Shift は追加、Ctrl / Cmd は選択を切り替えます。オフ(既定):どちらも選択を切り替えます。",
|
||||
"prefs.shortcuts": "ショートカット",
|
||||
"prefs.single_surface_analysis": "サーフェス解析を1つだけ使用",
|
||||
"prefs.single_surface_analysis_help": "オフの場合、サーフェスのシェーディングと連続性解析を同時に有効にできます。オンにすると、最後に開始または変更した解析が残ります。",
|
||||
"prefs.sketch_align_points": "描画中にほかのスケッチ点に揃える",
|
||||
"prefs.sketch_align_points_note": "描画中、点が一つのスケッチ点と水平に、別の点と垂直に同時に揃い、点線のガイドが表示されます。クリックすると両方の整列が保持されます。オフ: 直前の点にのみ、一度に一方向だけ揃えます。",
|
||||
"prefs.sketch_conflict_colour": "競合するジオメトリを競合色で表示",
|
||||
"prefs.sketch_conflict_colour_note": "スケッチの拘束が競合している間、満たされない拘束のグリフや寸法だけでなく、その拘束が保持する曲線と点も競合色で描画します。オフ: 通常の色のままです。",
|
||||
"prefs.sketch_construction_lines": "拡張補助直線ツール",
|
||||
"prefs.sketch_exit_view": "スケッチ終了時のビュー",
|
||||
"prefs.sketch_exit_view.keep": "現在のビューを維持",
|
||||
"prefs.sketch_exit_view.previous": "前のビューに戻る",
|
||||
"prefs.sketch_exit_view.unless_rotated": "回転していなければ戻る",
|
||||
"prefs.sketch_exit_view_note": "「スケッチを終了」、キャンセル、Esc の 2 回押しの後にビューが移る先です。",
|
||||
"prefs.sketch_open_look_at": "スケッチを開いたときに正対させる",
|
||||
"prefs.sketch_open_look_at_note": "オフ: スケッチの作成や編集でビューを動かしません。必要なときは「正面視」でスケッチに正対します。",
|
||||
"prefs.sketch_recent_snap": "最近使った中心と中点へ自動スナップ",
|
||||
"prefs.sketch_recent_snap_note": "作図中、直前の2つの円の中心または直線辺の中点のガイドが交わる位置にカーソルをスナップします。オフ: ガイドは表示のみで、カーソルは移動しません。",
|
||||
"prefs.sketch_selection": "スケッチと選択",
|
||||
"prefs.sketch_selection_heading": "スケッチと選択",
|
||||
"prefs.sketch_selection_note": "スケッチのスナップとクリックによる選択。",
|
||||
@@ -2005,10 +2075,16 @@
|
||||
"prefs.wheel": "ホイール",
|
||||
"prefs.wheel_trackpad": "ホイールとトラックパッド",
|
||||
"prefs.workspace": "ワークスペース",
|
||||
"prefs.zoom_stop_at_model": "モデルでズームを止める",
|
||||
"prefs.zoom_stop_at_model_tip": "3Dマウスとデバイスアプリはビュー中央の表面に向かってズームします。ドラッグズームはドラッグ開始点を固定します。オフの場合はモデルを通り抜けられます。ホイールとピンチは別の「カーソルへズーム」設定を使います",
|
||||
"prefs.zoom_toward_cursor": "カーソルに向かってズーム",
|
||||
"properties.title": "プロパティ: {name}",
|
||||
"recovery.days_ago": "{count}日前",
|
||||
"recovery.detail": "{file} · {features}フィーチャー · 自動保存: {when}",
|
||||
"recovery.discard_all": "すべて破棄",
|
||||
"recovery.discard_all_detail": "この操作は元に戻せません。",
|
||||
"recovery.discard_all_title": "{count} 件の自動保存を破棄しますか?",
|
||||
"recovery.discard_all_title_one": "1 件の自動保存を破棄しますか?",
|
||||
"recovery.hours_ago": "{count}時間前",
|
||||
"recovery.just_now": "たった今",
|
||||
"recovery.min_ago": "{count}分前",
|
||||
@@ -3355,6 +3431,7 @@
|
||||
"settings.double_click_components": "コンポーネントをダブルクリックしてアクティブにする、またはリンクされたものをその場で編集する",
|
||||
"settings.frame_rate_details_note": "直近のフレーム時間のグラフ(描画した三角形数を重ねて表示)、フレーム時間のヒストグラム、GPU が描画した内容を追加します。ビューのフレームレートをクリックすると表示/非表示を切り替えます。",
|
||||
"settings.frame_rate_note": "ビューの右下に 1 秒あたりのフレーム数を表示します。",
|
||||
"settings.insert_lists_open_designs": "デザインを挿入で、ほかのタブで開いているデザインを先に表示する",
|
||||
"settings.measure_axis_distances": "計測のX・Y・Z距離を表示",
|
||||
"settings.measure_axis_distances_help": "計測ダイアログを開いている間、2点間距離に加えてワールドX・Y・Z軸方向の寸法線と距離を表示します。",
|
||||
"settings.msaa_applies_on_restart": "アンチエイリアスは次回 SolidCraft を起動したときに適用されます",
|
||||
@@ -3379,6 +3456,10 @@
|
||||
"shortcut.unpin": "ピン留めを解除",
|
||||
"sketch is missing": "スケッチが見つかりません",
|
||||
"sketch.degrees_of_freedom": "自由度 {count}",
|
||||
"sketch.dimension_added_driven": "スケッチがすでにその寸法を決めているため、従動寸法(参照寸法)として追加しました",
|
||||
"sketch.dimension_applied": "寸法を適用しました",
|
||||
"sketch.dimension_applied_defined": "寸法を適用しました。パラメータ `{name}` を定義しました",
|
||||
"sketch.dimension_applied_renamed": "寸法を適用しました。パラメータ名を `{name}` にしました",
|
||||
"sketch.dof_left": "残り自由度 {count}",
|
||||
"sketch.dof_left_one": "残り自由度 {count}",
|
||||
"sketch.draw_curves": "{linetype}として描く",
|
||||
@@ -3448,8 +3529,10 @@
|
||||
"timeline.delete_folders_tip": "フィーチャーと入れ子のフォルダーを履歴に残します",
|
||||
"timeline.delete_folders_with_features_tip": "フォルダーを、中のすべてのフィーチャーと入れ子のフォルダーごと削除します",
|
||||
"timeline.delete_many": "選択した {count} 個のフィーチャーを削除",
|
||||
"timeline.edited_rolled_back": "{name} を変更しましたが、履歴マーカーより後ろにあるため構築されません。結果を見るにはマーカーをその先へ移動してください",
|
||||
"timeline.feature_error": "エラー: {message}",
|
||||
"timeline.feature_hint": "ダブルクリックで編集 · ドラッグで並べ替え · 右クリックでその他の操作",
|
||||
"timeline.feature_rolled_back": "ロールバック中: 履歴マーカーより後ろのため構築されません",
|
||||
"timeline.feature_warning": "警告: {message}",
|
||||
"timeline.group": "フィーチャーフォルダを新規作成",
|
||||
"timeline.move_many": "タイムライン項目を移動",
|
||||
@@ -3531,6 +3614,10 @@
|
||||
"ui.3d_mouse_offer": "3Dマウスをキャリブレーションすると、入れ替わった軸や反転した軸が直り、速度と操作感も整います。",
|
||||
"ui.3d_mouse_offer_never": "今後表示しない",
|
||||
"ui.3d_mouse_offer_swap": "Hidraw(直接ドライバー)に切り替える",
|
||||
"ui.3d_mouse_orbit": "回転",
|
||||
"ui.3d_mouse_orbit_classic": "クラシック",
|
||||
"ui.3d_mouse_orbit_tip": "トレース:3Dマウスで回転を始めたときにビューの中央にあるモデルの部分を中心にビューを回転し、その点を淡い球で示します。クラシック:ビューの中心を基準に回転します。",
|
||||
"ui.3d_mouse_orbit_traced": "トレース",
|
||||
"ui.3d_mouse_reading": "読み取り値",
|
||||
"ui.3d_mouse_reset_axes": "軸の割り当てをリセット",
|
||||
"ui.3d_mouse_reset_view": "表示をリセット",
|
||||
@@ -3917,6 +4004,15 @@
|
||||
"ui.constant": "一定",
|
||||
"ui.constraints_conflict": "拘束が競合しています",
|
||||
"ui.construction": "コンストラクション",
|
||||
"ui.construction.angle_hint": "補助直線: 点をクリックし、角度を入力するか方向を選択",
|
||||
"ui.construction.bisector_hint": "二等分線: 交差する2直線を選び、必要な解を選択",
|
||||
"ui.construction.common_hint": "共通接線: 2つの円/円弧を選び、必要な解を選択",
|
||||
"ui.construction.contact_hint": "接線: 円/円弧または開いたスプライン/円錐曲線を選び、接点を選択 (自由曲線は端点のみ)",
|
||||
"ui.construction.external_hint": "接線: 円または円弧、外部点、必要な解の順に選択",
|
||||
"ui.construction.free_hint": "補助直線: 2点をクリック。右クリックで最初から",
|
||||
"ui.construction.point_hint": "補助直線: 通過点をクリック",
|
||||
"ui.construction.reference_hint": "補助直線: 直線、点の順に選択。右クリックで参照を変更",
|
||||
"ui.construction.ribbon_label": "補助線",
|
||||
"ui.context_menu": "コンテキスト メニュー",
|
||||
"ui.continuity_g0": "G0 折れ",
|
||||
"ui.continuity_g1": "G1 接線",
|
||||
@@ -4008,6 +4104,14 @@
|
||||
"ui.end_scale": "終端スケール",
|
||||
"ui.entities": "エンティティ",
|
||||
"ui.equal": "等しい",
|
||||
"ui.equation_end": "終了",
|
||||
"ui.equation_explicit": "陽関数",
|
||||
"ui.equation_form": "形式",
|
||||
"ui.equation_note": "変数は単位のない数値です。sin(t) はラジアンとして扱います。単位のない結果はデザインの単位になります。",
|
||||
"ui.equation_parametric": "パラメトリック",
|
||||
"ui.equation_x_of_t": "x(t)",
|
||||
"ui.equation_y_of_t": "y(t)",
|
||||
"ui.equation_y_of_x": "y(x)",
|
||||
"ui.equivalent_radius": "等価半径",
|
||||
"ui.expand": "展開",
|
||||
"ui.exportDxf": "DXF をエクスポート…",
|
||||
@@ -4073,6 +4177,7 @@
|
||||
"ui.heading_design": "デザイン",
|
||||
"ui.heading_draft": "勾配",
|
||||
"ui.heading_edit": "編集",
|
||||
"ui.heading_equation_curve": "方程式曲線",
|
||||
"ui.heading_extrude": "押し出し",
|
||||
"ui.heading_fillet": "フィレット",
|
||||
"ui.heading_finish_editing": "編集を終了",
|
||||
@@ -4164,6 +4269,10 @@
|
||||
"ui.import_ellipsis": "インポート…",
|
||||
"ui.infinite": "無限",
|
||||
"ui.insert": "挿入",
|
||||
"ui.insert_design.browse": "参照…",
|
||||
"ui.insert_design.open_designs": "開いているデザイン",
|
||||
"ui.insert_design.saved_file": "{name} に保存されていない変更があるため、保存済みのファイルを挿入しました。保存してから、リンクを更新で変更を取り込んでください。",
|
||||
"ui.insert_design.unsaved": "未保存の変更",
|
||||
"ui.inspect": "検査",
|
||||
"ui.intersect": "交差",
|
||||
"ui.isolate": "分離表示",
|
||||
@@ -4387,6 +4496,7 @@
|
||||
"ui.select": "選択",
|
||||
"ui.selectOther": "その他を選択…",
|
||||
"ui.selectTangentChain": "接線チェーンを選択",
|
||||
"ui.select_all": "すべて選択",
|
||||
"ui.selection": "選択",
|
||||
"ui.selection_modifiers": "選択修飾キー",
|
||||
"ui.selection_shift_add_only": "Shift+クリックで追加のみ(解除なし)",
|
||||
|
||||
@@ -716,6 +716,7 @@
|
||||
"cmd.browser_move": "브라우저 항목 이동",
|
||||
"cmd.browser_order": "브라우저 항목 정렬",
|
||||
"cmd.browser_rename_group": "그룹 이름 변경",
|
||||
"cmd.browser_reparent": "구성 요소로 이동",
|
||||
"cmd.browser_ungroup": "그룹 해제",
|
||||
"cmd.browser_visibility": "표시/숨기기",
|
||||
"cmd.canvas_calibrate": "캔버스 보정",
|
||||
@@ -738,6 +739,7 @@
|
||||
"cmd.component_metadata": "부품 속성",
|
||||
"cmd.component_metadata_set": "부품 속성 변경",
|
||||
"cmd.component_move_bodies": "바디를 구성 요소로 이동",
|
||||
"cmd.component_move_features": "특성을 구성 요소로 이동",
|
||||
"cmd.component_move_sketches": "스케치를 구성 요소로 이동",
|
||||
"cmd.component_paste_new": "새로 붙여넣기",
|
||||
"cmd.component_properties": "구성 요소 물리 속성",
|
||||
@@ -956,6 +958,16 @@
|
||||
"cmd.sheet_refold": "다시 접기",
|
||||
"cmd.sheet_rules": "판금 규칙 목록",
|
||||
"cmd.sheet_unfold": "펼치기",
|
||||
"cmd.sketch.construction_line": "보조 직선",
|
||||
"cmd.sketch.construction_line.angle": "각도 지정 보조 직선",
|
||||
"cmd.sketch.construction_line.bisector": "각의 이등분선",
|
||||
"cmd.sketch.construction_line.horizontal": "수평 보조 직선",
|
||||
"cmd.sketch.construction_line.parallel": "평행 보조 직선",
|
||||
"cmd.sketch.construction_line.perpendicular": "직교 보조 직선",
|
||||
"cmd.sketch.construction_line.tangent_at": "곡선 위 점에서의 접선",
|
||||
"cmd.sketch.construction_line.tangent_external": "외부 점을 지나는 접선",
|
||||
"cmd.sketch.construction_line.tangent_two": "공통 접선",
|
||||
"cmd.sketch.construction_line.vertical": "수직 보조 직선",
|
||||
"cmd.sketch_arc_center_point": "중심점 호",
|
||||
"cmd.sketch_arc_tangent": "접선 호",
|
||||
"cmd.sketch_arc_three_point": "3점 호",
|
||||
@@ -985,6 +997,8 @@
|
||||
"cmd.sketch_draw_dimensioned": "치수가 있는 스케치 개체 그리기",
|
||||
"cmd.sketch_edit": "스케치 편집",
|
||||
"cmd.sketch_edit_text": "텍스트 편집",
|
||||
"cmd.sketch_equation_curve": "방정식 곡선",
|
||||
"cmd.sketch_equation_curve_edit": "방정식 곡선 편집",
|
||||
"cmd.sketch_export_dxf": "DXF로 저장",
|
||||
"cmd.sketch_finish_auto_constrain": "자동 구속으로 완료",
|
||||
"cmd.sketch_fit_curves_to_section": "메시 단면에 곡선 맞추기",
|
||||
@@ -1079,6 +1093,7 @@
|
||||
"cmd.view.render_browser": "렌더 브라우저",
|
||||
"cmd.view.render_dock": "렌더 도크 이동",
|
||||
"cmd.view.render_focus": "렌더 집중 보기",
|
||||
"cmd.view.status_items": "뷰포트 상태 항목",
|
||||
"cmd.view_ambient_occlusion": "앰비언트 오클루전",
|
||||
"cmd.view_angle_readout": "뷰 각도",
|
||||
"cmd.view_apply": "이름 있는 보기 복원",
|
||||
@@ -1194,6 +1209,17 @@
|
||||
"help.mit": "MIT 라이선스",
|
||||
"help.notice": "NOTICE",
|
||||
"help.pointcloud.insert": "PLY, XYZ 또는 PTS 스캔을 모델 옆에 포인트 클라우드로 삽입합니다. 측정 데이터를 참고하여 모델링할 때 사용합니다.",
|
||||
"help.sketch.construction_line": "두 점을 지나는 무한 보조 직선을 만듭니다. 스케치 프로파일을 나누지 않고 작도할 수 있습니다.",
|
||||
"help.sketch.construction_line.angle": "스케치 X축을 기준으로 지정한 각도의 무한 보조 직선을 만듭니다. 점을 선택한 뒤 각도를 입력하거나 방향을 선택합니다.",
|
||||
"help.sketch.construction_line.bisector": "교차하는 두 스케치 직선을 선택한 뒤 두 각의 이등분선 중 하나를 선택합니다. 결과는 원본 직선의 편집을 따릅니다.",
|
||||
"help.sketch.construction_line.horizontal": "한 점을 지나는 무한 수평 보조 직선을 만듭니다. 나중에 편집해도 수평 구속이 유지됩니다.",
|
||||
"help.sketch.construction_line.parallel": "스케치 직선을 선택한 뒤 평행한 무한 보조 직선을 배치합니다. 다른 참조를 선택하려면 마우스 오른쪽 버튼을 클릭합니다.",
|
||||
"help.sketch.construction_line.perpendicular": "스케치 직선을 선택한 뒤 직교하는 무한 보조 직선을 배치합니다. 다른 참조를 선택하려면 마우스 오른쪽 버튼을 클릭합니다.",
|
||||
"help.sketch.construction_line.tangent_at": "원이나 원호 위의 점, 또는 열린 스플라인이나 원뿔 곡선의 끝점에 접선을 만듭니다. 곡선을 선택한 뒤 접점을 선택합니다.",
|
||||
"help.sketch.construction_line.tangent_external": "원 또는 원호, 외부 점, 접선 해를 차례로 선택합니다. 미리보기에는 그려진 원호 위의 접점만 표시됩니다.",
|
||||
"help.sketch.construction_line.tangent_two": "두 원 또는 원호를 선택한 뒤 미리보기에서 공통 접선을 선택합니다. 접점은 그려진 곡선 위에 있어야 합니다.",
|
||||
"help.sketch.construction_line.vertical": "한 점을 지나는 무한 수직 보조 직선을 만듭니다. 나중에 편집해도 수직 구속이 유지됩니다.",
|
||||
"help.sketch.equation_curve": "범위에 걸쳐 수식으로 곡선을 그립니다: x(t)와 y(t), 또는 y = f(x). 수식에 매개변수를 쓸 수 있으며 곡선이 그 값을 따라갑니다. 사인파, 나선, 기어 이의 인벌류트에 사용합니다.",
|
||||
"help.solid.chamfer": "선택한 모서리를 지정한 거리만큼 평평하게 깎습니다. 날카로운 모서리를 다듬거나 핀 또는 나사가 쉽게 들어가도록 할 때 사용합니다.",
|
||||
"help.solid.extrude": "스케치 프로파일을 지정한 거리만큼 3D로 밀어내 재료를 더하거나 제거합니다. 평면 윤곽을 블록, 보스 또는 포켓으로 만들 때 사용합니다.",
|
||||
"help.solid.fillet": "선택한 모서리를 지정한 반지름의 매끄러운 원호로 둥글게 만듭니다. 강도, 편의성 또는 외관을 위해 날카로운 모서리를 부드럽게 할 때 사용합니다.",
|
||||
@@ -1560,6 +1586,8 @@
|
||||
"prefs.layout_note": "컴팩트는 패널을 창 가장자리에 고정합니다. 브라우저 반투명은 플로팅에서 사용할 수 있습니다. 어시스턴트 위치는 어시스턴트 페이지에서 바꿀 수 있습니다.",
|
||||
"prefs.left": "왼쪽",
|
||||
"prefs.left_click": "왼쪽 클릭",
|
||||
"prefs.line_drag_draws_one": "누른 채 드래그하면 선 하나 그리기",
|
||||
"prefs.line_drag_draws_one_note": "선 도구에서 누르고 드래그한 뒤 놓으면 누른 곳에서 놓은 곳까지 선 하나를 그리고 거기서 끝납니다. 클릭하면 이전처럼 이어지는 선을 그립니다. 끄면: 드래그는 클릭처럼 놓은 곳에 점을 둡니다.",
|
||||
"prefs.live_input": "실시간 입력",
|
||||
"prefs.live_preview": "실시간 미리보기",
|
||||
"prefs.max_file_size": "열 수 있는 최대 파일 크기",
|
||||
@@ -1584,6 +1612,9 @@
|
||||
"prefs.origin_plane_names": "원점 평면 이름",
|
||||
"prefs.origin_plane_names_note": "브라우저, 대화 상자, 목록에 표시되는 이름입니다. {top}은 XY, {front}는 XZ, {right}는 YZ이며 Z가 위쪽입니다. 명령, 스크립트, 저장된 디자인은 XY, XZ, YZ를 유지합니다.",
|
||||
"prefs.overall_speed": "전체 속도",
|
||||
"prefs.persistent_ribbon_pressed": "활성 리본 명령 강조 표시",
|
||||
"prefs.persistent_ribbon_pressed_help": "효과가 켜져 있는 동안 리본 명령을 강조 표시합니다. 끄면 이전의 중립적인 모양과 명령 도움말을 유지합니다.",
|
||||
"prefs.perspective_fov": "시야각",
|
||||
"prefs.preview_choices": "선택 항목 미리보기",
|
||||
"prefs.project_options_dialog": "Project 옵션 대화상자",
|
||||
"prefs.project_options_dialog_note": "켜기: 투영 전에 지오메트리 또는 바디와 투영 링크를 선택합니다. 끄기: 기존 직접 선택 작업 흐름을 유지합니다.",
|
||||
@@ -1605,8 +1636,17 @@
|
||||
"prefs.shift_add_ctrl_toggle": "Shift는 추가만, Ctrl / Cmd는 토글",
|
||||
"prefs.shift_add_note": "켬: Shift는 추가, Ctrl / Cmd는 토글. 끔(기본값): 둘 다 토글.",
|
||||
"prefs.shortcuts": "단축키",
|
||||
"prefs.single_surface_analysis": "표면 분석 하나만 사용",
|
||||
"prefs.single_surface_analysis_help": "끄면 표면 음영 분석과 연속성 분석을 함께 유지할 수 있습니다. 켜면 마지막으로 시작하거나 변경한 분석만 유지됩니다.",
|
||||
"prefs.sketch_align_points": "그리는 동안 다른 스케치 점에 맞추기",
|
||||
"prefs.sketch_align_points_note": "그리는 동안 점이 한 스케치 점과 수평으로, 다른 점과 수직으로 동시에 맞춰지고 점선 안내선이 표시됩니다. 클릭하면 두 정렬이 모두 유지됩니다. 끄기: 이전 점에만, 한 번에 한 축씩 맞춥니다.",
|
||||
"prefs.sketch_conflict_colour": "충돌하는 기하를 충돌 색상으로 표시",
|
||||
"prefs.sketch_conflict_colour_note": "스케치의 구속 조건이 충돌하는 동안 실패한 구속 조건의 글리프나 치수뿐 아니라 그 구속 조건이 잡고 있는 곡선과 점도 충돌 색상으로 그립니다. 끄기: 평소 색상을 유지합니다.",
|
||||
"prefs.sketch_construction_lines": "확장 보조 직선 도구",
|
||||
"prefs.sketch_open_look_at": "스케치를 열 때 정면으로 돌리기",
|
||||
"prefs.sketch_open_look_at_note": "끄기: 스케치를 만들거나 편집해도 뷰가 그대로입니다. 필요할 때 '바라보기'로 스케치를 정면으로 봅니다.",
|
||||
"prefs.sketch_recent_snap": "최근 중심과 중점에 자동 스냅",
|
||||
"prefs.sketch_recent_snap_note": "그리는 동안 최근에 사용한 두 원의 중심 또는 직선 모서리 중점의 안내선이 만나는 위치로 커서를 스냅합니다. 끄기: 안내선은 보기만 하고 커서는 움직이지 않습니다.",
|
||||
"prefs.sketch_selection": "스케치 및 선택",
|
||||
"prefs.sketch_selection_heading": "스케치 및 선택",
|
||||
"prefs.sketch_selection_note": "스케치가 스냅되는 방식과 클릭으로 선택하는 방식입니다.",
|
||||
@@ -1662,10 +1702,16 @@
|
||||
"prefs.wheel": "휠",
|
||||
"prefs.wheel_trackpad": "휠 및 트랙패드",
|
||||
"prefs.workspace": "작업 공간",
|
||||
"prefs.zoom_stop_at_model": "모델에서 확대/축소 멈추기",
|
||||
"prefs.zoom_stop_at_model_tip": "3D 마우스와 장치 앱은 뷰 중앙의 표면을 향해 확대/축소하고, 드래그 확대/축소는 드래그 시작점을 고정합니다. 끄면 모델을 통과할 수 있습니다. 휠과 핀치는 별도의 커서로 확대/축소 설정을 사용합니다",
|
||||
"prefs.zoom_toward_cursor": "확대/축소, 커서 방향으로",
|
||||
"properties.title": "속성: {name}",
|
||||
"recovery.days_ago": "{count}일 전",
|
||||
"recovery.detail": "{file} · 피처 {features}개 · {when} 자동 저장",
|
||||
"recovery.discard_all": "모두 버리기",
|
||||
"recovery.discard_all_detail": "이 작업은 되돌릴 수 없습니다.",
|
||||
"recovery.discard_all_title": "자동 저장 {count}개를 버리시겠습니까?",
|
||||
"recovery.discard_all_title_one": "자동 저장 1개를 버리시겠습니까?",
|
||||
"recovery.hours_ago": "{count}시간 전",
|
||||
"recovery.just_now": "방금",
|
||||
"recovery.min_ago": "{count}분 전",
|
||||
@@ -2556,6 +2602,7 @@
|
||||
"settings.display_quality_note": "세밀할수록 곡면과 모서리가 더 매끄럽게 표시되지만 메시 생성 시간이 늘어납니다. 뷰포트만 바뀌며 설계나 내보내기는 바뀌지 않습니다.",
|
||||
"settings.double_click_components": "구성 요소를 두 번 클릭하여 활성화하거나 연결된 구성 요소를 제자리에서 편집",
|
||||
"settings.frame_rate_note": "뷰의 오른쪽 아래에 초당 프레임 수를 표시합니다.",
|
||||
"settings.insert_lists_open_designs": "설계 삽입에서 다른 탭에 열린 설계를 먼저 표시",
|
||||
"settings.measure_axis_distances": "X/Y/Z 거리 표시",
|
||||
"settings.measure_axis_distances_help": "측정 대화상자가 열려 있는 동안 전체 거리와 함께 월드 축 방향 치수와 거리를 표시합니다.",
|
||||
"settings.msaa_applies_on_restart": "안티앨리어싱은 다음에 SolidCraft를 시작할 때 적용됩니다",
|
||||
@@ -2575,6 +2622,10 @@
|
||||
"shortcut.unpin": "고정 해제",
|
||||
"sketch is missing": "스케치가 없습니다",
|
||||
"sketch.degrees_of_freedom": "자유도 {count}개",
|
||||
"sketch.dimension_added_driven": "스케치가 이미 이 치수를 결정하므로 종속(참조) 치수로 추가했습니다",
|
||||
"sketch.dimension_applied": "치수를 적용했습니다",
|
||||
"sketch.dimension_applied_defined": "치수를 적용했습니다. 매개변수 `{name}`을(를) 정의했습니다",
|
||||
"sketch.dimension_applied_renamed": "치수를 적용했습니다. 매개변수 이름을 `{name}`(으)로 지정했습니다",
|
||||
"sketch.dof_left": "남은 자유도 {count}개",
|
||||
"sketch.dof_left_one": "남은 자유도 {count}개",
|
||||
"sketch.draw_curves": "{linetype}(으)로 그리기",
|
||||
@@ -2709,6 +2760,10 @@
|
||||
"ui.3d_mouse_offer": "3D 마우스를 보정하면 바뀌거나 반전된 축이 바로잡히고 속도와 조작감이 맞춰집니다.",
|
||||
"ui.3d_mouse_offer_never": "다시 표시하지 않음",
|
||||
"ui.3d_mouse_offer_swap": "Hidraw(직접 드라이버)로 전환",
|
||||
"ui.3d_mouse_orbit": "궤도 회전",
|
||||
"ui.3d_mouse_orbit_classic": "클래식",
|
||||
"ui.3d_mouse_orbit_tip": "추적: 회전을 시작할 때 뷰 가운데에 있는 모델 부분을 중심으로 3D 마우스가 뷰를 회전하며, 그 점을 희미한 구로 표시합니다. 클래식: 뷰의 중심을 기준으로",
|
||||
"ui.3d_mouse_orbit_traced": "추적",
|
||||
"ui.3d_mouse_reading": "읽은 값",
|
||||
"ui.3d_mouse_reset_axes": "축 지정 초기화",
|
||||
"ui.3d_mouse_reset_view": "뷰 초기화",
|
||||
@@ -3042,6 +3097,15 @@
|
||||
"ui.constant": "상수",
|
||||
"ui.constraints_conflict": "구속 조건 충돌",
|
||||
"ui.construction": "구성선",
|
||||
"ui.construction.angle_hint": "보조 직선: 점 클릭 후 각도 입력 또는 방향 선택",
|
||||
"ui.construction.bisector_hint": "이등분선: 교차하는 두 직선 선택 후 원하는 해 선택",
|
||||
"ui.construction.common_hint": "공통 접선: 두 원/원호 선택 후 원하는 해 선택",
|
||||
"ui.construction.contact_hint": "접선: 원/원호 또는 열린 스플라인/원뿔 곡선 선택 후 접점 선택 (자유 곡선은 끝점만)",
|
||||
"ui.construction.external_hint": "접선: 원 또는 원호, 외부 점, 원하는 해를 차례로 선택",
|
||||
"ui.construction.free_hint": "보조 직선: 두 점 클릭; 마우스 오른쪽 버튼으로 다시 시작",
|
||||
"ui.construction.point_hint": "보조 직선: 통과할 점 클릭",
|
||||
"ui.construction.reference_hint": "보조 직선: 직선 선택 후 점 선택; 마우스 오른쪽 버튼으로 참조 변경",
|
||||
"ui.construction.ribbon_label": "보조선",
|
||||
"ui.context_menu": "컨텍스트 메뉴",
|
||||
"ui.continuity_g0": "G0 꺾임",
|
||||
"ui.continuity_g1": "G1 접선",
|
||||
@@ -3130,6 +3194,14 @@
|
||||
"ui.end_scale": "끝 배율",
|
||||
"ui.entities": "요소",
|
||||
"ui.equal": "동일",
|
||||
"ui.equation_end": "끝",
|
||||
"ui.equation_explicit": "명시적",
|
||||
"ui.equation_form": "형식",
|
||||
"ui.equation_note": "변수는 단위가 없는 수입니다. sin(t)는 라디안으로 읽습니다. 단위가 없는 결과는 디자인 단위입니다.",
|
||||
"ui.equation_parametric": "매개변수식",
|
||||
"ui.equation_x_of_t": "x(t)",
|
||||
"ui.equation_y_of_t": "y(t)",
|
||||
"ui.equation_y_of_x": "y(x)",
|
||||
"ui.equivalent_radius": "등가 반지름",
|
||||
"ui.expand": "펼치기",
|
||||
"ui.exportDxf": "DXF 내보내기…",
|
||||
@@ -3188,6 +3260,7 @@
|
||||
"ui.heading_design": "디자인",
|
||||
"ui.heading_draft": "구배",
|
||||
"ui.heading_edit": "편집",
|
||||
"ui.heading_equation_curve": "방정식 곡선",
|
||||
"ui.heading_extrude": "돌출",
|
||||
"ui.heading_fillet": "필렛",
|
||||
"ui.heading_finish_editing": "편집 완료",
|
||||
@@ -3275,6 +3348,10 @@
|
||||
"ui.import_ellipsis": "가져오기…",
|
||||
"ui.infinite": "무한",
|
||||
"ui.insert": "삽입",
|
||||
"ui.insert_design.browse": "찾아보기…",
|
||||
"ui.insert_design.open_designs": "열린 설계",
|
||||
"ui.insert_design.saved_file": "{name}에 저장되지 않은 변경 사항이 있어 저장된 파일을 삽입했습니다. 저장한 다음 링크 업데이트로 변경 사항을 가져오세요.",
|
||||
"ui.insert_design.unsaved": "저장되지 않은 변경 사항",
|
||||
"ui.inspect": "검사",
|
||||
"ui.intersect": "교차",
|
||||
"ui.isolate": "분리 표시",
|
||||
@@ -3475,6 +3552,7 @@
|
||||
"ui.select": "선택",
|
||||
"ui.selectOther": "기타 선택…",
|
||||
"ui.selectTangentChain": "접선 체인 선택",
|
||||
"ui.select_all": "모두 선택",
|
||||
"ui.selection": "선택",
|
||||
"ui.selection_modifiers": "선택 보조 키",
|
||||
"ui.selection_shift_add_only": "Shift+클릭은 추가만 함",
|
||||
|
||||
@@ -204,6 +204,7 @@
|
||||
"Edges": "Tepi",
|
||||
"Edit": "Sunting",
|
||||
"Edit Profile Sketch": "Sunting Lakaran Profil",
|
||||
"Edit shortcuts": "Sunting pintasan",
|
||||
"Enable rule": "Aktifkan peraturan",
|
||||
"Enabled": "Diaktifkan",
|
||||
"End Radius": "Jejari Akhir",
|
||||
@@ -466,6 +467,7 @@
|
||||
"Radius": "Jejari",
|
||||
"Radius Fit": "Padanan Jejari",
|
||||
"Ratio": "Nisbah",
|
||||
"Read-only list: shortcuts can't be changed here.": "Senarai baca sahaja: pintasan tidak boleh diubah di sini.",
|
||||
"Reattach selected face": "Paut semula muka dipilih",
|
||||
"Recover": "Pulihkan",
|
||||
"Recover unsaved design?": "Pulihkan reka bentuk belum disimpan?",
|
||||
@@ -649,6 +651,7 @@
|
||||
"Third point": "Titik ketiga",
|
||||
"This child is shared. Deleting it removes it from every copy of its parent.": "Komponen anak dikongsi. Jika dipadam, semua salinan induk turut kehilangannya.",
|
||||
"This child is shared. Position changes apply to every copy of its parent.": "Komponen anak dikongsi. Kedudukan berubah pada semua salinan induk.",
|
||||
"This component is inside a subassembly placed more than once: aligning it moves it in every placement.": "Komponen ini berada dalam subpemasangan yang diletakkan lebih daripada sekali: menjajarkannya akan mengalihkannya dalam setiap penempatan.",
|
||||
"This face cannot provide a durable attachment. Choose another face or explicitly use a fixed plane.": "Muka ini tidak dapat kekalkan pautan. Pilih muka lain atau gunakan satah tetap.",
|
||||
"This image is not attached to GitHub yet. Copy or save it, then attach it on GitHub.": "Imej ini belum dilampirkan pada GitHub. Salin atau simpannya, kemudian lampirkan di GitHub.",
|
||||
"Thread depth": "Kedalaman bebenang",
|
||||
@@ -790,6 +793,11 @@
|
||||
"cam.roller": "Penggelek",
|
||||
"cam.roller_pick": "Penggelek (tidak wajib)",
|
||||
"cam.tip_pick": "Hujung (tidak wajib)",
|
||||
"camera.shot_pitch": "Pic",
|
||||
"camera.shot_roll": "Gelek",
|
||||
"camera.shot_yaw": "Yaw",
|
||||
"canvas.decal_place_hint": "Klik muka untuk meletakkan dekal",
|
||||
"canvas.place_hint": "Klik satah atau muka untuk meletakkan kanvas",
|
||||
"choose a profile": "pilih profil",
|
||||
"choose the cam's and the follower's joints": "pilih sendi sesondol dan sendi pengikut",
|
||||
"choose the joints to couple": "pilih sendi yang hendak digandingkan",
|
||||
@@ -797,9 +805,12 @@
|
||||
"click sketch curves": "klik lengkung lakaran",
|
||||
"cmd.appearance_assign": "Penampilan",
|
||||
"cmd.appearance_chain": "Rantaian Penampilan",
|
||||
"cmd.appearance_copy": "Salin Gaya",
|
||||
"cmd.appearance_favorite": "Tanda Gaya Kegemaran",
|
||||
"cmd.appearance_library": "Koleksi Penampilan",
|
||||
"cmd.appearance_list": "Senarai Penampilan",
|
||||
"cmd.appearance_paint": "Cat Penampilan",
|
||||
"cmd.appearance_paste": "Tampal Gaya",
|
||||
"cmd.appearance_pick_up": "Ambil Penampilan",
|
||||
"cmd.appearance_replace": "Gantikan Penampilan",
|
||||
"cmd.assembly_bom": "Senarai Bahan",
|
||||
@@ -810,6 +821,7 @@
|
||||
"cmd.browser_move": "Alih Item Pelayar",
|
||||
"cmd.browser_order": "Susun Item Pelayar",
|
||||
"cmd.browser_rename_group": "Tukar Nama Kumpulan",
|
||||
"cmd.browser_reparent": "Alih ke Komponen",
|
||||
"cmd.browser_ungroup": "Nyahkumpul",
|
||||
"cmd.browser_visibility": "Papar/Sembunyi",
|
||||
"cmd.canvas_calibrate": "Tentukur Kanvas",
|
||||
@@ -836,7 +848,9 @@
|
||||
"cmd.component_metadata": "Sifat Bahagian",
|
||||
"cmd.component_metadata_set": "Tukar Sifat Bahagian",
|
||||
"cmd.component_move_bodies": "Alih Jasad ke Komponen",
|
||||
"cmd.component_move_features": "Alih Ciri ke Komponen",
|
||||
"cmd.component_move_sketches": "Alih Lakaran ke Komponen",
|
||||
"cmd.component_paste_from_design": "Tampal daripada Reka Bentuk Lain",
|
||||
"cmd.component_paste_new": "Tampal Baharu",
|
||||
"cmd.component_properties": "Sifat Fizikal Komponen",
|
||||
"cmd.component_relink": "Paut Semula Sumber",
|
||||
@@ -973,6 +987,7 @@
|
||||
"cmd.motion_trace": "Jejak Gerakan",
|
||||
"cmd.motion_trace_edit": "Sunting Jejak Gerakan",
|
||||
"cmd.motion_trace_keep": "Kekalkan Jejak Gerakan",
|
||||
"cmd.occurrence_align": "Jajarkan Salinan",
|
||||
"cmd.occurrence_copy": "Tampal (Salinan)",
|
||||
"cmd.occurrence_drag": "Seret Salinan",
|
||||
"cmd.occurrence_ground": "Tetapkan",
|
||||
@@ -1030,11 +1045,17 @@
|
||||
"cmd.render_library_surface_unbind": "Buang Pengikatan Permukaan",
|
||||
"cmd.render_library_targets": "Cari Sasaran Koleksi Render",
|
||||
"cmd.render_lights_add": "Tambah Lampu",
|
||||
"cmd.render_lights_duplicate": "Gandakan Lampu Render",
|
||||
"cmd.render_lights_list": "Senarai Lampu Render",
|
||||
"cmd.render_lights_mute": "Senyapkan Lampu",
|
||||
"cmd.render_lights_remove": "Buang Lampu Render",
|
||||
"cmd.render_lights_set": "Tetapkan Lampu Render",
|
||||
"cmd.render_lights_solo": "Lampu Solo",
|
||||
"cmd.render_optics_bind": "Simpan Pengikatan Optik",
|
||||
"cmd.render_optics_unbind": "Buang Pengikatan Optik",
|
||||
"cmd.render_output_size": "Tetapkan Saiz Keluaran Render",
|
||||
"cmd.render_preflight": "Semak Permintaan Render",
|
||||
"cmd.render_preflight_copy": "Salin Laporan Semakan Render",
|
||||
"cmd.render_preset_apply": "Gunakan Studio Asli",
|
||||
"cmd.render_preset_resolve": "Semak Studio Asli",
|
||||
"cmd.render_quality_prepare": "Semak Bajet Pensampelan Tetap",
|
||||
@@ -1057,6 +1078,13 @@
|
||||
"cmd.render_start": "Render Imej",
|
||||
"cmd.render_status": "Kemajuan Render",
|
||||
"cmd.select_clear": "Kosongkan Pilihan",
|
||||
"cmd.settings_profile_apply": "Gunakan Profil Tetapan",
|
||||
"cmd.settings_profile_delete": "Padam Profil Tetapan",
|
||||
"cmd.settings_profile_export": "Eksport Profil Tetapan",
|
||||
"cmd.settings_profile_import": "Import Profil Tetapan",
|
||||
"cmd.settings_profile_list": "Profil Tetapan",
|
||||
"cmd.settings_profile_rename": "Tukar Nama Profil Tetapan",
|
||||
"cmd.settings_profile_save": "Simpan Profil Tetapan",
|
||||
"cmd.sheet_convert": "Tukar kepada Logam Kepingan",
|
||||
"cmd.sheet_export_bend_table": "Eksport Jadual Lenturan",
|
||||
"cmd.sheet_export_dxf": "Eksport Bentangan Rata sebagai DXF",
|
||||
@@ -1070,6 +1098,16 @@
|
||||
"cmd.sheet_refold": "Lipat Semula",
|
||||
"cmd.sheet_rules": "Senarai Peraturan Logam Kepingan",
|
||||
"cmd.sheet_unfold": "Buka Lipatan",
|
||||
"cmd.sketch.construction_line": "Garis binaan",
|
||||
"cmd.sketch.construction_line.angle": "Garis binaan bersudut",
|
||||
"cmd.sketch.construction_line.bisector": "Pembahagi dua sudut",
|
||||
"cmd.sketch.construction_line.horizontal": "Garis binaan mendatar",
|
||||
"cmd.sketch.construction_line.parallel": "Garis binaan selari",
|
||||
"cmd.sketch.construction_line.perpendicular": "Garis binaan serenjang",
|
||||
"cmd.sketch.construction_line.tangent_at": "Tangen pada titik lengkung",
|
||||
"cmd.sketch.construction_line.tangent_external": "Tangen melalui titik luar",
|
||||
"cmd.sketch.construction_line.tangent_two": "Tangen sepunya",
|
||||
"cmd.sketch.construction_line.vertical": "Garis binaan menegak",
|
||||
"cmd.sketch_arc3d": "Lengkok 3D",
|
||||
"cmd.sketch_arc_center_point": "Lengkok Titik Pusat",
|
||||
"cmd.sketch_arc_tangent": "Lengkok Tangen",
|
||||
@@ -1102,6 +1140,8 @@
|
||||
"cmd.sketch_drawing_bounds": "Saiz Lukisan",
|
||||
"cmd.sketch_edit": "Sunting Lakaran",
|
||||
"cmd.sketch_edit_text": "Sunting Teks",
|
||||
"cmd.sketch_equation_curve": "Lengkung Persamaan",
|
||||
"cmd.sketch_equation_curve_edit": "Sunting Lengkung Persamaan",
|
||||
"cmd.sketch_export_dxf": "Simpan sebagai DXF",
|
||||
"cmd.sketch_finish_auto_constrain": "Tamatkan dengan Kekangan Automatik",
|
||||
"cmd.sketch_fit_curves_to_section": "Padankan Lengkung pada Keratan Mesh",
|
||||
@@ -1198,6 +1238,7 @@
|
||||
"cmd.view.render_browser": "Pelayar Render",
|
||||
"cmd.view.render_dock": "Alih Dok Render",
|
||||
"cmd.view.render_focus": "Pandangan Fokus Render",
|
||||
"cmd.view.status_items": "Item Status Tetingkap Pandangan",
|
||||
"cmd.view_ambient_occlusion": "Oklusi Ambien",
|
||||
"cmd.view_angle_readout": "Sudut Pandangan",
|
||||
"cmd.view_apply": "Pulihkan Pandangan",
|
||||
@@ -1219,6 +1260,7 @@
|
||||
"cmd.view_normal_to": "Normal pada Pilihan",
|
||||
"cmd.view_previous_tab": "Tab Sebelumnya",
|
||||
"cmd.view_rename": "Tukar Nama Pandangan",
|
||||
"cmd.view_render_frame": "Panduan Bingkai Render",
|
||||
"cmd.view_right": "Pandangan Kanan",
|
||||
"cmd.view_save": "Simpan Pandangan",
|
||||
"cmd.view_shots_strip": "Jalur Syot",
|
||||
@@ -1229,10 +1271,14 @@
|
||||
"color.copy": "Klik untuk menyalin nilai warna",
|
||||
"color.edit": "Klik untuk menyunting warna",
|
||||
"color.gamma": "Memaparkan nilai warna dalam ruang gamma 0-255",
|
||||
"color.hex": "Heks",
|
||||
"color.hex_help": "Masukkan #rrggbb atau #rrggbbaa; enam digit mengekalkan kelegapan",
|
||||
"color.hex_hint": "#rrggbb",
|
||||
"color.hue": "Rona",
|
||||
"color.linear": "Memaparkan nilai warna dalam ruang linear 0-1",
|
||||
"color.saturation_value": "Ketepuan dan nilai",
|
||||
"color.selected": "Warna dipilih",
|
||||
"config.column_filter_empty": "Tiada lajur yang sepadan",
|
||||
"contact.components_count": "{count} komponen",
|
||||
"contact.enabled_label": "diaktifkan",
|
||||
"coupling.gear_1": "Gear 1",
|
||||
@@ -1346,8 +1392,10 @@
|
||||
"help.material.assign": "Menetapkan bahan jasad yang dipilih, seperti keluli, aluminium atau ABS. Gunakan supaya jisim dan berat sepadan dengan bahagian sebenar.",
|
||||
"help.mit": "Lesen MIT",
|
||||
"help.notice": "NOTIS",
|
||||
"help.occurrence.move": "Mengalihkan bahagian pemasangan hanya mengikut kebebasan yang dibenarkan oleh sendinya. Pilih muka bahagian, kemudian seret anak panah atau lengkok yang tersedia.",
|
||||
"help.parameters.change": "Membuka jadual nilai dan ungkapan bernama yang memacu dimensi reka bentuk. Gunakan untuk menukar saiz di satu tempat dan membiarkan setiap ciri yang menggunakannya mengikut.",
|
||||
"help.pointcloud.insert": "Sisipkan imbasan PLY, XYZ atau PTS sebagai awan titik di samping model. Gunakannya sebagai rujukan semasa membina model daripada data yang diukur.",
|
||||
"help.sketch.equation_curve": "Melukis lengkung daripada formula: x(t) dan y(t), atau y = f(x), dalam satu julat. Formula boleh menggunakan parameter dan lengkung akan mengikutinya: gunakannya untuk gelombang sinus, lingkaran atau involut gigi gear.",
|
||||
"help.solid.align": "Mengalihkan jasad yang dipilih supaya satu titik, muka atau satah padanya bertemu satu titik, muka atau satah di tempat lain. Gunakan untuk meletakkan satu bahagian pada bahagian lain tanpa mengukur ofset.",
|
||||
"help.solid.chamfer": "Memotong tepi yang dipilih dengan potongan serong rata sejauh jarak yang anda tetapkan. Gunakan untuk menumpulkan tepi tajam atau memudahkan kemasukan pin atau skru.",
|
||||
"help.solid.combine": "Mencantum jasad, memotongnya daripada jasad sasaran, atau hanya mengekalkan isi padu yang dikongsi, dan boleh mengekalkan jasad alat. Gunakan untuk menggabungkan bahagian, memotong satu bentuk dengan bentuk lain atau mencari tempat dua jasad bertindih.",
|
||||
@@ -1474,6 +1522,21 @@
|
||||
"joint.one_component": "Jasad ini dalam satu komponen: {bodies}. Sendi menggerakkan satu komponen berbanding yang lain, jadi setiap bahagian perlu komponen sendiri.",
|
||||
"joint.rigid_group_one_component": "{count} jasad ini semuanya berada dalam satu komponen (atau dalam reka bentuk itu sendiri): gunakan {command} dahulu.",
|
||||
"joint.rigid_group_select_components": "Pilih dua atau lebih komponen.",
|
||||
"joint_move.blocked_hint": "Semak jenis sendi (seperti Tegar), status tetap, had sendi dan nilai yang dipacu parameter.",
|
||||
"joint_move.blocked_title": "Tidak dapat mengalihkan bahagian ini",
|
||||
"joint_move.coarse": "Langkah putaran dekat paksi (°)",
|
||||
"joint_move.distance": "Jarak dari mula",
|
||||
"joint_move.done": "Selesai",
|
||||
"joint_move.fine": "Langkah putaran jauh dari paksi (°)",
|
||||
"joint_move.fixed": "Bahagian ini tiada paksi sendi yang boleh digerakkan.",
|
||||
"joint_move.help": "Alih — seret anak panah atau gelang. Esc membatalkan seretan semasa.",
|
||||
"joint_move.legacy_hint": "Matikan untuk menggunakan panel Alih sebelumnya.",
|
||||
"joint_move.precision": "Tarik ke luar panduan putus-putus untuk putaran halus.",
|
||||
"joint_move.rotation": "Putaran dari mula",
|
||||
"joint_move.select": "Pilih muka atau satu bahagian pemasangan, kemudian pilih Alih.",
|
||||
"joint_move.settings": "Alih Pemasangan",
|
||||
"joint_move.step": "Langkah",
|
||||
"joint_move.use_handles": "Gunakan pemegang gerakan sendi untuk Alih pemasangan",
|
||||
"keymap.command_id": "ID Arahan",
|
||||
"keymap.empty": "Tiada arahan yang sepadan",
|
||||
"keymap.use_anyway": "Guna {key} di sini juga",
|
||||
@@ -1568,6 +1631,8 @@
|
||||
"nav.maya.help": "Alt+seret kiri mengorbit, Alt+seret tengah menyorot, Alt+seret kanan menzum; seret tengah juga menyorot",
|
||||
"nav.openscad.help": "Seret kiri pada ruang kosong mengorbit, Shift+seret kiri memilih dengan kotak, seretan geometri lakaran menyunting; seret kanan atau tengah menyorot, Shift+seret kanan atau Shift+seret tengah menzum",
|
||||
"nav.perspective.sketch": "Penyuntingan lakaran menggunakan pandangan ortografik. Siapkan lakaran untuk bertukar ke perspektif.",
|
||||
"nav.right_drag_orbits.help": "Mati: seret kanan tidak menggerakkan kamera dan butang kanan hanya membuka menu konteks. Memilih pemetaan tetikus SolidWorks akan mematikannya.",
|
||||
"nav.right_drag_orbits.label": "Seret kanan mengorbit",
|
||||
"nav.solidworks.help": "Seret tengah mengorbit, Ctrl+tengah menyorot, Shift+tengah menzum, seret kanan mengorbit",
|
||||
"nav.tinkercad.help": "Seret kanan mengorbit, seret tengah atau Shift+seret kanan menyorot",
|
||||
"nav.touchpad.help": "Tahan Shift dan gerakkan kursor untuk sorot; Alt/Option untuk orbit. Tidak perlu butang tetikus. Tatal menegak untuk zum.",
|
||||
@@ -1589,6 +1654,9 @@
|
||||
"navbar.custom.customise": "Sesuaikan bar navigasi…",
|
||||
"navbar.custom.design": "Reka",
|
||||
"navbar.custom.duplicate": "Slot ini sudah ada pada bar.",
|
||||
"navbar.custom.edge": "Tepi",
|
||||
"navbar.custom.edge_bottom": "Bawah",
|
||||
"navbar.custom.edge_top": "Atas",
|
||||
"navbar.custom.fade": "Pudar",
|
||||
"navbar.custom.full": "Buang satu slot untuk menambah yang lain.",
|
||||
"navbar.custom.hidden_design": "Disembunyikan dalam Reka",
|
||||
@@ -1695,6 +1763,7 @@
|
||||
"parts.dimension.thickness": "Ketebalan",
|
||||
"parts.dimension.width": "Lebar",
|
||||
"parts.family.bearing": "Galas bebola alur dalam (sampul)",
|
||||
"parts.family.button_head_cap_screw": "Skru kepala butang",
|
||||
"parts.family.dowel_pin": "Pin selari (dowel)",
|
||||
"parts.family.hex_bolt": "Bolt / skru kepala heks",
|
||||
"parts.family.hex_nut": "Nat heks",
|
||||
@@ -1751,6 +1820,9 @@
|
||||
"prefs.bottom_centre": "Bawah tengah",
|
||||
"prefs.bottom_right": "Bawah kanan",
|
||||
"prefs.browser": "Pelayar",
|
||||
"prefs.browser_reveal_on_hover": "Muncul apabila dilalui kursor",
|
||||
"prefs.browser_show_note": "Dipaparkan mengekalkan pelayar pada skrin. Muncul apabila dilalui kursor menyembunyikannya sehingga penuding berada di atas tempatnya atau tab nipis di tepi kirinya, dan ia kekal terbuka selagi penuding berada di dalamnya atau menu daripadanya terbuka.",
|
||||
"prefs.browser_shown": "Dipaparkan",
|
||||
"prefs.built_in": "Terbina dalam",
|
||||
"prefs.button_left": "Seret kiri",
|
||||
"prefs.button_middle": "Seret tengah",
|
||||
@@ -1821,6 +1893,8 @@
|
||||
"prefs.layout_note": "Padat melabuhkan panel pada tepi tetingkap. Kelutsinaran pelayar tersedia dalam Terapung. Tukar sisi Pembantu pada halaman Pembantu.",
|
||||
"prefs.left": "Kiri",
|
||||
"prefs.left_click": "Klik kiri",
|
||||
"prefs.line_drag_draws_one": "Tekan dan seret melukis satu garis",
|
||||
"prefs.line_drag_draws_one_note": "Dalam alat Garis, menekan, menyeret dan melepaskan melukis satu garis dari titik tekan hingga titik lepas, dan ia tamat di situ. Klik masih melukis rantaian. Mati: seretan meletakkan titik di tempat ia dilepaskan, seperti klik.",
|
||||
"prefs.linked_designs": "Reka bentuk terpaut",
|
||||
"prefs.live_input": "Input langsung",
|
||||
"prefs.live_preview": "Pratonton langsung",
|
||||
@@ -1853,14 +1927,36 @@
|
||||
"prefs.origin_plane_names": "Nama satah asal",
|
||||
"prefs.origin_plane_names_note": "Nama yang dipaparkan dalam pelayar, dialog dan senarai. {top} ialah XY, {front} ialah XZ dan {right} ialah YZ, dengan Z ke atas. Arahan, skrip dan reka bentuk yang disimpan kekal menggunakan XY, XZ dan YZ.",
|
||||
"prefs.overall_speed": "Kelajuan keseluruhan",
|
||||
"prefs.perspective_fov": "Medan pandangan",
|
||||
"prefs.placement": "Penempatan",
|
||||
"prefs.prefer_free_sketch_points": "Utamakan titik lakaran yang boleh digerakkan apabila titik bertindih",
|
||||
"prefs.preview_choices": "Pratonton pilihan anda",
|
||||
"prefs.profile_active": "Profil aktif",
|
||||
"prefs.profile_applied": "Profil digunakan.",
|
||||
"prefs.profile_changed": "Tetapan telah berubah sejak profil disimpan. Simpan mengekalkannya dalam profil.",
|
||||
"prefs.profile_deleted": "Profil dipadam.",
|
||||
"prefs.profile_export": "Eksport…",
|
||||
"prefs.profile_exported": "Profil dieksport.",
|
||||
"prefs.profile_imported": "Profil diimport. Pilihnya di bawah Profil aktif untuk beralih kepadanya.",
|
||||
"prefs.profile_name_hint": "Nama profil, cth. Laptop",
|
||||
"prefs.profile_rename": "Tukar nama",
|
||||
"prefs.profile_renamed": "Nama profil ditukar.",
|
||||
"prefs.profile_save": "Simpan",
|
||||
"prefs.profile_saved": "Tetapan semasa disimpan ke profil.",
|
||||
"prefs.profile_skipped": "Profil digunakan; {n} tetapan mengekalkan nilai semasanya (lihat log).",
|
||||
"prefs.profiles": "Profil tetapan",
|
||||
"prefs.profiles_note": "Pintasan, bar alat, navigasi, menu jejarian dan tetapan antara muka, disimpan bersama di bawah satu nama dan ditukar sekali gus.",
|
||||
"prefs.project_options_dialog": "Dialog pilihan Unjur",
|
||||
"prefs.project_options_dialog_note": "Hidup: pilih Geometri atau Jasad dan Pautan Unjuran sebelum mengunjur. Mati: kekalkan aliran kerja pilih terus sebelumnya.",
|
||||
"prefs.quality_default": "lalai",
|
||||
"prefs.quality_fastest": "terpantas",
|
||||
"prefs.quality_slowest": "terperlahan",
|
||||
"prefs.quality_smoother": "lebih licin",
|
||||
"prefs.render_previous_geometry_budget": "Gunakan bajet geometri pratonton Render sebelumnya",
|
||||
"prefs.render_previous_geometry_budget_help": "Pulihkan had geometri tetap sebelumnya (512 MiB pada desktop 64-bit, 128 MiB di tempat lain) dan bukannya bajet berdasarkan peranti.",
|
||||
"prefs.reports_saved": "{n} disimpan",
|
||||
"prefs.ribbon_reveal": "Tunjukkan hasil carian dalam reben",
|
||||
"prefs.ribbon_reveal_note": "Melalukan kursor pada hasil dalam Cari arahan menunjukkan kedudukan arahan itu dalam reben: tabnya, butangnya atau barisnya dalam senarai juntai sesuatu panel. Arahan yang dimulakan daripada carian berkelip di situ, dan arahan yang sedang berjalan daripada senarai juntai menandakan panelnya.",
|
||||
"prefs.right_click": "Klik kanan",
|
||||
"prefs.saving": "Simpan auto dan pemulihan",
|
||||
"prefs.scale_note": "Juga Ctrl + / Ctrl − dalam tetingkap. Butang ialah 28 px pada 100%.",
|
||||
@@ -1874,6 +1970,10 @@
|
||||
"prefs.shift_add_ctrl_toggle": "Shift hanya menambah; Ctrl / Cmd menogol",
|
||||
"prefs.shift_add_note": "Dihidupkan: Shift menambah, Ctrl / Cmd menogol. Dimatikan (lalai): kedua-duanya menogol.",
|
||||
"prefs.shortcuts": "Pintasan",
|
||||
"prefs.single_surface_analysis": "Gunakan satu analisis permukaan sahaja",
|
||||
"prefs.single_surface_analysis_help": "Apabila dimatikan, lorekan permukaan dan Keselanjaran boleh kekal hidup bersama. Menghidupkan pilihan ini mengekalkan analisis terakhir yang dimulakan atau diubah.",
|
||||
"prefs.sketch_align_points": "Selaraskan dengan titik lakaran lain semasa melukis",
|
||||
"prefs.sketch_align_points_note": "Semasa melukis, titik diselaraskan secara mendatar dengan satu titik lakaran dan secara menegak dengan titik lain pada masa yang sama, dengan panduan bertitik, dan klik mengekalkan kedua-dua penjajaran. Mati: hanya dengan titik sebelumnya, satu paksi pada satu masa.",
|
||||
"prefs.sketch_conflict_colour": "Geometri bercanggah dalam warna percanggahan",
|
||||
"prefs.sketch_conflict_colour_note": "Apabila kekangan lakaran bercanggah, lengkung dan titik yang dipegang oleh kekangan yang gagal turut dilukis dalam warna percanggahan, bukan sahaja glifnya atau dimensinya. Mati: ia mengekalkan warna biasa.",
|
||||
"prefs.sketch_exit_view": "Apabila lakaran tamat",
|
||||
@@ -1881,6 +1981,8 @@
|
||||
"prefs.sketch_exit_view.previous": "Kembali ke pandangan sebelumnya",
|
||||
"prefs.sketch_exit_view.unless_rotated": "Kembali melainkan diputar",
|
||||
"prefs.sketch_exit_view_note": "Ke mana pandangan beralih selepas Siap Lakaran, Batal atau Esc dua kali.",
|
||||
"prefs.sketch_recent_snap": "Lekap auto pada pusat dan titik tengah terkini",
|
||||
"prefs.sketch_recent_snap_note": "Semasa melukis, kursor melekap pada titik persilangan panduan daripada dua pusat bulatan atau titik tengah tepi lurus yang terkini. Mati: panduan itu hanya untuk paparan dan kursor tidak bergerak.",
|
||||
"prefs.sketch_selection": "Lakaran & pilihan",
|
||||
"prefs.sketch_selection_heading": "Lakaran dan pilihan",
|
||||
"prefs.sketch_selection_note": "Cara lakaran melekap dan cara klik memilih.",
|
||||
@@ -1918,7 +2020,14 @@
|
||||
"prefs.toast_place": "Notis",
|
||||
"prefs.toggle_item": "Tambah item, atau keluarkannya semula",
|
||||
"prefs.toolbar": "Bar alat",
|
||||
"prefs.toolbar_tabs": "Tab bar alat",
|
||||
"prefs.top": "Atas",
|
||||
"prefs.trackpad_zoom_modifier": "Zum dengan tatal dua jari sambil menahan",
|
||||
"prefs.trackpad_zoom_modifier.alt": "⌥ / Alt",
|
||||
"prefs.trackpad_zoom_modifier.cmd": "⌘",
|
||||
"prefs.trackpad_zoom_modifier.ctrl": "Ctrl",
|
||||
"prefs.trackpad_zoom_modifier.help": "Tahan kekunci ini sahaja untuk zum pada penuding dengan tatal menegak. Mati mengekalkan kelakuan tatal sedia ada.",
|
||||
"prefs.trackpad_zoom_modifier.off": "Mati",
|
||||
"prefs.translucent": "Lut sinar",
|
||||
"prefs.under_browser": "Di bawah pelayar",
|
||||
"prefs.under_cursor": "Di bawah kursor",
|
||||
@@ -1928,9 +2037,14 @@
|
||||
"prefs.view_confirm_corner": "OK dan Batal di sudut pandangan",
|
||||
"prefs.view_confirm_corner_note": "Semasa dialog atau lakaran dibuka, tanda semak dan tanda silang di bahagian kanan atas pandangan melakukan apa yang dilakukan OK dan Batal dialog, atau menyiapkan dan membatalkan lakaran. Navigator pandangan bergerak ke bawah di bawahnya.",
|
||||
"prefs.viewport": "Tetingkap pandangan",
|
||||
"prefs.viewport_background": "Latar belakang",
|
||||
"prefs.viewport_background_colour": "Warna",
|
||||
"prefs.viewport_background_theme": "Kecerunan tema",
|
||||
"prefs.wheel": "Roda",
|
||||
"prefs.wheel_trackpad": "Roda dan pad jejak",
|
||||
"prefs.workspace": "Ruang kerja",
|
||||
"prefs.zoom_stop_at_model": "Hentikan zum pada model",
|
||||
"prefs.zoom_stop_at_model_tip": "Tetikus 3D dan apl peranti mengezum ke arah permukaan di tengah pandangan; zum seret mengekalkan titik tempat seretan bermula. Mati: zum boleh menembusi model. Roda dan cubit menggunakan Zum ke kursor secara berasingan",
|
||||
"prefs.zoom_toward_cursor": "Zum ke arah kursor",
|
||||
"properties.title": "Sifat: {name}",
|
||||
"recovery.days_ago": "{count} hari lalu",
|
||||
@@ -2019,6 +2133,7 @@
|
||||
"render.appearance_editor.weight": "Pemberat",
|
||||
"render.appearance_physics_separate": "Penampilan visual tidak menetapkan ketumpatan, data terma atau sifat kejuruteraan lain.",
|
||||
"render.appearances": "Penampilan",
|
||||
"render.assign_help": "Klik untuk menggunakan pada pilihan; seret untuk pratonton dan lepaskan, atau klik tanpa apa-apa dipilih untuk mengecat.",
|
||||
"render.availability_native": "Gubahan asli; semak sebelum menggunakan",
|
||||
"render.availability_projection": "Unjuran disokong; lihat skop dan perkara yang ditinggalkan",
|
||||
"render.availability_reference": "Data rujukan; bukan penetapan automatik",
|
||||
@@ -2057,6 +2172,7 @@
|
||||
"render.bloom_threshold": "Ambang serlahan linear",
|
||||
"render.browse_capabilities": "Periksa katalog keupayaan lengkap",
|
||||
"render.browse_environments": "Semak imbas persekitaran HDR asal",
|
||||
"render.browse_looks": "Semak imbas…",
|
||||
"render.browse_native_scenes": "Semak imbas studio asli",
|
||||
"render.browse_physical": "Periksa rujukan fizikal",
|
||||
"render.browse_quality": "Periksa spesifikasi kualiti",
|
||||
@@ -2080,6 +2196,82 @@
|
||||
"render.check_opaque": "Ketelusan: permukaan legap sahaja; alfa latar belakang disokong.",
|
||||
"render.check_sorted_alpha": "Ketelusan: penghampiran alfa tersusun.",
|
||||
"render.check_transmission": "Ketelusan: transmisi fizikal.",
|
||||
"render.children.absolute_floor": "Had bawah mutlak",
|
||||
"render.children.adaptive": "Adaptif",
|
||||
"render.children.add_look_reason": "Tambah gaya untuk menyunting status aktif dan kekuatannya.",
|
||||
"render.children.all_shots": "Semua syot",
|
||||
"render.children.bloom": "Bloom",
|
||||
"render.children.check": "Semak",
|
||||
"render.children.check_now": "Semak sekarang",
|
||||
"render.children.chromatic": "Kromatik",
|
||||
"render.children.compact": "Padat",
|
||||
"render.children.contrast": "Kontras",
|
||||
"render.children.copy_image": "Salin",
|
||||
"render.children.copy_job": "Salin JSON kerja",
|
||||
"render.children.copy_request": "Salin JSON permintaan",
|
||||
"render.children.coverage_error": "Ralat liputan",
|
||||
"render.children.cpu": "Penjejakan sinar CPU",
|
||||
"render.children.denoise": "Kurangkan hingar dalam imej siap",
|
||||
"render.children.depth": "Kedalaman laluan",
|
||||
"render.children.distortion": "Herotan",
|
||||
"render.children.edge_samples": "Sampel tepi",
|
||||
"render.children.effects_banner": "Kesan ini memerlukan penjejakan laluan GPU. Membuka bahagian ini tidak pernah mengubah kaedah.",
|
||||
"render.children.enable_adaptive": "Aktifkan perintis bebas untuk menyunting had adaptif.",
|
||||
"render.children.enable_bloom": "Aktifkan bloom untuk menyunting kekuatan, ambang dan jejarinya.",
|
||||
"render.children.finishing": "Kemasan",
|
||||
"render.children.flare": "Kilau",
|
||||
"render.children.fresnel": "Strata Fresnel",
|
||||
"render.children.ghosts": "Cincin bayang",
|
||||
"render.children.glass": "Pengangkutan kaca",
|
||||
"render.children.go_to": "Pergi ke {editor}",
|
||||
"render.children.grain": "Bijian",
|
||||
"render.children.halo": "Halo",
|
||||
"render.children.hdr": "HDR",
|
||||
"render.children.keep_master": "Kekalkan induk linear mentah",
|
||||
"render.children.last_result": "Terakhir: {number} · {width} × {height} · {phase}",
|
||||
"render.children.lens_effects": "Kesan kanta",
|
||||
"render.children.look_summary": "{tone} · {count} gaya",
|
||||
"render.children.looks": "Gaya kreatif",
|
||||
"render.children.memory": "Memori",
|
||||
"render.children.method": "Kaedah",
|
||||
"render.children.minimum": "Minimum",
|
||||
"render.children.needs_cpu": "Memerlukan penjejakan sinar CPU. Membuka bahagian ini tidak pernah mengubah kaedah.",
|
||||
"render.children.nested": "Dielektrik bersarang yang disahkan",
|
||||
"render.children.not_checked": "Belum disemak",
|
||||
"render.children.path": "Penjejakan laluan",
|
||||
"render.children.pilots": "Sampel perintis",
|
||||
"render.children.preview": "Muatan pratonton",
|
||||
"render.children.progressive_reason": "Pilih Progresif untuk menyunting bilangan sampel dan benihnya.",
|
||||
"render.children.radius": "Jejari",
|
||||
"render.children.reflect_depth": "Kedalaman pantulan",
|
||||
"render.children.reflect_samples": "Sampel pantulan",
|
||||
"render.children.regrade": "Gred semula warna",
|
||||
"render.children.relative_error": "Ralat relatif",
|
||||
"render.children.render": "Render",
|
||||
"render.children.render_shot": "Render syot",
|
||||
"render.children.renderer": "Enjin render",
|
||||
"render.children.renderers": "Enjin render",
|
||||
"render.children.request": "Permintaan ini",
|
||||
"render.children.reset_finishing": "Set semula kemasan",
|
||||
"render.children.review_quality": "Semak spesifikasi kualiti…",
|
||||
"render.children.rgb_gain": "Gandaan RGB",
|
||||
"render.children.samples": "Sampel",
|
||||
"render.children.sampling": "Pensampelan",
|
||||
"render.children.saturation": "Ketepuan",
|
||||
"render.children.scene_summary": "{bodies} jasad · {triangles} segi tiga",
|
||||
"render.children.seed": "Benih",
|
||||
"render.children.sharpening": "Penajaman",
|
||||
"render.children.single_image": "Imej tunggal",
|
||||
"render.children.soft_focus": "Fokus lembut",
|
||||
"render.children.streak": "Alur",
|
||||
"render.children.strength": "Kekuatan",
|
||||
"render.children.studio": "Studio",
|
||||
"render.children.threshold": "Ambang",
|
||||
"render.children.tone": "Ton",
|
||||
"render.children.under_hood": "Di sebalik tabir",
|
||||
"render.children.vignette": "Vinyet",
|
||||
"render.children.workstation": "Stesen kerja",
|
||||
"render.choose_look": "Pilih gaya dalam Penampilan dahulu",
|
||||
"render.chromatic_offset": "Ofset tepi kromatik",
|
||||
"render.clear_stage": "Buang pentas yang disimpan",
|
||||
"render.copy_request": "Salin JSON",
|
||||
@@ -2331,8 +2523,33 @@
|
||||
"render.flare_strength": "Kekuatan kilau bahagian terang",
|
||||
"render.flare_threshold": "Ambang kilau linear adegan",
|
||||
"render.fold_browser": "Ringkaskan Pelayar",
|
||||
"render.frame_aspect": "Nisbah aspek",
|
||||
"render.frame_centre_mark": "Tanda pusat",
|
||||
"render.frame_copy_limit": "Tiada nama syot pendua yang tersedia",
|
||||
"render.frame_copy_name": "{name} salinan {number}",
|
||||
"render.frame_custom": "Tersuai",
|
||||
"render.frame_distance_unit": " × saiz",
|
||||
"render.frame_duplicate": "Gandakan",
|
||||
"render.frame_exposure": "Pendedahan",
|
||||
"render.frame_fov": "Medan pandangan",
|
||||
"render.frame_guides": "Panduan",
|
||||
"render.frame_invalid_aspect": "Pratetap nisbah aspek tidak sah",
|
||||
"render.frame_lens": "FOV {fov}° · ≈ {mm} mm",
|
||||
"render.frame_name": "Nama",
|
||||
"render.frame_output_size": "Saiz keluaran",
|
||||
"render.frame_photo": "3:2 · Foto",
|
||||
"render.frame_portrait": "4:5 · Potret",
|
||||
"render.frame_presets": "Pratetap bingkai",
|
||||
"render.frame_presets_pending": "Akan hadir bersama penyunting Syot",
|
||||
"render.frame_projection": "Unjuran",
|
||||
"render.frame_render_shot": "Render syot ini",
|
||||
"render.frame_rule_thirds": "Peraturan satu pertiga",
|
||||
"render.frame_safe_area": "Kawasan selamat",
|
||||
"render.frame_shot_title": "Syot · {name}",
|
||||
"render.frame_square": "1:1 · Segi empat sama",
|
||||
"render.frame_tall": "9:16 · Menegak",
|
||||
"render.frame_thirds": "Pertiga",
|
||||
"render.frame_wide": "16:9 · Skrin lebar",
|
||||
"render.gpu_depth": "Kedalaman laluan maksimum",
|
||||
"render.gpu_options_help": "Sampel, kedalaman, benih dan pendedahan disimpan bersama persediaan ini. Hanya kaedah imej yang aktif disimpan.",
|
||||
"render.gpu_path_failed": "Penjejak laluan GPU tidak tersedia",
|
||||
@@ -2360,6 +2577,7 @@
|
||||
"render.heading_results": "HASIL",
|
||||
"render.heading_shots": "SYOT",
|
||||
"render.hide_shots_label": "Sembunyi jalur Syot",
|
||||
"render.hover_look": "{object} · {look} · klik untuk memilih",
|
||||
"render.image_advanced": "Kawalan GPU lanjutan",
|
||||
"render.image_cancelled": "Render dibatalkan",
|
||||
"render.image_cancelling": "Membatalkan",
|
||||
@@ -2506,17 +2724,95 @@
|
||||
"render.library_uniform_ack": "Guna penghampiran seragam tanpa kesan ruang atau lanjutan",
|
||||
"render.library_usable": "Unjuran boleh laku",
|
||||
"render.library_users": "Digunakan oleh",
|
||||
"render.light_aim": "Halakan ke",
|
||||
"render.light_anchor_pending": "Menukar rangka koordinat lampu belum disokong lagi.",
|
||||
"render.light_azimuth": "Azimut",
|
||||
"render.light_backend_limit": "Pilih penjejakan sinar CPU atau studio GPU eksplisit untuk menyunting lampu. Lampu studio GPU lama kekal baca sahaja.",
|
||||
"render.light_behaviour": "KELAKUAN",
|
||||
"render.light_default_fill": "Pengisi",
|
||||
"render.light_default_key": "Utama",
|
||||
"render.light_default_number": "Lampu {number}",
|
||||
"render.light_default_rim": "Pinggir",
|
||||
"render.light_delete": "Padam",
|
||||
"render.light_distance": "Jarak",
|
||||
"render.light_duplicate": "Gandakan",
|
||||
"render.light_elevation": "Elevasi",
|
||||
"render.light_gpu_punctual": "Lampu Titik dan Lampu Sorot tersedia dengan penjejakan sinar CPU.",
|
||||
"render.light_hard_shadow": "Lampu ini mempunyai bayang keras; kelembutan pemancar tidak tersedia.",
|
||||
"render.light_intensity": "Keamatan",
|
||||
"render.light_missing": "Lampu ini tidak lagi wujud. Pilih lampu dalam Pelayar.",
|
||||
"render.light_place_highlight": "Letak mengikut serlahan",
|
||||
"render.light_place_pending": "Peletakan mengikut serlahan memerlukan pemilihan lampu dalam tetingkap pandangan dan belum disokong.",
|
||||
"render.light_position": "KEDUDUKAN",
|
||||
"render.light_preview_help": "Paparan langsung tidak berbayang; lampu Kawasan menggunakan penghampiran sampel pusat. Render menggunakan model lampu yang lengkap.",
|
||||
"render.light_product_centre": "Pusat produk",
|
||||
"render.light_size": "Saiz",
|
||||
"render.light_softness": "Kelembutan",
|
||||
"render.light_temperature": "Suhu warna",
|
||||
"render.light_temperature_help": "Anggaran rona jasad hitam; disimpan sebagai RGB linear.",
|
||||
"render.light_type": "Jenis",
|
||||
"render.light_type_area": "Kawasan",
|
||||
"render.light_type_point": "Titik",
|
||||
"render.light_type_spot": "Lampu sorot",
|
||||
"render.light_type_sun": "Matahari",
|
||||
"render.light_view_only": "Solo dan senyap mempengaruhi pandangan ini dan rendernya; ia tidak pernah disimpan dalam reka bentuk.",
|
||||
"render.light_world_origin": "Titik asal dunia",
|
||||
"render.lighting_aim_point": "Titik halaan",
|
||||
"render.lighting_apply": "Gunakan pratetap",
|
||||
"render.lighting_area_samples": "Sampel kawasan",
|
||||
"render.lighting_budget": "Bajet",
|
||||
"render.lighting_budget_help": "Bilangan adalah baca sahaja. Tambah, gandakan atau padam lampu untuk mengubahnya; kaedah menetapkan hadnya.",
|
||||
"render.lighting_colour": "Warna",
|
||||
"render.lighting_consent": "Gantikan lampu berarah dengan pratetap ini",
|
||||
"render.lighting_custom": "Lampu tersuai",
|
||||
"render.lighting_custom_help": "Memilih Tersuai menukar pratetap menjadi lampu yang boleh disunting, satu baris bagi setiap lampu dalam pepohon.",
|
||||
"render.lighting_direction": "Arah X Y Z",
|
||||
"render.lighting_direction_help": "Atau taip arah menuju lampu (X Y Z).",
|
||||
"render.lighting_distance_unit": " × saiz",
|
||||
"render.lighting_edge_u": "Vektor sisi U",
|
||||
"render.lighting_edge_v": "Vektor sisi V",
|
||||
"render.lighting_falloff": "Pelemahan",
|
||||
"render.lighting_falloff_help": "Keamatan dinyatakan pada jarak rujukan.",
|
||||
"render.lighting_height": "Ketinggian V",
|
||||
"render.lighting_minimum": "Minimum",
|
||||
"render.lighting_mute": "Senyapkan lampu ini",
|
||||
"render.lighting_point": "Titik",
|
||||
"render.lighting_preset": "Pratetap studio",
|
||||
"render.lighting_preset_cpu": "Pratetap studio berarah memerlukan penjejakan sinar CPU. Pencahayaan GPU menggunakan lampu Matahari dan Kawasan yang eksplisit.",
|
||||
"render.lighting_preset_row": "Pratetap",
|
||||
"render.lighting_radiance": "Radians",
|
||||
"render.lighting_reference": "Rujukan",
|
||||
"render.lighting_review_help": "Menggantikan senarai lampu berarah. Mengekalkan lampu titik dan kawasan, persekitaran, bayang, kamera dan semua tetapan syot yang lain.",
|
||||
"render.lighting_review_title": "Semak pratetap pencahayaan",
|
||||
"render.lighting_samples_cpu": "Sampel lampu kawasan terpakai pada penjejakan sinar CPU.",
|
||||
"render.lighting_samples_need_area": "Tambah lampu kawasan CPU untuk menetapkan sampel kawasan.",
|
||||
"render.lighting_samples_reason": "Sampel kawasan mestilah 1, 4, 16 atau 64.",
|
||||
"render.lighting_shadow_cpu": "Suis bayang memerlukan penjejakan sinar CPU. Penjejakan laluan GPU sentiasa menghasilkan bayang.",
|
||||
"render.lighting_shadows": "Hasilkan bayang",
|
||||
"render.lighting_shadows_section": "Bayang dan pensampelan",
|
||||
"render.lighting_shape": "Bentuk",
|
||||
"render.lighting_solo": "Solokan lampu ini",
|
||||
"render.lighting_source": "Sumber",
|
||||
"render.lighting_source_section": "Sumber cahaya",
|
||||
"render.lighting_spot_preserved": "Lampu titik ini mengekalkan kon lampu sorot yang disimpan sehingga jenisnya ditukar.",
|
||||
"render.lighting_sun_distance": "Arah matahari tidak bergantung pada jarak dan titik halaan.",
|
||||
"render.lighting_unsupported": "tidak disokong",
|
||||
"render.lighting_used": "{used} daripada {limit}",
|
||||
"render.lighting_width": "Lebar U",
|
||||
"render.lighting_world_position": "Dunia X Y Z",
|
||||
"render.lights_fixed_to": "Lampu tetap pada",
|
||||
"render.linear_help": "Menyimpan induk RGBA titik apungan 32-bit sebelum penyahhingaran, dedahan, pemetaan ton, penapis dan latar. sRGB linear/D65; didarab awal dengan liputan. Memori tambahan dibenarkan secara jelas. Tiada mampatan atau lintasan tambahan.",
|
||||
"render.linear_retain": "Kekalkan EXR linear mentah",
|
||||
"render.linear_unavailable": "Bingkai siap yang dipilih tidak mempunyai EXR yang dikekalkan. Aktifkan pengekalan sebelum merender; PNG lama tidak dapat memulihkan radians mentah.",
|
||||
"render.look_add": "Tambah gaya warna",
|
||||
"render.look_applied": "{name} digunakan",
|
||||
"render.look_bleach": "Berilhamkan pintas peluntur",
|
||||
"render.look_cool": "Sejuk",
|
||||
"render.look_cyanotype": "Berilhamkan sianotaip",
|
||||
"render.look_faded": "Cetakan pudar",
|
||||
"render.look_material": "Bahan",
|
||||
"render.look_mono": "Monokrom",
|
||||
"render.look_pasted": "Gaya ditampal",
|
||||
"render.look_sepia": "Sepia",
|
||||
"render.look_strength": "Kekuatan gaya",
|
||||
"render.look_teal_orange": "Hijau kebiruan / oren",
|
||||
@@ -2592,9 +2888,11 @@
|
||||
"render.output_advanced": "Lanjutan",
|
||||
"render.output_backend_ready": "Sedia",
|
||||
"render.output_check": "Semak",
|
||||
"render.output_check_failed": "Semak · ralat",
|
||||
"render.output_check_help": "Jalankan Semak untuk menyemak permintaan ini tanpa memulakan render.",
|
||||
"render.output_check_summary": "Semak · Nota: {count}",
|
||||
"render.output_copy": "Salin",
|
||||
"render.output_copy_report": "Salin laporan",
|
||||
"render.output_destination": "Destinasi",
|
||||
"render.output_destination_help": "Pilih fail destinasi semasa mengeksport imej yang siap.",
|
||||
"render.output_dimensions": "Saiz",
|
||||
@@ -2604,6 +2902,7 @@
|
||||
"render.output_fit": "Muatkan",
|
||||
"render.output_format": "Format",
|
||||
"render.output_format_status": "PNG ialah imej paparan siap yang tepat. EXR GPU pilihan menyimpan radians FLOAT32 linear adegan yang mentah sebelum penapis paparan. Eksport tidak sekali-kali menggantikan cache pratonton atau tugas yang lain.",
|
||||
"render.output_grading": "Penggredan warna",
|
||||
"render.output_image": "Imej",
|
||||
"render.output_largest": "Maks {width} × {height}",
|
||||
"render.output_lock_ratio": "Kunci nisbah aspek",
|
||||
@@ -2613,6 +2912,8 @@
|
||||
"render.output_quality_waiting": "menunggu kontrak kualiti",
|
||||
"render.output_ratio_refused": "Dimensi terpaut melebihi had saiz kaedah ini. Saiz sebelumnya dikekalkan; buka kunci nisbah atau pilih nilai yang lebih kecil.",
|
||||
"render.output_ready": "Sedia untuk merender",
|
||||
"render.output_run_check": "Jalankan semakan",
|
||||
"render.output_size_limit": "{method}: sehingga {dimension} px setiap sisi dan {pixels} piksel. Saiz terbesar yang muat: {width} × {height}.",
|
||||
"render.output_size_ok": "Saiz OK · {width} × {height} px",
|
||||
"render.output_swap_orientation": "Tukar lebar dan ketinggian",
|
||||
"render.output_tools_inspector": "Sunting saiz dan format dalam pemeriksa Keluaran.",
|
||||
@@ -2629,6 +2930,7 @@
|
||||
"render.page_output": "Keluaran",
|
||||
"render.page_scene": "Adegan",
|
||||
"render.paint_label": "Cat",
|
||||
"render.painting_with": "Mengecat dengan {name}",
|
||||
"render.passive_stage": "Lantai dan pentas pasif",
|
||||
"render.passive_stage_help": "Panel pasif terhingga hanya tergolong dalam imej yang dirender. Ia tidak menambah jasad CAD atau jisim. Penempatan menjadi tetap selepas digunakan; sempadan produk yang bersilang akan ditolak. CPU tidak menyediakan pencahayaan pantulan resap.",
|
||||
"render.perspective": "Kamera perspektif",
|
||||
@@ -2650,6 +2952,7 @@
|
||||
"render.pick_help": "Pilih Jasad, Muka atau Komponen. Klik ruang kosong untuk mengosongkan; Shift atau Ctrl menambah atau menogol. Serlahan hanya muncul dalam paparan produk langsung.",
|
||||
"render.pick_label": "Pilih",
|
||||
"render.pick_up_label": "Ambil",
|
||||
"render.pick_up_prompt": "Klik objek untuk mengambil gayanya",
|
||||
"render.pick_waiting": "Pemilihan produk belum disokong.",
|
||||
"render.post_contrast": "Kontras",
|
||||
"render.post_gain_b": "Gandaan biru",
|
||||
@@ -2689,13 +2992,17 @@
|
||||
"render.radial_distortion": "Herotan jejarian",
|
||||
"render.radial_fit": "Muatkan Produk",
|
||||
"render.radial_save": "Simpan Syot",
|
||||
"render.recent_looks": "Gaya terkini",
|
||||
"render.regrade_action": "Gred semula warna induk mentah (tanpa penyahdesauan)",
|
||||
"render.regrade_help": "Mencipta PNG berasingan daripada induk mentah siap yang dipilih, menggunakan kawalan persembahan ini. Tidak menjejak sinar, tidak mengubah saiz/kamera/lampu yang dirakam dan tidak menulis ganti EXR. Penyahdesauan tidak dikenakan semula: induk mentah tidak menyimpan panduannya. Terbitan ini kekal boleh dieksport melalui kawalan kerja yang sama.",
|
||||
"render.regrade_label": "Gred semula warna",
|
||||
"render.reload_settings": "Muat Semula Tetapan Tersimpan",
|
||||
"render.remove_override": "Buang Pengatasan",
|
||||
"render.replace_all": "Ganti Semua",
|
||||
"render.replace_ground": "Sahkan penggantian pentas sedia ada",
|
||||
"render.replace_label": "Ganti",
|
||||
"render.replace_saved_surface": "Ganti pengikatan tersimpan sedia ada untuk sasaran ini",
|
||||
"render.replace_with": "Ganti dengan",
|
||||
"render.restore_camera": "Pulihkan Kamera Tersimpan",
|
||||
"render.result_actual": "100%",
|
||||
"render.result_actual_help": "Satu piksel imej bagi setiap piksel paparan.",
|
||||
@@ -2747,14 +3054,28 @@
|
||||
"render.saved_surface_remove": "Buang pengikatan tersimpan",
|
||||
"render.saved_surfaces": "Pengikatan permukaan tersimpan",
|
||||
"render.saved_surfaces_help": "Peta terbina dalam yang disemat mengikut kejadian yang dipilih dalam milimeter tempatan. Sasaran yang diganti atau hilang ialah ralat, bukan penugasan semula automatik.",
|
||||
"render.scene_all_shots": "Semua syot ({count})",
|
||||
"render.scene_apply": "Gunakan studio yang ditinjau",
|
||||
"render.scene_batch_reason": "Semua syot memerlukan baris gilir render syot tersimpan, yang belum tersedia.",
|
||||
"render.scene_check_now": "Semak sekarang",
|
||||
"render.scene_check_passed": "Semakan lulus · {notes} nota",
|
||||
"render.scene_check_stale": "Semakan sudah lapuk · semak semula",
|
||||
"render.scene_check_unchecked": "Belum disemak · 0 nota",
|
||||
"render.scene_consent": "Sahkan penggantian pencahayaan, persekitaran, pendedahan dan pentas",
|
||||
"render.scene_light_summary": "{environment} · {lights} lampu",
|
||||
"render.scene_look_summary": "{looks} gaya · {overrides} pengatasan",
|
||||
"render.scene_open_check": "Buka Semak",
|
||||
"render.scene_preserved_fields": "Kamera, pensampelan, dimensi, pengikatan optik, geometri CAD dan bahan kejuruteraan dikekalkan.",
|
||||
"render.scene_preserves_design": "Menggubah pencahayaan dan pentas pasif untuk subjek yang kelihatan. Geometri, bahan kejuruteraan dan kamera kekal berasingan.",
|
||||
"render.scene_ready": "Sedia untuk merender",
|
||||
"render.scene_reminder": "Adegan mengekalkan reka bentuk. Geometri, sifat kejuruteraan dan CAD tidak pernah diubah daripada Render.",
|
||||
"render.scene_reminders": "Peringatan",
|
||||
"render.scene_renderer_ready": "{renderer} sedia",
|
||||
"render.scene_replaces": "Menggantikan",
|
||||
"render.scene_review": "Selesaikan dan tinjau",
|
||||
"render.scene_review_help": "Tinjau komposisi natif yang lengkap sebelum menggunakan. Spesifikasi SCENE lanjutan yang tidak terikat tidak digantikan.",
|
||||
"render.scene_scope_details": "Skop komposisi",
|
||||
"render.scene_stages": "Peringkat",
|
||||
"render.search_appearances": "Cari {count} penampilan",
|
||||
"render.setup_legacy_environment": "Persediaan lama ini menggunakan putaran atau keamatan persekitaran warisan. Nilai itu dikekalkan; tukarkannya secara eksplisit sebelum menyimpan kerja imej penuh.",
|
||||
"render.setup_name": "Nama persediaan",
|
||||
@@ -2767,7 +3088,22 @@
|
||||
"render.shell_tab_camera": "KAMERA RENDER",
|
||||
"render.shell_tab_lighting": "PENCAHAYAAN",
|
||||
"render.shell_tab_scene": "ADEGAN RENDER",
|
||||
"render.shot_aperture": "Apertur",
|
||||
"render.shot_distance": "Jarak",
|
||||
"render.shot_dof": "Kedalaman medan",
|
||||
"render.shot_duplicate": "Gandakan syot tersimpan",
|
||||
"render.shot_edit_output": "Sunting dalam Keluaran",
|
||||
"render.shot_exposure_reason": "Pendedahan memerlukan penjejakan sinar CPU atau penjejakan laluan GPU.",
|
||||
"render.shot_exposure_section": "Pendedahan",
|
||||
"render.shot_focus_distance": "Jarak fokus",
|
||||
"render.shot_fov_reason": "Medan pandangan memerlukan unjuran perspektif.",
|
||||
"render.shot_frame_subject": "Bingkaikan subjek",
|
||||
"render.shot_invalid_camera": "Nilai kamera mestilah terhingga dan dalam julat.",
|
||||
"render.shot_lens": "Lensa",
|
||||
"render.shot_lens_enable_reason": "Aktifkan kedalaman medan untuk menyunting apertur dan jarak fokus.",
|
||||
"render.shot_lens_gpu_reason": "Kedalaman medan memerlukan penjejakan laluan GPU.",
|
||||
"render.shot_lens_perspective_reason": "Kedalaman medan memerlukan unjuran perspektif.",
|
||||
"render.shot_look_selection": "Halakan ke pilihan",
|
||||
"render.shot_manager": "Syot tersimpan",
|
||||
"render.shot_new_name": "Nama syot baharu",
|
||||
"render.shot_remove": "Buang syot tersimpan",
|
||||
@@ -2775,6 +3111,9 @@
|
||||
"render.shot_remove_title": "Buang syot tersimpan?",
|
||||
"render.shot_rename": "Tukar nama syot tersimpan",
|
||||
"render.shot_saved_only": "Simpan draf semasa dahulu. Gandakan dan tukar nama mengekalkan pilihan tersimpan dan rujukan sumber dengan tepat.",
|
||||
"render.shot_selection_reason": "Pilih jasad atau muka untuk dihalakan.",
|
||||
"render.shot_size": "Saiz",
|
||||
"render.shot_target": "Sasaran",
|
||||
"render.shots_camera_changed": "Kamera berubah sejak syot ini disimpan",
|
||||
"render.shots_name_help": "Masukkan nama unik untuk syot semasa.",
|
||||
"render.shots_no_result": "Belum ada render",
|
||||
@@ -2997,6 +3336,13 @@
|
||||
"render.wait_pick_up": "belum disokong: pemilihan produk dan pensampelan penampilan",
|
||||
"render.wait_replace": "belum disokong: penggantian semua penggunaan sesuatu penampilan",
|
||||
"render.wait_solo": "belum disokong: keterlihatan lampu dan kawalan solo",
|
||||
"render.wear_applies_to": "Terpakai pada",
|
||||
"render.wear_layer_count": "{count} lapisan",
|
||||
"render.wear_layer_one": "{count} lapisan",
|
||||
"render.wear_layers": "Lapisan",
|
||||
"render.wear_no_layers": "Tiada lapisan",
|
||||
"render.wear_selected_layer": "Lapisan dipilih",
|
||||
"render.wear_title": "Kehausan",
|
||||
"sample.bracket.about": "Bebibir asas dengan bebibir tepi dan kelim mengikut peraturan 2 mm",
|
||||
"sample.bracket.name": "Pendakap Logam Kepingan",
|
||||
"sample.enclosure.about": "Kotak berongga dengan bibir, bonggol skru, penyokong dan sambungan sentap",
|
||||
@@ -3030,6 +3376,7 @@
|
||||
"select an axis": "pilih paksi",
|
||||
"select an axis, a straight or circular edge, or a cylinder, cone or torus face first": "pilih paksi, tepi lurus atau bulat, atau muka silinder, kon atau torus dahulu",
|
||||
"select bodies first": "pilih jasad dahulu",
|
||||
"select components first": "pilih komponen dahulu",
|
||||
"select corner points, or the two lines of one corner": "pilih titik sudut, atau dua garis bagi satu sudut",
|
||||
"select one corner point, or the two lines of one corner": "pilih satu titik sudut, atau dua garis bagi satu sudut",
|
||||
"select sheet edges first": "pilih tepi kepingan dahulu",
|
||||
@@ -3048,6 +3395,7 @@
|
||||
"settings.double_click_components": "Klik dua kali pada komponen untuk mengaktifkannya, atau untuk menyunting komponen terpaut di tempat",
|
||||
"settings.frame_rate_details_note": "Menambah graf masa bingkai terkini dengan segi tiga yang dilukis di atasnya, histogram masa bingkai dan apa yang dilukis oleh GPU. Klik kadar bingkai dalam paparan untuk memaparkan atau menyembunyikannya.",
|
||||
"settings.frame_rate_note": "Papar bingkai sesaat di kanan bawah.",
|
||||
"settings.insert_lists_open_designs": "Sisip Reka Bentuk menyenaraikan reka bentuk yang terbuka dalam tab lain dahulu",
|
||||
"settings.measure_axis_distances": "Papar jarak X/Y/Z",
|
||||
"settings.measure_axis_distances_help": "Papar jarak paksi dunia X/Y/Z bersama jarak keseluruhan semasa Ukur dibuka.",
|
||||
"settings.msaa_applies_on_restart": "Antialias digunakan apabila SolidCraft dimulakan semula",
|
||||
@@ -3072,6 +3420,10 @@
|
||||
"shortcut.unpin": "Nyahsemat",
|
||||
"sketch is missing": "lakaran tiada",
|
||||
"sketch.degrees_of_freedom": "{count} darjah kebebasan",
|
||||
"sketch.dimension_added_driven": "Lakaran sudah menentukan dimensi itu, jadi ia ditambah sebagai dimensi dipacu (rujukan)",
|
||||
"sketch.dimension_applied": "Dimensi digunakan",
|
||||
"sketch.dimension_applied_defined": "Dimensi digunakan; parameter `{name}` ditakrifkan",
|
||||
"sketch.dimension_applied_renamed": "Dimensi digunakan; parameter dinamakan `{name}`",
|
||||
"sketch.dof_left": "{count} darjah kebebasan berbaki",
|
||||
"sketch.dof_left_one": "{count} darjah kebebasan berbaki",
|
||||
"sketch.draw_curves": "Lukis sebagai {linetype}",
|
||||
@@ -3106,6 +3458,8 @@
|
||||
"sketch_text.use_font_file": "Gunakan fail fon {path}",
|
||||
"solid": "pepejal",
|
||||
"status.editing": "Menyunting {name}",
|
||||
"status.navigation": "Pemetaan tetikus: {mapping}",
|
||||
"status.navigation_tip": "Cara tetikus menggerakkan pandangan. Klik untuk memilih pemetaan lain",
|
||||
"status.under_constrained": "Kurang terkekang ({count} darjah kebebasan)",
|
||||
"status.under_constrained_one": "Kurang terkekang ({count} darjah kebebasan)",
|
||||
"status.units_tip": "Unit reka bentuk. Klik untuk menukarnya",
|
||||
@@ -3139,8 +3493,10 @@
|
||||
"timeline.delete_folders_tip": "Kekalkan ciri dan folder bersarangnya dalam sejarah",
|
||||
"timeline.delete_folders_with_features_tip": "Padam folder bersama setiap ciri di dalamnya dan folder bersarangnya",
|
||||
"timeline.delete_many": "Padam {count} Ciri Terpilih",
|
||||
"timeline.edited_rolled_back": "{name} berubah, tetapi ia berada selepas penanda sejarah, jadi ia tidak dibina: alihkan penanda melepasinya untuk melihat hasilnya",
|
||||
"timeline.feature_error": "Ralat: {message}",
|
||||
"timeline.feature_hint": "Klik dua kali untuk menyunting · seret untuk menyusun semula · klik kanan untuk lagi",
|
||||
"timeline.feature_rolled_back": "Diundur: selepas penanda sejarah, jadi tidak dibina",
|
||||
"timeline.feature_warning": "Amaran: {message}",
|
||||
"timeline.group": "Folder Ciri Baharu",
|
||||
"timeline.move_many": "Alih Item Garis Masa",
|
||||
@@ -3220,6 +3576,10 @@
|
||||
"ui.3d_mouse_offer": "Menentukur tetikus 3D membetulkan paksi yang bertukar atau terbalik dan menetapkan kelajuan serta rasanya.",
|
||||
"ui.3d_mouse_offer_never": "Jangan tunjuk lagi",
|
||||
"ui.3d_mouse_offer_swap": "Tukar ke Hidraw (pemacu terus)",
|
||||
"ui.3d_mouse_orbit": "Orbit",
|
||||
"ui.3d_mouse_orbit_classic": "Klasik",
|
||||
"ui.3d_mouse_orbit_tip": "Dijejak: tetikus 3D memutar pandangan mengelilingi bahagian model di tengah pandangan semasa putaran bermula, ditandakan dengan bola samar. Klasik: mengelilingi pusat pandangan",
|
||||
"ui.3d_mouse_orbit_traced": "Dijejak",
|
||||
"ui.3d_mouse_reading": "Bacaan",
|
||||
"ui.3d_mouse_reset_axes": "Tetapkan semula penetapan paksi",
|
||||
"ui.3d_mouse_reset_view": "Set semula paparan",
|
||||
@@ -3604,6 +3964,7 @@
|
||||
"ui.constant": "Malar",
|
||||
"ui.constraints_conflict": "Kekangan bercanggah",
|
||||
"ui.construction": "Binaan",
|
||||
"ui.construction.ribbon_label": "Garis bantu",
|
||||
"ui.context_menu": "Menu konteks",
|
||||
"ui.continuity_g0": "Lipatan G0",
|
||||
"ui.continuity_g1": "Tangen G1",
|
||||
@@ -3695,6 +4056,14 @@
|
||||
"ui.end_scale": "Skala Akhir",
|
||||
"ui.entities": "Entiti",
|
||||
"ui.equal": "Sama",
|
||||
"ui.equation_end": "Akhir",
|
||||
"ui.equation_explicit": "Eksplisit",
|
||||
"ui.equation_form": "Bentuk",
|
||||
"ui.equation_note": "Pemboleh ubah ialah nombor biasa: sin(t) mengambilnya dalam radian. Hasil tanpa unit adalah dalam unit reka bentuk.",
|
||||
"ui.equation_parametric": "Parametrik",
|
||||
"ui.equation_x_of_t": "x(t)",
|
||||
"ui.equation_y_of_t": "y(t)",
|
||||
"ui.equation_y_of_x": "y(x)",
|
||||
"ui.equivalent_radius": "Jejari Setara",
|
||||
"ui.expand": "Kembangkan",
|
||||
"ui.exportDxf": "Eksport DXF…",
|
||||
@@ -3760,6 +4129,7 @@
|
||||
"ui.heading_design": "REKA",
|
||||
"ui.heading_draft": "SUDUT DRAF",
|
||||
"ui.heading_edit": "SUNTING",
|
||||
"ui.heading_equation_curve": "LENGKUNG PERSAMAAN",
|
||||
"ui.heading_extrude": "SEMPERIT",
|
||||
"ui.heading_fillet": "JEJARI SUDUT",
|
||||
"ui.heading_finish_editing": "SELESAI SUNTING",
|
||||
@@ -3851,6 +4221,10 @@
|
||||
"ui.import_ellipsis": "Import…",
|
||||
"ui.infinite": "Tak Terhingga",
|
||||
"ui.insert": "Sisip",
|
||||
"ui.insert_design.browse": "Semak imbas…",
|
||||
"ui.insert_design.open_designs": "Reka bentuk terbuka",
|
||||
"ui.insert_design.saved_file": "{name} mempunyai perubahan yang belum disimpan, jadi fail tersimpannya disisipkan. Simpan reka bentuk itu, kemudian gunakan Kemas Kini Pautan untuk membawa masuk perubahan.",
|
||||
"ui.insert_design.unsaved": "Perubahan belum disimpan",
|
||||
"ui.inspect": "Periksa",
|
||||
"ui.intersect": "Silang",
|
||||
"ui.isolate": "Asingkan",
|
||||
@@ -4000,6 +4374,18 @@
|
||||
"ui.project": "Unjur",
|
||||
"ui.project_face_edges_sketch": "Unjur tepi muka ke dalam lakaran baharu",
|
||||
"ui.properties": "Sifat",
|
||||
"ui.properties.copy_matrix": "Salin matriks",
|
||||
"ui.properties.first_moments": "Momen pertama",
|
||||
"ui.properties.inertia": "Momen inersia",
|
||||
"ui.properties.inertia_note": "Terhadap pusat jisim, dalam paksi dunia (g·{unit}²)",
|
||||
"ui.properties.inertia_unavailable": "Tidak tersedia: jejaring sesuatu jasad tidak tertutup.",
|
||||
"ui.properties.inertia_x": "Ixx, Ixy, Ixz",
|
||||
"ui.properties.inertia_y": "Iyx, Iyy, Iyz",
|
||||
"ui.properties.inertia_z": "Izx, Izy, Izz",
|
||||
"ui.properties.measuring": "Mengukur…",
|
||||
"ui.properties.measuring_failed": "Pengukuran berhenti sebelum selesai.",
|
||||
"ui.properties.principal_axis": "Paksi utama {number}",
|
||||
"ui.properties.principal_moments": "Momen utama",
|
||||
"ui.pull_direction": "Arah tarikan",
|
||||
"ui.quality": "Kualiti",
|
||||
"ui.quantity": "Kuantiti",
|
||||
@@ -4062,6 +4448,7 @@
|
||||
"ui.select": "Pilih",
|
||||
"ui.selectOther": "Pilih Lain…",
|
||||
"ui.selectTangentChain": "Pilih Rantaian Tangen",
|
||||
"ui.select_all": "Pilih Semua",
|
||||
"ui.selection": "Pilihan",
|
||||
"ui.selection_modifiers": "Pengubah suai pilihan",
|
||||
"ui.selection_shift_add_only": "Shift+klik menambah tanpa membuang",
|
||||
@@ -4098,7 +4485,11 @@
|
||||
"ui.sketch": "Lakaran",
|
||||
"ui.sketch_dimension": "Dimensi Lakaran",
|
||||
"ui.sketch_grid": "Grid Lakaran",
|
||||
"ui.sketch_intersect_geometry": "Geometri",
|
||||
"ui.sketch_intersect_projection_link": "Pautan Unjuran",
|
||||
"ui.sketch_intersect_selection_filter": "Penapis Pilihan",
|
||||
"ui.sketch_modifiers": "Pengubah suai lakaran",
|
||||
"ui.sketch_project_geometry": "Geometri",
|
||||
"ui.sketch_scale": "Skala Lakaran",
|
||||
"ui.sketches": "Lakaran",
|
||||
"ui.slice": "Hiris",
|
||||
@@ -4149,6 +4540,7 @@
|
||||
"ui.tab_manage": "Urus",
|
||||
"ui.tab_sheet_metal": "Logam Kepingan",
|
||||
"ui.tab_view": "Pandangan",
|
||||
"ui.tab_weldments": "Kimpalan",
|
||||
"ui.tangent": "Tangen",
|
||||
"ui.taper_angle": "Sudut Tirus",
|
||||
"ui.tapped": "Berbebenang",
|
||||
@@ -4164,6 +4556,7 @@
|
||||
"ui.tip_angle": "Sudut Hujung",
|
||||
"ui.to_object": "Ke Objek",
|
||||
"ui.tool_direction": "Arah alat",
|
||||
"ui.toolbar_tabs_hidden": "Semua tab bar alat disembunyikan. Klik + atau klik kanan di sini untuk memaparkan satu tab.",
|
||||
"ui.top": "Atas",
|
||||
"ui.top_diameter": "Diameter atas",
|
||||
"ui.top_radius": "Jejari atas",
|
||||
@@ -4210,6 +4603,7 @@
|
||||
"ui.visual_shaded_with_edges": "Berlorek dengan tepi",
|
||||
"ui.visual_style": "Gaya visual",
|
||||
"ui.visual_wireframe": "Rangka dawai",
|
||||
"ui.wheel_zoom_speed": "Kelajuan zum roda tetikus",
|
||||
"ui.width": "Lebar",
|
||||
"ui.window_system": "Sistem tetingkap",
|
||||
"ui.window_system_auto": "Automatik",
|
||||
@@ -4261,6 +4655,9 @@
|
||||
"update.prefs_label": "Kemas kini",
|
||||
"update.prefs_note": "SolidCraft {version} ({kind}). Semakan hanya meminta keluaran terkini dari GitHub, tanpa data lain dihantar.",
|
||||
"update.prefs_web": "Muat semula halaman untuk mendapatkan aplikasi web terkini. Jika rangkaian tidak tersedia atau kemas kini tidak dapat selesai dimuat turun tepat pada masanya, versi yang disimpan dibuka sebaliknya; muat turun yang sedang berjalan diteruskan untuk muat semula seterusnya.",
|
||||
"update.refresh_checking": "Menyemak keluaran terbaharu…",
|
||||
"update.refresh_fallback": "Tidak dapat menyemak keluaran yang lebih baharu; mengemas kini ke {version}, yang ditemui sebelum ini.",
|
||||
"update.refresh_selected": "Mengemas kini ke {version}.",
|
||||
"update.release_page": "Buka halaman keluaran",
|
||||
"update.restart": "Mula semula",
|
||||
"update.restart_later": "Kemudian",
|
||||
|
||||
@@ -204,6 +204,7 @@
|
||||
"Edges": "Kanter",
|
||||
"Edit": "Rediger",
|
||||
"Edit Profile Sketch": "Rediger profilskisse",
|
||||
"Edit shortcuts": "Rediger snarveier",
|
||||
"Enable rule": "Aktiver regel",
|
||||
"Enabled": "Aktivert",
|
||||
"End Radius": "Sluttradius",
|
||||
@@ -466,6 +467,7 @@
|
||||
"Radius": "Radius",
|
||||
"Radius Fit": "Radiustilpasning",
|
||||
"Ratio": "Forhold",
|
||||
"Read-only list: shortcuts can't be changed here.": "Skrivebeskyttet liste: snarveier kan ikke endres her.",
|
||||
"Reattach selected face": "Knytt til valgt flate på nytt",
|
||||
"Recover": "Gjenopprett",
|
||||
"Recover unsaved design?": "Gjenopprette ulagret design?",
|
||||
@@ -649,6 +651,7 @@
|
||||
"Third point": "Tredje punkt",
|
||||
"This child is shared. Deleting it removes it from every copy of its parent.": "Denne underkomponenten er delt. Hvis du sletter den, fjernes den fra alle kopier av den overordnede komponenten.",
|
||||
"This child is shared. Position changes apply to every copy of its parent.": "Denne underkomponenten er delt. Posisjonsendringer gjelder for alle kopier av den overordnede komponenten.",
|
||||
"This component is inside a subassembly placed more than once: aligning it moves it in every placement.": "Denne komponenten ligger i en undersammenstilling som er plassert mer enn én gang: justering flytter den i alle plasseringene.",
|
||||
"This face cannot provide a durable attachment. Choose another face or explicitly use a fixed plane.": "Denne flaten kan ikke gi en varig tilknytning. Velg en annen flate eller velg å bruke et fast plan.",
|
||||
"This image is not attached to GitHub yet. Copy or save it, then attach it on GitHub.": "Dette bildet er ikke lagt ved på GitHub ennå. Kopier eller lagre det, og legg det deretter ved på GitHub.",
|
||||
"Thread depth": "Gjengedybde",
|
||||
@@ -790,6 +793,11 @@
|
||||
"cam.roller": "Rulle",
|
||||
"cam.roller_pick": "Rulle (valgfritt)",
|
||||
"cam.tip_pick": "Spiss (valgfritt)",
|
||||
"camera.shot_pitch": "Helning",
|
||||
"camera.shot_roll": "Rull",
|
||||
"camera.shot_yaw": "Giring",
|
||||
"canvas.decal_place_hint": "Klikk på en flate for å plassere dekalen",
|
||||
"canvas.place_hint": "Klikk på et plan eller en flate for å plassere lerretet",
|
||||
"choose a profile": "velg en profil",
|
||||
"choose the cam's and the follower's joints": "velg leddene til kammen og følgeren",
|
||||
"choose the joints to couple": "velg leddene som skal kobles",
|
||||
@@ -797,9 +805,12 @@
|
||||
"click sketch curves": "klikk på skissekurver",
|
||||
"cmd.appearance_assign": "Utseende",
|
||||
"cmd.appearance_chain": "Utseendekjede",
|
||||
"cmd.appearance_copy": "Kopier stil",
|
||||
"cmd.appearance_favorite": "Favorittstil",
|
||||
"cmd.appearance_library": "Utseendebibliotek",
|
||||
"cmd.appearance_list": "Vis utseender",
|
||||
"cmd.appearance_paint": "Mal utseende",
|
||||
"cmd.appearance_paste": "Lim inn stil",
|
||||
"cmd.appearance_pick_up": "Plukk opp utseende",
|
||||
"cmd.appearance_replace": "Erstatt utseende",
|
||||
"cmd.assembly_bom": "Stykkliste",
|
||||
@@ -810,6 +821,7 @@
|
||||
"cmd.browser_move": "Flytt elementer i modelltreet",
|
||||
"cmd.browser_order": "Ordne elementer i modelltreet",
|
||||
"cmd.browser_rename_group": "Gi nytt navn til gruppe",
|
||||
"cmd.browser_reparent": "Flytt til komponent",
|
||||
"cmd.browser_ungroup": "Opphev gruppering",
|
||||
"cmd.browser_visibility": "Vis/skjul",
|
||||
"cmd.canvas_calibrate": "Kalibrer lerret",
|
||||
@@ -836,7 +848,9 @@
|
||||
"cmd.component_metadata": "Delegenskaper",
|
||||
"cmd.component_metadata_set": "Endre delegenskaper",
|
||||
"cmd.component_move_bodies": "Flytt kropper til komponent",
|
||||
"cmd.component_move_features": "Flytt funksjoner til komponent",
|
||||
"cmd.component_move_sketches": "Flytt skisser til komponent",
|
||||
"cmd.component_paste_from_design": "Lim inn fra et annet design",
|
||||
"cmd.component_paste_new": "Lim inn ny",
|
||||
"cmd.component_properties": "Fysiske egenskaper for komponent",
|
||||
"cmd.component_relink": "Koble kilde på nytt",
|
||||
@@ -973,6 +987,7 @@
|
||||
"cmd.motion_trace": "Bevegelsesspor",
|
||||
"cmd.motion_trace_edit": "Rediger bevegelsesspor",
|
||||
"cmd.motion_trace_keep": "Behold bevegelsesspor",
|
||||
"cmd.occurrence_align": "Juster forekomst",
|
||||
"cmd.occurrence_copy": "Lim inn (forekomst)",
|
||||
"cmd.occurrence_drag": "Dra forekomst",
|
||||
"cmd.occurrence_ground": "Fest posisjon",
|
||||
@@ -1030,11 +1045,17 @@
|
||||
"cmd.render_library_surface_unbind": "Fjern overflatekobling",
|
||||
"cmd.render_library_targets": "Finn mål i rendringsbiblioteket",
|
||||
"cmd.render_lights_add": "Legg til lys",
|
||||
"cmd.render_lights_duplicate": "Dupliser rendringslys",
|
||||
"cmd.render_lights_list": "Vis rendringslys",
|
||||
"cmd.render_lights_mute": "Demp lys",
|
||||
"cmd.render_lights_remove": "Fjern rendringslys",
|
||||
"cmd.render_lights_set": "Angi rendringslys",
|
||||
"cmd.render_lights_solo": "Solo-lys",
|
||||
"cmd.render_optics_bind": "Lagre optisk kobling",
|
||||
"cmd.render_optics_unbind": "Fjern optisk kobling",
|
||||
"cmd.render_output_size": "Angi utdatastørrelse for rendring",
|
||||
"cmd.render_preflight": "Kontroller rendringsforespørsel",
|
||||
"cmd.render_preflight_copy": "Kopier rapport fra rendringssjekk",
|
||||
"cmd.render_preset_apply": "Bruk innebygd Studio",
|
||||
"cmd.render_preset_resolve": "Gjennomgå innebygd Studio",
|
||||
"cmd.render_quality_prepare": "Gjennomgå fast samplingsbudsjett",
|
||||
@@ -1057,6 +1078,13 @@
|
||||
"cmd.render_start": "Rendre bilde",
|
||||
"cmd.render_status": "Rendringsfremdrift",
|
||||
"cmd.select_clear": "Tøm utvalg",
|
||||
"cmd.settings_profile_apply": "Bruk innstillingsprofil",
|
||||
"cmd.settings_profile_delete": "Slett innstillingsprofil",
|
||||
"cmd.settings_profile_export": "Eksporter innstillingsprofil",
|
||||
"cmd.settings_profile_import": "Importer innstillingsprofil",
|
||||
"cmd.settings_profile_list": "Innstillingsprofiler",
|
||||
"cmd.settings_profile_rename": "Gi innstillingsprofil nytt navn",
|
||||
"cmd.settings_profile_save": "Lagre innstillingsprofil",
|
||||
"cmd.sheet_convert": "Konverter til plate",
|
||||
"cmd.sheet_export_bend_table": "Eksporter bøyetabell",
|
||||
"cmd.sheet_export_dxf": "Eksporter utbretting som DXF",
|
||||
@@ -1070,6 +1098,16 @@
|
||||
"cmd.sheet_refold": "Brett tilbake",
|
||||
"cmd.sheet_rules": "Vis plateregler",
|
||||
"cmd.sheet_unfold": "Brett ut",
|
||||
"cmd.sketch.construction_line": "Hjelpelinje",
|
||||
"cmd.sketch.construction_line.angle": "Hjelpelinje med vinkel",
|
||||
"cmd.sketch.construction_line.bisector": "Vinkelhalveringslinje",
|
||||
"cmd.sketch.construction_line.horizontal": "Vannrett hjelpelinje",
|
||||
"cmd.sketch.construction_line.parallel": "Parallell hjelpelinje",
|
||||
"cmd.sketch.construction_line.perpendicular": "Vinkelrett hjelpelinje",
|
||||
"cmd.sketch.construction_line.tangent_at": "Tangent i kurvepunkt",
|
||||
"cmd.sketch.construction_line.tangent_external": "Tangent gjennom eksternt punkt",
|
||||
"cmd.sketch.construction_line.tangent_two": "Felles tangent",
|
||||
"cmd.sketch.construction_line.vertical": "Loddrett hjelpelinje",
|
||||
"cmd.sketch_arc3d": "3D-bue",
|
||||
"cmd.sketch_arc_center_point": "Senterpunktbue",
|
||||
"cmd.sketch_arc_tangent": "Tangentbue",
|
||||
@@ -1102,6 +1140,8 @@
|
||||
"cmd.sketch_drawing_bounds": "Tegningsstørrelse",
|
||||
"cmd.sketch_edit": "Rediger skisse",
|
||||
"cmd.sketch_edit_text": "Rediger tekst",
|
||||
"cmd.sketch_equation_curve": "Ligningskurve",
|
||||
"cmd.sketch_equation_curve_edit": "Rediger ligningskurve",
|
||||
"cmd.sketch_export_dxf": "Lagre som DXF",
|
||||
"cmd.sketch_finish_auto_constrain": "Fullfør med automatiske bindinger",
|
||||
"cmd.sketch_fit_curves_to_section": "Tilpass kurver til mesh-snitt",
|
||||
@@ -1198,6 +1238,7 @@
|
||||
"cmd.view.render_browser": "Rendringsutforsker",
|
||||
"cmd.view.render_dock": "Flytt rendringspanel",
|
||||
"cmd.view.render_focus": "Rendringsfokusvisning",
|
||||
"cmd.view.status_items": "Statuselementer i visningsområdet",
|
||||
"cmd.view_ambient_occlusion": "Ambient occlusion",
|
||||
"cmd.view_angle_readout": "Visningsvinkler",
|
||||
"cmd.view_apply": "Gjenopprett navngitt visning",
|
||||
@@ -1219,6 +1260,7 @@
|
||||
"cmd.view_normal_to": "Vinkelrett på valg",
|
||||
"cmd.view_previous_tab": "Forrige fane",
|
||||
"cmd.view_rename": "Gi nytt navn til navngitt visning",
|
||||
"cmd.view_render_frame": "Hjelpelinjer for rendringsbilderute",
|
||||
"cmd.view_right": "Høyrevisning",
|
||||
"cmd.view_save": "Ny navngitt visning",
|
||||
"cmd.view_shots_strip": "Opptaksstrimmel",
|
||||
@@ -1229,10 +1271,14 @@
|
||||
"color.copy": "Klikk for å kopiere fargeverdier",
|
||||
"color.edit": "Klikk for å redigere farge",
|
||||
"color.gamma": "Viser gammakorrigerte fargeverdier i området 0–255",
|
||||
"color.hex": "Hex",
|
||||
"color.hex_help": "Skriv inn #rrggbb eller #rrggbbaa; seks sifre beholder opasiteten",
|
||||
"color.hex_hint": "#rrggbb",
|
||||
"color.hue": "Kulør",
|
||||
"color.linear": "Viser lineære fargeverdier i området 0–1",
|
||||
"color.saturation_value": "Metning og lysverdi",
|
||||
"color.selected": "Valgt farge",
|
||||
"config.column_filter_empty": "Ingen samsvarende kolonner",
|
||||
"contact.components_count": "{count} komponenter",
|
||||
"contact.enabled_label": "aktivert",
|
||||
"coupling.gear_1": "Tannhjul 1",
|
||||
@@ -1346,8 +1392,10 @@
|
||||
"help.material.assign": "Angir hva de valgte kroppene er laget av, for eksempel stål, aluminium eller ABS. Bruk det slik at masse og vekt stemmer med den virkelige delen.",
|
||||
"help.mit": "MIT-lisens",
|
||||
"help.notice": "NOTICE",
|
||||
"help.occurrence.move": "Flytter en del i en sammenstilling bare langs frihetsgradene som leddene tillater. Velg en flate på delen, og dra deretter en tilgjengelig pil eller bue.",
|
||||
"help.parameters.change": "Åpner tabellen over navngitte verdier og uttrykk som styrer målene i designet. Bruk den til å endre en størrelse ett sted og la alle funksjoner som bruker den følge med.",
|
||||
"help.pointcloud.insert": "Sett inn en PLY-, XYZ- eller PTS-skanning som en punktsky ved siden av modellen. Bruk den som referanse når du bygger en modell fra måledata.",
|
||||
"help.sketch.equation_curve": "Tegner en kurve ut fra formler: x(t) og y(t), eller y = f(x), over et intervall. Formlene kan bruke parametere, og kurven følger dem: bruk den til en sinusbølge, en spiral eller evolventen til en tannhjulstann.",
|
||||
"help.solid.align": "Flytter de valgte kroppene slik at et punkt, en flate eller et plan på dem møter et punkt, en flate eller et plan et annet sted. Bruk det til å plassere en del mot en annen uten å måle forskyvningen.",
|
||||
"help.solid.chamfer": "Lager en plan fas langs de valgte kantene med avstanden du angir. Bruk verktøyet til å fjerne skarpe kanter eller gjøre det lettere å føre inn en pinne eller skrue.",
|
||||
"help.solid.combine": "Slår sammen kropper, trekker dem fra en målkropp eller beholder bare volumet de har felles, og kan beholde verktøykroppene. Bruk det til å slå sammen deler, til å skjære en form med en annen eller til å finne hvor to kropper overlapper.",
|
||||
@@ -1474,6 +1522,21 @@
|
||||
"joint.one_component": "Disse delene er kropper i én komponent: {bodies}. Et ledd beveger én komponent i forhold til en annen, så hver del trenger sin egen komponent.",
|
||||
"joint.rigid_group_one_component": "Disse {count} kroppene ligger alle i én komponent (eller i selve designet): bruk {command} først.",
|
||||
"joint.rigid_group_select_components": "Velg to eller flere komponenter.",
|
||||
"joint_move.blocked_hint": "Kontroller leddtypen (for eksempel Stiv), om posisjonen er festet, leddgrenser og parameterstyrte verdier.",
|
||||
"joint_move.blocked_title": "Kan ikke flytte denne delen",
|
||||
"joint_move.coarse": "Rotasjonstrinn nær aksen (°)",
|
||||
"joint_move.distance": "Avstand fra start",
|
||||
"joint_move.done": "Ferdig",
|
||||
"joint_move.fine": "Rotasjonstrinn langt fra aksen (°)",
|
||||
"joint_move.fixed": "Denne delen har ingen bevegelig leddakse.",
|
||||
"joint_move.help": "Flytt — dra en pil eller en ring. Esc avbryter gjeldende drag.",
|
||||
"joint_move.legacy_hint": "Slå av for å bruke det forrige Flytt-panelet.",
|
||||
"joint_move.precision": "Dra utenfor den stiplede hjelpelinjen for finrotasjon.",
|
||||
"joint_move.rotation": "Rotasjon fra start",
|
||||
"joint_move.select": "Velg en flate eller én del i sammenstillingen, og velg deretter Flytt.",
|
||||
"joint_move.settings": "Flytting i sammenstilling",
|
||||
"joint_move.step": "Trinn",
|
||||
"joint_move.use_handles": "Bruk håndtak for leddbevegelse ved Flytt i sammenstillinger",
|
||||
"keymap.command_id": "Kommando-ID",
|
||||
"keymap.empty": "Ingen kommandoer samsvarer med søket",
|
||||
"keymap.use_anyway": "Bruk {key} her likevel",
|
||||
@@ -1568,6 +1631,8 @@
|
||||
"nav.maya.help": "Alt+venstredrag roterer, Alt+midtdrag panorerer, Alt+høyredrag zoomer; midtdrag panorerer også",
|
||||
"nav.openscad.help": "Venstredrag i tomt område roterer, Shift+venstredrag velger med ramme, dra i skissegeometri for å redigere; høyre- eller midtdrag panorerer, Shift+høyredrag eller Shift+midtdrag zoomer",
|
||||
"nav.perspective.sketch": "Skisseredigering bruker ortografisk visning. Fullfør skissen for å bytte til perspektiv.",
|
||||
"nav.right_drag_orbits.help": "Av: et høyredrag lar kameraet stå i ro, og høyre museknapp åpner bare kontekstmenyen. Når du velger SolidWorks-museoppsettet, slås dette av.",
|
||||
"nav.right_drag_orbits.label": "Høyredrag roterer",
|
||||
"nav.solidworks.help": "Midtdrag roterer, Ctrl+midtdrag panorerer, Shift+midtdrag zoomer, høyredrag roterer",
|
||||
"nav.tinkercad.help": "Høyredrag roterer, midtdrag eller Shift+høyredrag panorerer",
|
||||
"nav.touchpad.help": "Hold Shift og flytt pekeren for å panorere. Hold Alt/Option og flytt pekeren for å rotere visningen. Du trenger ikke holde inne en museknapp. Vertikal rulling zoomer.",
|
||||
@@ -1589,6 +1654,9 @@
|
||||
"navbar.custom.customise": "Tilpass navigasjonslinjen…",
|
||||
"navbar.custom.design": "Design",
|
||||
"navbar.custom.duplicate": "Dette elementet er allerede på linjen.",
|
||||
"navbar.custom.edge": "Kant",
|
||||
"navbar.custom.edge_bottom": "Nederst",
|
||||
"navbar.custom.edge_top": "Øverst",
|
||||
"navbar.custom.fade": "Tone ned",
|
||||
"navbar.custom.full": "Fjern et element for å legge til et nytt.",
|
||||
"navbar.custom.hidden_design": "Skjult i Design",
|
||||
@@ -1695,6 +1763,7 @@
|
||||
"parts.dimension.thickness": "Tykkelse",
|
||||
"parts.dimension.width": "Bredde",
|
||||
"parts.family.bearing": "Dypsporkulelager (ytre omriss)",
|
||||
"parts.family.button_head_cap_screw": "Linsehodeskrue med innvendig sekskant",
|
||||
"parts.family.dowel_pin": "Parallellstift (passtift)",
|
||||
"parts.family.hex_bolt": "Sekskantbolt / sekskantskrue",
|
||||
"parts.family.hex_nut": "Sekskantmutter",
|
||||
@@ -1751,6 +1820,9 @@
|
||||
"prefs.bottom_centre": "Nederst i midten",
|
||||
"prefs.bottom_right": "Nederst til høyre",
|
||||
"prefs.browser": "Modelltre",
|
||||
"prefs.browser_reveal_on_hover": "Vis når pekeren er over",
|
||||
"prefs.browser_show_note": "Vist holder modelltreet på skjermen. Vis når pekeren er over holder det skjult til pekeren kommer over plassen det har, eller over den tynne fanen ved venstre kant, og det forblir åpent mens pekeren er inne i det eller en meny fra det er åpen.",
|
||||
"prefs.browser_shown": "Vist",
|
||||
"prefs.built_in": "Innebygd",
|
||||
"prefs.button_left": "Dra med venstre museknapp",
|
||||
"prefs.button_middle": "Dra med midtre museknapp",
|
||||
@@ -1821,6 +1893,8 @@
|
||||
"prefs.layout_note": "Kompakt fester panelene til vinduskantene. Gjennomsiktig modelltre er tilgjengelig i Flytende. Endre siden for assistenten på assistentsiden.",
|
||||
"prefs.left": "Venstre",
|
||||
"prefs.left_click": "Venstreklikk",
|
||||
"prefs.line_drag_draws_one": "Trykk og dra tegner én linje",
|
||||
"prefs.line_drag_draws_one_note": "I Linje-verktøyet tegner trykk, dra og slipp én linje fra der du trykket til der du slapp, og linjen avsluttes der. Klikk tegner fortsatt en kjede. Av: et drag plasserer et punkt der det slippes, slik et klikk gjør.",
|
||||
"prefs.linked_designs": "Koblede design",
|
||||
"prefs.live_input": "Direkte inndata",
|
||||
"prefs.live_preview": "Direkte forhåndsvisning",
|
||||
@@ -1853,14 +1927,36 @@
|
||||
"prefs.origin_plane_names": "Navn på origoplan",
|
||||
"prefs.origin_plane_names_note": "Navn som vises i modelltreet, dialoger og lister. {top} er XY, {front} er XZ og {right} er YZ, med Z opp. Kommandoer, skript og lagrede design beholder XY, XZ og YZ.",
|
||||
"prefs.overall_speed": "Samlet hastighet",
|
||||
"prefs.perspective_fov": "Synsfelt",
|
||||
"prefs.placement": "Plassering",
|
||||
"prefs.prefer_free_sketch_points": "Foretrekk flyttbare skissepunkter når punkter overlapper",
|
||||
"prefs.preview_choices": "Forhåndsvisning av valgene dine",
|
||||
"prefs.profile_active": "Aktiv profil",
|
||||
"prefs.profile_applied": "Profilen er brukt.",
|
||||
"prefs.profile_changed": "Innstillingene er endret siden profilen ble lagret. Lagre beholder dem i profilen.",
|
||||
"prefs.profile_deleted": "Profilen er slettet.",
|
||||
"prefs.profile_export": "Eksporter…",
|
||||
"prefs.profile_exported": "Profilen er eksportert.",
|
||||
"prefs.profile_imported": "Profilen er importert. Velg den under Aktiv profil for å bytte til den.",
|
||||
"prefs.profile_name_hint": "Profilnavn, f.eks. Laptop",
|
||||
"prefs.profile_rename": "Gi nytt navn",
|
||||
"prefs.profile_renamed": "Profilen har fått nytt navn.",
|
||||
"prefs.profile_save": "Lagre",
|
||||
"prefs.profile_saved": "Gjeldende innstillinger er lagret i profilen.",
|
||||
"prefs.profile_skipped": "Profilen er brukt; {n} innstilling(er) beholdt sin nåværende verdi (se loggen).",
|
||||
"prefs.profiles": "Innstillingsprofiler",
|
||||
"prefs.profiles_note": "Snarveier, verktøylinjen, navigasjon, radialmenyen og grensesnittinnstillinger, samlet under ett navn og byttet på én gang.",
|
||||
"prefs.project_options_dialog": "Dialog med alternativer for projisering",
|
||||
"prefs.project_options_dialog_note": "På: velg Geometri eller Kropper og Projeksjonskobling før du projiserer. Av: behold den forrige arbeidsflyten med direkte valg.",
|
||||
"prefs.quality_default": "standard",
|
||||
"prefs.quality_fastest": "raskest",
|
||||
"prefs.quality_slowest": "langsomst",
|
||||
"prefs.quality_smoother": "jevnere",
|
||||
"prefs.render_previous_geometry_budget": "Bruk forrige geometribudsjett for rendringsforhåndsvisning",
|
||||
"prefs.render_previous_geometry_budget_help": "Gjenopprett den forrige faste geometrigrensen (512 MiB på 64-biters skrivebordsmaskiner, 128 MiB ellers) i stedet for budsjettet som er basert på enheten.",
|
||||
"prefs.reports_saved": "{n} lagret",
|
||||
"prefs.ribbon_reveal": "Vis søkeresultater på båndet",
|
||||
"prefs.ribbon_reveal_note": "Når pekeren holdes over et resultat i Søk i kommandoer, vises hvor kommandoen ligger på båndet: fanen, knappen eller raden i et panels nedtrekksmeny. En kommando som startes fra søket, blinker der, og en kjørende kommando fra en nedtrekksmeny markerer panelet sitt.",
|
||||
"prefs.right_click": "Høyreklikk",
|
||||
"prefs.saving": "Automatisk lagring og gjenoppretting",
|
||||
"prefs.scale_note": "Også Ctrl + / Ctrl − i vinduet. Knapper er 28 px ved 100 %.",
|
||||
@@ -1874,6 +1970,10 @@
|
||||
"prefs.shift_add_ctrl_toggle": "Shift legger bare til; Ctrl / Cmd veksler",
|
||||
"prefs.shift_add_note": "På: Shift legger til, Ctrl / Cmd veksler. Av (standard): begge veksler.",
|
||||
"prefs.shortcuts": "Snarveier",
|
||||
"prefs.single_surface_analysis": "Bruk én overflateanalyse om gangen",
|
||||
"prefs.single_surface_analysis_help": "Når dette er av, kan overflateskyggelegging og Kontinuitet være på samtidig. Når dette slås på, beholdes den siste analysen som ble startet eller endret.",
|
||||
"prefs.sketch_align_points": "Juster etter andre skissepunkter under tegning",
|
||||
"prefs.sketch_align_points_note": "Under tegning justeres et punkt vannrett etter ett skissepunkt og loddrett etter et annet samtidig, med en prikket hjelpelinje, og klikket beholder begge justeringene. Av: bare etter forrige punkt, én akse om gangen.",
|
||||
"prefs.sketch_conflict_colour": "Motstridende geometri i konfliktfargen",
|
||||
"prefs.sketch_conflict_colour_note": "Mens bindingene i en skisse er i konflikt, tegnes også kurvene og punktene som en feilende binding holder i konfliktfargen, ikke bare symbolet eller målet. Av: de beholder sine vanlige farger.",
|
||||
"prefs.sketch_exit_view": "Når en skisse avsluttes",
|
||||
@@ -1881,6 +1981,8 @@
|
||||
"prefs.sketch_exit_view.previous": "Gå tilbake til forrige visning",
|
||||
"prefs.sketch_exit_view.unless_rotated": "Gå tilbake med mindre visningen er rotert",
|
||||
"prefs.sketch_exit_view_note": "Hvor visningen går etter Fullfør skisse, Avbryt eller dobbelt Esc.",
|
||||
"prefs.sketch_recent_snap": "Fang automatisk til nylige sentre og midtpunkter",
|
||||
"prefs.sketch_recent_snap_note": "Under tegning fanges markøren der hjelpelinjene fra de to siste sirkelsentrene eller midtpunktene på rette kanter krysser hverandre. Av: hjelpelinjene vises bare, og markøren flytter seg ikke.",
|
||||
"prefs.sketch_selection": "Skisse og valg",
|
||||
"prefs.sketch_selection_heading": "Skisse og valg",
|
||||
"prefs.sketch_selection_note": "Hvordan skisser bruker punktfangst, og hvordan klikk velger.",
|
||||
@@ -1918,7 +2020,14 @@
|
||||
"prefs.toast_place": "Varsler",
|
||||
"prefs.toggle_item": "Legg til elementet, eller fjern det igjen",
|
||||
"prefs.toolbar": "Verktøylinje",
|
||||
"prefs.toolbar_tabs": "Verktøylinjefaner",
|
||||
"prefs.top": "Topp",
|
||||
"prefs.trackpad_zoom_modifier": "Zoom med tofingerrulling mens du holder",
|
||||
"prefs.trackpad_zoom_modifier.alt": "⌥ / Alt",
|
||||
"prefs.trackpad_zoom_modifier.cmd": "⌘",
|
||||
"prefs.trackpad_zoom_modifier.ctrl": "Ctrl",
|
||||
"prefs.trackpad_zoom_modifier.help": "Hold bare denne tasten for å zoome mot pekeren med vertikal rulling. Av beholder den eksisterende rulleoppførselen.",
|
||||
"prefs.trackpad_zoom_modifier.off": "Av",
|
||||
"prefs.translucent": "Gjennomsiktig",
|
||||
"prefs.under_browser": "Under modelltreet",
|
||||
"prefs.under_cursor": "Under pekeren",
|
||||
@@ -1928,9 +2037,14 @@
|
||||
"prefs.view_confirm_corner": "OK og Avbryt i hjørnet av visningen",
|
||||
"prefs.view_confirm_corner_note": "Mens en dialog eller en skisse er åpen, gjør et hakemerke og et kryss øverst til høyre i visningen det samme som OK og Avbryt i dialogen, eller fullfører og avbryter skissen. Visningsnavigatoren flyttes ned under dem.",
|
||||
"prefs.viewport": "Visningsområde",
|
||||
"prefs.viewport_background": "Bakgrunn",
|
||||
"prefs.viewport_background_colour": "Farge",
|
||||
"prefs.viewport_background_theme": "Temaets gradient",
|
||||
"prefs.wheel": "Musehjul",
|
||||
"prefs.wheel_trackpad": "Musehjul og styreflate",
|
||||
"prefs.workspace": "Arbeidsområde",
|
||||
"prefs.zoom_stop_at_model": "Stopp zoom ved modellen",
|
||||
"prefs.zoom_stop_at_model_tip": "3D-musen og enhetsappen zoomer mot flaten midt i visningen; dra-zoom holder fast punktet der draget begynte. Av: zoom kan gå gjennom modellen. Hjul og knip bruker Zoom til markøren separat",
|
||||
"prefs.zoom_toward_cursor": "Zoom mot pekeren",
|
||||
"properties.title": "Egenskaper: {name}",
|
||||
"recovery.days_ago": "for {count} dager siden",
|
||||
@@ -2019,6 +2133,7 @@
|
||||
"render.appearance_editor.weight": "Vekt",
|
||||
"render.appearance_physics_separate": "Visuelt utseende tildeler ikke tetthet, termiske data eller andre tekniske egenskaper.",
|
||||
"render.appearances": "Utseender",
|
||||
"render.assign_help": "Klikk for å bruke på utvalget; dra for å forhåndsvise og slipp, eller klikk uten noe valgt for å male.",
|
||||
"render.availability_native": "Innebygd sammensetning; gjennomgå før bruk",
|
||||
"render.availability_projection": "Støttet projeksjon; se omfang og utelatelser",
|
||||
"render.availability_reference": "Referansedata; ikke en automatisk tildeling",
|
||||
@@ -2057,6 +2172,7 @@
|
||||
"render.bloom_threshold": "Terskel for lineære høylys",
|
||||
"render.browse_capabilities": "Inspiser hele katalogen over funksjoner",
|
||||
"render.browse_environments": "Bla gjennom originale HDR-omgivelser",
|
||||
"render.browse_looks": "Bla gjennom…",
|
||||
"render.browse_native_scenes": "Bla gjennom innebygde studioer",
|
||||
"render.browse_physical": "Inspiser fysiske referanser",
|
||||
"render.browse_quality": "Inspiser kvalitetsspesifikasjoner",
|
||||
@@ -2080,6 +2196,82 @@
|
||||
"render.check_opaque": "Transparens: bare ugjennomsiktige flater; bakgrunnsalfa støttes.",
|
||||
"render.check_sorted_alpha": "Transparens: tilnærming med sortert alfa.",
|
||||
"render.check_transmission": "Transparens: fysisk transmisjon.",
|
||||
"render.children.absolute_floor": "Absolutt nedre grense",
|
||||
"render.children.adaptive": "Adaptiv",
|
||||
"render.children.add_look_reason": "Legg til en stil for å redigere om den er aktivert, og styrken.",
|
||||
"render.children.all_shots": "Alle opptak",
|
||||
"render.children.bloom": "Bloom",
|
||||
"render.children.check": "Sjekk",
|
||||
"render.children.check_now": "Sjekk nå",
|
||||
"render.children.chromatic": "Kromatisk",
|
||||
"render.children.compact": "Kompakt",
|
||||
"render.children.contrast": "Kontrast",
|
||||
"render.children.copy_image": "Kopier",
|
||||
"render.children.copy_job": "Kopier jobb-JSON",
|
||||
"render.children.copy_request": "Kopier forespørsels-JSON",
|
||||
"render.children.coverage_error": "Dekningsfeil",
|
||||
"render.children.cpu": "CPU-strålesporing",
|
||||
"render.children.denoise": "Reduser støy i det ferdige bildet",
|
||||
"render.children.depth": "Banedybde",
|
||||
"render.children.distortion": "Forvrengning",
|
||||
"render.children.edge_samples": "Kantprøver",
|
||||
"render.children.effects_banner": "Disse effektene krever GPU-banesporing. Å åpne dette endrer aldri metoden.",
|
||||
"render.children.enable_adaptive": "Aktiver uavhengige pilotprøver for å redigere de adaptive grensene.",
|
||||
"render.children.enable_bloom": "Aktiver bloom for å redigere styrke, terskel og radius.",
|
||||
"render.children.finishing": "Etterbehandling",
|
||||
"render.children.flare": "Linseflekk",
|
||||
"render.children.fresnel": "Fresnel-sjikt",
|
||||
"render.children.ghosts": "Spøkelsesringer",
|
||||
"render.children.glass": "Glasstransport",
|
||||
"render.children.go_to": "Gå til {editor}",
|
||||
"render.children.grain": "Korn",
|
||||
"render.children.halo": "Halo",
|
||||
"render.children.hdr": "HDR",
|
||||
"render.children.keep_master": "Behold rå lineær master",
|
||||
"render.children.last_result": "Siste: {number} · {width} × {height} · {phase}",
|
||||
"render.children.lens_effects": "Linseeffekter",
|
||||
"render.children.look_summary": "{tone} · {count} stiler",
|
||||
"render.children.looks": "Kreative stiler",
|
||||
"render.children.memory": "Minne",
|
||||
"render.children.method": "Metode",
|
||||
"render.children.minimum": "Minimum",
|
||||
"render.children.needs_cpu": "Krever CPU-strålesporing. Å åpne dette endrer aldri metoden.",
|
||||
"render.children.nested": "Sertifiserte nestede dielektrika",
|
||||
"render.children.not_checked": "Ikke sjekket",
|
||||
"render.children.path": "Banesporing",
|
||||
"render.children.pilots": "Pilotprøver",
|
||||
"render.children.preview": "Forhåndsvisningsdata",
|
||||
"render.children.progressive_reason": "Velg Progressiv for å redigere antall prøver og startverdi.",
|
||||
"render.children.radius": "Radius",
|
||||
"render.children.reflect_depth": "Refleksjonsdybde",
|
||||
"render.children.reflect_samples": "Refleksjonsprøver",
|
||||
"render.children.regrade": "Ny fargekorrigering",
|
||||
"render.children.relative_error": "Relativ feil",
|
||||
"render.children.render": "Rendring",
|
||||
"render.children.render_shot": "Rendre opptak",
|
||||
"render.children.renderer": "Rendringsmotor",
|
||||
"render.children.renderers": "Rendringsmotorer",
|
||||
"render.children.request": "Denne forespørselen",
|
||||
"render.children.reset_finishing": "Tilbakestill etterbehandling",
|
||||
"render.children.review_quality": "Gjennomgå en kvalitetsspesifikasjon…",
|
||||
"render.children.rgb_gain": "RGB-forsterkning",
|
||||
"render.children.samples": "Prøver",
|
||||
"render.children.sampling": "Sampling",
|
||||
"render.children.saturation": "Metning",
|
||||
"render.children.scene_summary": "{bodies} kropper · {triangles} trekanter",
|
||||
"render.children.seed": "Startverdi",
|
||||
"render.children.sharpening": "Skjerping",
|
||||
"render.children.single_image": "Enkeltbilde",
|
||||
"render.children.soft_focus": "Mykt fokus",
|
||||
"render.children.streak": "Strek",
|
||||
"render.children.strength": "Styrke",
|
||||
"render.children.studio": "Studio",
|
||||
"render.children.threshold": "Terskel",
|
||||
"render.children.tone": "Tone",
|
||||
"render.children.under_hood": "Under panseret",
|
||||
"render.children.vignette": "Vignettering",
|
||||
"render.children.workstation": "Arbeidsstasjon",
|
||||
"render.choose_look": "Velg en stil i Utseender først",
|
||||
"render.chromatic_offset": "Kromatisk kantforskyvning",
|
||||
"render.clear_stage": "Fjern lagret rendringsdekor",
|
||||
"render.copy_request": "Kopier JSON",
|
||||
@@ -2331,8 +2523,33 @@
|
||||
"render.flare_strength": "Styrke på linseflekk i høylys",
|
||||
"render.flare_threshold": "Terskel for linseflekk (scenelineær)",
|
||||
"render.fold_browser": "Brett sammen modelltreet",
|
||||
"render.frame_aspect": "Sideforhold",
|
||||
"render.frame_centre_mark": "Midtmerke",
|
||||
"render.frame_copy_limit": "Ingen ledige navn for duplisert opptak",
|
||||
"render.frame_copy_name": "{name} kopi {number}",
|
||||
"render.frame_custom": "Egendefinert",
|
||||
"render.frame_distance_unit": " × størrelse",
|
||||
"render.frame_duplicate": "Dupliser",
|
||||
"render.frame_exposure": "Eksponering",
|
||||
"render.frame_fov": "Synsfelt",
|
||||
"render.frame_guides": "Hjelpelinjer",
|
||||
"render.frame_invalid_aspect": "Ugyldig forhåndsinnstilling for sideforhold",
|
||||
"render.frame_lens": "Synsfelt {fov}° · ≈ {mm} mm",
|
||||
"render.frame_name": "Navn",
|
||||
"render.frame_output_size": "Utdatastørrelse",
|
||||
"render.frame_photo": "3:2 · Foto",
|
||||
"render.frame_portrait": "4:5 · Portrett",
|
||||
"render.frame_presets": "Forhåndsinnstillinger for bilderute",
|
||||
"render.frame_presets_pending": "Kommer med opptakseditoren",
|
||||
"render.frame_projection": "Projeksjon",
|
||||
"render.frame_render_shot": "Rendre dette opptaket",
|
||||
"render.frame_rule_thirds": "Tredjedelsregelen",
|
||||
"render.frame_safe_area": "Sikkert område",
|
||||
"render.frame_shot_title": "Opptak · {name}",
|
||||
"render.frame_square": "1:1 · Kvadrat",
|
||||
"render.frame_tall": "9:16 · Vertikal",
|
||||
"render.frame_thirds": "Tredjedeler",
|
||||
"render.frame_wide": "16:9 · Bredformat",
|
||||
"render.gpu_depth": "Maksimal banedybde",
|
||||
"render.gpu_options_help": "Prøver, dybde, startverdi og eksponering lagres med dette oppsettet. Bare den aktive bildemetoden lagres.",
|
||||
"render.gpu_path_failed": "GPU-banesporing er ikke tilgjengelig",
|
||||
@@ -2360,6 +2577,7 @@
|
||||
"render.heading_results": "RESULTATER",
|
||||
"render.heading_shots": "OPPTAK",
|
||||
"render.hide_shots_label": "Skjul opptaksstripen",
|
||||
"render.hover_look": "{object} · {look} · klikk for å velge",
|
||||
"render.image_advanced": "Avanserte GPU-innstillinger",
|
||||
"render.image_cancelled": "Rendring avbrutt",
|
||||
"render.image_cancelling": "Avbryter",
|
||||
@@ -2506,17 +2724,95 @@
|
||||
"render.library_uniform_ack": "Bruk den ensartede tilnærmingen uten romlige eller avanserte effekter",
|
||||
"render.library_usable": "Kjørbare projeksjoner",
|
||||
"render.library_users": "Brukes av",
|
||||
"render.light_aim": "Sikt mot",
|
||||
"render.light_anchor_pending": "Det er ikke støttet ennå å endre lysets koordinatsystem.",
|
||||
"render.light_azimuth": "Asimut",
|
||||
"render.light_backend_limit": "Velg CPU-strålesporing eller et eksplisitt GPU-studio for å redigere lys. Eldre GPU-studiolys forblir skrivebeskyttet.",
|
||||
"render.light_behaviour": "OPPFØRSEL",
|
||||
"render.light_default_fill": "Fyllys",
|
||||
"render.light_default_key": "Hovedlys",
|
||||
"render.light_default_number": "Lys {number}",
|
||||
"render.light_default_rim": "Kantlys",
|
||||
"render.light_delete": "Slett",
|
||||
"render.light_distance": "Avstand",
|
||||
"render.light_duplicate": "Dupliser",
|
||||
"render.light_elevation": "Elevasjon",
|
||||
"render.light_gpu_punctual": "Punktlys og spotlys er tilgjengelige med CPU-strålesporing.",
|
||||
"render.light_hard_shadow": "Dette lyset har harde skygger; mykhet for lyskilden er ikke tilgjengelig.",
|
||||
"render.light_intensity": "Intensitet",
|
||||
"render.light_missing": "Dette lyset finnes ikke lenger. Velg et lys i modelltreet.",
|
||||
"render.light_place_highlight": "Plasser etter høylys",
|
||||
"render.light_place_pending": "Plassering etter høylys krever valg av lys i visningsområdet og støttes ikke ennå.",
|
||||
"render.light_position": "POSISJON",
|
||||
"render.light_preview_help": "Live-visningen er uten skygger; arealys bruker en tilnærming med én prøve i midten. Rendring bruker den fullstendige lysmodellen.",
|
||||
"render.light_product_centre": "Produktets senter",
|
||||
"render.light_size": "Størrelse",
|
||||
"render.light_softness": "Mykhet",
|
||||
"render.light_temperature": "Fargetemperatur",
|
||||
"render.light_temperature_help": "Omtrentlig svartlegemefarge; lagres som lineær RGB.",
|
||||
"render.light_type": "Type",
|
||||
"render.light_type_area": "Areal",
|
||||
"render.light_type_point": "Punkt",
|
||||
"render.light_type_spot": "Spot",
|
||||
"render.light_type_sun": "Sol",
|
||||
"render.light_view_only": "Solo og demping påvirker denne visningen og rendringene fra den; de lagres aldri i designet.",
|
||||
"render.light_world_origin": "Verdens origo",
|
||||
"render.lighting_aim_point": "Siktepunkt",
|
||||
"render.lighting_apply": "Bruk forhåndsinnstilling",
|
||||
"render.lighting_area_samples": "Arealprøver",
|
||||
"render.lighting_budget": "Budsjett",
|
||||
"render.lighting_budget_help": "Antallene er skrivebeskyttet. Legg til, dupliser eller slett lys for å endre dem; metoden bestemmer grensene.",
|
||||
"render.lighting_colour": "Farge",
|
||||
"render.lighting_consent": "Erstatt retningslysene med denne forhåndsinnstillingen",
|
||||
"render.lighting_custom": "Egendefinerte lys",
|
||||
"render.lighting_custom_help": "Når du velger Egendefinert, gjøres forhåndsinnstillingen om til redigerbare lys, med én rad for hvert i treet.",
|
||||
"render.lighting_direction": "Retning X Y Z",
|
||||
"render.lighting_direction_help": "Eller skriv inn en retning mot lyset (X Y Z).",
|
||||
"render.lighting_distance_unit": " × størrelse",
|
||||
"render.lighting_edge_u": "Sidevektor U",
|
||||
"render.lighting_edge_v": "Sidevektor V",
|
||||
"render.lighting_falloff": "Avtaking",
|
||||
"render.lighting_falloff_help": "Intensiteten er oppgitt ved referanseavstanden.",
|
||||
"render.lighting_height": "Høyde V",
|
||||
"render.lighting_minimum": "Minimum",
|
||||
"render.lighting_mute": "Demp dette lyset",
|
||||
"render.lighting_point": "Punkt",
|
||||
"render.lighting_preset": "Studioforhåndsinnstilling",
|
||||
"render.lighting_preset_cpu": "Forhåndsinnstillinger for studio med retningslys krever CPU-strålesporing. GPU-belysning bruker eksplisitte sol- og arealys.",
|
||||
"render.lighting_preset_row": "Forhåndsinnstilling",
|
||||
"render.lighting_radiance": "Stråling",
|
||||
"render.lighting_reference": "Referanse",
|
||||
"render.lighting_review_help": "Erstatter listen over retningslys. Beholder punktlys og arealys, omgivelse, skygger, kamera og alle andre opptaksinnstillinger.",
|
||||
"render.lighting_review_title": "Gjennomgå forhåndsinnstilling for belysning",
|
||||
"render.lighting_samples_cpu": "Prøver for arealys gjelder for CPU-strålesporing.",
|
||||
"render.lighting_samples_need_area": "Legg til et CPU-arealys for å angi arealprøver.",
|
||||
"render.lighting_samples_reason": "Arealprøver må være 1, 4, 16 eller 64.",
|
||||
"render.lighting_shadow_cpu": "Skyggebryteren krever CPU-strålesporing. GPU-banesporing kaster alltid skygger.",
|
||||
"render.lighting_shadows": "Kast skygger",
|
||||
"render.lighting_shadows_section": "Skygger og sampling",
|
||||
"render.lighting_shape": "Form",
|
||||
"render.lighting_solo": "Solo for dette lyset",
|
||||
"render.lighting_source": "Kilde",
|
||||
"render.lighting_source_section": "Lyskilde",
|
||||
"render.lighting_spot_preserved": "Dette punktlyset beholder den lagrede spotlyskjeglen til typen endres.",
|
||||
"render.lighting_sun_distance": "Solretningen er uavhengig av avstand og siktepunkt.",
|
||||
"render.lighting_unsupported": "støttes ikke",
|
||||
"render.lighting_used": "{used} av {limit}",
|
||||
"render.lighting_width": "Bredde U",
|
||||
"render.lighting_world_position": "Verden X Y Z",
|
||||
"render.lights_fixed_to": "Lys festet til",
|
||||
"render.linear_help": "Beholder en RGBA-master med 32-biters flyttall før støyreduksjon, eksponering, tonekartlegging, filtre og bakgrunn. Lineær sRGB/D65; dekningsforhåndsmultiplisert. Ekstra minne tillates eksplisitt. Ingen komprimering eller ekstra pass.",
|
||||
"render.linear_retain": "Behold rå lineær EXR",
|
||||
"render.linear_unavailable": "Det valgte ferdige bildet har ingen beholdt EXR. Aktiver beholdning før rendring; en eldre PNG kan ikke gjenskape rå radians.",
|
||||
"render.look_add": "Legg til fargestil",
|
||||
"render.look_applied": "Brukt: {name}",
|
||||
"render.look_bleach": "Inspirert av bleach bypass",
|
||||
"render.look_cool": "Kjølig",
|
||||
"render.look_cyanotype": "Inspirert av cyanotypi",
|
||||
"render.look_faded": "Falmet trykk",
|
||||
"render.look_material": "Materiale",
|
||||
"render.look_mono": "Monokrom",
|
||||
"render.look_pasted": "Stil limt inn",
|
||||
"render.look_sepia": "Sepia",
|
||||
"render.look_strength": "Stilstyrke",
|
||||
"render.look_teal_orange": "Blågrønn / oransje",
|
||||
@@ -2592,9 +2888,11 @@
|
||||
"render.output_advanced": "Avansert",
|
||||
"render.output_backend_ready": "Klar",
|
||||
"render.output_check": "Sjekk",
|
||||
"render.output_check_failed": "Sjekk · feil",
|
||||
"render.output_check_help": "Kjør Sjekk for å gå gjennom denne forespørselen uten å starte en rendring.",
|
||||
"render.output_check_summary": "Sjekk · Merknader: {count}",
|
||||
"render.output_copy": "Kopier",
|
||||
"render.output_copy_report": "Kopier rapport",
|
||||
"render.output_destination": "Destinasjon",
|
||||
"render.output_destination_help": "Velg destinasjonsfilen når du eksporterer det ferdige bildet.",
|
||||
"render.output_dimensions": "Størrelse",
|
||||
@@ -2604,6 +2902,7 @@
|
||||
"render.output_fit": "Tilpass",
|
||||
"render.output_format": "Format",
|
||||
"render.output_format_status": "PNG er det nøyaktige ferdige visningsbildet. Valgfri GPU-EXR beholder rå scenelineær FLOAT32-radians før visningsfiltre. Eksport erstatter aldri forhåndsvisningsbufferen eller en annen jobb.",
|
||||
"render.output_grading": "Fargekorrigering",
|
||||
"render.output_image": "Bilde",
|
||||
"render.output_largest": "maks. {width} × {height}",
|
||||
"render.output_lock_ratio": "Lås sideforhold",
|
||||
@@ -2613,6 +2912,8 @@
|
||||
"render.output_quality_waiting": "venter på kvalitetskontrakten",
|
||||
"render.output_ratio_refused": "Det koblede målet overskrider størrelsesgrensen for denne metoden. Forrige størrelse beholdes; lås opp forholdet eller velg en mindre verdi.",
|
||||
"render.output_ready": "Klar til rendring",
|
||||
"render.output_run_check": "Kjør sjekk",
|
||||
"render.output_size_limit": "{method}: opptil {dimension} px per side og {pixels} piksler. Største størrelse som passer: {width} × {height}.",
|
||||
"render.output_size_ok": "Størrelse OK · {width} × {height} px",
|
||||
"render.output_swap_orientation": "Bytt bredde og høyde",
|
||||
"render.output_tools_inspector": "Rediger størrelse og format i utdatainspektøren.",
|
||||
@@ -2629,6 +2930,7 @@
|
||||
"render.page_output": "Utdata",
|
||||
"render.page_scene": "Scene",
|
||||
"render.paint_label": "Maling",
|
||||
"render.painting_with": "Maler med {name}",
|
||||
"render.passive_stage": "Gulv og passivt rendringsdekor",
|
||||
"render.passive_stage_help": "Endelige passive paneler hører bare til rendrede bilder. De legger ikke til CAD-kropper eller masse. Plasseringen er fast etter at den er brukt; skjæring med produktets avgrensning avvises. CPU gir ikke diffus indirekte belysning.",
|
||||
"render.perspective": "Perspektivkamera",
|
||||
@@ -2650,6 +2952,7 @@
|
||||
"render.pick_help": "Velg kropp, flate eller komponent. Klikk i tomt område for å fjerne valget; Shift eller Ctrl legger til eller veksler. Utheving vises bare i live-produktvisningen.",
|
||||
"render.pick_label": "Velg",
|
||||
"render.pick_up_label": "Plukk opp",
|
||||
"render.pick_up_prompt": "Klikk på et objekt for å plukke opp stilen",
|
||||
"render.pick_waiting": "Valg i produktvisningen støttes ikke ennå.",
|
||||
"render.post_contrast": "Kontrast",
|
||||
"render.post_gain_b": "Blå forsterkning",
|
||||
@@ -2689,13 +2992,17 @@
|
||||
"render.radial_distortion": "Radiell forvrengning",
|
||||
"render.radial_fit": "Tilpass produkt",
|
||||
"render.radial_save": "Lagre opptak",
|
||||
"render.recent_looks": "Nylige stiler",
|
||||
"render.regrade_action": "Fargekorriger råmaster på nytt (uten støyfjerning)",
|
||||
"render.regrade_help": "Oppretter en separat PNG fra den valgte ferdige råmasteren med disse presentasjonskontrollene. Sporer ingen stråler, endrer ikke registrert størrelse, kamera eller lys, og overskriver ikke EXR-filen. Støyfjerning brukes ikke på nytt: råmastere beholder ikke hjelpedataene for den. Den avledede filen kan fortsatt eksporteres med de samme jobbkontrollene.",
|
||||
"render.regrade_label": "Ny fargekorrigering",
|
||||
"render.reload_settings": "Last inn lagrede innstillinger på nytt",
|
||||
"render.remove_override": "Fjern overstyring",
|
||||
"render.replace_all": "Erstatt alle",
|
||||
"render.replace_ground": "Bekreft erstatning av eksisterende rendringsdekor",
|
||||
"render.replace_label": "Erstatt",
|
||||
"render.replace_saved_surface": "Erstatt en eksisterende lagret tilordning for dette målet",
|
||||
"render.replace_with": "Erstatt med",
|
||||
"render.restore_camera": "Gjenopprett lagret kamera",
|
||||
"render.result_actual": "100%",
|
||||
"render.result_actual_help": "Én bildepiksel per skjermpiksel.",
|
||||
@@ -2747,14 +3054,28 @@
|
||||
"render.saved_surface_remove": "Fjern lagret tilordning",
|
||||
"render.saved_surfaces": "Lagrede overflatetilordninger",
|
||||
"render.saved_surfaces_help": "Festede innebygde kart følger den valgte forekomsten i lokale millimeter. Et erstattet eller manglende mål er en feil, aldri en automatisk ny tilordning.",
|
||||
"render.scene_all_shots": "Alle opptak ({count})",
|
||||
"render.scene_apply": "Bruk gjennomgått studio",
|
||||
"render.scene_batch_reason": "Alle opptak krever rendringskøen for lagrede opptak, som ikke er tilgjengelig ennå.",
|
||||
"render.scene_check_now": "Sjekk nå",
|
||||
"render.scene_check_passed": "Sjekk bestått · {notes} merknader",
|
||||
"render.scene_check_stale": "Sjekken er utdatert · sjekk på nytt",
|
||||
"render.scene_check_unchecked": "Ikke sjekket ennå · 0 merknader",
|
||||
"render.scene_consent": "Bekreft erstatning av belysning, omgivelse, eksponering og rendringsdekor",
|
||||
"render.scene_light_summary": "{environment} · {lights} lys",
|
||||
"render.scene_look_summary": "{looks} stiler · {overrides} overstyringer",
|
||||
"render.scene_open_check": "Åpne Sjekk",
|
||||
"render.scene_preserved_fields": "Kamera, sampling, bildestørrelse, optiske tilordninger, CAD-geometri og tekniske materialer beholdes.",
|
||||
"render.scene_preserves_design": "Komponer belysning og et passivt rendringsdekor for det synlige motivet. Geometri, tekniske materialer og kamera forblir adskilt.",
|
||||
"render.scene_ready": "Klar til rendring",
|
||||
"render.scene_reminder": "Scene bevarer designet. Geometri, tekniske egenskaper og CAD endres aldri fra Rendring.",
|
||||
"render.scene_reminders": "Påminnelser",
|
||||
"render.scene_renderer_ready": "{renderer} er klar",
|
||||
"render.scene_replaces": "Erstatter",
|
||||
"render.scene_review": "Avklar og gjennomgå",
|
||||
"render.scene_review_help": "Gå gjennom hele den innebygde komposisjonen før du bruker den. Ubundne avanserte SCENE-spesifikasjoner erstattes ikke.",
|
||||
"render.scene_scope_details": "Komposisjonens omfang",
|
||||
"render.scene_stages": "Trinn",
|
||||
"render.search_appearances": "Søk i {count} utseender",
|
||||
"render.setup_legacy_environment": "Dette eldre oppsettet bruker utdatert rotasjon eller intensitet for omgivelsen. Disse verdiene beholdes; konverter dem eksplisitt før du lagrer en full bildejobb.",
|
||||
"render.setup_name": "Oppsettsnavn",
|
||||
@@ -2767,7 +3088,22 @@
|
||||
"render.shell_tab_camera": "RENDRINGSKAMERA",
|
||||
"render.shell_tab_lighting": "BELYSNING",
|
||||
"render.shell_tab_scene": "RENDRINGSSCENE",
|
||||
"render.shot_aperture": "Blender",
|
||||
"render.shot_distance": "Avstand",
|
||||
"render.shot_dof": "Dybdeskarphet",
|
||||
"render.shot_duplicate": "Dupliser lagret opptak",
|
||||
"render.shot_edit_output": "Rediger i Utdata",
|
||||
"render.shot_exposure_reason": "Eksponering krever CPU-strålesporing eller GPU-banesporing.",
|
||||
"render.shot_exposure_section": "Eksponering",
|
||||
"render.shot_focus_distance": "Fokusavstand",
|
||||
"render.shot_fov_reason": "Synsfelt krever perspektivprojeksjon.",
|
||||
"render.shot_frame_subject": "Ramme inn motivet",
|
||||
"render.shot_invalid_camera": "Kameraverdiene må være endelige og innenfor gyldig område.",
|
||||
"render.shot_lens": "Linse",
|
||||
"render.shot_lens_enable_reason": "Aktiver dybdeskarphet for å redigere blender og fokusavstand.",
|
||||
"render.shot_lens_gpu_reason": "Dybdeskarphet krever GPU-banesporing.",
|
||||
"render.shot_lens_perspective_reason": "Dybdeskarphet krever perspektivprojeksjon.",
|
||||
"render.shot_look_selection": "Sikt mot utvalget",
|
||||
"render.shot_manager": "Lagrede opptak",
|
||||
"render.shot_new_name": "Navn på nytt opptak",
|
||||
"render.shot_remove": "Fjern lagret opptak",
|
||||
@@ -2775,6 +3111,9 @@
|
||||
"render.shot_remove_title": "Fjerne lagret opptak?",
|
||||
"render.shot_rename": "Gi nytt navn til lagret opptak",
|
||||
"render.shot_saved_only": "Lagre det gjeldende utkastet først. Duplisering og omdøping beholder de nøyaktige lagrede alternativene og ressursreferansene.",
|
||||
"render.shot_selection_reason": "Velg en kropp eller flate å sikte mot.",
|
||||
"render.shot_size": "Størrelse",
|
||||
"render.shot_target": "Mål",
|
||||
"render.shots_camera_changed": "Kameraet er endret siden dette opptaket ble lagret",
|
||||
"render.shots_name_help": "Skriv inn et unikt navn på det gjeldende opptaket.",
|
||||
"render.shots_no_result": "Ingen rendring ennå",
|
||||
@@ -2997,6 +3336,13 @@
|
||||
"render.wait_pick_up": "støttes ikke ennå: valg av produkt og opptak av utseende",
|
||||
"render.wait_replace": "støttes ikke ennå: erstatning av alle bruk av et utseende",
|
||||
"render.wait_solo": "støttes ikke ennå: lysenes synlighet og solo-kontroller",
|
||||
"render.wear_applies_to": "Gjelder for",
|
||||
"render.wear_layer_count": "{count} lag",
|
||||
"render.wear_layer_one": "{count} lag",
|
||||
"render.wear_layers": "Lag",
|
||||
"render.wear_no_layers": "Ingen lag",
|
||||
"render.wear_selected_layer": "Valgt lag",
|
||||
"render.wear_title": "Slitasje",
|
||||
"sample.bracket.about": "Basisflens med kantflenser og kantomslag, med en plateregel for 2 mm tykkelse",
|
||||
"sample.bracket.name": "Platebrakett",
|
||||
"sample.enclosure.about": "Uthulet boks med leppekant, skruefester, anlegg og snap-fit",
|
||||
@@ -3030,6 +3376,7 @@
|
||||
"select an axis": "velg en akse",
|
||||
"select an axis, a straight or circular edge, or a cylinder, cone or torus face first": "velg en akse, en rett eller sirkulær kant, eller en sylinder-, kjegle- eller torusflate først",
|
||||
"select bodies first": "velg kropper først",
|
||||
"select components first": "velg komponenter først",
|
||||
"select corner points, or the two lines of one corner": "velg hjørnepunkter, eller de to linjene i ett hjørne",
|
||||
"select one corner point, or the two lines of one corner": "velg ett hjørnepunkt, eller de to linjene i ett hjørne",
|
||||
"select sheet edges first": "velg platekanter først",
|
||||
@@ -3048,6 +3395,7 @@
|
||||
"settings.double_click_components": "Dobbeltklikk på en komponent for å aktivere den, eller for å redigere en koblet komponent på stedet",
|
||||
"settings.frame_rate_details_note": "Legger til en graf over tidene for de siste bildene med trekantene som er tegnet oppå, et histogram over bildetider og hva GPU-en tegnet. Klikk på bildefrekvensen i visningen for å vise eller skjule dem.",
|
||||
"settings.frame_rate_note": "Viser bilder per sekund nederst til høyre i visningen.",
|
||||
"settings.insert_lists_open_designs": "Sett inn design viser først designene som er åpne i andre faner",
|
||||
"settings.measure_axis_distances": "Vis X/Y/Z-avstander",
|
||||
"settings.measure_axis_distances_help": "Vis avstanden langs hver av de globale X-, Y- og Z-aksene sammen med totalavstanden mens Mål er åpen.",
|
||||
"settings.msaa_applies_on_restart": "Kantutjevning brukes neste gang SolidCraft starter",
|
||||
@@ -3072,6 +3420,10 @@
|
||||
"shortcut.unpin": "Løsne",
|
||||
"sketch is missing": "skissen mangler",
|
||||
"sketch.degrees_of_freedom": "{count} frihetsgrader",
|
||||
"sketch.dimension_added_driven": "Skissen bestemmer allerede dette målet, så det ble lagt til som et drevet mål (referansemål)",
|
||||
"sketch.dimension_applied": "Målet er satt",
|
||||
"sketch.dimension_applied_defined": "Målet er satt; parameteren `{name}` er definert",
|
||||
"sketch.dimension_applied_renamed": "Målet er satt; parameteren har fått navnet `{name}`",
|
||||
"sketch.dof_left": "{count} frihetsgrader igjen",
|
||||
"sketch.dof_left_one": "{count} frihetsgrad igjen",
|
||||
"sketch.draw_curves": "Tegn som {linetype}",
|
||||
@@ -3106,6 +3458,8 @@
|
||||
"sketch_text.use_font_file": "Bruk skriftfilen {path}",
|
||||
"solid": "volumkropp",
|
||||
"status.editing": "Redigerer {name}",
|
||||
"status.navigation": "Museoppsett: {mapping}",
|
||||
"status.navigation_tip": "Hvordan musen beveger visningen. Klikk for å velge et annet oppsett",
|
||||
"status.under_constrained": "Underbestemt ({count} frihetsgrader)",
|
||||
"status.under_constrained_one": "Underbestemt ({count} frihetsgrad)",
|
||||
"status.units_tip": "Designets enheter. Klikk for å endre dem",
|
||||
@@ -3139,8 +3493,10 @@
|
||||
"timeline.delete_folders_tip": "Behold funksjonene og de nestede mappene i tidslinjen",
|
||||
"timeline.delete_folders_with_features_tip": "Slett mappene med alle funksjonene i dem og de nestede mappene deres",
|
||||
"timeline.delete_many": "Slett {count} valgte funksjoner",
|
||||
"timeline.edited_rolled_back": "{name} er endret, men ligger etter tidslinjemarkøren og bygges derfor ikke: flytt markøren forbi den for å se resultatet",
|
||||
"timeline.feature_error": "Feil: {message}",
|
||||
"timeline.feature_hint": "Dobbeltklikk for å redigere · dra for å endre rekkefølge · høyreklikk for mer",
|
||||
"timeline.feature_rolled_back": "Rullet tilbake: etter tidslinjemarkøren, så den bygges ikke",
|
||||
"timeline.feature_warning": "Advarsel: {message}",
|
||||
"timeline.group": "Ny funksjonsgruppe",
|
||||
"timeline.move_many": "Flytt tidslinjeelementer",
|
||||
@@ -3220,6 +3576,10 @@
|
||||
"ui.3d_mouse_offer": "Kalibrering av 3D-musen retter opp byttede eller reverserte akser og stiller inn hastighet og følelse.",
|
||||
"ui.3d_mouse_offer_never": "Ikke vis igjen",
|
||||
"ui.3d_mouse_offer_swap": "Bytt til Hidraw (direkte driver)",
|
||||
"ui.3d_mouse_orbit": "Rotasjon",
|
||||
"ui.3d_mouse_orbit_classic": "Klassisk",
|
||||
"ui.3d_mouse_orbit_tip": "Sporet: 3D-musen dreier visningen rundt den delen av modellen som er midt i visningen når dreiningen begynner, markert med en svak kule. Klassisk: rundt visningens sentrum",
|
||||
"ui.3d_mouse_orbit_traced": "Sporet",
|
||||
"ui.3d_mouse_reading": "Avlesning",
|
||||
"ui.3d_mouse_reset_axes": "Tilbakestill aksetilordning",
|
||||
"ui.3d_mouse_reset_view": "Tilbakestill visning",
|
||||
@@ -3604,6 +3964,7 @@
|
||||
"ui.constant": "Konstant",
|
||||
"ui.constraints_conflict": "Bindinger i konflikt",
|
||||
"ui.construction": "Konstruksjon",
|
||||
"ui.construction.ribbon_label": "Hjelpelinjer",
|
||||
"ui.context_menu": "Kontekstmeny",
|
||||
"ui.continuity_g0": "G0-knekk",
|
||||
"ui.continuity_g1": "G1-tangent",
|
||||
@@ -3695,6 +4056,14 @@
|
||||
"ui.end_scale": "Sluttskala",
|
||||
"ui.entities": "Objekter",
|
||||
"ui.equal": "Lik",
|
||||
"ui.equation_end": "Slutt",
|
||||
"ui.equation_explicit": "Eksplisitt",
|
||||
"ui.equation_form": "Form",
|
||||
"ui.equation_note": "Variabelen er et rent tall: sin(t) tolker det i radianer. Et resultat uten enhet er i designets enhet.",
|
||||
"ui.equation_parametric": "Parametrisk",
|
||||
"ui.equation_x_of_t": "x(t)",
|
||||
"ui.equation_y_of_t": "y(t)",
|
||||
"ui.equation_y_of_x": "y(x)",
|
||||
"ui.equivalent_radius": "Ekvivalent radius",
|
||||
"ui.expand": "Utvid",
|
||||
"ui.exportDxf": "Eksporter DXF…",
|
||||
@@ -3760,6 +4129,7 @@
|
||||
"ui.heading_design": "DESIGN",
|
||||
"ui.heading_draft": "SLIPPVINKEL",
|
||||
"ui.heading_edit": "REDIGER",
|
||||
"ui.heading_equation_curve": "LIGNINGSKURVE",
|
||||
"ui.heading_extrude": "EKSTRUDERING",
|
||||
"ui.heading_fillet": "AVRUNDING",
|
||||
"ui.heading_finish_editing": "FULLFØR REDIGERING",
|
||||
@@ -3851,6 +4221,10 @@
|
||||
"ui.import_ellipsis": "Importer…",
|
||||
"ui.infinite": "Uendelig",
|
||||
"ui.insert": "Sett inn",
|
||||
"ui.insert_design.browse": "Bla gjennom…",
|
||||
"ui.insert_design.open_designs": "Design som er åpne",
|
||||
"ui.insert_design.saved_file": "{name} har ulagrede endringer, så den lagrede filen ble satt inn. Lagre den, og bruk deretter Oppdater koblinger for å hente inn endringene.",
|
||||
"ui.insert_design.unsaved": "Ulagrede endringer",
|
||||
"ui.inspect": "Inspiser",
|
||||
"ui.intersect": "Snitt",
|
||||
"ui.isolate": "Isoler",
|
||||
@@ -4000,6 +4374,18 @@
|
||||
"ui.project": "Projiser",
|
||||
"ui.project_face_edges_sketch": "Projiser flatekanter inn i nye skisser",
|
||||
"ui.properties": "Egenskaper",
|
||||
"ui.properties.copy_matrix": "Kopier matrise",
|
||||
"ui.properties.first_moments": "Førsteordens momenter",
|
||||
"ui.properties.inertia": "Treghetsmoment",
|
||||
"ui.properties.inertia_note": "Om massesenteret, i verdensaksene (g·{unit}²)",
|
||||
"ui.properties.inertia_unavailable": "Ikke tilgjengelig: nettet til en kropp er ikke lukket.",
|
||||
"ui.properties.inertia_x": "Ixx, Ixy, Ixz",
|
||||
"ui.properties.inertia_y": "Iyx, Iyy, Iyz",
|
||||
"ui.properties.inertia_z": "Izx, Izy, Izz",
|
||||
"ui.properties.measuring": "Måler…",
|
||||
"ui.properties.measuring_failed": "Målingen stoppet før den var ferdig.",
|
||||
"ui.properties.principal_axis": "Hovedakse {number}",
|
||||
"ui.properties.principal_moments": "Hovedtreghetsmomenter",
|
||||
"ui.pull_direction": "Trekkretning",
|
||||
"ui.quality": "Kvalitet",
|
||||
"ui.quantity": "Antall",
|
||||
@@ -4062,6 +4448,7 @@
|
||||
"ui.select": "Velg",
|
||||
"ui.selectOther": "Velg annet…",
|
||||
"ui.selectTangentChain": "Velg tangentkjede",
|
||||
"ui.select_all": "Velg alle",
|
||||
"ui.selection": "Utvalg",
|
||||
"ui.selection_modifiers": "Utvalgsmodifikatorer",
|
||||
"ui.selection_shift_add_only": "Shift+klikk legger til uten å fjerne",
|
||||
@@ -4098,7 +4485,11 @@
|
||||
"ui.sketch": "Skisse",
|
||||
"ui.sketch_dimension": "Skissemål",
|
||||
"ui.sketch_grid": "Skisserutenett",
|
||||
"ui.sketch_intersect_geometry": "Geometri",
|
||||
"ui.sketch_intersect_projection_link": "Projeksjonskobling",
|
||||
"ui.sketch_intersect_selection_filter": "Utvalgsfilter",
|
||||
"ui.sketch_modifiers": "Skissemodifikatorer",
|
||||
"ui.sketch_project_geometry": "Geometri",
|
||||
"ui.sketch_scale": "Skisseskala",
|
||||
"ui.sketches": "Skisser",
|
||||
"ui.slice": "Snittvisning",
|
||||
@@ -4149,6 +4540,7 @@
|
||||
"ui.tab_manage": "Administrer",
|
||||
"ui.tab_sheet_metal": "Plate",
|
||||
"ui.tab_view": "Visning",
|
||||
"ui.tab_weldments": "Sveisekonstruksjoner",
|
||||
"ui.tangent": "Tangent",
|
||||
"ui.taper_angle": "Konusvinkel",
|
||||
"ui.tapped": "Gjenget",
|
||||
@@ -4164,6 +4556,7 @@
|
||||
"ui.tip_angle": "Spissvinkel",
|
||||
"ui.to_object": "Til objekt",
|
||||
"ui.tool_direction": "Verktøyretning",
|
||||
"ui.toolbar_tabs_hidden": "Alle verktøylinjefaner er skjult. Klikk på + eller høyreklikk her for å vise en.",
|
||||
"ui.top": "Topp",
|
||||
"ui.top_diameter": "Toppdiameter",
|
||||
"ui.top_radius": "Toppradius",
|
||||
@@ -4210,6 +4603,7 @@
|
||||
"ui.visual_shaded_with_edges": "Skyggelagt med kanter",
|
||||
"ui.visual_style": "Visuell stil",
|
||||
"ui.visual_wireframe": "Trådmodell",
|
||||
"ui.wheel_zoom_speed": "Zoomhastighet for musehjulet",
|
||||
"ui.width": "Bredde",
|
||||
"ui.window_system": "Vindussystem",
|
||||
"ui.window_system_auto": "Automatisk",
|
||||
@@ -4261,6 +4655,9 @@
|
||||
"update.prefs_label": "Oppdateringer",
|
||||
"update.prefs_note": "Dette er SolidCraft {version} ({kind}). Ved en oppdateringssjekk spør programmet GitHub om den nyeste utgivelsen. Ingen andre opplysninger sendes.",
|
||||
"update.prefs_web": "Last inn siden på nytt for å få den nyeste nettappen. Hvis nettverket ikke er tilgjengelig, eller oppdateringen ikke rekker å lastes ned i tide, åpnes den lagrede versjonen i stedet; en nedlasting som pågår, fortsetter til neste gang siden lastes inn på nytt.",
|
||||
"update.refresh_checking": "Ser etter den nyeste utgivelsen…",
|
||||
"update.refresh_fallback": "Kunne ikke se etter en nyere utgivelse; oppdaterer til {version}, som ble funnet tidligere.",
|
||||
"update.refresh_selected": "Oppdaterer til {version}.",
|
||||
"update.release_page": "Åpne utgivelsesside",
|
||||
"update.restart": "Start på nytt nå",
|
||||
"update.restart_later": "Senere",
|
||||
|
||||
@@ -204,6 +204,7 @@
|
||||
"Edges": "Randen",
|
||||
"Edit": "Bewerken",
|
||||
"Edit Profile Sketch": "Profielschets bewerken",
|
||||
"Edit shortcuts": "Sneltoetsen bewerken",
|
||||
"Enable rule": "Regel inschakelen",
|
||||
"Enabled": "Ingeschakeld",
|
||||
"End Radius": "Eindstraal",
|
||||
@@ -466,6 +467,7 @@
|
||||
"Radius": "Straal",
|
||||
"Radius Fit": "Straalaanpassing",
|
||||
"Ratio": "Verhouding",
|
||||
"Read-only list: shortcuts can't be changed here.": "Alleen-lezen lijst: sneltoetsen kunnen hier niet worden gewijzigd.",
|
||||
"Reattach selected face": "Geselecteerd vlak opnieuw koppelen",
|
||||
"Recover": "Herstellen",
|
||||
"Recover unsaved design?": "Niet-opgeslagen ontwerp herstellen?",
|
||||
@@ -649,6 +651,7 @@
|
||||
"Third point": "Derde punt",
|
||||
"This child is shared. Deleting it removes it from every copy of its parent.": "Dit onderliggende item wordt gedeeld. Verwijderen haalt het uit elke kopie van het bovenliggende item.",
|
||||
"This child is shared. Position changes apply to every copy of its parent.": "Dit onderliggende item wordt gedeeld. Positiewijzigingen gelden voor elke kopie van het bovenliggende item.",
|
||||
"This component is inside a subassembly placed more than once: aligning it moves it in every placement.": "Dit component zit in een subsamenstelling die meer dan eens is geplaatst: uitlijnen verplaatst het in elke plaatsing.",
|
||||
"This face cannot provide a durable attachment. Choose another face or explicitly use a fixed plane.": "Dit vlak kan geen duurzame bevestiging bieden. Kies een ander vlak of gebruik expliciet een vast vlak.",
|
||||
"This image is not attached to GitHub yet. Copy or save it, then attach it on GitHub.": "Deze afbeelding is nog niet aan GitHub toegevoegd. Kopieer of sla de afbeelding op en voeg die daarna op GitHub toe.",
|
||||
"Thread depth": "Schroefdraaddiepte",
|
||||
@@ -790,6 +793,11 @@
|
||||
"cam.roller": "Rol",
|
||||
"cam.roller_pick": "Rol (optioneel)",
|
||||
"cam.tip_pick": "Punt (optioneel)",
|
||||
"camera.shot_pitch": "Kanteling",
|
||||
"camera.shot_roll": "Rollen",
|
||||
"camera.shot_yaw": "Gieren",
|
||||
"canvas.decal_place_hint": "Klik op een vlak om de sticker te plaatsen",
|
||||
"canvas.place_hint": "Klik op een werkvlak of vlak om het canvas te plaatsen",
|
||||
"choose a profile": "kies een profiel",
|
||||
"choose the cam's and the follower's joints": "kies de verbindingen van de nok en de volger",
|
||||
"choose the joints to couple": "kies de te koppelen verbindingen",
|
||||
@@ -797,9 +805,12 @@
|
||||
"click sketch curves": "klik op schetscurven",
|
||||
"cmd.appearance_assign": "Uiterlijk",
|
||||
"cmd.appearance_chain": "Uiterlijkenketen",
|
||||
"cmd.appearance_copy": "Uiterlijk kopiëren",
|
||||
"cmd.appearance_favorite": "Uiterlijk als favoriet",
|
||||
"cmd.appearance_library": "Uiterlijkbibliotheek",
|
||||
"cmd.appearance_list": "Uiterlijken weergeven",
|
||||
"cmd.appearance_paint": "Uiterlijk aanbrengen",
|
||||
"cmd.appearance_paste": "Uiterlijk plakken",
|
||||
"cmd.appearance_pick_up": "Uiterlijk oppakken",
|
||||
"cmd.appearance_replace": "Uiterlijk vervangen",
|
||||
"cmd.assembly_bom": "Stuklijst",
|
||||
@@ -810,6 +821,7 @@
|
||||
"cmd.browser_move": "Browseritems verplaatsen",
|
||||
"cmd.browser_order": "Browseritems ordenen",
|
||||
"cmd.browser_rename_group": "Groep hernoemen",
|
||||
"cmd.browser_reparent": "Naar component verplaatsen",
|
||||
"cmd.browser_ungroup": "Groep opheffen",
|
||||
"cmd.browser_visibility": "Tonen/verbergen",
|
||||
"cmd.canvas_calibrate": "Canvas kalibreren",
|
||||
@@ -836,7 +848,9 @@
|
||||
"cmd.component_metadata": "Onderdeeleigenschappen",
|
||||
"cmd.component_metadata_set": "Onderdeeleigenschappen wijzigen",
|
||||
"cmd.component_move_bodies": "Lichamen naar component verplaatsen",
|
||||
"cmd.component_move_features": "Kenmerken naar component verplaatsen",
|
||||
"cmd.component_move_sketches": "Schetsen naar component verplaatsen",
|
||||
"cmd.component_paste_from_design": "Plakken uit een ander ontwerp",
|
||||
"cmd.component_paste_new": "Nieuw plakken",
|
||||
"cmd.component_properties": "Fysieke eigenschappen component",
|
||||
"cmd.component_relink": "Bron opnieuw koppelen",
|
||||
@@ -973,6 +987,7 @@
|
||||
"cmd.motion_trace": "Bewegingstraject",
|
||||
"cmd.motion_trace_edit": "Bewegingstraject bewerken",
|
||||
"cmd.motion_trace_keep": "Bewegingstraject behouden",
|
||||
"cmd.occurrence_align": "Occurrence uitlijnen",
|
||||
"cmd.occurrence_copy": "Plakken (instantie)",
|
||||
"cmd.occurrence_drag": "Occurrence slepen",
|
||||
"cmd.occurrence_ground": "Vastzetten",
|
||||
@@ -1030,11 +1045,17 @@
|
||||
"cmd.render_library_surface_unbind": "Oppervlaktekoppeling verwijderen",
|
||||
"cmd.render_library_targets": "Doelen in renderbibliotheek zoeken",
|
||||
"cmd.render_lights_add": "Licht toevoegen",
|
||||
"cmd.render_lights_duplicate": "Renderlicht dupliceren",
|
||||
"cmd.render_lights_list": "Renderlichten weergeven",
|
||||
"cmd.render_lights_mute": "Licht dempen",
|
||||
"cmd.render_lights_remove": "Renderlicht verwijderen",
|
||||
"cmd.render_lights_set": "Renderlicht instellen",
|
||||
"cmd.render_lights_solo": "Licht solo",
|
||||
"cmd.render_optics_bind": "Optische koppeling opslaan",
|
||||
"cmd.render_optics_unbind": "Optische koppeling verwijderen",
|
||||
"cmd.render_output_size": "Renderuitvoergrootte instellen",
|
||||
"cmd.render_preflight": "Renderverzoek controleren",
|
||||
"cmd.render_preflight_copy": "Rapport van rendercontrole kopiëren",
|
||||
"cmd.render_preset_apply": "Ingebouwde studio toepassen",
|
||||
"cmd.render_preset_resolve": "Ingebouwde studio controleren",
|
||||
"cmd.render_quality_prepare": "Vast samplingbudget controleren",
|
||||
@@ -1057,6 +1078,13 @@
|
||||
"cmd.render_start": "Afbeelding renderen",
|
||||
"cmd.render_status": "Rendervoortgang",
|
||||
"cmd.select_clear": "Selectie wissen",
|
||||
"cmd.settings_profile_apply": "Instellingenprofiel toepassen",
|
||||
"cmd.settings_profile_delete": "Instellingenprofiel verwijderen",
|
||||
"cmd.settings_profile_export": "Instellingenprofiel exporteren",
|
||||
"cmd.settings_profile_import": "Instellingenprofiel importeren",
|
||||
"cmd.settings_profile_list": "Instellingenprofielen",
|
||||
"cmd.settings_profile_rename": "Instellingenprofiel hernoemen",
|
||||
"cmd.settings_profile_save": "Instellingenprofiel opslaan",
|
||||
"cmd.sheet_convert": "Converteren naar plaatwerk",
|
||||
"cmd.sheet_export_bend_table": "Buigtabel exporteren",
|
||||
"cmd.sheet_export_dxf": "Uitslag exporteren als DXF",
|
||||
@@ -1070,6 +1098,16 @@
|
||||
"cmd.sheet_refold": "Opnieuw vouwen",
|
||||
"cmd.sheet_rules": "Plaatwerkregels weergeven",
|
||||
"cmd.sheet_unfold": "Ontvouwen",
|
||||
"cmd.sketch.construction_line": "Constructielijn",
|
||||
"cmd.sketch.construction_line.angle": "Constructielijn onder hoek",
|
||||
"cmd.sketch.construction_line.bisector": "Bissectrice",
|
||||
"cmd.sketch.construction_line.horizontal": "Horizontale constructielijn",
|
||||
"cmd.sketch.construction_line.parallel": "Parallelle constructielijn",
|
||||
"cmd.sketch.construction_line.perpendicular": "Loodrechte constructielijn",
|
||||
"cmd.sketch.construction_line.tangent_at": "Raaklijn in punt op kromme",
|
||||
"cmd.sketch.construction_line.tangent_external": "Raaklijn door extern punt",
|
||||
"cmd.sketch.construction_line.tangent_two": "Gemeenschappelijke raaklijn",
|
||||
"cmd.sketch.construction_line.vertical": "Verticale constructielijn",
|
||||
"cmd.sketch_arc3d": "3D-boog",
|
||||
"cmd.sketch_arc_center_point": "Boog met middelpunt",
|
||||
"cmd.sketch_arc_tangent": "Tangentiële boog",
|
||||
@@ -1102,6 +1140,8 @@
|
||||
"cmd.sketch_drawing_bounds": "Tekeninggrootte",
|
||||
"cmd.sketch_edit": "Schets bewerken",
|
||||
"cmd.sketch_edit_text": "Tekst bewerken",
|
||||
"cmd.sketch_equation_curve": "Vergelijkingscurve",
|
||||
"cmd.sketch_equation_curve_edit": "Vergelijkingscurve bewerken",
|
||||
"cmd.sketch_export_dxf": "Opslaan als DXF",
|
||||
"cmd.sketch_finish_auto_constrain": "Afronden met autom. beperken",
|
||||
"cmd.sketch_fit_curves_to_section": "Curven aanpassen aan meshdoorsnede",
|
||||
@@ -1198,6 +1238,7 @@
|
||||
"cmd.view.render_browser": "Renderbrowser",
|
||||
"cmd.view.render_dock": "Renderdock verplaatsen",
|
||||
"cmd.view.render_focus": "Renderfocusweergave",
|
||||
"cmd.view.status_items": "Statusitems in de viewport",
|
||||
"cmd.view_ambient_occlusion": "Ambient occlusion",
|
||||
"cmd.view_angle_readout": "Weergavehoeken",
|
||||
"cmd.view_apply": "Benoemde weergave herstellen",
|
||||
@@ -1219,6 +1260,7 @@
|
||||
"cmd.view_normal_to": "Loodrecht op selectie",
|
||||
"cmd.view_previous_tab": "Vorig tabblad",
|
||||
"cmd.view_rename": "Benoemde weergave hernoemen",
|
||||
"cmd.view_render_frame": "Hulplijnen voor renderkader",
|
||||
"cmd.view_right": "Rechteraanzicht",
|
||||
"cmd.view_save": "Nieuwe benoemde weergave",
|
||||
"cmd.view_shots_strip": "Opnamestrook",
|
||||
@@ -1229,10 +1271,14 @@
|
||||
"color.copy": "Klik om kleurwaarden te kopiëren",
|
||||
"color.edit": "Klik om kleur te bewerken",
|
||||
"color.gamma": "Kleurwaarden worden getoond in gammaruimte 0-255",
|
||||
"color.hex": "Hex",
|
||||
"color.hex_help": "Voer #rrggbb of #rrggbbaa in; met zes cijfers blijft de dekking behouden",
|
||||
"color.hex_hint": "#rrggbb",
|
||||
"color.hue": "Tint",
|
||||
"color.linear": "Kleurwaarden worden getoond in lineaire ruimte 0-1",
|
||||
"color.saturation_value": "Verzadiging en waarde",
|
||||
"color.selected": "Geselecteerde kleur",
|
||||
"config.column_filter_empty": "Geen overeenkomende kolommen",
|
||||
"contact.components_count": "{count} componenten",
|
||||
"contact.enabled_label": "ingeschakeld",
|
||||
"coupling.gear_1": "Tandwiel 1",
|
||||
@@ -1346,8 +1392,10 @@
|
||||
"help.material.assign": "Stelt in waarvan de geselecteerde lichamen gemaakt zijn, zoals staal, aluminium of ABS. Gebruik dit zodat massa en gewicht overeenkomen met het echte onderdeel.",
|
||||
"help.mit": "MIT-licentie",
|
||||
"help.notice": "NOTICE",
|
||||
"help.occurrence.move": "Verplaatst een onderdeel van een samenstelling alleen langs de vrijheidsgraden die zijn verbindingen toestaan. Selecteer een vlak van het onderdeel en sleep dan een beschikbare pijl of boog.",
|
||||
"help.parameters.change": "Opent de tabel met benoemde waarden en expressies die de maten van het ontwerp aansturen. Gebruik dit om een maat op één plek te wijzigen, zodat elk kenmerk dat die maat gebruikt vanzelf meegaat.",
|
||||
"help.pointcloud.insert": "Voeg een PLY-, XYZ- of PTS-scan in als puntenwolk naast het model. Gebruik deze als referentie bij het bouwen van een model op basis van gemeten gegevens.",
|
||||
"help.sketch.equation_curve": "Tekent een curve uit formules: x(t) en y(t), of y = f(x), over een bereik. De formules kunnen parameters gebruiken en de curve volgt ze: gebruik dit voor een sinusgolf, een spiraal of de evolvente van een tandwieltand.",
|
||||
"help.solid.align": "Verplaatst de geselecteerde lichamen zodat een punt, vlak of werkvlak erop samenvalt met een punt, vlak of werkvlak elders. Gebruik dit om een onderdeel tegen een ander te plaatsen zonder de afstand te meten.",
|
||||
"help.solid.chamfer": "Snijdt de geselecteerde randen af met een vlakke afschuining van de ingestelde afstand. Gebruik dit om scherpe randen te breken of het inbrengen van een pen of schroef te vergemakkelijken.",
|
||||
"help.solid.combine": "Voegt lichamen samen, snijdt ze uit een doellichaam of behoudt alleen het gedeelde volume, en kan de gereedschapslichamen behouden. Gebruik dit om onderdelen samen te voegen, een vorm met een andere uit te snijden of te vinden waar twee lichamen overlappen.",
|
||||
@@ -1476,6 +1524,21 @@
|
||||
"joint.one_component": "Deze onderdelen zijn lichamen van één component: {bodies}. Een verbinding beweegt het ene component ten opzichte van het andere, dus elk onderdeel heeft een eigen component nodig.",
|
||||
"joint.rigid_group_one_component": "Deze {count} lichamen bevinden zich allemaal in één component (of in het ontwerp zelf): gebruik eerst {command}.",
|
||||
"joint.rigid_group_select_components": "Selecteer twee of meer componenten.",
|
||||
"joint_move.blocked_hint": "Controleer het verbindingstype (zoals Star), het vastzetten, de verbindingslimieten en door parameters aangestuurde waarden.",
|
||||
"joint_move.blocked_title": "Dit onderdeel kan niet worden verplaatst",
|
||||
"joint_move.coarse": "Rotatiestap dicht bij de as (°)",
|
||||
"joint_move.distance": "Afstand vanaf het begin",
|
||||
"joint_move.done": "Gereed",
|
||||
"joint_move.fine": "Rotatiestap ver van de as (°)",
|
||||
"joint_move.fixed": "Dit onderdeel heeft geen beweegbare verbindingsas.",
|
||||
"joint_move.help": "Verplaatsen — sleep een pijl of ring. Esc annuleert het huidige slepen.",
|
||||
"joint_move.legacy_hint": "Schakel uit om het vorige Verplaatsen-paneel te gebruiken.",
|
||||
"joint_move.precision": "Trek buiten de gestreepte hulplijn voor fijne rotatie.",
|
||||
"joint_move.rotation": "Rotatie vanaf het begin",
|
||||
"joint_move.select": "Selecteer een vlak of één onderdeel van de samenstelling en kies dan Verplaatsen.",
|
||||
"joint_move.settings": "Verplaatsen in samenstelling",
|
||||
"joint_move.step": "Stap",
|
||||
"joint_move.use_handles": "Bewegingsgrepen van verbindingen gebruiken voor Verplaatsen in samenstellingen",
|
||||
"keymap.command_id": "Opdracht-ID",
|
||||
"keymap.empty": "Geen overeenkomende opdrachten",
|
||||
"keymap.use_anyway": "Toch {key} hier gebruiken",
|
||||
@@ -1570,6 +1633,8 @@
|
||||
"nav.maya.help": "Alt+linkerknop slepen draait, Alt+middenknop pant, Alt+rechterknop zoomt; middenknop slepen pant ook",
|
||||
"nav.openscad.help": "Linkerknop slepen op lege ruimte draait, Shift+linkerknop slepen selecteert met een kader, schetsgeometrie slepen bewerkt die; rechter- of middenknop slepen pant, Shift+rechter- of Shift+middenknop slepen zoomt",
|
||||
"nav.perspective.sketch": "Schetsbewerking gebruikt een orthografische weergave. Rond de schets af om naar perspectief te schakelen.",
|
||||
"nav.right_drag_orbits.help": "Uit: rechts slepen laat de camera met rust en de rechtermuisknop opent alleen het contextmenu. Het kiezen van de SolidWorks-muistoewijzing schakelt dit uit.",
|
||||
"nav.right_drag_orbits.label": "Rechts slepen roteert",
|
||||
"nav.solidworks.help": "Middenknop slepen draait, Ctrl+middenknop pant, Shift+middenknop zoomt, rechterknop slepen draait",
|
||||
"nav.tinkercad.help": "Rechterknop slepen draait, middenknop of Shift+rechterknop slepen pant",
|
||||
"nav.touchpad.help": "Houd Shift ingedrukt en beweeg de aanwijzer om te pannen; houd Alt/Option ingedrukt en beweeg om te roteren. Er is geen muisknop nodig. Verticaal scrollen zoomt.",
|
||||
@@ -1591,6 +1656,9 @@
|
||||
"navbar.custom.customise": "Navigatiebalk aanpassen…",
|
||||
"navbar.custom.design": "Ontwerp",
|
||||
"navbar.custom.duplicate": "Dit item staat al op de balk.",
|
||||
"navbar.custom.edge": "Rand",
|
||||
"navbar.custom.edge_bottom": "Onder",
|
||||
"navbar.custom.edge_top": "Boven",
|
||||
"navbar.custom.fade": "Vervagen",
|
||||
"navbar.custom.full": "Verwijder een item om een ander toe te voegen.",
|
||||
"navbar.custom.hidden_design": "Verborgen in Ontwerp",
|
||||
@@ -1697,6 +1765,7 @@
|
||||
"parts.dimension.thickness": "Dikte",
|
||||
"parts.dimension.width": "Breedte",
|
||||
"parts.family.bearing": "Groefkogellager (omhullende)",
|
||||
"parts.family.button_head_cap_screw": "Bolkopschroef met inbus",
|
||||
"parts.family.dowel_pin": "Parallelpen (paspen)",
|
||||
"parts.family.hex_bolt": "Zeskantbout / zeskantschroef",
|
||||
"parts.family.hex_nut": "Zeskantmoer",
|
||||
@@ -1753,6 +1822,9 @@
|
||||
"prefs.bottom_centre": "Midden onder",
|
||||
"prefs.bottom_right": "Rechtsonder",
|
||||
"prefs.browser": "Browser",
|
||||
"prefs.browser_reveal_on_hover": "Tonen bij aanwijzen",
|
||||
"prefs.browser_show_note": "Getoond houdt de browser op het scherm. Tonen bij aanwijzen houdt hem uit beeld totdat de aanwijzer over zijn plek of over het smalle lipje aan zijn linkerrand komt, en hij blijft open zolang de aanwijzer erin staat of een menu ervan open is.",
|
||||
"prefs.browser_shown": "Getoond",
|
||||
"prefs.built_in": "Ingebouwd",
|
||||
"prefs.button_left": "Linkerknop slepen",
|
||||
"prefs.button_middle": "Middenknop slepen",
|
||||
@@ -1823,6 +1895,8 @@
|
||||
"prefs.layout_note": "Compact plaatst panelen vast aan de vensterranden. Doorschijnendheid van de browser is beschikbaar in Zwevend. Wijzig de kant van de Assistent op de pagina Assistent.",
|
||||
"prefs.left": "Links",
|
||||
"prefs.left_click": "Linksklik",
|
||||
"prefs.line_drag_draws_one": "Indrukken en slepen tekent één lijn",
|
||||
"prefs.line_drag_draws_one_note": "In het lijngereedschap tekent indrukken, slepen en loslaten één lijn van het indrukpunt tot het loslaatpunt, en daar eindigt de lijn. Klikken tekent nog steeds een keten. Uit: slepen zet, net als een klik, een punt waar losgelaten wordt.",
|
||||
"prefs.linked_designs": "Gekoppelde ontwerpen",
|
||||
"prefs.live_input": "Live invoer",
|
||||
"prefs.live_preview": "Live voorbeeld",
|
||||
@@ -1855,14 +1929,36 @@
|
||||
"prefs.origin_plane_names": "Namen van oorsprongsvlakken",
|
||||
"prefs.origin_plane_names_note": "Namen die worden getoond in de browser, dialoogvensters en lijsten. {top} is XY, {front} is XZ en {right} is YZ, met Z omhoog. Opdrachten, scripts en opgeslagen ontwerpen blijven XY, XZ en YZ gebruiken.",
|
||||
"prefs.overall_speed": "Totale snelheid",
|
||||
"prefs.perspective_fov": "Gezichtsveld",
|
||||
"prefs.placement": "Plaatsing",
|
||||
"prefs.prefer_free_sketch_points": "Verplaatsbare schetspunten voorrang geven als punten overlappen",
|
||||
"prefs.preview_choices": "Voorbeeld van je keuzes",
|
||||
"prefs.profile_active": "Actief profiel",
|
||||
"prefs.profile_applied": "Profiel toegepast.",
|
||||
"prefs.profile_changed": "De instellingen zijn gewijzigd sinds het profiel is opgeslagen. Opslaan bewaart ze erin.",
|
||||
"prefs.profile_deleted": "Profiel verwijderd.",
|
||||
"prefs.profile_export": "Exporteren…",
|
||||
"prefs.profile_exported": "Profiel geëxporteerd.",
|
||||
"prefs.profile_imported": "Profiel geïmporteerd. Kies het onder Actief profiel om ernaar over te schakelen.",
|
||||
"prefs.profile_name_hint": "Profielnaam, bijv. Laptop",
|
||||
"prefs.profile_rename": "Hernoemen",
|
||||
"prefs.profile_renamed": "Profiel hernoemd.",
|
||||
"prefs.profile_save": "Opslaan",
|
||||
"prefs.profile_saved": "Huidige instellingen opgeslagen in het profiel.",
|
||||
"prefs.profile_skipped": "Profiel toegepast; {n} instelling(en) hebben hun huidige waarde behouden (zie het logboek).",
|
||||
"prefs.profiles": "Instellingenprofielen",
|
||||
"prefs.profiles_note": "Sneltoetsen, de werkbalk, navigatie, het radiaalmenu en interface-instellingen, samen bewaard onder een naam en in één keer gewisseld.",
|
||||
"prefs.project_options_dialog": "Dialoogvenster voor Projecteren",
|
||||
"prefs.project_options_dialog_note": "Aan: kies Geometrie of Lichamen en Projectiekoppeling voordat je projecteert. Uit: de vorige werkwijze met direct kiezen behouden.",
|
||||
"prefs.quality_default": "standaard",
|
||||
"prefs.quality_fastest": "snelste",
|
||||
"prefs.quality_slowest": "langzaamste",
|
||||
"prefs.quality_smoother": "gladder",
|
||||
"prefs.render_previous_geometry_budget": "Vorig geometriebudget voor het rendervoorbeeld gebruiken",
|
||||
"prefs.render_previous_geometry_budget_help": "De vorige vaste geometrielimiet herstellen (512 MiB op 64-bits desktops, elders 128 MiB) in plaats van het budget op basis van het apparaat.",
|
||||
"prefs.reports_saved": "{n} opgeslagen",
|
||||
"prefs.ribbon_reveal": "Zoekresultaten in het lint tonen",
|
||||
"prefs.ribbon_reveal_note": "Als je de aanwijzer op een resultaat in Opdrachten zoeken houdt, zie je waar de opdracht in het lint staat: het tabblad, de knop of de rij in de vervolgkeuzelijst van een paneel. Een opdracht die vanuit de zoekfunctie is gestart, knippert daar, en een actieve opdracht uit een vervolgkeuzelijst markeert het paneel.",
|
||||
"prefs.right_click": "Rechtsklik",
|
||||
"prefs.saving": "Automatisch opslaan en herstel",
|
||||
"prefs.scale_note": "Ook Ctrl + / Ctrl − in het venster. Knoppen zijn 28 px bij 100%.",
|
||||
@@ -1876,6 +1972,10 @@
|
||||
"prefs.shift_add_ctrl_toggle": "Shift voegt alleen toe; Ctrl / Cmd schakelt om",
|
||||
"prefs.shift_add_note": "Aan: Shift voegt toe, Ctrl / Cmd schakelt om. Uit (standaard): beide schakelen om.",
|
||||
"prefs.shortcuts": "Sneltoetsen",
|
||||
"prefs.single_surface_analysis": "Eén oppervlakteanalyse tegelijk gebruiken",
|
||||
"prefs.single_surface_analysis_help": "Indien uit kunnen kleuring van het oppervlak en Continuïteit tegelijk aan blijven. Als dit aan staat, blijft alleen de laatst gestarte of gewijzigde analyse actief.",
|
||||
"prefs.sketch_align_points": "Uitlijnen met andere schetspunten tijdens het tekenen",
|
||||
"prefs.sketch_align_points_note": "Tijdens het tekenen lijnt een punt tegelijk horizontaal uit met het ene schetspunt en verticaal met een ander, met een gestippelde hulplijn, en de klik behoudt beide uitlijningen. Uit: alleen met het vorige punt, één as tegelijk.",
|
||||
"prefs.sketch_conflict_colour": "Conflicterende geometrie in de conflictkleur",
|
||||
"prefs.sketch_conflict_colour_note": "Zolang de beperkingen van een schets conflicteren, worden ook de curven en punten die een niet-vervulde beperking vasthoudt in de conflictkleur getekend, niet alleen het symbool of de maat ervan. Uit: ze houden hun gewone kleuren.",
|
||||
"prefs.sketch_exit_view": "Wanneer een schets eindigt",
|
||||
@@ -1883,6 +1983,8 @@
|
||||
"prefs.sketch_exit_view.previous": "Terug naar de vorige weergave",
|
||||
"prefs.sketch_exit_view.unless_rotated": "Terug, tenzij geroteerd",
|
||||
"prefs.sketch_exit_view_note": "Waar de weergave naartoe gaat na Schets afronden, Annuleren of een dubbele Esc.",
|
||||
"prefs.sketch_recent_snap": "Automatisch snappen op recente cirkelmiddens en middelpunten",
|
||||
"prefs.sketch_recent_snap_note": "Tijdens het tekenen snapt de cursor op het punt waar de hulplijnen van de twee meest recente cirkelmiddens of middelpunten van rechte randen elkaar kruisen. Uit: die hulplijnen worden alleen getoond en de cursor beweegt niet.",
|
||||
"prefs.sketch_selection": "Schets en selectie",
|
||||
"prefs.sketch_selection_heading": "Schets en selectie",
|
||||
"prefs.sketch_selection_note": "Hoe schetsen snappen en hoe klikken selecteren.",
|
||||
@@ -1922,7 +2024,14 @@
|
||||
"prefs.toast_place": "Meldingen",
|
||||
"prefs.toggle_item": "Het item toevoegen of weer weghalen",
|
||||
"prefs.toolbar": "Werkbalk",
|
||||
"prefs.toolbar_tabs": "Werkbalktabbladen",
|
||||
"prefs.top": "Boven",
|
||||
"prefs.trackpad_zoom_modifier": "Zoomen met scrollen met twee vingers bij ingedrukte toets",
|
||||
"prefs.trackpad_zoom_modifier.alt": "⌥ / Alt",
|
||||
"prefs.trackpad_zoom_modifier.cmd": "⌘",
|
||||
"prefs.trackpad_zoom_modifier.ctrl": "Ctrl",
|
||||
"prefs.trackpad_zoom_modifier.help": "Houd alleen deze toets ingedrukt om met verticaal scrollen bij de aanwijzer te zoomen. Uit behoudt het bestaande scrollgedrag.",
|
||||
"prefs.trackpad_zoom_modifier.off": "Uit",
|
||||
"prefs.translucent": "Doorschijnend",
|
||||
"prefs.under_browser": "Onder de browser",
|
||||
"prefs.under_cursor": "Onder de cursor",
|
||||
@@ -1932,9 +2041,14 @@
|
||||
"prefs.view_confirm_corner": "OK en Annuleren in de hoek van de weergave",
|
||||
"prefs.view_confirm_corner_note": "Zolang een dialoogvenster of een schets open is, doen een vinkje en een kruisje rechtsboven in de weergave hetzelfde als OK en Annuleren van het dialoogvenster, of ze ronden de schets af of annuleren die. De weergavenavigator schuift daaronder naar beneden.",
|
||||
"prefs.viewport": "Weergavevenster",
|
||||
"prefs.viewport_background": "Achtergrond",
|
||||
"prefs.viewport_background_colour": "Kleur",
|
||||
"prefs.viewport_background_theme": "Verloop van het thema",
|
||||
"prefs.wheel": "Wiel",
|
||||
"prefs.wheel_trackpad": "Wiel en trackpad",
|
||||
"prefs.workspace": "Werkruimte",
|
||||
"prefs.zoom_stop_at_model": "Zoomen stoppen bij het model",
|
||||
"prefs.zoom_stop_at_model_tip": "De 3D-muis en de apparaat-app zoomen naar het oppervlak in het midden van de weergave; slepend zoomen houdt het punt vast waar het slepen begon. Uit: zoomen kan door het model heen gaan. Wiel en knijpen gebruiken Naar de cursor zoomen apart",
|
||||
"prefs.zoom_toward_cursor": "Zoomen naar de cursor",
|
||||
"properties.title": "Eigenschappen: {name}",
|
||||
"recovery.days_ago": "{count} dagen geleden",
|
||||
@@ -2023,6 +2137,7 @@
|
||||
"render.appearance_editor.weight": "Gewicht",
|
||||
"render.appearance_physics_separate": "Het visuele uiterlijk kent geen dichtheid, thermische gegevens of andere technische eigenschappen toe.",
|
||||
"render.appearances": "Uiterlijken",
|
||||
"render.assign_help": "Klik om op de selectie toe te passen; sleep voor een voorbeeld en laat los om neer te zetten, of klik zonder selectie om te schilderen.",
|
||||
"render.availability_native": "Ingebouwde samenstelling; controleren voor het toepassen",
|
||||
"render.availability_projection": "Ondersteunde projectie; zie bereik en weglatingen",
|
||||
"render.availability_reference": "Referentiegegevens; geen automatische toewijzing",
|
||||
@@ -2061,6 +2176,7 @@
|
||||
"render.bloom_threshold": "Lineaire highlightdrempel",
|
||||
"render.browse_capabilities": "Volledige catalogus met mogelijkheden bekijken",
|
||||
"render.browse_environments": "Originele HDR-omgevingen doorbladeren",
|
||||
"render.browse_looks": "Bladeren…",
|
||||
"render.browse_native_scenes": "Ingebouwde studio's doorbladeren",
|
||||
"render.browse_physical": "Fysieke referenties bekijken",
|
||||
"render.browse_quality": "Kwaliteitsspecificaties bekijken",
|
||||
@@ -2084,6 +2200,82 @@
|
||||
"render.check_opaque": "Transparantie: alleen ondoorzichtige oppervlakken; achtergrondalfa wordt ondersteund.",
|
||||
"render.check_sorted_alpha": "Transparantie: benadering met gesorteerde alfa.",
|
||||
"render.check_transmission": "Transparantie: fysieke transmissie.",
|
||||
"render.children.absolute_floor": "Absolute ondergrens",
|
||||
"render.children.adaptive": "Adaptief",
|
||||
"render.children.add_look_reason": "Voeg een look toe om de aan/uit-status en sterkte ervan te bewerken.",
|
||||
"render.children.all_shots": "Alle opnamen",
|
||||
"render.children.bloom": "Bloom",
|
||||
"render.children.check": "Controleren",
|
||||
"render.children.check_now": "Nu controleren",
|
||||
"render.children.chromatic": "Chromatisch",
|
||||
"render.children.compact": "Compact",
|
||||
"render.children.contrast": "Contrast",
|
||||
"render.children.copy_image": "Kopiëren",
|
||||
"render.children.copy_job": "Taak-JSON kopiëren",
|
||||
"render.children.copy_request": "Aanvraag-JSON kopiëren",
|
||||
"render.children.coverage_error": "Bedekkingsfout",
|
||||
"render.children.cpu": "CPU-raytracing",
|
||||
"render.children.denoise": "Ruis verminderen in de voltooide afbeelding",
|
||||
"render.children.depth": "Paddiepte",
|
||||
"render.children.distortion": "Vervorming",
|
||||
"render.children.edge_samples": "Randsamples",
|
||||
"render.children.effects_banner": "Deze effecten vereisen GPU-pathtracing. Dit openen verandert de methode nooit.",
|
||||
"render.children.enable_adaptive": "Schakel onafhankelijke pilots in om de adaptieve limieten te bewerken.",
|
||||
"render.children.enable_bloom": "Schakel bloom in om de sterkte, drempel en straal ervan te bewerken.",
|
||||
"render.children.finishing": "Afwerking",
|
||||
"render.children.flare": "Flare",
|
||||
"render.children.fresnel": "Fresnel-strata",
|
||||
"render.children.ghosts": "Spookringen",
|
||||
"render.children.glass": "Glastransport",
|
||||
"render.children.go_to": "Ga naar {editor}",
|
||||
"render.children.grain": "Korrel",
|
||||
"render.children.halo": "Halo",
|
||||
"render.children.hdr": "HDR",
|
||||
"render.children.keep_master": "Ruwe lineaire master bewaren",
|
||||
"render.children.last_result": "Laatste: {number} · {width} × {height} · {phase}",
|
||||
"render.children.lens_effects": "Lenseffecten",
|
||||
"render.children.look_summary": "{tone} · {count} looks",
|
||||
"render.children.looks": "Creatieve looks",
|
||||
"render.children.memory": "Geheugen",
|
||||
"render.children.method": "Methode",
|
||||
"render.children.minimum": "Minimum",
|
||||
"render.children.needs_cpu": "Vereist CPU-raytracing. Dit openen verandert de methode nooit.",
|
||||
"render.children.nested": "Gecertificeerde geneste diëlektrica",
|
||||
"render.children.not_checked": "Niet gecontroleerd",
|
||||
"render.children.path": "Pathtracing",
|
||||
"render.children.pilots": "Pilotsamples",
|
||||
"render.children.preview": "Voorbeeldgegevens",
|
||||
"render.children.progressive_reason": "Kies Progressief om het aantal samples en de seed ervan te bewerken.",
|
||||
"render.children.radius": "Straal",
|
||||
"render.children.reflect_depth": "Reflectiediepte",
|
||||
"render.children.reflect_samples": "Reflectiesamples",
|
||||
"render.children.regrade": "Nieuwe kleurcorrectie",
|
||||
"render.children.relative_error": "Relatieve fout",
|
||||
"render.children.render": "Renderen",
|
||||
"render.children.render_shot": "Opname renderen",
|
||||
"render.children.renderer": "Renderer",
|
||||
"render.children.renderers": "Renderers",
|
||||
"render.children.request": "Deze aanvraag",
|
||||
"render.children.reset_finishing": "Afwerking herstellen",
|
||||
"render.children.review_quality": "Een kwaliteitsspecificatie beoordelen…",
|
||||
"render.children.rgb_gain": "RGB-versterking",
|
||||
"render.children.samples": "Samples",
|
||||
"render.children.sampling": "Sampling",
|
||||
"render.children.saturation": "Verzadiging",
|
||||
"render.children.scene_summary": "{bodies} lichamen · {triangles} driehoeken",
|
||||
"render.children.seed": "Seed",
|
||||
"render.children.sharpening": "Verscherping",
|
||||
"render.children.single_image": "Enkele afbeelding",
|
||||
"render.children.soft_focus": "Zachte focus",
|
||||
"render.children.streak": "Streep",
|
||||
"render.children.strength": "Sterkte",
|
||||
"render.children.studio": "Studio",
|
||||
"render.children.threshold": "Drempel",
|
||||
"render.children.tone": "Toon",
|
||||
"render.children.under_hood": "Onder de motorkap",
|
||||
"render.children.vignette": "Vignettering",
|
||||
"render.children.workstation": "Werkstation",
|
||||
"render.choose_look": "Kies eerst een uiterlijk in Uiterlijken",
|
||||
"render.chromatic_offset": "Chromatische randverschuiving",
|
||||
"render.clear_stage": "Opgeslagen decor verwijderen",
|
||||
"render.copy_request": "JSON kopiëren",
|
||||
@@ -2335,8 +2527,33 @@
|
||||
"render.flare_strength": "Flare-sterkte voor highlights",
|
||||
"render.flare_threshold": "Flare-drempel (scènelineair)",
|
||||
"render.fold_browser": "Browser samenvouwen",
|
||||
"render.frame_aspect": "Beeldverhouding",
|
||||
"render.frame_centre_mark": "Middenmarkering",
|
||||
"render.frame_copy_limit": "Geen beschikbare naam voor de kopie van de opname",
|
||||
"render.frame_copy_name": "{name} kopie {number}",
|
||||
"render.frame_custom": "Aangepast",
|
||||
"render.frame_distance_unit": " × grootte",
|
||||
"render.frame_duplicate": "Dupliceren",
|
||||
"render.frame_exposure": "Belichting",
|
||||
"render.frame_fov": "Gezichtsveld",
|
||||
"render.frame_guides": "Hulplijnen",
|
||||
"render.frame_invalid_aspect": "Ongeldige voorinstelling voor beeldverhouding",
|
||||
"render.frame_lens": "FOV {fov}° · ≈ {mm} mm",
|
||||
"render.frame_name": "Naam",
|
||||
"render.frame_output_size": "Uitvoergrootte",
|
||||
"render.frame_photo": "3:2 · Foto",
|
||||
"render.frame_portrait": "4:5 · Portret",
|
||||
"render.frame_presets": "Kadervoorinstellingen",
|
||||
"render.frame_presets_pending": "Komt met de Opname-editor",
|
||||
"render.frame_projection": "Projectie",
|
||||
"render.frame_render_shot": "Deze opname renderen",
|
||||
"render.frame_rule_thirds": "Regel van derden",
|
||||
"render.frame_safe_area": "Veilig gebied",
|
||||
"render.frame_shot_title": "Opname · {name}",
|
||||
"render.frame_square": "1:1 · Vierkant",
|
||||
"render.frame_tall": "9:16 · Verticaal",
|
||||
"render.frame_thirds": "Derden",
|
||||
"render.frame_wide": "16:9 · Breedbeeld",
|
||||
"render.gpu_depth": "Maximale paddiepte",
|
||||
"render.gpu_options_help": "Samples, diepte, seed en belichting worden opgeslagen bij deze opstelling. Alleen de actieve beeldmethode wordt opgeslagen.",
|
||||
"render.gpu_path_failed": "GPU-pathtracer niet beschikbaar",
|
||||
@@ -2364,6 +2581,7 @@
|
||||
"render.heading_results": "RESULTATEN",
|
||||
"render.heading_shots": "OPNAMEN",
|
||||
"render.hide_shots_label": "Opnamestrook verbergen",
|
||||
"render.hover_look": "{object} · {look} · klik om te selecteren",
|
||||
"render.image_advanced": "Geavanceerde GPU-instellingen",
|
||||
"render.image_cancelled": "Render geannuleerd",
|
||||
"render.image_cancelling": "Annuleren",
|
||||
@@ -2510,17 +2728,95 @@
|
||||
"render.library_uniform_ack": "De uniforme benadering gebruiken zonder ruimtelijke of geavanceerde effecten",
|
||||
"render.library_usable": "Uitvoerbare projecties",
|
||||
"render.library_users": "Gebruikt door",
|
||||
"render.light_aim": "Richten op",
|
||||
"render.light_anchor_pending": "Het wijzigen van het coördinatensysteem van het licht wordt nog niet ondersteund.",
|
||||
"render.light_azimuth": "Azimut",
|
||||
"render.light_backend_limit": "Kies CPU-raytracing of een expliciete GPU-studio om lichten te bewerken. Oude GPU-studiolichten blijven alleen-lezen.",
|
||||
"render.light_behaviour": "GEDRAG",
|
||||
"render.light_default_fill": "Vullicht",
|
||||
"render.light_default_key": "Hoofdlicht",
|
||||
"render.light_default_number": "Licht {number}",
|
||||
"render.light_default_rim": "Randlicht",
|
||||
"render.light_delete": "Verwijderen",
|
||||
"render.light_distance": "Afstand",
|
||||
"render.light_duplicate": "Dupliceren",
|
||||
"render.light_elevation": "Elevatie",
|
||||
"render.light_gpu_punctual": "Punt- en spotlichten zijn beschikbaar met CPU-raytracing.",
|
||||
"render.light_hard_shadow": "Dit licht heeft harde schaduwen; zachtheid van de lichtbron is niet beschikbaar.",
|
||||
"render.light_intensity": "Intensiteit",
|
||||
"render.light_missing": "Dit licht bestaat niet meer. Selecteer een licht in de browser.",
|
||||
"render.light_place_highlight": "Plaatsen via highlight",
|
||||
"render.light_place_pending": "Plaatsen via highlight vereist het kiezen van lichten in de viewport en wordt nog niet ondersteund.",
|
||||
"render.light_position": "POSITIE",
|
||||
"render.light_preview_help": "De live weergave heeft geen schaduwen; vlaklichten gebruiken een benadering met één sample in het midden. Renderen gebruikt het volledige lichtmodel.",
|
||||
"render.light_product_centre": "Productmidden",
|
||||
"render.light_size": "Grootte",
|
||||
"render.light_softness": "Zachtheid",
|
||||
"render.light_temperature": "Kleurtemperatuur",
|
||||
"render.light_temperature_help": "Benaderde zwartlichaamtint; opgeslagen als lineaire RGB.",
|
||||
"render.light_type": "Type",
|
||||
"render.light_type_area": "Oppervlak",
|
||||
"render.light_type_point": "Punt",
|
||||
"render.light_type_spot": "Spot",
|
||||
"render.light_type_sun": "Zon",
|
||||
"render.light_view_only": "Solo en dempen gelden voor deze weergave en de renders ervan; ze worden nooit in het ontwerp opgeslagen.",
|
||||
"render.light_world_origin": "Wereldoorsprong",
|
||||
"render.lighting_aim_point": "Richtpunt",
|
||||
"render.lighting_apply": "Voorinstelling toepassen",
|
||||
"render.lighting_area_samples": "Samples voor vlaklichten",
|
||||
"render.lighting_budget": "Budget",
|
||||
"render.lighting_budget_help": "Aantallen zijn alleen-lezen. Voeg lichten toe, dupliceer of verwijder ze om de aantallen te wijzigen; de methode bepaalt de limieten.",
|
||||
"render.lighting_colour": "Kleur",
|
||||
"render.lighting_consent": "De richtingslichten vervangen door deze voorinstelling",
|
||||
"render.lighting_custom": "Aangepaste lichten",
|
||||
"render.lighting_custom_help": "Als je Aangepast kiest, wordt de voorinstelling omgezet in bewerkbare lichten, elk met een eigen rij in de boom.",
|
||||
"render.lighting_direction": "Richting X Y Z",
|
||||
"render.lighting_direction_help": "Of typ een richting naar het licht (X Y Z).",
|
||||
"render.lighting_distance_unit": " × grootte",
|
||||
"render.lighting_edge_u": "Zijvector U",
|
||||
"render.lighting_edge_v": "Zijvector V",
|
||||
"render.lighting_falloff": "Afname",
|
||||
"render.lighting_falloff_help": "De intensiteit geldt op de referentieafstand.",
|
||||
"render.lighting_height": "Hoogte V",
|
||||
"render.lighting_minimum": "Minimum",
|
||||
"render.lighting_mute": "Dit licht dempen",
|
||||
"render.lighting_point": "Punt",
|
||||
"render.lighting_preset": "Studiovoorinstelling",
|
||||
"render.lighting_preset_cpu": "Studiovoorinstellingen met richtingslichten vereisen CPU-raytracing. GPU-verlichting gebruikt expliciete zon- en vlaklichten.",
|
||||
"render.lighting_preset_row": "Voorinstelling",
|
||||
"render.lighting_radiance": "Straling",
|
||||
"render.lighting_reference": "Referentie",
|
||||
"render.lighting_review_help": "Vervangt de lijst met richtingslichten. Behoudt punt- en vlaklichten, omgeving, schaduwen, camera en alle andere opname-instellingen.",
|
||||
"render.lighting_review_title": "Verlichtingsvoorinstelling controleren",
|
||||
"render.lighting_samples_cpu": "Samples voor vlaklichten gelden voor CPU-raytracing.",
|
||||
"render.lighting_samples_need_area": "Voeg een CPU-vlaklicht toe om samples voor vlaklichten in te stellen.",
|
||||
"render.lighting_samples_reason": "Samples voor vlaklichten moeten 1, 4, 16 of 64 zijn.",
|
||||
"render.lighting_shadow_cpu": "De schaduwschakelaar vereist CPU-raytracing. GPU-pathtracing werpt altijd schaduwen.",
|
||||
"render.lighting_shadows": "Schaduwen werpen",
|
||||
"render.lighting_shadows_section": "Schaduwen en sampling",
|
||||
"render.lighting_shape": "Vorm",
|
||||
"render.lighting_solo": "Dit licht solo",
|
||||
"render.lighting_source": "Bron",
|
||||
"render.lighting_source_section": "Lichtbron",
|
||||
"render.lighting_spot_preserved": "Dit puntlicht behoudt zijn opgeslagen spotkegel totdat het type wordt gewijzigd.",
|
||||
"render.lighting_sun_distance": "De zonrichting is onafhankelijk van afstand en richtpunt.",
|
||||
"render.lighting_unsupported": "niet ondersteund",
|
||||
"render.lighting_used": "{used} van {limit}",
|
||||
"render.lighting_width": "Breedte U",
|
||||
"render.lighting_world_position": "Wereld X Y Z",
|
||||
"render.lights_fixed_to": "Lichten vast aan",
|
||||
"render.linear_help": "Bewaart een 32-bits float-RGBA-master vóór ruisonderdrukking, belichting, tone mapping, filters en achtergrond. Lineair sRGB/D65; met voorvermenigvuldigde dekking. Extra geheugen wordt expliciet toegestaan. Geen compressie of extra passes.",
|
||||
"render.linear_retain": "Ruwe lineaire EXR bewaren",
|
||||
"render.linear_unavailable": "Het geselecteerde voltooide frame heeft geen bewaarde EXR. Schakel bewaren in vóór het renderen; een oudere PNG kan de ruwe radiantie niet herstellen.",
|
||||
"render.look_add": "Kleurlook toevoegen",
|
||||
"render.look_applied": "{name} toegepast",
|
||||
"render.look_bleach": "Geïnspireerd op bleach bypass",
|
||||
"render.look_cool": "Koel",
|
||||
"render.look_cyanotype": "Geïnspireerd op cyanotypie",
|
||||
"render.look_faded": "Vervaagde afdruk",
|
||||
"render.look_material": "Materiaal",
|
||||
"render.look_mono": "Monochroom",
|
||||
"render.look_pasted": "Uiterlijk geplakt",
|
||||
"render.look_sepia": "Sepia",
|
||||
"render.look_strength": "Sterkte van look",
|
||||
"render.look_teal_orange": "Teal / oranje",
|
||||
@@ -2596,9 +2892,11 @@
|
||||
"render.output_advanced": "Geavanceerd",
|
||||
"render.output_backend_ready": "Gereed",
|
||||
"render.output_check": "Controleren",
|
||||
"render.output_check_failed": "Controleren · fout",
|
||||
"render.output_check_help": "Voer Controleren uit om dit verzoek te bekijken zonder een render te starten.",
|
||||
"render.output_check_summary": "Controleren · Opmerkingen: {count}",
|
||||
"render.output_copy": "Kopiëren",
|
||||
"render.output_copy_report": "Rapport kopiëren",
|
||||
"render.output_destination": "Bestemming",
|
||||
"render.output_destination_help": "Kies het doelbestand bij het exporteren van de voltooide afbeelding.",
|
||||
"render.output_dimensions": "Grootte",
|
||||
@@ -2608,6 +2906,7 @@
|
||||
"render.output_fit": "Passend",
|
||||
"render.output_format": "Opmaak",
|
||||
"render.output_format_status": "PNG is de exacte voltooide weergaveafbeelding. Optionele GPU-EXR bewaart de ruwe scènelineaire FLOAT32-radiantie vóór weergavefilters. Exporteren vervangt nooit de voorbeeldcache of een andere taak.",
|
||||
"render.output_grading": "Kleurcorrectie",
|
||||
"render.output_image": "Afbeelding",
|
||||
"render.output_largest": "max. {width} × {height}",
|
||||
"render.output_lock_ratio": "Beeldverhouding vergrendelen",
|
||||
@@ -2617,6 +2916,8 @@
|
||||
"render.output_quality_waiting": "wachten op het kwaliteitscontract",
|
||||
"render.output_ratio_refused": "De gekoppelde afmeting overschrijdt de groottelimiet van deze methode. De vorige grootte blijft behouden; ontgrendel de verhouding of kies een kleinere waarde.",
|
||||
"render.output_ready": "Gereed om te renderen",
|
||||
"render.output_run_check": "Controle uitvoeren",
|
||||
"render.output_size_limit": "{method}: tot {dimension} px per zijde en {pixels} pixels. Grootste passende formaat: {width} × {height}.",
|
||||
"render.output_size_ok": "Grootte OK · {width} × {height} px",
|
||||
"render.output_swap_orientation": "Breedte en hoogte omwisselen",
|
||||
"render.output_tools_inspector": "Bewerk grootte en bestandsindeling in de inspecteur Uitvoer.",
|
||||
@@ -2633,6 +2934,7 @@
|
||||
"render.page_output": "Uitvoer",
|
||||
"render.page_scene": "Scène",
|
||||
"render.paint_label": "Verf",
|
||||
"render.painting_with": "Schilderen met {name}",
|
||||
"render.passive_stage": "Vloer en passief decor",
|
||||
"render.passive_stage_help": "Eindige passieve panelen horen alleen bij gerenderde afbeeldingen. Ze voegen geen CAD-lichamen of massa toe. De plaatsing staat vast na het toepassen; als ze de grenzen van het product snijden, worden ze geweigerd. CPU levert geen diffuse weerkaatste verlichting.",
|
||||
"render.perspective": "Perspectiefcamera",
|
||||
@@ -2654,6 +2956,7 @@
|
||||
"render.pick_help": "Kies Lichaam, Vlak of Component. Klik op lege ruimte om de selectie te wissen; Shift of Ctrl voegt toe of schakelt om. Markeringen verschijnen alleen in de live productweergave.",
|
||||
"render.pick_label": "Kiezen",
|
||||
"render.pick_up_label": "Overnemen",
|
||||
"render.pick_up_prompt": "Klik op een object om het uiterlijk ervan over te nemen",
|
||||
"render.pick_waiting": "Kiezen in de productweergave wordt nog niet ondersteund.",
|
||||
"render.post_contrast": "Contrast",
|
||||
"render.post_gain_b": "Versterking blauw",
|
||||
@@ -2693,13 +2996,17 @@
|
||||
"render.radial_distortion": "Radiale vervorming",
|
||||
"render.radial_fit": "Product passend maken",
|
||||
"render.radial_save": "Opname opslaan",
|
||||
"render.recent_looks": "Recente uiterlijken",
|
||||
"render.regrade_action": "Ruwe master opnieuw kleurcorrigeren (geen ruisonderdrukking)",
|
||||
"render.regrade_help": "Maakt een afzonderlijke PNG van de gekozen voltooide ruwe master met deze presentatiebesturing. Traceert geen stralen, wijzigt de vastgelegde grootte, camera en lichten niet en overschrijft de EXR niet. Ruisonderdrukking wordt niet opnieuw toegepast: ruwe masters bewaren de bijbehorende hulpkanalen niet. Het afgeleide beeld blijft exporteerbaar via dezelfde taakbesturing.",
|
||||
"render.regrade_label": "Nieuwe kleurcorrectie",
|
||||
"render.reload_settings": "Opgeslagen instellingen opnieuw laden",
|
||||
"render.remove_override": "Overschrijving verwijderen",
|
||||
"render.replace_all": "Alles vervangen",
|
||||
"render.replace_ground": "Vervanging van het bestaande renderdecor bevestigen",
|
||||
"render.replace_label": "Vervangen",
|
||||
"render.replace_saved_surface": "Een bestaande opgeslagen koppeling voor dit doel vervangen",
|
||||
"render.replace_with": "Vervangen door",
|
||||
"render.restore_camera": "Opgeslagen camera herstellen",
|
||||
"render.result_actual": "100%",
|
||||
"render.result_actual_help": "Eén beeldpixel per schermpixel.",
|
||||
@@ -2751,14 +3058,28 @@
|
||||
"render.saved_surface_remove": "Opgeslagen koppeling verwijderen",
|
||||
"render.saved_surfaces": "Opgeslagen oppervlaktekoppelingen",
|
||||
"render.saved_surfaces_help": "Vastgemaakte ingebouwde maps volgen het gekozen exemplaar in lokale millimeters. Een vervangen of ontbrekend doel is een fout, nooit een automatische hertoewijzing.",
|
||||
"render.scene_all_shots": "Alle opnamen ({count})",
|
||||
"render.scene_apply": "Beoordeelde studio toepassen",
|
||||
"render.scene_batch_reason": "Alle opnamen vereist de renderwachtrij voor opgeslagen opnamen, die nog niet beschikbaar is.",
|
||||
"render.scene_check_now": "Nu controleren",
|
||||
"render.scene_check_passed": "Controle geslaagd · {notes} opmerkingen",
|
||||
"render.scene_check_stale": "Controle verouderd · controleer opnieuw",
|
||||
"render.scene_check_unchecked": "Nog niet gecontroleerd · 0 opmerkingen",
|
||||
"render.scene_consent": "Vervanging van verlichting, omgeving, belichting en renderdecor bevestigen",
|
||||
"render.scene_light_summary": "{environment} · {lights} lichten",
|
||||
"render.scene_look_summary": "{looks} uiterlijken · {overrides} overschrijvingen",
|
||||
"render.scene_open_check": "Controleren openen",
|
||||
"render.scene_preserved_fields": "Camera, sampling, afmetingen, optische koppelingen, CAD-geometrie en technische materialen blijven behouden.",
|
||||
"render.scene_preserves_design": "Stelt verlichting en een passief decor samen voor het zichtbare onderwerp. Geometrie, technische materialen en de camera blijven afzonderlijk.",
|
||||
"render.scene_ready": "Gereed om te renderen",
|
||||
"render.scene_reminder": "Scène behoudt het ontwerp. Geometrie, technische eigenschappen en CAD worden vanuit Renderen nooit gewijzigd.",
|
||||
"render.scene_reminders": "Herinneringen",
|
||||
"render.scene_renderer_ready": "{renderer} gereed",
|
||||
"render.scene_replaces": "Vervangt",
|
||||
"render.scene_review": "Uitwerken en beoordelen",
|
||||
"render.scene_review_help": "Bekijk de volledige native compositie voordat je toepast. Niet-gekoppelde geavanceerde SCENE-specificaties worden niet door een alternatief vervangen.",
|
||||
"render.scene_scope_details": "Reikwijdte van de compositie",
|
||||
"render.scene_stages": "Fasen",
|
||||
"render.search_appearances": "Zoeken in {count} uiterlijken",
|
||||
"render.setup_legacy_environment": "Deze oudere opstelling gebruikt verouderde omgevingsrotatie of -intensiteit. Die waarden blijven behouden; converteer ze expliciet voordat je een volledige afbeeldingstaak opslaat.",
|
||||
"render.setup_name": "Naam van opstelling",
|
||||
@@ -2771,7 +3092,22 @@
|
||||
"render.shell_tab_camera": "RENDER-CAMERA",
|
||||
"render.shell_tab_lighting": "VERLICHTING",
|
||||
"render.shell_tab_scene": "RENDER-SCÈNE",
|
||||
"render.shot_aperture": "Diafragma",
|
||||
"render.shot_distance": "Afstand",
|
||||
"render.shot_dof": "Scherptediepte",
|
||||
"render.shot_duplicate": "Opgeslagen opname dupliceren",
|
||||
"render.shot_edit_output": "Bewerken in Uitvoer",
|
||||
"render.shot_exposure_reason": "Belichting vereist CPU-raytracing of GPU-pathtracing.",
|
||||
"render.shot_exposure_section": "Belichting",
|
||||
"render.shot_focus_distance": "Scherpstelafstand",
|
||||
"render.shot_fov_reason": "Gezichtsveld vereist perspectiefprojectie.",
|
||||
"render.shot_frame_subject": "Onderwerp in beeld brengen",
|
||||
"render.shot_invalid_camera": "Camerawaarden moeten eindig zijn en binnen het bereik liggen.",
|
||||
"render.shot_lens": "Lens",
|
||||
"render.shot_lens_enable_reason": "Schakel scherptediepte in om diafragma en scherpstelafstand te bewerken.",
|
||||
"render.shot_lens_gpu_reason": "Scherptediepte vereist GPU-pathtracing.",
|
||||
"render.shot_lens_perspective_reason": "Scherptediepte vereist perspectiefprojectie.",
|
||||
"render.shot_look_selection": "Naar selectie kijken",
|
||||
"render.shot_manager": "Opgeslagen opnamen",
|
||||
"render.shot_new_name": "Naam van nieuwe opname",
|
||||
"render.shot_remove": "Opgeslagen opname verwijderen",
|
||||
@@ -2779,6 +3115,9 @@
|
||||
"render.shot_remove_title": "Opgeslagen opname verwijderen?",
|
||||
"render.shot_rename": "Opgeslagen opname hernoemen",
|
||||
"render.shot_saved_only": "Sla eerst het huidige concept op. Dupliceren en hernoemen behouden de exacte opgeslagen opties en bronverwijzingen.",
|
||||
"render.shot_selection_reason": "Selecteer een lichaam of vlak om op te richten.",
|
||||
"render.shot_size": "Grootte",
|
||||
"render.shot_target": "Doel",
|
||||
"render.shots_camera_changed": "Camera gewijzigd sinds deze opname is opgeslagen",
|
||||
"render.shots_name_help": "Voer een unieke naam in voor de huidige opname.",
|
||||
"render.shots_no_result": "Nog geen render",
|
||||
@@ -3001,6 +3340,13 @@
|
||||
"render.wait_pick_up": "nog niet ondersteund: producten kiezen en uiterlijken overnemen",
|
||||
"render.wait_replace": "nog niet ondersteund: alle toepassingen van een uiterlijk vervangen",
|
||||
"render.wait_solo": "nog niet ondersteund: lichtzichtbaarheid en solo-bediening",
|
||||
"render.wear_applies_to": "Geldt voor",
|
||||
"render.wear_layer_count": "{count} lagen",
|
||||
"render.wear_layer_one": "{count} laag",
|
||||
"render.wear_layers": "Lagen",
|
||||
"render.wear_no_layers": "Geen lagen",
|
||||
"render.wear_selected_layer": "Geselecteerde laag",
|
||||
"render.wear_title": "Slijtage",
|
||||
"sample.bracket.about": "Basisflens met randflenzen en een zoom op een regel van 2 mm",
|
||||
"sample.bracket.name": "Plaatwerkbeugel",
|
||||
"sample.enclosure.about": "Uitgeholde doos met een lip, schroefnokken, een rustvlak en een snapverbinding",
|
||||
@@ -3034,6 +3380,7 @@
|
||||
"select an axis": "selecteer een as",
|
||||
"select an axis, a straight or circular edge, or a cylinder, cone or torus face first": "selecteer eerst een as, een rechte of cirkelvormige rand, of een cilinder-, kegel- of torusvlak",
|
||||
"select bodies first": "selecteer eerst lichamen",
|
||||
"select components first": "selecteer eerst componenten",
|
||||
"select corner points, or the two lines of one corner": "selecteer hoekpunten, of de twee lijnen van één hoek",
|
||||
"select one corner point, or the two lines of one corner": "selecteer één hoekpunt, of de twee lijnen van één hoek",
|
||||
"select sheet edges first": "selecteer eerst plaatranden",
|
||||
@@ -3052,6 +3399,7 @@
|
||||
"settings.double_click_components": "Dubbelklik op een component om het te activeren of om een gekoppeld component ter plaatse te bewerken",
|
||||
"settings.frame_rate_details_note": "Voegt een grafiek toe met de tijden van de laatste frames, met de getekende driehoeken erboven, een histogram van frametijden en wat de GPU heeft getekend. Klik op de framesnelheid in de weergave om ze te tonen of te verbergen.",
|
||||
"settings.frame_rate_note": "Toont frames per seconde in de rechteronderhoek van de weergave.",
|
||||
"settings.insert_lists_open_designs": "Ontwerp invoegen toont eerst de ontwerpen die in andere tabbladen open zijn",
|
||||
"settings.measure_axis_distances": "X/Y/Z-afstanden tonen",
|
||||
"settings.measure_axis_distances_help": "Toon de componentmaten langs de wereldassen naast de totale afstand terwijl Meten open is.",
|
||||
"settings.msaa_applies_on_restart": "Anti-aliasing wordt toegepast bij de volgende start van SolidCraft",
|
||||
@@ -3076,6 +3424,10 @@
|
||||
"shortcut.unpin": "Losmaken",
|
||||
"sketch is missing": "schets ontbreekt",
|
||||
"sketch.degrees_of_freedom": "{count} vrijheidsgraden",
|
||||
"sketch.dimension_added_driven": "De schets bepaalt die maat al, dus is deze toegevoegd als aangedreven maat (referentiemaat)",
|
||||
"sketch.dimension_applied": "Maat toegepast",
|
||||
"sketch.dimension_applied_defined": "Maat toegepast; parameter `{name}` gedefinieerd",
|
||||
"sketch.dimension_applied_renamed": "Maat toegepast; parameter `{name}` genoemd",
|
||||
"sketch.dof_left": "{count} vrijheidsgraden resterend",
|
||||
"sketch.dof_left_one": "{count} vrijheidsgraad resterend",
|
||||
"sketch.draw_curves": "Tekenen als {linetype}",
|
||||
@@ -3110,6 +3462,8 @@
|
||||
"sketch_text.use_font_file": "Lettertypebestand {path} gebruiken",
|
||||
"solid": "solid",
|
||||
"status.editing": "{name} wordt bewerkt",
|
||||
"status.navigation": "Muistoewijzing: {mapping}",
|
||||
"status.navigation_tip": "Hoe de muis de weergave verplaatst. Klik om een andere toewijzing te kiezen",
|
||||
"status.under_constrained": "Onderbeperkt ({count} vrijheidsgraden)",
|
||||
"status.under_constrained_one": "Onderbeperkt ({count} vrijheidsgraad)",
|
||||
"status.units_tip": "De eenheden van het ontwerp. Klik om ze te wijzigen",
|
||||
@@ -3143,8 +3497,10 @@
|
||||
"timeline.delete_folders_tip": "Hun kenmerken en geneste mappen in de geschiedenis behouden",
|
||||
"timeline.delete_folders_with_features_tip": "De mappen verwijderen met alle kenmerken erin en hun geneste mappen",
|
||||
"timeline.delete_many": "{count} geselecteerde kenmerken verwijderen",
|
||||
"timeline.edited_rolled_back": "{name} is gewijzigd, maar staat na de geschiedenismarkering en wordt dus niet opgebouwd: verplaats de markering voorbij dit kenmerk om het resultaat te zien",
|
||||
"timeline.feature_error": "Fout: {message}",
|
||||
"timeline.feature_hint": "Dubbelklik om te bewerken · sleep om te herschikken · rechtsklik voor meer",
|
||||
"timeline.feature_rolled_back": "Teruggedraaid: na de geschiedenismarkering, dus niet opgebouwd",
|
||||
"timeline.feature_warning": "Waarschuwing: {message}",
|
||||
"timeline.group": "Nieuwe kenmerkmap",
|
||||
"timeline.move_many": "Tijdlijnitems verplaatsen",
|
||||
@@ -3224,6 +3580,10 @@
|
||||
"ui.3d_mouse_offer": "Je 3D-muis kalibreren verhelpt verwisselde of omgekeerde assen en stelt snelheid en gevoel in.",
|
||||
"ui.3d_mouse_offer_never": "Niet meer tonen",
|
||||
"ui.3d_mouse_offer_swap": "Naar Hidraw wisselen (direct)",
|
||||
"ui.3d_mouse_orbit": "Roteren",
|
||||
"ui.3d_mouse_orbit_classic": "Klassiek",
|
||||
"ui.3d_mouse_orbit_tip": "Getraceerd: de 3D-muis draait de weergave rond het deel van het model dat midden in de weergave ligt wanneer het draaien begint, gemarkeerd door een vage bol. Klassiek: rond het midden van de weergave",
|
||||
"ui.3d_mouse_orbit_traced": "Getraceerd",
|
||||
"ui.3d_mouse_reading": "Uitlezen",
|
||||
"ui.3d_mouse_reset_axes": "Astoewijzing herstellen",
|
||||
"ui.3d_mouse_reset_view": "Weergave resetten",
|
||||
@@ -3608,6 +3968,7 @@
|
||||
"ui.constant": "Constant",
|
||||
"ui.constraints_conflict": "Beperkingen conflicteren",
|
||||
"ui.construction": "Constructie",
|
||||
"ui.construction.ribbon_label": "Hulplijnen",
|
||||
"ui.context_menu": "Contextmenu",
|
||||
"ui.continuity_g0": "G0-knik",
|
||||
"ui.continuity_g1": "G1-tangentieel",
|
||||
@@ -3699,6 +4060,14 @@
|
||||
"ui.end_scale": "Eindschaal",
|
||||
"ui.entities": "Elementen",
|
||||
"ui.equal": "Gelijk",
|
||||
"ui.equation_end": "Einde",
|
||||
"ui.equation_explicit": "Expliciet",
|
||||
"ui.equation_form": "Vorm",
|
||||
"ui.equation_note": "De variabele is een gewoon getal: sin(t) neemt het in radialen. Een resultaat zonder eenheid is in de eenheid van het ontwerp.",
|
||||
"ui.equation_parametric": "Parametrisch",
|
||||
"ui.equation_x_of_t": "x(t)",
|
||||
"ui.equation_y_of_t": "y(t)",
|
||||
"ui.equation_y_of_x": "y(x)",
|
||||
"ui.equivalent_radius": "Equivalente straal",
|
||||
"ui.expand": "Uitvouwen",
|
||||
"ui.exportDxf": "DXF exporteren…",
|
||||
@@ -3764,6 +4133,7 @@
|
||||
"ui.heading_design": "ONTWERP",
|
||||
"ui.heading_draft": "AANZET",
|
||||
"ui.heading_edit": "BEWERKEN",
|
||||
"ui.heading_equation_curve": "VERGELIJKINGSCURVE",
|
||||
"ui.heading_extrude": "EXTRUDEREN",
|
||||
"ui.heading_fillet": "AFRONDING",
|
||||
"ui.heading_finish_editing": "BEWERKEN VOLTOOIEN",
|
||||
@@ -3855,6 +4225,10 @@
|
||||
"ui.import_ellipsis": "Importeren…",
|
||||
"ui.infinite": "Oneindig",
|
||||
"ui.insert": "Invoegen",
|
||||
"ui.insert_design.browse": "Bladeren…",
|
||||
"ui.insert_design.open_designs": "Open ontwerpen",
|
||||
"ui.insert_design.saved_file": "{name} heeft niet-opgeslagen wijzigingen, dus is het opgeslagen bestand ingevoegd. Sla het op en gebruik daarna Koppelingen bijwerken om de wijzigingen over te nemen.",
|
||||
"ui.insert_design.unsaved": "Niet-opgeslagen wijzigingen",
|
||||
"ui.inspect": "Inspecteren",
|
||||
"ui.intersect": "Snijden",
|
||||
"ui.isolate": "Isoleren",
|
||||
@@ -4004,6 +4378,18 @@
|
||||
"ui.project": "Projecteren",
|
||||
"ui.project_face_edges_sketch": "Vlakranden projecteren in nieuwe schetsen",
|
||||
"ui.properties": "Eigenschappen",
|
||||
"ui.properties.copy_matrix": "Matrix kopiëren",
|
||||
"ui.properties.first_moments": "Eerste momenten",
|
||||
"ui.properties.inertia": "Traagheidsmoment",
|
||||
"ui.properties.inertia_note": "Ten opzichte van het zwaartepunt, in wereldassen (g·{unit}²)",
|
||||
"ui.properties.inertia_unavailable": "Niet beschikbaar: de mesh van een lichaam is niet gesloten.",
|
||||
"ui.properties.inertia_x": "Ixx, Ixy, Ixz",
|
||||
"ui.properties.inertia_y": "Iyx, Iyy, Iyz",
|
||||
"ui.properties.inertia_z": "Izx, Izy, Izz",
|
||||
"ui.properties.measuring": "Meten…",
|
||||
"ui.properties.measuring_failed": "Het meten is gestopt voordat het klaar was.",
|
||||
"ui.properties.principal_axis": "Hoofdas {number}",
|
||||
"ui.properties.principal_moments": "Hoofdtraagheidsmomenten",
|
||||
"ui.pull_direction": "Trekrichting",
|
||||
"ui.quality": "Kwaliteit",
|
||||
"ui.quantity": "Aantal",
|
||||
@@ -4066,6 +4452,7 @@
|
||||
"ui.select": "Selecteren",
|
||||
"ui.selectOther": "Overige selecteren…",
|
||||
"ui.selectTangentChain": "Tangentiële keten selecteren",
|
||||
"ui.select_all": "Alles selecteren",
|
||||
"ui.selection": "Selectie",
|
||||
"ui.selection_modifiers": "Selectiemodificatoren",
|
||||
"ui.selection_shift_add_only": "Shift+klik voegt toe zonder te verwijderen",
|
||||
@@ -4102,7 +4489,11 @@
|
||||
"ui.sketch": "Schets",
|
||||
"ui.sketch_dimension": "Schetsmaat",
|
||||
"ui.sketch_grid": "Schetsraster",
|
||||
"ui.sketch_intersect_geometry": "Geometrie",
|
||||
"ui.sketch_intersect_projection_link": "Projectiekoppeling",
|
||||
"ui.sketch_intersect_selection_filter": "Selectiefilter",
|
||||
"ui.sketch_modifiers": "Schetsmodificatoren",
|
||||
"ui.sketch_project_geometry": "Geometrie",
|
||||
"ui.sketch_scale": "Schetsschaal",
|
||||
"ui.sketches": "Schetsen",
|
||||
"ui.slice": "Slicen",
|
||||
@@ -4153,6 +4544,7 @@
|
||||
"ui.tab_manage": "Beheren",
|
||||
"ui.tab_sheet_metal": "Plaatwerk",
|
||||
"ui.tab_view": "Weergave",
|
||||
"ui.tab_weldments": "Laswerk",
|
||||
"ui.tangent": "Tangentieel",
|
||||
"ui.taper_angle": "Tapsheidshoek",
|
||||
"ui.tapped": "Met schroefdraad",
|
||||
@@ -4168,6 +4560,7 @@
|
||||
"ui.tip_angle": "Puntshoek",
|
||||
"ui.to_object": "Tot object",
|
||||
"ui.tool_direction": "Gereedschapsrichting",
|
||||
"ui.toolbar_tabs_hidden": "Alle werkbalktabbladen zijn verborgen. Klik op + of klik hier met rechts om er een te tonen.",
|
||||
"ui.top": "Boven",
|
||||
"ui.top_diameter": "Bovendiameter",
|
||||
"ui.top_radius": "Bovenstraal",
|
||||
@@ -4214,6 +4607,7 @@
|
||||
"ui.visual_shaded_with_edges": "Gearceerd met randen",
|
||||
"ui.visual_style": "Visuele stijl",
|
||||
"ui.visual_wireframe": "Draadmodel",
|
||||
"ui.wheel_zoom_speed": "Zoomsnelheid van het muiswiel",
|
||||
"ui.width": "Breedte",
|
||||
"ui.window_system": "Venstersysteem",
|
||||
"ui.window_system_auto": "Automatisch",
|
||||
@@ -4265,6 +4659,9 @@
|
||||
"update.prefs_label": "Updates",
|
||||
"update.prefs_note": "Dit is SolidCraft {version} ({kind}). Een controle vraagt GitHub om de nieuwste release en verzendt verder niets.",
|
||||
"update.prefs_web": "Laad de pagina opnieuw om de nieuwste web-app te krijgen. Als het netwerk niet beschikbaar is of de update niet op tijd kan worden gedownload, wordt de opgeslagen versie geopend; een download die bezig is, gaat door voor de volgende keer opnieuw laden.",
|
||||
"update.refresh_checking": "Zoeken naar de nieuwste release…",
|
||||
"update.refresh_fallback": "Kon niet controleren op een nieuwere release; bijwerken naar {version}, eerder gevonden.",
|
||||
"update.refresh_selected": "Bijwerken naar {version}.",
|
||||
"update.release_page": "Releasepagina openen",
|
||||
"update.restart": "Nu opnieuw starten",
|
||||
"update.restart_later": "Later",
|
||||
|
||||
@@ -709,6 +709,16 @@
|
||||
"cmd.sheet_refold": "Zegnij ponownie",
|
||||
"cmd.sheet_rules": "Lista reguł blach",
|
||||
"cmd.sheet_unfold": "Rozegnij",
|
||||
"cmd.sketch.construction_line": "Prosta konstrukcyjna",
|
||||
"cmd.sketch.construction_line.angle": "Prosta konstrukcyjna pod kątem",
|
||||
"cmd.sketch.construction_line.bisector": "Dwusieczna kąta",
|
||||
"cmd.sketch.construction_line.horizontal": "Pozioma prosta konstrukcyjna",
|
||||
"cmd.sketch.construction_line.parallel": "Równoległa prosta konstrukcyjna",
|
||||
"cmd.sketch.construction_line.perpendicular": "Prostopadła prosta konstrukcyjna",
|
||||
"cmd.sketch.construction_line.tangent_at": "Styczna w punkcie krzywej",
|
||||
"cmd.sketch.construction_line.tangent_external": "Styczna przez punkt zewnętrzny",
|
||||
"cmd.sketch.construction_line.tangent_two": "Wspólna styczna",
|
||||
"cmd.sketch.construction_line.vertical": "Pionowa prosta konstrukcyjna",
|
||||
"cmd.sketch_arc_center_point": "Łuk ze środka",
|
||||
"cmd.sketch_arc_tangent": "Łuk styczny",
|
||||
"cmd.sketch_arc_three_point": "Łuk przez 3 punkty",
|
||||
@@ -1300,6 +1310,10 @@
|
||||
"shortcut.pin": "Przypnij na górze pola S",
|
||||
"shortcut.unpin": "Odepnij",
|
||||
"sketch.degrees_of_freedom": "Stopnie swobody: {count}",
|
||||
"sketch.dimension_added_driven": "Szkic już określa ten wymiar, więc dodano go jako wymiar sterowany (referencyjny)",
|
||||
"sketch.dimension_applied": "Wymiar zastosowany",
|
||||
"sketch.dimension_applied_defined": "Wymiar zastosowany; zdefiniowano parametr `{name}`",
|
||||
"sketch.dimension_applied_renamed": "Wymiar zastosowany; parametr nazywa się teraz `{name}`",
|
||||
"sketch.dof_left": "Pozostałe stopnie swobody: {count}",
|
||||
"sketch.dof_left_one": "Pozostał {count} stopień swobody",
|
||||
"sketch.draw_curves": "Rysuj jako {linetype}",
|
||||
@@ -1735,6 +1749,7 @@
|
||||
"ui.constant": "Stały",
|
||||
"ui.constraints_conflict": "Konflikt wiązań",
|
||||
"ui.construction": "Konstrukcyjne",
|
||||
"ui.construction.ribbon_label": "Linie pom.",
|
||||
"ui.context_menu": "Menu kontekstowe",
|
||||
"ui.continuity_g0": "G0 załamanie",
|
||||
"ui.continuity_g1": "G1 styczność",
|
||||
@@ -2114,6 +2129,7 @@
|
||||
"ui.select": "Zaznacz",
|
||||
"ui.selectOther": "Wybierz inny…",
|
||||
"ui.selectTangentChain": "Zaznacz łańcuch styczny",
|
||||
"ui.select_all": "Zaznacz wszystko",
|
||||
"ui.selection": "Zaznaczenie",
|
||||
"ui.selection_modifiers": "Modyfikatory zaznaczania",
|
||||
"ui.selection_shift_add_only": "Shift+kliknięcie tylko dodaje",
|
||||
|
||||
@@ -815,6 +815,16 @@
|
||||
"cmd.sheet_refold": "Redobrar",
|
||||
"cmd.sheet_rules": "Listar regras de chapa metálica",
|
||||
"cmd.sheet_unfold": "Desdobrar",
|
||||
"cmd.sketch.construction_line": "Reta de construção",
|
||||
"cmd.sketch.construction_line.angle": "Reta de construção em ângulo",
|
||||
"cmd.sketch.construction_line.bisector": "Bissetriz",
|
||||
"cmd.sketch.construction_line.horizontal": "Reta de construção horizontal",
|
||||
"cmd.sketch.construction_line.parallel": "Reta de construção paralela",
|
||||
"cmd.sketch.construction_line.perpendicular": "Reta de construção perpendicular",
|
||||
"cmd.sketch.construction_line.tangent_at": "Tangente em um ponto da curva",
|
||||
"cmd.sketch.construction_line.tangent_external": "Tangente por um ponto externo",
|
||||
"cmd.sketch.construction_line.tangent_two": "Tangente comum",
|
||||
"cmd.sketch.construction_line.vertical": "Reta de construção vertical",
|
||||
"cmd.sketch_arc_center_point": "Arco por ponto central",
|
||||
"cmd.sketch_arc_tangent": "Arco tangente",
|
||||
"cmd.sketch_arc_three_point": "Arco por 3 pontos",
|
||||
@@ -1864,6 +1874,7 @@
|
||||
"ui.constant": "Constante",
|
||||
"ui.constraints_conflict": "Restrições em conflito",
|
||||
"ui.construction": "Construção",
|
||||
"ui.construction.ribbon_label": "Linhas aux.",
|
||||
"ui.context_menu": "Menu de contexto",
|
||||
"ui.continuity_g0": "G0 vinco",
|
||||
"ui.continuity_g1": "G1 tangente",
|
||||
@@ -2244,6 +2255,7 @@
|
||||
"ui.select": "Selecionar",
|
||||
"ui.selectOther": "Selecionar outro…",
|
||||
"ui.selectTangentChain": "Selecionar cadeia tangente",
|
||||
"ui.select_all": "Selecionar tudo",
|
||||
"ui.selection": "Seleção",
|
||||
"ui.selection_modifiers": "Modificadores de seleção",
|
||||
"ui.selection_shift_add_only": "Shift+clique adiciona sem remover",
|
||||
|
||||
@@ -204,6 +204,7 @@
|
||||
"Edges": "Muchii",
|
||||
"Edit": "Editează",
|
||||
"Edit Profile Sketch": "Editează schița profilului",
|
||||
"Edit shortcuts": "Editează comenzile rapide",
|
||||
"Enable rule": "Activează regula",
|
||||
"Enabled": "Activat",
|
||||
"End Radius": "Rază finală",
|
||||
@@ -466,6 +467,7 @@
|
||||
"Radius": "Rază",
|
||||
"Radius Fit": "Potrivire rază",
|
||||
"Ratio": "Raport",
|
||||
"Read-only list: shortcuts can't be changed here.": "Listă doar pentru citire: comenzile rapide nu pot fi modificate aici.",
|
||||
"Reattach selected face": "Reatașează fața selectată",
|
||||
"Recover": "Recuperează",
|
||||
"Recover unsaved design?": "Recuperați proiectul nesalvat?",
|
||||
@@ -649,6 +651,7 @@
|
||||
"Third point": "Al treilea punct",
|
||||
"This child is shared. Deleting it removes it from every copy of its parent.": "Acest element copil este partajat. Ștergerea lui îl elimină din fiecare copie a părintelui.",
|
||||
"This child is shared. Position changes apply to every copy of its parent.": "Acest element copil este partajat. Modificările de poziție se aplică fiecărei copii a părintelui.",
|
||||
"This component is inside a subassembly placed more than once: aligning it moves it in every placement.": "Această componentă se află într-un subansamblu plasat de mai multe ori: alinierea ei o mută în fiecare plasare.",
|
||||
"This face cannot provide a durable attachment. Choose another face or explicitly use a fixed plane.": "Această față nu poate oferi o atașare durabilă. Alegeți altă față sau folosiți explicit un plan fix.",
|
||||
"This image is not attached to GitHub yet. Copy or save it, then attach it on GitHub.": "Această imagine nu este încă atașată la GitHub. Copiați-o sau salvați-o, apoi atașați-o pe GitHub.",
|
||||
"Thread depth": "Adâncime filet",
|
||||
@@ -790,6 +793,11 @@
|
||||
"cam.roller": "Rolă",
|
||||
"cam.roller_pick": "Rolă (opțional)",
|
||||
"cam.tip_pick": "Vârf (opțional)",
|
||||
"camera.shot_pitch": "Înclinare",
|
||||
"camera.shot_roll": "Ruliu",
|
||||
"camera.shot_yaw": "Girație",
|
||||
"canvas.decal_place_hint": "Faceți clic pe o față pentru a plasa autocolantul",
|
||||
"canvas.place_hint": "Faceți clic pe un plan sau pe o față pentru a plasa pânza",
|
||||
"choose a profile": "alegeți un profil",
|
||||
"choose the cam's and the follower's joints": "alegeți îmbinările camei și ale tachetului",
|
||||
"choose the joints to couple": "alegeți îmbinările de cuplat",
|
||||
@@ -797,9 +805,12 @@
|
||||
"click sketch curves": "faceți clic pe curbele schiței",
|
||||
"cmd.appearance_assign": "Aspect",
|
||||
"cmd.appearance_chain": "Lanț de aspecte",
|
||||
"cmd.appearance_copy": "Copiază aspectul",
|
||||
"cmd.appearance_favorite": "Aspect favorit",
|
||||
"cmd.appearance_library": "Bibliotecă de aspecte",
|
||||
"cmd.appearance_list": "Listează aspectele",
|
||||
"cmd.appearance_paint": "Pictează aspectul",
|
||||
"cmd.appearance_paste": "Lipește aspectul",
|
||||
"cmd.appearance_pick_up": "Preia aspectul",
|
||||
"cmd.appearance_replace": "Înlocuiește aspectul",
|
||||
"cmd.assembly_bom": "Listă de materiale",
|
||||
@@ -810,6 +821,7 @@
|
||||
"cmd.browser_move": "Mută elementele din navigator",
|
||||
"cmd.browser_order": "Ordonează elementele din navigator",
|
||||
"cmd.browser_rename_group": "Redenumește grupul",
|
||||
"cmd.browser_reparent": "Mută în componentă",
|
||||
"cmd.browser_ungroup": "Desfă grupul",
|
||||
"cmd.browser_visibility": "Afișează/Ascunde",
|
||||
"cmd.canvas_calibrate": "Calibrează pânza",
|
||||
@@ -836,7 +848,9 @@
|
||||
"cmd.component_metadata": "Proprietățile piesei",
|
||||
"cmd.component_metadata_set": "Modifică proprietățile piesei",
|
||||
"cmd.component_move_bodies": "Mută corpurile în componentă",
|
||||
"cmd.component_move_features": "Mută operațiile în componentă",
|
||||
"cmd.component_move_sketches": "Mută schițele în componentă",
|
||||
"cmd.component_paste_from_design": "Lipește din alt proiect",
|
||||
"cmd.component_paste_new": "Lipește ca nou",
|
||||
"cmd.component_properties": "Proprietățile fizice ale componentei",
|
||||
"cmd.component_relink": "Reface legătura sursei",
|
||||
@@ -973,6 +987,7 @@
|
||||
"cmd.motion_trace": "Urma mișcării",
|
||||
"cmd.motion_trace_edit": "Editează urma mișcării",
|
||||
"cmd.motion_trace_keep": "Păstrează urma mișcării",
|
||||
"cmd.occurrence_align": "Aliniază apariția",
|
||||
"cmd.occurrence_copy": "Lipește (instanță)",
|
||||
"cmd.occurrence_drag": "Trage apariția",
|
||||
"cmd.occurrence_ground": "Fixează",
|
||||
@@ -1030,11 +1045,17 @@
|
||||
"cmd.render_library_surface_unbind": "Elimină asocierea suprafeței",
|
||||
"cmd.render_library_targets": "Găsește țintele bibliotecii de randare",
|
||||
"cmd.render_lights_add": "Adaugă lumină",
|
||||
"cmd.render_lights_duplicate": "Duplică lumina de randare",
|
||||
"cmd.render_lights_list": "Listează luminile de randare",
|
||||
"cmd.render_lights_mute": "Dezactivează lumina",
|
||||
"cmd.render_lights_remove": "Elimină lumina de randare",
|
||||
"cmd.render_lights_set": "Setează lumina de randare",
|
||||
"cmd.render_lights_solo": "Lumină solo",
|
||||
"cmd.render_optics_bind": "Salvează asocierea optică",
|
||||
"cmd.render_optics_unbind": "Elimină asocierea optică",
|
||||
"cmd.render_output_size": "Setează dimensiunea ieșirii de randare",
|
||||
"cmd.render_preflight": "Verifică cererea de randare",
|
||||
"cmd.render_preflight_copy": "Copiază raportul de verificare a randării",
|
||||
"cmd.render_preset_apply": "Aplică Studio nativ",
|
||||
"cmd.render_preset_resolve": "Verifică Studio nativ",
|
||||
"cmd.render_quality_prepare": "Verifică bugetul fix de eșantionare",
|
||||
@@ -1057,6 +1078,13 @@
|
||||
"cmd.render_start": "Randează imaginea",
|
||||
"cmd.render_status": "Progresul randării",
|
||||
"cmd.select_clear": "Șterge selecția",
|
||||
"cmd.settings_profile_apply": "Aplică profilul de setări",
|
||||
"cmd.settings_profile_delete": "Șterge profilul de setări",
|
||||
"cmd.settings_profile_export": "Exportă profilul de setări",
|
||||
"cmd.settings_profile_import": "Importă profilul de setări",
|
||||
"cmd.settings_profile_list": "Profiluri de setări",
|
||||
"cmd.settings_profile_rename": "Redenumește profilul de setări",
|
||||
"cmd.settings_profile_save": "Salvează profilul de setări",
|
||||
"cmd.sheet_convert": "Convertește în tablă",
|
||||
"cmd.sheet_export_bend_table": "Exportă tabelul de îndoire",
|
||||
"cmd.sheet_export_dxf": "Exportă desfășurata ca DXF",
|
||||
@@ -1070,6 +1098,16 @@
|
||||
"cmd.sheet_refold": "Reîndoire",
|
||||
"cmd.sheet_rules": "Listează regulile pentru tablă",
|
||||
"cmd.sheet_unfold": "Desfășurare",
|
||||
"cmd.sketch.construction_line": "Dreaptă de construcție",
|
||||
"cmd.sketch.construction_line.angle": "Dreaptă de construcție la un unghi",
|
||||
"cmd.sketch.construction_line.bisector": "Bisectoare",
|
||||
"cmd.sketch.construction_line.horizontal": "Dreaptă de construcție orizontală",
|
||||
"cmd.sketch.construction_line.parallel": "Dreaptă de construcție paralelă",
|
||||
"cmd.sketch.construction_line.perpendicular": "Dreaptă de construcție perpendiculară",
|
||||
"cmd.sketch.construction_line.tangent_at": "Tangentă într-un punct al curbei",
|
||||
"cmd.sketch.construction_line.tangent_external": "Tangentă printr-un punct exterior",
|
||||
"cmd.sketch.construction_line.tangent_two": "Tangentă comună",
|
||||
"cmd.sketch.construction_line.vertical": "Dreaptă de construcție verticală",
|
||||
"cmd.sketch_arc3d": "Arc 3D",
|
||||
"cmd.sketch_arc_center_point": "Arc după centru",
|
||||
"cmd.sketch_arc_tangent": "Arc tangent",
|
||||
@@ -1102,6 +1140,8 @@
|
||||
"cmd.sketch_drawing_bounds": "Dimensiunea desenului",
|
||||
"cmd.sketch_edit": "Editează schița",
|
||||
"cmd.sketch_edit_text": "Editează textul",
|
||||
"cmd.sketch_equation_curve": "Curbă din ecuație",
|
||||
"cmd.sketch_equation_curve_edit": "Editează curba din ecuație",
|
||||
"cmd.sketch_export_dxf": "Salvează ca DXF",
|
||||
"cmd.sketch_finish_auto_constrain": "Finalizează cu constrângere automată",
|
||||
"cmd.sketch_fit_curves_to_section": "Potrivește curbe la secțiunea plasei",
|
||||
@@ -1198,6 +1238,7 @@
|
||||
"cmd.view.render_browser": "Navigator de randare",
|
||||
"cmd.view.render_dock": "Mută panoul de randare",
|
||||
"cmd.view.render_focus": "Vizualizare de randare concentrată",
|
||||
"cmd.view.status_items": "Elemente de stare ale ferestrei de vizualizare",
|
||||
"cmd.view_ambient_occlusion": "Ocluzie ambientală",
|
||||
"cmd.view_angle_readout": "Unghiuri de vizualizare",
|
||||
"cmd.view_apply": "Restabilește vizualizarea numită",
|
||||
@@ -1219,6 +1260,7 @@
|
||||
"cmd.view_normal_to": "Normal pe selecție",
|
||||
"cmd.view_previous_tab": "Fila anterioară",
|
||||
"cmd.view_rename": "Redenumește vizualizarea numită",
|
||||
"cmd.view_render_frame": "Ghiduri de încadrare pentru randare",
|
||||
"cmd.view_right": "Vizualizare din dreapta",
|
||||
"cmd.view_save": "Vizualizare numită nouă",
|
||||
"cmd.view_shots_strip": "Bandă de cadre",
|
||||
@@ -1229,10 +1271,14 @@
|
||||
"color.copy": "Clic pentru a copia valorile culorii",
|
||||
"color.edit": "Clic pentru a edita culoarea",
|
||||
"color.gamma": "Se afișează valorile culorii în spațiul gamma 0-255",
|
||||
"color.hex": "Hex",
|
||||
"color.hex_help": "Introduceți #rrggbb sau #rrggbbaa; cu șase cifre se păstrează opacitatea",
|
||||
"color.hex_hint": "#rrggbb",
|
||||
"color.hue": "Nuanță",
|
||||
"color.linear": "Se afișează valorile culorii în spațiul liniar 0-1",
|
||||
"color.saturation_value": "Saturație și valoare",
|
||||
"color.selected": "Culoare selectată",
|
||||
"config.column_filter_empty": "Nicio coloană potrivită",
|
||||
"contact.components_count": "{count} componente",
|
||||
"contact.enabled_label": "activat",
|
||||
"coupling.gear_1": "Roată dințată 1",
|
||||
@@ -1346,8 +1392,10 @@
|
||||
"help.material.assign": "Stabilește din ce sunt făcute corpurile selectate, de exemplu oțel, aluminiu sau ABS. Folosiți-l pentru ca masa și greutatea să corespundă piesei reale.",
|
||||
"help.mit": "Licența MIT",
|
||||
"help.notice": "NOTICE",
|
||||
"help.occurrence.move": "Mută o piesă din ansamblu doar pe direcțiile de mișcare permise de îmbinările sale. Selectați o față a piesei, apoi trageți o săgeată sau un arc disponibil.",
|
||||
"help.parameters.change": "Deschide tabelul cu valori denumite și expresii care controlează cotele proiectului. Folosiți-l pentru a schimba o dimensiune într-un singur loc și a lăsa toate operațiile care o folosesc să o urmeze.",
|
||||
"help.pointcloud.insert": "Inserați o scanare PLY, XYZ sau PTS ca nor de puncte alături de model. Folosiți-o ca referință la construirea unui model pe baza datelor măsurate.",
|
||||
"help.sketch.equation_curve": "Desenează o curbă din formule: x(t) și y(t) sau y = f(x), pe un interval. Formulele pot folosi parametri, iar curba îi urmează: folosiți-o pentru o sinusoidă, o spirală sau evolventa unui dinte de roată dințată.",
|
||||
"help.solid.align": "Mută corpurile selectate astfel încât un punct, o față sau un plan de pe ele să se întâlnească cu un punct, o față sau un plan din altă parte. Folosiți-l pentru a așeza o piesă lângă alta fără a măsura decalajul.",
|
||||
"help.solid.chamfer": "Teșește muchiile selectate cu o înclinare plană la distanța stabilită. Folosiți-l pentru a îndepărta muchiile ascuțite sau pentru a ușura introducerea unui pin sau a unui șurub.",
|
||||
"help.solid.combine": "Unește corpurile, le decupează dintr-un corp țintă sau păstrează doar volumul pe care îl au în comun și poate păstra corpurile-sculă. Folosiți-l pentru a îmbina piese, pentru a decupa o formă cu alta sau pentru a găsi unde se suprapun două corpuri.",
|
||||
@@ -1474,6 +1522,21 @@
|
||||
"joint.one_component": "Aceste piese sunt corpuri ale aceleiași componente: {bodies}. O îmbinare mișcă o componentă față de alta, deci fiecare piesă are nevoie de o componentă proprie.",
|
||||
"joint.rigid_group_one_component": "Aceste {count} corpuri se află toate într-o singură componentă (sau în proiectul însuși): folosiți mai întâi {command}.",
|
||||
"joint.rigid_group_select_components": "Selectați două sau mai multe componente.",
|
||||
"joint_move.blocked_hint": "Verificați tipul îmbinării (de exemplu Rigidă), fixarea, limitele îmbinării și valorile conduse de parametri.",
|
||||
"joint_move.blocked_title": "Această piesă nu poate fi mutată",
|
||||
"joint_move.coarse": "Pas de rotire lângă axă (°)",
|
||||
"joint_move.distance": "Distanță față de start",
|
||||
"joint_move.done": "Gata",
|
||||
"joint_move.fine": "Pas de rotire departe de axă (°)",
|
||||
"joint_move.fixed": "Această piesă nu are nicio axă de îmbinare mobilă.",
|
||||
"joint_move.help": "Mută — trageți o săgeată sau un inel. Esc anulează tragerea curentă.",
|
||||
"joint_move.legacy_hint": "Dezactivați pentru a folosi panoul Mută anterior.",
|
||||
"joint_move.precision": "Trageți în afara ghidului cu linie întreruptă pentru rotire fină.",
|
||||
"joint_move.rotation": "Rotire față de start",
|
||||
"joint_move.select": "Selectați o față sau o piesă din ansamblu, apoi alegeți Mută.",
|
||||
"joint_move.settings": "Mutare în ansamblu",
|
||||
"joint_move.step": "Pas",
|
||||
"joint_move.use_handles": "Folosește mânerele de mișcare ale îmbinărilor pentru Mută în ansamblu",
|
||||
"keymap.command_id": "ID comandă",
|
||||
"keymap.empty": "Nicio comandă corespunzătoare",
|
||||
"keymap.use_anyway": "Folosește totuși {key} aici",
|
||||
@@ -1568,6 +1631,8 @@
|
||||
"nav.maya.help": "Alt+tragere cu butonul stâng: orbitare, Alt+butonul din mijloc: panoramare, Alt+butonul drept: zoom; tragerea cu butonul din mijloc face de asemenea panoramare",
|
||||
"nav.openscad.help": "Tragerea cu stânga pe spațiu gol orbitează, Shift+tragere cu stânga selectează cu casetă, tragerea geometriei schiței o editează; tragerea cu dreapta sau cu mijlocul panoramează, Shift+tragere cu dreapta sau Shift+tragere cu mijlocul face zoom",
|
||||
"nav.perspective.sketch": "Editarea schiței folosește vizualizarea ortografică. Finalizați schița pentru a comuta la perspectivă.",
|
||||
"nav.right_drag_orbits.help": "Dezactivat: tragerea cu dreapta nu mișcă camera, iar butonul drept doar deschide meniul contextual. Alegerea mapării de mouse SolidWorks dezactivează această opțiune.",
|
||||
"nav.right_drag_orbits.label": "Tragerea cu dreapta orbitează",
|
||||
"nav.solidworks.help": "Tragerea cu mijlocul orbitează, Ctrl+mijloc panoramează, Shift+mijloc face zoom, tragerea cu dreapta orbitează",
|
||||
"nav.tinkercad.help": "Tragerea cu dreapta orbitează, tragerea cu mijlocul sau Shift+tragere cu dreapta panoramează",
|
||||
"nav.touchpad.help": "Țineți apăsat Shift și mișcați indicatorul pentru panoramare; țineți apăsat Alt/Option și mișcați-l pentru orbitare. Nu este nevoie de butonul mouse-ului. Derularea verticală mărește/micșorează.",
|
||||
@@ -1589,6 +1654,9 @@
|
||||
"navbar.custom.customise": "Personalizează bara de navigare…",
|
||||
"navbar.custom.design": "Proiect",
|
||||
"navbar.custom.duplicate": "Acest element este deja pe bară.",
|
||||
"navbar.custom.edge": "Margine",
|
||||
"navbar.custom.edge_bottom": "Jos",
|
||||
"navbar.custom.edge_top": "Sus",
|
||||
"navbar.custom.fade": "Estompare",
|
||||
"navbar.custom.full": "Eliminați un element pentru a adăuga altul.",
|
||||
"navbar.custom.hidden_design": "Ascuns în Proiect",
|
||||
@@ -1695,6 +1763,7 @@
|
||||
"parts.dimension.thickness": "Grosime",
|
||||
"parts.dimension.width": "Lățime",
|
||||
"parts.family.bearing": "Rulment radial cu bile (gabarit)",
|
||||
"parts.family.button_head_cap_screw": "Șurub cu cap bombat și locaș hexagonal",
|
||||
"parts.family.dowel_pin": "Știft cilindric (de centrare)",
|
||||
"parts.family.hex_bolt": "Șurub / bolț cu cap hexagonal",
|
||||
"parts.family.hex_nut": "Piuliță hexagonală",
|
||||
@@ -1751,6 +1820,9 @@
|
||||
"prefs.bottom_centre": "Centru jos",
|
||||
"prefs.bottom_right": "Dreapta jos",
|
||||
"prefs.browser": "Navigator",
|
||||
"prefs.browser_reveal_on_hover": "Afișează la survol",
|
||||
"prefs.browser_show_note": "Afișat ține navigatorul pe ecran. Afișează la survol îl ține ascuns până când indicatorul ajunge pe locul lui sau pe fila subțire de la marginea lui stângă, iar navigatorul rămâne deschis cât timp indicatorul este în interiorul lui sau cât timp un meniu al lui este deschis.",
|
||||
"prefs.browser_shown": "Afișat",
|
||||
"prefs.built_in": "Încorporat",
|
||||
"prefs.button_left": "Tragere cu butonul stâng",
|
||||
"prefs.button_middle": "Tragere cu butonul din mijloc",
|
||||
@@ -1821,6 +1893,8 @@
|
||||
"prefs.layout_note": "Compact fixează panourile la marginile ferestrei. Transparența navigatorului este disponibilă în modul Plutitor. Schimbați partea Asistentului în pagina Asistent.",
|
||||
"prefs.left": "Stânga",
|
||||
"prefs.left_click": "Clic stânga",
|
||||
"prefs.line_drag_draws_one": "Apăsarea și tragerea desenează o singură linie",
|
||||
"prefs.line_drag_draws_one_note": "În instrumentul Linie, apăsarea, tragerea și eliberarea desenează o singură linie de la punctul apăsării la cel al eliberării, iar linia se termină acolo. Clicurile desenează în continuare un lanț. Dezactivat: o tragere plasează un punct acolo unde este eliberată, la fel ca un clic.",
|
||||
"prefs.linked_designs": "Proiecte legate",
|
||||
"prefs.live_input": "Intrare în timp real",
|
||||
"prefs.live_preview": "Previzualizare în timp real",
|
||||
@@ -1853,14 +1927,36 @@
|
||||
"prefs.origin_plane_names": "Numele planelor de origine",
|
||||
"prefs.origin_plane_names_note": "Nume afișate în navigator, în dialoguri și în liste. {top} este XY, {front} este XZ și {right} este YZ, cu Z în sus. Comenzile, scripturile și proiectele salvate păstrează XY, XZ și YZ.",
|
||||
"prefs.overall_speed": "Viteză generală",
|
||||
"prefs.perspective_fov": "Câmp vizual",
|
||||
"prefs.placement": "Plasare",
|
||||
"prefs.prefer_free_sketch_points": "Preferă punctele de schiță mobile când punctele se suprapun",
|
||||
"prefs.preview_choices": "Previzualizarea opțiunilor alese",
|
||||
"prefs.profile_active": "Profil activ",
|
||||
"prefs.profile_applied": "Profil aplicat.",
|
||||
"prefs.profile_changed": "Setările s-au modificat de la salvarea profilului. Salvează le păstrează în el.",
|
||||
"prefs.profile_deleted": "Profil șters.",
|
||||
"prefs.profile_export": "Exportă…",
|
||||
"prefs.profile_exported": "Profil exportat.",
|
||||
"prefs.profile_imported": "Profil importat. Alegeți-l la Profil activ pentru a trece la el.",
|
||||
"prefs.profile_name_hint": "Numele profilului, de ex. Laptop",
|
||||
"prefs.profile_rename": "Redenumește",
|
||||
"prefs.profile_renamed": "Profil redenumit.",
|
||||
"prefs.profile_save": "Salvează",
|
||||
"prefs.profile_saved": "Setările curente au fost salvate în profil.",
|
||||
"prefs.profile_skipped": "Profil aplicat; {n} setări și-au păstrat valoarea curentă (vedeți jurnalul).",
|
||||
"prefs.profiles": "Profiluri de setări",
|
||||
"prefs.profiles_note": "Comenzile rapide, bara de instrumente, navigarea, meniul radial și setările interfeței, păstrate împreună sub un nume și comutate dintr-odată.",
|
||||
"prefs.project_options_dialog": "Dialog cu opțiuni de proiecție",
|
||||
"prefs.project_options_dialog_note": "Activat: alegeți Geometrie sau Corpuri și Legătură de proiecție înainte de a proiecta. Dezactivat: se păstrează fluxul anterior, cu alegere directă.",
|
||||
"prefs.quality_default": "implicit",
|
||||
"prefs.quality_fastest": "cel mai rapid",
|
||||
"prefs.quality_slowest": "cel mai lent",
|
||||
"prefs.quality_smoother": "mai neted",
|
||||
"prefs.render_previous_geometry_budget": "Folosește bugetul anterior de geometrie pentru previzualizarea din Randare",
|
||||
"prefs.render_previous_geometry_budget_help": "Restabilește limita fixă anterioară de geometrie (512 MiB pe desktop pe 64 de biți, 128 MiB în rest) în locul bugetului bazat pe dispozitiv.",
|
||||
"prefs.reports_saved": "{n} salvate",
|
||||
"prefs.ribbon_reveal": "Afișează rezultatele căutării în panglică",
|
||||
"prefs.ribbon_reveal_note": "Trecerea cursorului peste un rezultat din Caută comenzi arată unde se află comanda în panglică: fila, butonul sau rândul ei din lista derulantă a unui panou. O comandă pornită din căutare clipește acolo, iar o comandă în curs pornită dintr-o listă derulantă îi marchează panoul.",
|
||||
"prefs.right_click": "Clic dreapta",
|
||||
"prefs.saving": "Salvare automată și recuperare",
|
||||
"prefs.scale_note": "Și Ctrl + / Ctrl − în fereastră. Butoanele au 28 px la 100%.",
|
||||
@@ -1874,6 +1970,10 @@
|
||||
"prefs.shift_add_ctrl_toggle": "Shift doar adaugă; Ctrl / Cmd comută",
|
||||
"prefs.shift_add_note": "Activat: Shift adaugă, Ctrl / Cmd comută. Dezactivat (implicit): ambele comută.",
|
||||
"prefs.shortcuts": "Comenzi rapide",
|
||||
"prefs.single_surface_analysis": "Folosește o singură analiză de suprafață",
|
||||
"prefs.single_surface_analysis_help": "Când este dezactivat, umbrirea suprafeței și Continuitatea pot rămâne active împreună. Activarea acestei opțiuni păstrează ultima analiză pornită sau modificată.",
|
||||
"prefs.sketch_align_points": "Aliniază cu alte puncte de schiță în timpul desenării",
|
||||
"prefs.sketch_align_points_note": "În timpul desenării, un punct se aliniază simultan pe orizontală cu un punct de schiță și pe verticală cu altul, cu un ghid punctat, iar clicul păstrează ambele alinieri. Dezactivat: doar cu punctul anterior, pe o singură axă odată.",
|
||||
"prefs.sketch_conflict_colour": "Geometrie în conflict, în culoarea de conflict",
|
||||
"prefs.sketch_conflict_colour_note": "Cât timp constrângerile unei schițe sunt în conflict, curbele și punctele pe care le leagă o constrângere eșuată sunt desenate și ele în culoarea de conflict, nu doar simbolul sau cota ei. Dezactivat: își păstrează culorile obișnuite.",
|
||||
"prefs.sketch_exit_view": "Când se încheie o schiță",
|
||||
@@ -1881,6 +1981,8 @@
|
||||
"prefs.sketch_exit_view.previous": "Revino la vizualizarea anterioară",
|
||||
"prefs.sketch_exit_view.unless_rotated": "Revino, dacă nu a fost rotită",
|
||||
"prefs.sketch_exit_view_note": "Unde ajunge vizualizarea după Finalizează schița, Anulează sau un dublu Esc.",
|
||||
"prefs.sketch_recent_snap": "Agățare automată la centrele și punctele de mijloc recente",
|
||||
"prefs.sketch_recent_snap_note": "În timpul desenării, cursorul se agață acolo unde se intersectează ghidurile ultimelor două centre de cerc sau puncte de mijloc ale liniilor drepte. Dezactivat: aceste ghiduri rămân doar vizuale, iar cursorul nu se mișcă.",
|
||||
"prefs.sketch_selection": "Schiță și selecție",
|
||||
"prefs.sketch_selection_heading": "Schiță și selecție",
|
||||
"prefs.sketch_selection_note": "Cum se agață schițele și cum selectează clicurile.",
|
||||
@@ -1918,7 +2020,14 @@
|
||||
"prefs.toast_place": "Notificări",
|
||||
"prefs.toggle_item": "Adaugă elementul sau scoate-l din nou",
|
||||
"prefs.toolbar": "Bară de instrumente",
|
||||
"prefs.toolbar_tabs": "File ale barei de instrumente",
|
||||
"prefs.top": "Sus",
|
||||
"prefs.trackpad_zoom_modifier": "Zoom cu derularea cu două degete ținând apăsat",
|
||||
"prefs.trackpad_zoom_modifier.alt": "⌥ / Alt",
|
||||
"prefs.trackpad_zoom_modifier.cmd": "⌘",
|
||||
"prefs.trackpad_zoom_modifier.ctrl": "Ctrl",
|
||||
"prefs.trackpad_zoom_modifier.help": "Țineți apăsată doar această tastă pentru a face zoom la indicator cu derularea verticală. Dezactivat păstrează comportamentul actual al derulării.",
|
||||
"prefs.trackpad_zoom_modifier.off": "Dezactivat",
|
||||
"prefs.translucent": "Translucid",
|
||||
"prefs.under_browser": "Sub navigator",
|
||||
"prefs.under_cursor": "Sub cursor",
|
||||
@@ -1928,9 +2037,14 @@
|
||||
"prefs.view_confirm_corner": "OK și Anulează în colțul vizualizării",
|
||||
"prefs.view_confirm_corner_note": "Cât timp este deschis un dialog sau o schiță, o bifă și o cruce în dreapta sus a vizualizării fac ce fac OK și Anulează din dialog, sau finalizează și anulează schița. Controlul de navigare al vizualizării se mută mai jos, sub ele.",
|
||||
"prefs.viewport": "Fereastră de vizualizare",
|
||||
"prefs.viewport_background": "Fundal",
|
||||
"prefs.viewport_background_colour": "Culoare",
|
||||
"prefs.viewport_background_theme": "Gradientul temei",
|
||||
"prefs.wheel": "Rotiță",
|
||||
"prefs.wheel_trackpad": "Rotiță și trackpad",
|
||||
"prefs.workspace": "Spațiu de lucru",
|
||||
"prefs.zoom_stop_at_model": "Oprește zoomul la model",
|
||||
"prefs.zoom_stop_at_model_tip": "Mouse-ul 3D și aplicația dispozitivului fac zoom spre suprafața din mijlocul vizualizării; zoomul prin tragere păstrează punctul unde a început tragerea. Dezactivat: zoomul poate trece prin model. Rotița și ciupirea folosesc separat Zoom spre cursor",
|
||||
"prefs.zoom_toward_cursor": "Zoom spre cursor",
|
||||
"properties.title": "Proprietăți: {name}",
|
||||
"recovery.days_ago": "acum {count} zile",
|
||||
@@ -2019,6 +2133,7 @@
|
||||
"render.appearance_editor.weight": "Pondere",
|
||||
"render.appearance_physics_separate": "Aspectul vizual nu atribuie densitate, date termice sau alte proprietăți tehnice.",
|
||||
"render.appearances": "Aspecte",
|
||||
"render.assign_help": "Faceți clic pentru a aplica la selecție; trageți pentru a previzualiza și eliberați pentru a plasa sau faceți clic fără nimic selectat pentru a picta.",
|
||||
"render.availability_native": "Compoziție nativă; verificați înainte de aplicare",
|
||||
"render.availability_projection": "Proiecție acceptată; vedeți domeniul și omisiunile",
|
||||
"render.availability_reference": "Date de referință; nu sunt o atribuire automată",
|
||||
@@ -2057,6 +2172,7 @@
|
||||
"render.bloom_threshold": "Prag liniar al zonelor luminoase",
|
||||
"render.browse_capabilities": "Inspectează catalogul complet de capabilități",
|
||||
"render.browse_environments": "Răsfoiește mediile HDR originale",
|
||||
"render.browse_looks": "Răsfoiește…",
|
||||
"render.browse_native_scenes": "Răsfoiește studiourile native",
|
||||
"render.browse_physical": "Inspectează referințele fizice",
|
||||
"render.browse_quality": "Inspectează specificațiile de calitate",
|
||||
@@ -2080,6 +2196,82 @@
|
||||
"render.check_opaque": "Transparență: doar suprafețe opace; canalul alfa al fundalului este acceptat.",
|
||||
"render.check_sorted_alpha": "Transparență: aproximare alfa sortată.",
|
||||
"render.check_transmission": "Transparență: transmisie fizică.",
|
||||
"render.children.absolute_floor": "Prag absolut",
|
||||
"render.children.adaptive": "Adaptiv",
|
||||
"render.children.add_look_reason": "Adăugați un stil pentru a-i edita starea de activare și intensitatea.",
|
||||
"render.children.all_shots": "Toate cadrele",
|
||||
"render.children.bloom": "Bloom",
|
||||
"render.children.check": "Verificare",
|
||||
"render.children.check_now": "Verifică acum",
|
||||
"render.children.chromatic": "Decalaj cromatic",
|
||||
"render.children.compact": "Compact",
|
||||
"render.children.contrast": "Contrast",
|
||||
"render.children.copy_image": "Copiază",
|
||||
"render.children.copy_job": "Copiază JSON-ul sarcinii",
|
||||
"render.children.copy_request": "Copiază JSON-ul cererii",
|
||||
"render.children.coverage_error": "Eroare de acoperire",
|
||||
"render.children.cpu": "Trasare de raze pe CPU",
|
||||
"render.children.denoise": "Reduce zgomotul în imaginea finală",
|
||||
"render.children.depth": "Adâncimea căilor",
|
||||
"render.children.distortion": "Distorsiune",
|
||||
"render.children.edge_samples": "Eșantioane de margine",
|
||||
"render.children.effects_banner": "Aceste efecte necesită path tracing pe GPU. Deschiderea acestei secțiuni nu schimbă niciodată metoda.",
|
||||
"render.children.enable_adaptive": "Activați piloții independenți pentru a edita limitele adaptive.",
|
||||
"render.children.enable_bloom": "Activați bloom pentru a-i edita intensitatea, pragul și raza.",
|
||||
"render.children.finishing": "Finisare",
|
||||
"render.children.flare": "Reflexie",
|
||||
"render.children.fresnel": "Straturi Fresnel",
|
||||
"render.children.ghosts": "Inele fantomă",
|
||||
"render.children.glass": "Transport prin sticlă",
|
||||
"render.children.go_to": "Mergi la {editor}",
|
||||
"render.children.grain": "Granulație",
|
||||
"render.children.halo": "Halou",
|
||||
"render.children.hdr": "HDR",
|
||||
"render.children.keep_master": "Păstrează masterul liniar brut",
|
||||
"render.children.last_result": "Ultima: {number} · {width} × {height} · {phase}",
|
||||
"render.children.lens_effects": "Efecte de obiectiv",
|
||||
"render.children.look_summary": "{tone} · {count} stiluri",
|
||||
"render.children.looks": "Stiluri creative",
|
||||
"render.children.memory": "Memorie",
|
||||
"render.children.method": "Metodă",
|
||||
"render.children.minimum": "Minim",
|
||||
"render.children.needs_cpu": "Necesită ray tracing pe CPU. Deschiderea acestei secțiuni nu schimbă niciodată metoda.",
|
||||
"render.children.nested": "Dielectrice imbricate certificate",
|
||||
"render.children.not_checked": "Neverificat",
|
||||
"render.children.path": "Trasare de căi",
|
||||
"render.children.pilots": "Eșantioane pilot",
|
||||
"render.children.preview": "Date de previzualizare",
|
||||
"render.children.progressive_reason": "Alegeți Progresiv pentru a edita numărul de eșantioane și sămânța.",
|
||||
"render.children.radius": "Rază",
|
||||
"render.children.reflect_depth": "Adâncimea reflexiei",
|
||||
"render.children.reflect_samples": "Eșantioane de reflexie",
|
||||
"render.children.regrade": "Recorectare de culoare",
|
||||
"render.children.relative_error": "Eroare relativă",
|
||||
"render.children.render": "Randare",
|
||||
"render.children.render_shot": "Randează cadrul",
|
||||
"render.children.renderer": "Motor de randare",
|
||||
"render.children.renderers": "Motoare de randare",
|
||||
"render.children.request": "Această cerere",
|
||||
"render.children.reset_finishing": "Resetează finisarea",
|
||||
"render.children.review_quality": "Examinează o specificație de calitate…",
|
||||
"render.children.rgb_gain": "Amplificare RGB",
|
||||
"render.children.samples": "Eșantioane",
|
||||
"render.children.sampling": "Eșantionare",
|
||||
"render.children.saturation": "Saturație",
|
||||
"render.children.scene_summary": "{bodies} corpuri · {triangles} triunghiuri",
|
||||
"render.children.seed": "Sămânță",
|
||||
"render.children.sharpening": "Accentuare",
|
||||
"render.children.single_image": "Imagine unică",
|
||||
"render.children.soft_focus": "Focalizare moale",
|
||||
"render.children.streak": "Dungă",
|
||||
"render.children.strength": "Intensitate",
|
||||
"render.children.studio": "Studio",
|
||||
"render.children.threshold": "Prag",
|
||||
"render.children.tone": "Ton",
|
||||
"render.children.under_hood": "Detalii tehnice",
|
||||
"render.children.vignette": "Vinietă",
|
||||
"render.children.workstation": "Stație de lucru",
|
||||
"render.choose_look": "Alegeți mai întâi un stil în Aspecte",
|
||||
"render.chromatic_offset": "Decalaj cromatic al marginilor",
|
||||
"render.clear_stage": "Elimină decorul salvat",
|
||||
"render.copy_request": "Copiază JSON",
|
||||
@@ -2331,8 +2523,33 @@
|
||||
"render.flare_strength": "Intensitatea reflexiei zonelor luminoase",
|
||||
"render.flare_threshold": "Prag de reflexie liniar în scenă",
|
||||
"render.fold_browser": "Restrânge navigatorul",
|
||||
"render.frame_aspect": "Raport de aspect",
|
||||
"render.frame_centre_mark": "Marcaj central",
|
||||
"render.frame_copy_limit": "Niciun nume disponibil pentru cadrul duplicat",
|
||||
"render.frame_copy_name": "{name} copie {number}",
|
||||
"render.frame_custom": "Personalizat",
|
||||
"render.frame_distance_unit": " × dimensiune",
|
||||
"render.frame_duplicate": "Duplică",
|
||||
"render.frame_exposure": "Expunere",
|
||||
"render.frame_fov": "Câmp vizual",
|
||||
"render.frame_guides": "Ghiduri",
|
||||
"render.frame_invalid_aspect": "Presetare de raport de aspect nevalidă",
|
||||
"render.frame_lens": "Câmp vizual {fov}° · ≈ {mm} mm",
|
||||
"render.frame_name": "Nume",
|
||||
"render.frame_output_size": "Dimensiunea de ieșire",
|
||||
"render.frame_photo": "3:2 · Foto",
|
||||
"render.frame_portrait": "4:5 · Portret",
|
||||
"render.frame_presets": "Presetări de cadru",
|
||||
"render.frame_presets_pending": "Va fi disponibil odată cu editorul de cadre",
|
||||
"render.frame_projection": "Proiecție",
|
||||
"render.frame_render_shot": "Randează acest cadru",
|
||||
"render.frame_rule_thirds": "Regula treimilor",
|
||||
"render.frame_safe_area": "Zonă sigură",
|
||||
"render.frame_shot_title": "Cadru · {name}",
|
||||
"render.frame_square": "1:1 · Pătrat",
|
||||
"render.frame_tall": "9:16 · Vertical",
|
||||
"render.frame_thirds": "Treimi",
|
||||
"render.frame_wide": "16:9 · Panoramic",
|
||||
"render.gpu_depth": "Adâncime maximă a traseului",
|
||||
"render.gpu_options_help": "Eșantioanele, adâncimea, valoarea inițială și expunerea se salvează cu această configurație. Se salvează doar metoda de imagine activă.",
|
||||
"render.gpu_path_failed": "Path tracerul GPU nu este disponibil",
|
||||
@@ -2360,6 +2577,7 @@
|
||||
"render.heading_results": "REZULTATE",
|
||||
"render.heading_shots": "CADRE",
|
||||
"render.hide_shots_label": "Ascunde banda de cadre",
|
||||
"render.hover_look": "{object} · {look} · clic pentru a selecta",
|
||||
"render.image_advanced": "Comenzi GPU avansate",
|
||||
"render.image_cancelled": "Randare anulată",
|
||||
"render.image_cancelling": "Se anulează",
|
||||
@@ -2506,17 +2724,95 @@
|
||||
"render.library_uniform_ack": "Folosește aproximarea uniformă, fără efecte spațiale sau avansate",
|
||||
"render.library_usable": "Proiecții executabile",
|
||||
"render.library_users": "Folosit de",
|
||||
"render.light_aim": "Îndreptată spre",
|
||||
"render.light_anchor_pending": "Schimbarea sistemului de coordonate al luminii nu este încă acceptată.",
|
||||
"render.light_azimuth": "Azimut",
|
||||
"render.light_backend_limit": "Alegeți ray tracing pe CPU sau un studio GPU explicit pentru a edita luminile. Luminile vechi ale studioului GPU rămân doar pentru citire.",
|
||||
"render.light_behaviour": "COMPORTAMENT",
|
||||
"render.light_default_fill": "Umplere",
|
||||
"render.light_default_key": "Principală",
|
||||
"render.light_default_number": "Lumina {number}",
|
||||
"render.light_default_rim": "Contur",
|
||||
"render.light_delete": "Șterge",
|
||||
"render.light_distance": "Distanță",
|
||||
"render.light_duplicate": "Duplică",
|
||||
"render.light_elevation": "Elevație",
|
||||
"render.light_gpu_punctual": "Luminile punctiforme și spot sunt disponibile cu ray tracing pe CPU.",
|
||||
"render.light_hard_shadow": "Această lumină are umbre dure; moliciunea sursei nu este disponibilă.",
|
||||
"render.light_intensity": "Intensitate",
|
||||
"render.light_missing": "Această lumină nu mai există. Selectați o lumină în Navigator.",
|
||||
"render.light_place_highlight": "Plasează după reflexie",
|
||||
"render.light_place_pending": "Plasarea după reflexie necesită alegerea luminii în fereastra de vizualizare și nu este încă acceptată.",
|
||||
"render.light_position": "POZIȚIE",
|
||||
"render.light_preview_help": "Vizualizarea live este fără umbre; luminile de suprafață folosesc o aproximare cu un eșantion central. Randarea folosește modelul complet de lumină.",
|
||||
"render.light_product_centre": "Centrul produsului",
|
||||
"render.light_size": "Dimensiune",
|
||||
"render.light_softness": "Moliciune",
|
||||
"render.light_temperature": "Temperatura culorii",
|
||||
"render.light_temperature_help": "Nuanță aproximativă de corp negru; salvată ca RGB liniar.",
|
||||
"render.light_type": "Tip",
|
||||
"render.light_type_area": "Suprafață",
|
||||
"render.light_type_point": "Punctiformă",
|
||||
"render.light_type_spot": "Spot",
|
||||
"render.light_type_sun": "Soare",
|
||||
"render.light_view_only": "Solo și dezactivarea afectează această vizualizare și randările ei; nu sunt salvate niciodată în proiect.",
|
||||
"render.light_world_origin": "Originea lumii",
|
||||
"render.lighting_aim_point": "Punct de țintire",
|
||||
"render.lighting_apply": "Aplică presetarea",
|
||||
"render.lighting_area_samples": "Eșantioane de suprafață",
|
||||
"render.lighting_budget": "Buget",
|
||||
"render.lighting_budget_help": "Numerele sunt doar pentru citire. Adăugați, duplicați sau ștergeți lumini pentru a le modifica; metoda stabilește limitele.",
|
||||
"render.lighting_colour": "Culoare",
|
||||
"render.lighting_consent": "Înlocuiește luminile direcționale cu această presetare",
|
||||
"render.lighting_custom": "Lumini personalizate",
|
||||
"render.lighting_custom_help": "Alegerea opțiunii Personalizat transformă presetarea în lumini editabile, fiecare cu propriul rând în arbore.",
|
||||
"render.lighting_direction": "Direcție X Y Z",
|
||||
"render.lighting_direction_help": "Sau introduceți o direcție spre lumină (X Y Z).",
|
||||
"render.lighting_distance_unit": " × dimensiune",
|
||||
"render.lighting_edge_u": "Vectorul laturii U",
|
||||
"render.lighting_edge_v": "Vectorul laturii V",
|
||||
"render.lighting_falloff": "Atenuare",
|
||||
"render.lighting_falloff_help": "Intensitatea este indicată la distanța de referință.",
|
||||
"render.lighting_height": "Înălțime V",
|
||||
"render.lighting_minimum": "Minim",
|
||||
"render.lighting_mute": "Dezactivează această lumină",
|
||||
"render.lighting_point": "Punct",
|
||||
"render.lighting_preset": "Presetare de studio",
|
||||
"render.lighting_preset_cpu": "Presetările de studio direcționale necesită ray tracing pe CPU. Iluminarea GPU folosește lumini explicite de tip Soare și Suprafață.",
|
||||
"render.lighting_preset_row": "Presetare",
|
||||
"render.lighting_radiance": "Radianță",
|
||||
"render.lighting_reference": "Referință",
|
||||
"render.lighting_review_help": "Înlocuiește lista de lumini direcționale. Păstrează luminile punctiforme și de suprafață, mediul, umbrele, camera și toate celelalte setări ale cadrului.",
|
||||
"render.lighting_review_title": "Examinează presetarea de iluminare",
|
||||
"render.lighting_samples_cpu": "Eșantioanele pentru luminile de suprafață se aplică la ray tracing pe CPU.",
|
||||
"render.lighting_samples_need_area": "Adăugați o lumină de suprafață CPU pentru a seta eșantioanele de suprafață.",
|
||||
"render.lighting_samples_reason": "Eșantioanele de suprafață trebuie să fie 1, 4, 16 sau 64.",
|
||||
"render.lighting_shadow_cpu": "Comutatorul pentru umbre necesită ray tracing pe CPU. Path tracingul pe GPU aruncă întotdeauna umbre.",
|
||||
"render.lighting_shadows": "Aruncă umbre",
|
||||
"render.lighting_shadows_section": "Umbre și eșantionare",
|
||||
"render.lighting_shape": "Formă",
|
||||
"render.lighting_solo": "Solo pentru această lumină",
|
||||
"render.lighting_source": "Sursă",
|
||||
"render.lighting_source_section": "Sursă de lumină",
|
||||
"render.lighting_spot_preserved": "Această lumină punctiformă își păstrează conul de spot salvat până la schimbarea tipului.",
|
||||
"render.lighting_sun_distance": "Direcția soarelui nu depinde de distanță și de punctul de țintire.",
|
||||
"render.lighting_unsupported": "neacceptat",
|
||||
"render.lighting_used": "{used} din {limit}",
|
||||
"render.lighting_width": "Lățime U",
|
||||
"render.lighting_world_position": "Poziție în lume X Y Z",
|
||||
"render.lights_fixed_to": "Luminile fixate de",
|
||||
"render.linear_help": "Păstrează un master RGBA în virgulă mobilă pe 32 de biți înainte de eliminarea zgomotului, expunere, maparea tonurilor, filtre și fundal. sRGB liniar/D65; premultiplicat cu acoperirea. Memoria suplimentară este acceptată explicit. Fără compresie sau treceri suplimentare.",
|
||||
"render.linear_retain": "Păstrează EXR liniar brut",
|
||||
"render.linear_unavailable": "Cadrul finalizat selectat nu are un EXR păstrat. Activați păstrarea înainte de randare; un PNG mai vechi nu poate recupera radianța brută.",
|
||||
"render.look_add": "Adaugă stil de culoare",
|
||||
"render.look_applied": "S-a aplicat {name}",
|
||||
"render.look_bleach": "Inspirat de bleach bypass",
|
||||
"render.look_cool": "Rece",
|
||||
"render.look_cyanotype": "Inspirat de cianotipie",
|
||||
"render.look_faded": "Imprimare decolorată",
|
||||
"render.look_material": "Material",
|
||||
"render.look_mono": "Monocrom",
|
||||
"render.look_pasted": "Stil lipit",
|
||||
"render.look_sepia": "Sepia",
|
||||
"render.look_strength": "Intensitatea stilului",
|
||||
"render.look_teal_orange": "Turcoaz / portocaliu",
|
||||
@@ -2592,9 +2888,11 @@
|
||||
"render.output_advanced": "Avansat",
|
||||
"render.output_backend_ready": "Gata",
|
||||
"render.output_check": "Verifică",
|
||||
"render.output_check_failed": "Verificare · eroare",
|
||||
"render.output_check_help": "Rulați Verifică pentru a examina această cerere fără a porni o randare.",
|
||||
"render.output_check_summary": "Verificare · Note: {count}",
|
||||
"render.output_copy": "Copiază",
|
||||
"render.output_copy_report": "Copiază raportul",
|
||||
"render.output_destination": "Destinație",
|
||||
"render.output_destination_help": "Alegeți fișierul de destinație la exportul imaginii finalizate.",
|
||||
"render.output_dimensions": "Dimensiune",
|
||||
@@ -2604,6 +2902,7 @@
|
||||
"render.output_fit": "Potrivire",
|
||||
"render.output_format": "Format",
|
||||
"render.output_format_status": "PNG este imaginea de afișare finalizată, exact așa cum este. EXR opțional pe GPU păstrează radianța brută FLOAT32 liniară la nivel de scenă, înainte de filtrele de afișare. Exportul nu înlocuiește niciodată memoria cache a previzualizării sau o altă sarcină.",
|
||||
"render.output_grading": "Corectare de culoare",
|
||||
"render.output_image": "Imagine",
|
||||
"render.output_largest": "max. {width} × {height}",
|
||||
"render.output_lock_ratio": "Blochează raportul de aspect",
|
||||
@@ -2613,6 +2912,8 @@
|
||||
"render.output_quality_waiting": "se așteaptă contractul de calitate",
|
||||
"render.output_ratio_refused": "Dimensiunea legată depășește limita de dimensiune a acestei metode. Dimensiunea anterioară este păstrată; deblocați raportul sau alegeți o valoare mai mică.",
|
||||
"render.output_ready": "Gata de randare",
|
||||
"render.output_run_check": "Rulează verificarea",
|
||||
"render.output_size_limit": "{method}: până la {dimension} px pe latură și {pixels} pixeli. Cea mai mare dimensiune care încape: {width} × {height}.",
|
||||
"render.output_size_ok": "Dimensiune OK · {width} × {height} px",
|
||||
"render.output_swap_orientation": "Interschimbă lățimea și înălțimea",
|
||||
"render.output_tools_inspector": "Editați dimensiunea și formatul în inspectorul Ieșire.",
|
||||
@@ -2629,6 +2930,7 @@
|
||||
"render.page_output": "Ieșire",
|
||||
"render.page_scene": "Scenă",
|
||||
"render.paint_label": "Vopsește",
|
||||
"render.painting_with": "Se pictează cu {name}",
|
||||
"render.passive_stage": "Podea și decor pasiv",
|
||||
"render.passive_stage_help": "Panourile pasive finite aparțin doar imaginilor randate. Ele nu adaugă corpuri CAD sau masă. Plasarea este fixă după aplicare; o plasare care intersectează limitele produsului este refuzată. CPU nu oferă iluminare indirectă difuză.",
|
||||
"render.perspective": "Cameră în perspectivă",
|
||||
@@ -2650,6 +2952,7 @@
|
||||
"render.pick_help": "Alegeți Corp, Față sau Componentă. Faceți clic într-un spațiu gol pentru a goli selecția; Shift sau Ctrl adaugă sau comută. Evidențierile apar doar în vizualizarea live a produsului.",
|
||||
"render.pick_label": "Alege",
|
||||
"render.pick_up_label": "Preia",
|
||||
"render.pick_up_prompt": "Faceți clic pe un obiect pentru a-i prelua stilul",
|
||||
"render.pick_waiting": "Alegerea produsului nu este încă acceptată.",
|
||||
"render.post_contrast": "Contrast",
|
||||
"render.post_gain_b": "Amplificare albastru",
|
||||
@@ -2689,13 +2992,17 @@
|
||||
"render.radial_distortion": "Distorsiune radială",
|
||||
"render.radial_fit": "Încadrează produsul",
|
||||
"render.radial_save": "Salvează cadrul",
|
||||
"render.recent_looks": "Stiluri recente",
|
||||
"render.regrade_action": "Recorectează culorile master-ului brut (fără eliminarea zgomotului)",
|
||||
"render.regrade_help": "Creează un PNG separat din master-ul brut finalizat și selectat, folosind aceste comenzi de prezentare. Nu trasează raze, nu modifică dimensiunea, camera sau sursele de lumină capturate și nu suprascrie EXR-ul. Eliminarea zgomotului nu este reaplicată: master-urile brute nu rețin ghidurile acesteia. Derivatul rămâne exportabil prin aceleași comenzi ale sarcinii.",
|
||||
"render.regrade_label": "Recorectare de culoare",
|
||||
"render.reload_settings": "Reîncarcă setările salvate",
|
||||
"render.remove_override": "Elimină suprascrierea",
|
||||
"render.replace_all": "Înlocuiește tot",
|
||||
"render.replace_ground": "Confirmă înlocuirea decorului existent",
|
||||
"render.replace_label": "Înlocuiește",
|
||||
"render.replace_saved_surface": "Înlocuiește o asociere salvată existentă pentru această țintă",
|
||||
"render.replace_with": "Înlocuiește cu",
|
||||
"render.restore_camera": "Restabilește camera salvată",
|
||||
"render.result_actual": "100%",
|
||||
"render.result_actual_help": "Un pixel de imagine pentru fiecare pixel de afișare.",
|
||||
@@ -2747,14 +3054,28 @@
|
||||
"render.saved_surface_remove": "Elimină asocierea salvată",
|
||||
"render.saved_surfaces": "Asocieri de suprafață salvate",
|
||||
"render.saved_surfaces_help": "Hărțile integrate fixate urmăresc instanța selectată, în milimetri locali. O țintă înlocuită sau lipsă este o eroare, niciodată o reatribuire automată.",
|
||||
"render.scene_all_shots": "Toate cadrele ({count})",
|
||||
"render.scene_apply": "Aplică studioul revizuit",
|
||||
"render.scene_batch_reason": "Toate cadrele necesită coada de randare a cadrelor salvate, care nu este încă disponibilă.",
|
||||
"render.scene_check_now": "Verifică acum",
|
||||
"render.scene_check_passed": "Verificare reușită · {notes} note",
|
||||
"render.scene_check_stale": "Verificare depășită · verificați din nou",
|
||||
"render.scene_check_unchecked": "Neverificat încă · 0 note",
|
||||
"render.scene_consent": "Confirmă înlocuirea iluminării, a mediului, a expunerii și a decorului",
|
||||
"render.scene_light_summary": "{environment} · {lights} lumini",
|
||||
"render.scene_look_summary": "{looks} stiluri · {overrides} suprascrieri",
|
||||
"render.scene_open_check": "Deschide Verificare",
|
||||
"render.scene_preserved_fields": "Camera, eșantionarea, dimensiunile, asocierile optice, geometria CAD și materialele de inginerie sunt păstrate.",
|
||||
"render.scene_preserves_design": "Compune iluminarea și un decor pasiv pentru subiectul vizibil. Geometria, materialele de inginerie și camera rămân separate.",
|
||||
"render.scene_ready": "Gata de randare",
|
||||
"render.scene_reminder": "Scena păstrează proiectul. Geometria, proprietățile tehnice și CAD-ul nu sunt modificate niciodată din Randare.",
|
||||
"render.scene_reminders": "Mementouri",
|
||||
"render.scene_renderer_ready": "{renderer} pregătit",
|
||||
"render.scene_replaces": "Înlocuiește",
|
||||
"render.scene_review": "Rezolvă și revizuiește",
|
||||
"render.scene_review_help": "Revizuiți compoziția nativă completă înainte de aplicare. Specificațiile avansate SCENE neasociate nu sunt substituite.",
|
||||
"render.scene_scope_details": "Domeniul compoziției",
|
||||
"render.scene_stages": "Etape",
|
||||
"render.search_appearances": "Caută aspecte ({count})",
|
||||
"render.setup_legacy_environment": "Această configurație mai veche folosește rotația sau intensitatea mediului în format vechi. Valorile sunt păstrate; convertiți-le explicit înainte de a salva o lucrare completă de imagine.",
|
||||
"render.setup_name": "Numele configurării",
|
||||
@@ -2767,7 +3088,22 @@
|
||||
"render.shell_tab_camera": "CAMERĂ RANDARE",
|
||||
"render.shell_tab_lighting": "ILUMINARE",
|
||||
"render.shell_tab_scene": "SCENĂ RANDARE",
|
||||
"render.shot_aperture": "Diafragmă",
|
||||
"render.shot_distance": "Distanță",
|
||||
"render.shot_dof": "Adâncime de câmp",
|
||||
"render.shot_duplicate": "Duplică cadrul salvat",
|
||||
"render.shot_edit_output": "Editează în Ieșire",
|
||||
"render.shot_exposure_reason": "Expunerea necesită ray tracing pe CPU sau path tracing pe GPU.",
|
||||
"render.shot_exposure_section": "Expunere",
|
||||
"render.shot_focus_distance": "Distanța de focalizare",
|
||||
"render.shot_fov_reason": "Câmpul vizual necesită proiecție în perspectivă.",
|
||||
"render.shot_frame_subject": "Încadrează subiectul",
|
||||
"render.shot_invalid_camera": "Valorile camerei trebuie să fie finite și în intervalul permis.",
|
||||
"render.shot_lens": "Obiectiv",
|
||||
"render.shot_lens_enable_reason": "Activați adâncimea de câmp pentru a edita diafragma și distanța de focalizare.",
|
||||
"render.shot_lens_gpu_reason": "Adâncimea de câmp necesită path tracing pe GPU.",
|
||||
"render.shot_lens_perspective_reason": "Adâncimea de câmp necesită proiecție în perspectivă.",
|
||||
"render.shot_look_selection": "Privește spre selecție",
|
||||
"render.shot_manager": "Cadre salvate",
|
||||
"render.shot_new_name": "Numele noului cadru",
|
||||
"render.shot_remove": "Elimină cadrul salvat",
|
||||
@@ -2775,6 +3111,9 @@
|
||||
"render.shot_remove_title": "Eliminați cadrul salvat?",
|
||||
"render.shot_rename": "Redenumește cadrul salvat",
|
||||
"render.shot_saved_only": "Salvați mai întâi ciorna curentă. Duplicarea și redenumirea păstrează exact opțiunile salvate și referințele la resurse.",
|
||||
"render.shot_selection_reason": "Selectați un corp sau o față spre care să țintiți.",
|
||||
"render.shot_size": "Dimensiune",
|
||||
"render.shot_target": "Țintă",
|
||||
"render.shots_camera_changed": "Camera s-a schimbat de când a fost salvat acest cadru",
|
||||
"render.shots_name_help": "Introduceți un nume unic pentru cadrul curent.",
|
||||
"render.shots_no_result": "Nicio randare încă",
|
||||
@@ -2997,6 +3336,13 @@
|
||||
"render.wait_pick_up": "încă neacceptat: selectarea produsului și preluarea aspectului",
|
||||
"render.wait_replace": "încă neacceptat: înlocuirea tuturor utilizărilor unui aspect",
|
||||
"render.wait_solo": "încă neacceptat: vizibilitatea luminilor și comenzile solo",
|
||||
"render.wear_applies_to": "Se aplică la",
|
||||
"render.wear_layer_count": "{count} straturi",
|
||||
"render.wear_layer_one": "{count} strat",
|
||||
"render.wear_layers": "Straturi",
|
||||
"render.wear_no_layers": "Niciun strat",
|
||||
"render.wear_selected_layer": "Stratul selectat",
|
||||
"render.wear_title": "Uzură",
|
||||
"sample.bracket.about": "Flanșă de bază cu flanșe pe margini și o pliere de margine, cu regulă de 2 mm",
|
||||
"sample.bracket.name": "Suport din tablă",
|
||||
"sample.enclosure.about": "Cutie scobită cu buză, bosaje pentru șuruburi, un reazem și o prindere cu clichet",
|
||||
@@ -3030,6 +3376,7 @@
|
||||
"select an axis": "selectați o axă",
|
||||
"select an axis, a straight or circular edge, or a cylinder, cone or torus face first": "selectați mai întâi o axă, o muchie dreaptă sau circulară ori o față de cilindru, de con sau de tor",
|
||||
"select bodies first": "selectați mai întâi corpurile",
|
||||
"select components first": "selectați mai întâi componentele",
|
||||
"select corner points, or the two lines of one corner": "selectați punctele colțurilor sau cele două linii ale unui colț",
|
||||
"select one corner point, or the two lines of one corner": "selectați un punct de colț sau cele două linii ale unui colț",
|
||||
"select sheet edges first": "selectați mai întâi muchiile tablei",
|
||||
@@ -3048,6 +3395,7 @@
|
||||
"settings.double_click_components": "Faceți dublu clic pe o componentă pentru a o activa sau pentru a edita pe loc una legată",
|
||||
"settings.frame_rate_details_note": "Adaugă un grafic cu timpii ultimelor cadre, cu triunghiurile desenate deasupra, o histogramă a timpilor de cadru și ce a desenat GPU-ul. Faceți clic pe rata de cadre din vizualizare pentru a le afișa sau a le ascunde.",
|
||||
"settings.frame_rate_note": "Afișează cadrele pe secundă în colțul din dreapta jos al vizualizării.",
|
||||
"settings.insert_lists_open_designs": "Inserează proiect listează mai întâi proiectele deschise în alte file",
|
||||
"settings.measure_axis_distances": "Afișează distanțele X/Y/Z",
|
||||
"settings.measure_axis_distances_help": "Afișează cotele pe axele globale alături de distanța totală cât timp Măsurare este deschis.",
|
||||
"settings.msaa_applies_on_restart": "Anti-aliasing se aplică la următoarea pornire a SolidCraft",
|
||||
@@ -3072,6 +3420,10 @@
|
||||
"shortcut.unpin": "Defixează",
|
||||
"sketch is missing": "schița lipsește",
|
||||
"sketch.degrees_of_freedom": "{count} grade de libertate",
|
||||
"sketch.dimension_added_driven": "Schița determină deja acea cotă, așa că a fost adăugată ca o cotă condusă (de referință)",
|
||||
"sketch.dimension_applied": "Cotă aplicată",
|
||||
"sketch.dimension_applied_defined": "Cotă aplicată; parametrul `{name}` a fost definit",
|
||||
"sketch.dimension_applied_renamed": "Cotă aplicată; parametrul a fost numit `{name}`",
|
||||
"sketch.dof_left": "{count} grade de libertate rămase",
|
||||
"sketch.dof_left_one": "{count} grad de libertate rămas",
|
||||
"sketch.draw_curves": "Desenează ca {linetype}",
|
||||
@@ -3106,6 +3458,8 @@
|
||||
"sketch_text.use_font_file": "Folosește fișierul de font {path}",
|
||||
"solid": "solid",
|
||||
"status.editing": "Se editează {name}",
|
||||
"status.navigation": "Mapare mouse: {mapping}",
|
||||
"status.navigation_tip": "Cum mișcă mouse-ul vizualizarea. Faceți clic pentru a alege altă mapare",
|
||||
"status.under_constrained": "Constrângeri insuficiente ({count} grade de libertate)",
|
||||
"status.under_constrained_one": "Constrângeri insuficiente ({count} grad de libertate)",
|
||||
"status.units_tip": "Unitățile proiectului. Faceți clic pentru a le schimba",
|
||||
@@ -3139,8 +3493,10 @@
|
||||
"timeline.delete_folders_tip": "Păstrează operațiile și dosarele imbricate în istoric",
|
||||
"timeline.delete_folders_with_features_tip": "Șterge dosarele cu toate operațiile din ele și dosarele lor imbricate",
|
||||
"timeline.delete_many": "Șterge operațiile selectate ({count})",
|
||||
"timeline.edited_rolled_back": "{name} s-a modificat, dar se află după marcajul de istoric, deci nu este calculat: mutați marcajul după el pentru a vedea rezultatul",
|
||||
"timeline.feature_error": "Eroare: {message}",
|
||||
"timeline.feature_hint": "Dublu clic pentru a edita · trageți pentru a reordona · clic dreapta pentru mai multe",
|
||||
"timeline.feature_rolled_back": "Derulat înapoi: după marcajul de istoric, deci necalculat",
|
||||
"timeline.feature_warning": "Avertisment: {message}",
|
||||
"timeline.group": "Dosar nou de operații",
|
||||
"timeline.move_many": "Mută elementele cronologiei",
|
||||
@@ -3220,6 +3576,10 @@
|
||||
"ui.3d_mouse_offer": "Calibrarea mouse-ului 3D corectează axele inversate sau schimbate între ele și îi reglează viteza și senzația.",
|
||||
"ui.3d_mouse_offer_never": "Nu mai afișa",
|
||||
"ui.3d_mouse_offer_swap": "Treci la Hidraw (driver direct)",
|
||||
"ui.3d_mouse_orbit": "Orbitare",
|
||||
"ui.3d_mouse_orbit_classic": "Clasic",
|
||||
"ui.3d_mouse_orbit_tip": "Pe model: mouse-ul 3D rotește vizualizarea în jurul părții modelului aflate în mijlocul vizualizării când începe rotirea, marcată de o bilă discretă. Clasic: în jurul centrului vizualizării",
|
||||
"ui.3d_mouse_orbit_traced": "Pe model",
|
||||
"ui.3d_mouse_reading": "Valoare citită",
|
||||
"ui.3d_mouse_reset_axes": "Resetează atribuirea axelor",
|
||||
"ui.3d_mouse_reset_view": "Resetează vizualizarea",
|
||||
@@ -3604,6 +3964,7 @@
|
||||
"ui.constant": "Constant",
|
||||
"ui.constraints_conflict": "Conflict de constrângeri",
|
||||
"ui.construction": "Construcție",
|
||||
"ui.construction.ribbon_label": "Linii aux.",
|
||||
"ui.context_menu": "Meniu contextual",
|
||||
"ui.continuity_g0": "Muchie G0",
|
||||
"ui.continuity_g1": "Tangent G1",
|
||||
@@ -3695,6 +4056,14 @@
|
||||
"ui.end_scale": "Scară finală",
|
||||
"ui.entities": "Entități",
|
||||
"ui.equal": "Egal",
|
||||
"ui.equation_end": "Sfârșit",
|
||||
"ui.equation_explicit": "Explicită",
|
||||
"ui.equation_form": "Formă",
|
||||
"ui.equation_note": "Variabila este un număr simplu: sin(t) o primește în radiani. Un rezultat fără unitate este în unitatea proiectului.",
|
||||
"ui.equation_parametric": "Parametrică",
|
||||
"ui.equation_x_of_t": "x(t)",
|
||||
"ui.equation_y_of_t": "y(t)",
|
||||
"ui.equation_y_of_x": "y(x)",
|
||||
"ui.equivalent_radius": "Rază echivalentă",
|
||||
"ui.expand": "Extinde",
|
||||
"ui.exportDxf": "Exportă DXF…",
|
||||
@@ -3760,6 +4129,7 @@
|
||||
"ui.heading_design": "PROIECT",
|
||||
"ui.heading_draft": "ÎNCLINARE",
|
||||
"ui.heading_edit": "EDITARE",
|
||||
"ui.heading_equation_curve": "CURBĂ DIN ECUAȚIE",
|
||||
"ui.heading_extrude": "EXTRUDARE",
|
||||
"ui.heading_fillet": "RACORDARE",
|
||||
"ui.heading_finish_editing": "FINALIZARE EDITARE",
|
||||
@@ -3851,6 +4221,10 @@
|
||||
"ui.import_ellipsis": "Importă…",
|
||||
"ui.infinite": "Infinit",
|
||||
"ui.insert": "Inserează",
|
||||
"ui.insert_design.browse": "Răsfoiește…",
|
||||
"ui.insert_design.open_designs": "Proiecte deschise",
|
||||
"ui.insert_design.saved_file": "{name} are modificări nesalvate, așa că a fost inserat fișierul său salvat. Salvați-l, apoi folosiți Actualizează legăturile pentru a aduce modificările.",
|
||||
"ui.insert_design.unsaved": "Modificări nesalvate",
|
||||
"ui.inspect": "Inspectează",
|
||||
"ui.intersect": "Intersecție",
|
||||
"ui.isolate": "Izolează",
|
||||
@@ -4000,6 +4374,18 @@
|
||||
"ui.project": "Proiectează",
|
||||
"ui.project_face_edges_sketch": "Proiectează muchiile feței în schițe noi",
|
||||
"ui.properties": "Proprietăți",
|
||||
"ui.properties.copy_matrix": "Copiază matricea",
|
||||
"ui.properties.first_moments": "Momente de ordinul întâi",
|
||||
"ui.properties.inertia": "Moment de inerție",
|
||||
"ui.properties.inertia_note": "Față de centrul de masă, în axele lumii (g·{unit}²)",
|
||||
"ui.properties.inertia_unavailable": "Indisponibil: plasa unui corp nu este închisă.",
|
||||
"ui.properties.inertia_x": "Ixx, Ixy, Ixz",
|
||||
"ui.properties.inertia_y": "Iyx, Iyy, Iyz",
|
||||
"ui.properties.inertia_z": "Izx, Izy, Izz",
|
||||
"ui.properties.measuring": "Se măsoară…",
|
||||
"ui.properties.measuring_failed": "Măsurarea s-a oprit înainte de a se termina.",
|
||||
"ui.properties.principal_axis": "Axa principală {number}",
|
||||
"ui.properties.principal_moments": "Momente principale",
|
||||
"ui.pull_direction": "Direcția de extragere",
|
||||
"ui.quality": "Calitate",
|
||||
"ui.quantity": "Cantitate",
|
||||
@@ -4062,6 +4448,7 @@
|
||||
"ui.select": "Selectează",
|
||||
"ui.selectOther": "Selectează altul…",
|
||||
"ui.selectTangentChain": "Selectează lanțul tangent",
|
||||
"ui.select_all": "Selectează tot",
|
||||
"ui.selection": "Selecție",
|
||||
"ui.selection_modifiers": "Modificatori de selecție",
|
||||
"ui.selection_shift_add_only": "Shift+clic adaugă fără a elimina",
|
||||
@@ -4098,7 +4485,11 @@
|
||||
"ui.sketch": "Schiță",
|
||||
"ui.sketch_dimension": "Cota schiței",
|
||||
"ui.sketch_grid": "Grila schiței",
|
||||
"ui.sketch_intersect_geometry": "Geometrie",
|
||||
"ui.sketch_intersect_projection_link": "Legătură de proiecție",
|
||||
"ui.sketch_intersect_selection_filter": "Filtru de selecție",
|
||||
"ui.sketch_modifiers": "Modificatori de schiță",
|
||||
"ui.sketch_project_geometry": "Geometrie",
|
||||
"ui.sketch_scale": "Scara schiței",
|
||||
"ui.sketches": "Schițe",
|
||||
"ui.slice": "Felie",
|
||||
@@ -4149,6 +4540,7 @@
|
||||
"ui.tab_manage": "Gestionare",
|
||||
"ui.tab_sheet_metal": "Tablă",
|
||||
"ui.tab_view": "Vizualizare",
|
||||
"ui.tab_weldments": "Sudură",
|
||||
"ui.tangent": "Tangent",
|
||||
"ui.taper_angle": "Unghi de conicitate",
|
||||
"ui.tapped": "Filetat",
|
||||
@@ -4164,6 +4556,7 @@
|
||||
"ui.tip_angle": "Unghiul vârfului",
|
||||
"ui.to_object": "Până la obiect",
|
||||
"ui.tool_direction": "Direcția sculei",
|
||||
"ui.toolbar_tabs_hidden": "Toate filele barei de instrumente sunt ascunse. Faceți clic pe + sau clic dreapta aici pentru a afișa una.",
|
||||
"ui.top": "Sus",
|
||||
"ui.top_diameter": "Diametru superior",
|
||||
"ui.top_radius": "Rază superioară",
|
||||
@@ -4210,6 +4603,7 @@
|
||||
"ui.visual_shaded_with_edges": "Umbrit cu muchii",
|
||||
"ui.visual_style": "Stil vizual",
|
||||
"ui.visual_wireframe": "Cadru de sârmă",
|
||||
"ui.wheel_zoom_speed": "Viteza de zoom a rotiței mouse-ului",
|
||||
"ui.width": "Lățime",
|
||||
"ui.window_system": "Sistem de ferestre",
|
||||
"ui.window_system_auto": "Automat",
|
||||
@@ -4261,6 +4655,9 @@
|
||||
"update.prefs_label": "Actualizări",
|
||||
"update.prefs_note": "Aceasta este SolidCraft {version} ({kind}). O verificare cere GitHub ultima versiune și nu trimite nimic altceva.",
|
||||
"update.prefs_web": "Reîncărcați pagina pentru a obține cea mai recentă aplicație web. Dacă rețeaua nu este disponibilă sau actualizarea nu poate termina descărcarea la timp, se deschide versiunea salvată; o descărcare în curs continuă pentru următoarea reîncărcare.",
|
||||
"update.refresh_checking": "Se caută cea mai nouă versiune…",
|
||||
"update.refresh_fallback": "Nu s-a putut verifica dacă există o versiune mai nouă; se actualizează la {version}, găsită anterior.",
|
||||
"update.refresh_selected": "Se actualizează la {version}.",
|
||||
"update.release_page": "Deschide pagina versiunii",
|
||||
"update.restart": "Repornește acum",
|
||||
"update.restart_later": "Mai târziu",
|
||||
|
||||
@@ -206,6 +206,7 @@
|
||||
"Edges": "Ивице",
|
||||
"Edit": "Измени",
|
||||
"Edit Profile Sketch": "Измени скицу профила",
|
||||
"Edit shortcuts": "Измени пречице",
|
||||
"Enable rule": "Омогући правило",
|
||||
"Enabled": "Омогућено",
|
||||
"End Radius": "Крајњи полупречник",
|
||||
@@ -468,6 +469,7 @@
|
||||
"Radius": "Полупречник",
|
||||
"Radius Fit": "Уклапање полупречника",
|
||||
"Ratio": "Однос",
|
||||
"Read-only list: shortcuts can't be changed here.": "Списак само за читање: пречице се овде не могу мењати.",
|
||||
"Reattach selected face": "Поново причврсти изабрано лице",
|
||||
"Recover": "Опорави",
|
||||
"Recover unsaved design?": "Опоравити несачувани дизајн?",
|
||||
@@ -652,6 +654,7 @@
|
||||
"Third point": "Трећа тачка",
|
||||
"This child is shared. Deleting it removes it from every copy of its parent.": "Овај подређени елемент је дељен. Брисањем се уклања из сваке копије његовог родитеља.",
|
||||
"This child is shared. Position changes apply to every copy of its parent.": "Овај подређени елемент је дељен. Промене положаја примењују се на сваку копију његовог родитеља.",
|
||||
"This component is inside a subassembly placed more than once: aligning it moves it in every placement.": "Ова компонента је унутар подсклопа који је постављен више пута: њено поравнање је помера у сваком постављању.",
|
||||
"This face cannot provide a durable attachment. Choose another face or explicitly use a fixed plane.": "Ово лице не може дати трајно причвршћење. Изаберите друго лице или изричито користите фиксну раван.",
|
||||
"This image is not attached to GitHub yet. Copy or save it, then attach it on GitHub.": "Ова слика још није приложена на GitHub-у. Копирајте је или сачувајте, а затим је приложите на GitHub-у.",
|
||||
"Thread depth": "Дубина навоја",
|
||||
@@ -793,6 +796,11 @@
|
||||
"cam.roller": "Ваљак",
|
||||
"cam.roller_pick": "Ваљак (необавезно)",
|
||||
"cam.tip_pick": "Врх (необавезно)",
|
||||
"camera.shot_pitch": "Нагиб",
|
||||
"camera.shot_roll": "Ваљање",
|
||||
"camera.shot_yaw": "Скретање",
|
||||
"canvas.decal_place_hint": "Кликните лице да поставите налепницу",
|
||||
"canvas.place_hint": "Кликните раван или лице да поставите платно",
|
||||
"choose a profile": "изаберите профил",
|
||||
"choose the cam's and the follower's joints": "изаберите спојеве брега и пратиоца",
|
||||
"choose the joints to couple": "изаберите спојеве за спрезање",
|
||||
@@ -800,9 +808,12 @@
|
||||
"click sketch curves": "кликните на криве скице",
|
||||
"cmd.appearance_assign": "Изглед",
|
||||
"cmd.appearance_chain": "Ланац изгледа",
|
||||
"cmd.appearance_copy": "Копирај изглед",
|
||||
"cmd.appearance_favorite": "Омиљени изглед",
|
||||
"cmd.appearance_library": "Библиотека изгледа",
|
||||
"cmd.appearance_list": "Списак изгледа",
|
||||
"cmd.appearance_paint": "Обоји изгледом",
|
||||
"cmd.appearance_paste": "Налепи изглед",
|
||||
"cmd.appearance_pick_up": "Преузми изглед",
|
||||
"cmd.appearance_replace": "Замени изглед",
|
||||
"cmd.assembly_bom": "Саставница",
|
||||
@@ -813,6 +824,7 @@
|
||||
"cmd.browser_move": "Премести ставке стабла модела",
|
||||
"cmd.browser_order": "Поређај ставке стабла модела",
|
||||
"cmd.browser_rename_group": "Преименуј групу",
|
||||
"cmd.browser_reparent": "Премести у компоненту",
|
||||
"cmd.browser_ungroup": "Разгрупиши",
|
||||
"cmd.browser_visibility": "Прикажи/сакриј",
|
||||
"cmd.canvas_calibrate": "Калибриши платно",
|
||||
@@ -839,7 +851,9 @@
|
||||
"cmd.component_metadata": "Својства дела",
|
||||
"cmd.component_metadata_set": "Промени својства дела",
|
||||
"cmd.component_move_bodies": "Премести тела у компоненту",
|
||||
"cmd.component_move_features": "Премести операције у компоненту",
|
||||
"cmd.component_move_sketches": "Премести скице у компоненту",
|
||||
"cmd.component_paste_from_design": "Налепи из другог дизајна",
|
||||
"cmd.component_paste_new": "Налепи као ново",
|
||||
"cmd.component_properties": "Физичка својства компоненте",
|
||||
"cmd.component_relink": "Поново повежи извор",
|
||||
@@ -976,6 +990,7 @@
|
||||
"cmd.motion_trace": "Траг кретања",
|
||||
"cmd.motion_trace_edit": "Измени траг кретања",
|
||||
"cmd.motion_trace_keep": "Задржи траг кретања",
|
||||
"cmd.occurrence_align": "Поравнај примерак",
|
||||
"cmd.occurrence_copy": "Налепи (примерак)",
|
||||
"cmd.occurrence_drag": "Превуци примерак",
|
||||
"cmd.occurrence_ground": "Учврсти",
|
||||
@@ -1033,11 +1048,17 @@
|
||||
"cmd.render_library_surface_unbind": "Уклони везу површине",
|
||||
"cmd.render_library_targets": "Пронађи циљеве библиотеке рендеровања",
|
||||
"cmd.render_lights_add": "Додај светло",
|
||||
"cmd.render_lights_duplicate": "Дуплицирај светло рендеровања",
|
||||
"cmd.render_lights_list": "Списак светала рендеровања",
|
||||
"cmd.render_lights_mute": "Искључи светло",
|
||||
"cmd.render_lights_remove": "Уклони светло рендеровања",
|
||||
"cmd.render_lights_set": "Подеси светло рендеровања",
|
||||
"cmd.render_lights_solo": "Само ово светло",
|
||||
"cmd.render_optics_bind": "Сачувај оптичку везу",
|
||||
"cmd.render_optics_unbind": "Уклони оптичку везу",
|
||||
"cmd.render_output_size": "Подеси величину излаза рендеровања",
|
||||
"cmd.render_preflight": "Провери захтев за рендеровање",
|
||||
"cmd.render_preflight_copy": "Копирај извештај провере рендеровања",
|
||||
"cmd.render_preset_apply": "Примени изворни студио",
|
||||
"cmd.render_preset_resolve": "Прегледај изворни студио",
|
||||
"cmd.render_quality_prepare": "Прегледај фиксни буџет узорковања",
|
||||
@@ -1060,6 +1081,13 @@
|
||||
"cmd.render_start": "Рендеруј слику",
|
||||
"cmd.render_status": "Напредак рендеровања",
|
||||
"cmd.select_clear": "Поништи избор",
|
||||
"cmd.settings_profile_apply": "Примени профил подешавања",
|
||||
"cmd.settings_profile_delete": "Избриши профил подешавања",
|
||||
"cmd.settings_profile_export": "Извези профил подешавања",
|
||||
"cmd.settings_profile_import": "Увези профил подешавања",
|
||||
"cmd.settings_profile_list": "Профили подешавања",
|
||||
"cmd.settings_profile_rename": "Преименуј профил подешавања",
|
||||
"cmd.settings_profile_save": "Сачувај профил подешавања",
|
||||
"cmd.sheet_convert": "Претвори у лим",
|
||||
"cmd.sheet_export_bend_table": "Извези табелу савијања",
|
||||
"cmd.sheet_export_dxf": "Извези развијени облик као DXF",
|
||||
@@ -1073,6 +1101,16 @@
|
||||
"cmd.sheet_refold": "Поново пресавиј",
|
||||
"cmd.sheet_rules": "Списак правила за лим",
|
||||
"cmd.sheet_unfold": "Развиј",
|
||||
"cmd.sketch.construction_line": "Помоћна права",
|
||||
"cmd.sketch.construction_line.angle": "Помоћна права под углом",
|
||||
"cmd.sketch.construction_line.bisector": "Симетрала угла",
|
||||
"cmd.sketch.construction_line.horizontal": "Хоризонтална помоћна права",
|
||||
"cmd.sketch.construction_line.parallel": "Паралелна помоћна права",
|
||||
"cmd.sketch.construction_line.perpendicular": "Нормална помоћна права",
|
||||
"cmd.sketch.construction_line.tangent_at": "Тангента у тачки криве",
|
||||
"cmd.sketch.construction_line.tangent_external": "Тангента кроз спољашњу тачку",
|
||||
"cmd.sketch.construction_line.tangent_two": "Заједничка тангента",
|
||||
"cmd.sketch.construction_line.vertical": "Вертикална помоћна права",
|
||||
"cmd.sketch_arc3d": "3D лук",
|
||||
"cmd.sketch_arc_center_point": "Лук из центра",
|
||||
"cmd.sketch_arc_tangent": "Тангентни лук",
|
||||
@@ -1105,6 +1143,8 @@
|
||||
"cmd.sketch_drawing_bounds": "Величина цртежа",
|
||||
"cmd.sketch_edit": "Измени скицу",
|
||||
"cmd.sketch_edit_text": "Измени текст",
|
||||
"cmd.sketch_equation_curve": "Крива по једначини",
|
||||
"cmd.sketch_equation_curve_edit": "Измени криву по једначини",
|
||||
"cmd.sketch_export_dxf": "Сачувај као DXF",
|
||||
"cmd.sketch_finish_auto_constrain": "Заврши са аутоматским ограничењима",
|
||||
"cmd.sketch_fit_curves_to_section": "Уклопи криве у пресек мреже",
|
||||
@@ -1201,6 +1241,7 @@
|
||||
"cmd.view.render_browser": "Стабло рендеровања",
|
||||
"cmd.view.render_dock": "Премести панел рендеровања",
|
||||
"cmd.view.render_focus": "Фокусни приказ рендеровања",
|
||||
"cmd.view.status_items": "Ставке статуса у прозору приказа",
|
||||
"cmd.view_ambient_occlusion": "Амбијентална оклузија",
|
||||
"cmd.view_angle_readout": "Углови приказа",
|
||||
"cmd.view_apply": "Врати именовани приказ",
|
||||
@@ -1222,6 +1263,7 @@
|
||||
"cmd.view_normal_to": "Нормално на избор",
|
||||
"cmd.view_previous_tab": "Претходна картица",
|
||||
"cmd.view_rename": "Преименуј именовани приказ",
|
||||
"cmd.view_render_frame": "Водичи кадра рендеровања",
|
||||
"cmd.view_right": "Поглед здесна",
|
||||
"cmd.view_save": "Нови именовани приказ",
|
||||
"cmd.view_shots_strip": "Трака кадрова",
|
||||
@@ -1232,10 +1274,14 @@
|
||||
"color.copy": "Кликните да копирате вредности боје",
|
||||
"color.edit": "Кликните да измените боју",
|
||||
"color.gamma": "Приказ вредности боје у гама простору 0-255",
|
||||
"color.hex": "Hex",
|
||||
"color.hex_help": "Унесите #rrggbb или #rrggbbaa; шест цифара чува непрозирност",
|
||||
"color.hex_hint": "#rrggbb",
|
||||
"color.hue": "Нијанса",
|
||||
"color.linear": "Приказ вредности боје у линеарном простору 0-1",
|
||||
"color.saturation_value": "Засићеност и вредност",
|
||||
"color.selected": "Изабрана боја",
|
||||
"config.column_filter_empty": "Нема одговарајућих колона",
|
||||
"contact.components_count": "Компоненте: {count}",
|
||||
"contact.enabled_label": "омогућено",
|
||||
"coupling.gear_1": "Зупчаник 1",
|
||||
@@ -1350,8 +1396,10 @@
|
||||
"help.material.assign": "Одређује од чега су изабрана тела направљена, нпр. челик, алуминијум или ABS. Користите га да маса и тежина одговарају стварном делу.",
|
||||
"help.mit": "MIT лиценца",
|
||||
"help.notice": "NOTICE",
|
||||
"help.occurrence.move": "Помера део склопа само дуж слобода које дозвољавају његови спојеви. Изаберите лице дела, а затим превуците доступну стрелицу или лук.",
|
||||
"help.parameters.change": "Отвара табелу именованих вредности и израза који управљају котама дизајна. Користите је да промените меру на једном месту, а све операције које је користе је прате.",
|
||||
"help.pointcloud.insert": "Уметните PLY, XYZ или PTS скенирање као облак тачака поред модела. Користите га као референцу при изради модела на основу измерених података.",
|
||||
"help.sketch.equation_curve": "Црта криву из формула: x(t) и y(t), или y = f(x), у задатом опсегу. Формуле могу да користе параметре и крива их прати: користите је за синусоиду, спиралу или евольвенту зупца зупчаника.",
|
||||
"help.solid.align": "Помера изабрана тела тако да се тачка, лице или раван на њима поклопи са тачком, лицем или равни негде другде. Користите га да поставите део уз други без мерења одмака.",
|
||||
"help.solid.chamfer": "Одсеца изабране ивице равним скошењем задатог растојања. Користите га да ублажите оштре ивице или олакшате увођење чивије или завртња.",
|
||||
"help.solid.combine": "Спаја тела, одузима их од циљног тела или задржава само заједничку запремину, а може да задржи и алатна тела. Користите га да спојите делове, да једним обликом одсечете други или да пронађете где се два тела преклапају.",
|
||||
@@ -1480,6 +1528,21 @@
|
||||
"joint.one_component": "Ови делови су тела једне компоненте: {bodies}. Спој помера једну компоненту у односу на другу, па сваки део треба своју компоненту.",
|
||||
"joint.rigid_group_one_component": "Сва тела ({count}) су у једној компоненти (или у самом дизајну): прво користите {command}.",
|
||||
"joint.rigid_group_select_components": "Изаберите две или више компоненти.",
|
||||
"joint_move.blocked_hint": "Проверите врсту споја (на пример Круто), учвршћивање, границе споја и вредности које покрећу параметри.",
|
||||
"joint_move.blocked_title": "Овај део се не може померити",
|
||||
"joint_move.coarse": "Корак ротације близу осе (°)",
|
||||
"joint_move.distance": "Растојање од почетка",
|
||||
"joint_move.done": "Готово",
|
||||
"joint_move.fine": "Корак ротације далеко од осе (°)",
|
||||
"joint_move.fixed": "Овај део нема покретну осу споја.",
|
||||
"joint_move.help": "Помери — превуците стрелицу или прстен. Esc отказује тренутно превлачење.",
|
||||
"joint_move.legacy_hint": "Искључите да бисте користили претходни панел Помери.",
|
||||
"joint_move.precision": "Повуците изван испрекиданог водича за фину ротацију.",
|
||||
"joint_move.rotation": "Ротација од почетка",
|
||||
"joint_move.select": "Изаберите лице или један део склопа, а затим изаберите Помери.",
|
||||
"joint_move.settings": "Померање у склопу",
|
||||
"joint_move.step": "Корак",
|
||||
"joint_move.use_handles": "Користи ручице кретања спојева за померање у склопу",
|
||||
"keymap.command_id": "ID команде",
|
||||
"keymap.empty": "Нема одговарајућих команди",
|
||||
"keymap.use_anyway": "Ипак користи {key} овде",
|
||||
@@ -1574,6 +1637,8 @@
|
||||
"nav.maya.help": "Alt+превлачење левим орбитира, Alt+средњи помера, Alt+десни зумира; превлачење средњим такође помера",
|
||||
"nav.openscad.help": "Превлачење левим дугметом по празном простору орбитира, Shift+превлачење левим бира оквиром, превлачење геометрије скице је мења; превлачење десним или средњим дугметом помера, Shift+десно или Shift+средње зумира",
|
||||
"nav.perspective.sketch": "Измена скице користи ортографски приказ. Завршите скицу да пребаците на перспективу.",
|
||||
"nav.right_drag_orbits.help": "Искључено: превлачење десним дугметом не дира камеру, а десно дугме само отвара контекстни мени. Избор SolidWorks мапирања миша га искључује.",
|
||||
"nav.right_drag_orbits.label": "Превлачење десним дугметом орбитира",
|
||||
"nav.solidworks.help": "Превлачење средњим дугметом орбитира, Ctrl+средње помера, Shift+средње зумира, превлачење десним орбитира",
|
||||
"nav.tinkercad.help": "Превлачење десним дугметом орбитира, превлачење средњим или Shift+десним помера",
|
||||
"nav.touchpad.help": "Држите Shift и померајте показивач за померање приказа; држите Alt/Option и померајте га за орбитирање. Дугме миша није потребно. Вертикално скроловање зумира.",
|
||||
@@ -1595,6 +1660,9 @@
|
||||
"navbar.custom.customise": "Прилагоди навигациону траку…",
|
||||
"navbar.custom.design": "Дизајн",
|
||||
"navbar.custom.duplicate": "Ово место је већ на траци.",
|
||||
"navbar.custom.edge": "Ивица",
|
||||
"navbar.custom.edge_bottom": "Доле",
|
||||
"navbar.custom.edge_top": "Горе",
|
||||
"navbar.custom.fade": "Избледи",
|
||||
"navbar.custom.full": "Уклоните једно место да бисте додали друго.",
|
||||
"navbar.custom.hidden_design": "Скривено у Дизајну",
|
||||
@@ -1701,6 +1769,7 @@
|
||||
"parts.dimension.thickness": "Дебљина",
|
||||
"parts.dimension.width": "Ширина",
|
||||
"parts.family.bearing": "Куглични лежај са дубоким жлебом (габарит)",
|
||||
"parts.family.button_head_cap_screw": "Завртањ са полуоблом главом и унутрашњим шестоугаоником",
|
||||
"parts.family.dowel_pin": "Паралелни клин (колчић)",
|
||||
"parts.family.hex_bolt": "Завртањ са шестоугаоном главом",
|
||||
"parts.family.hex_nut": "Шестоугаона навртка",
|
||||
@@ -1759,6 +1828,9 @@
|
||||
"prefs.bottom_centre": "Доле у средини",
|
||||
"prefs.bottom_right": "Доле десно",
|
||||
"prefs.browser": "Стабло модела",
|
||||
"prefs.browser_reveal_on_hover": "Прикажи при преласку мишем",
|
||||
"prefs.browser_show_note": "Приказано држи стабло модела на екрану. Прикажи при преласку мишем га скрива док показивач не дође на његово место или на танак језичак на његовој левој ивици, а остаје отворено док је показивач у њему или док је отворен мени из њега.",
|
||||
"prefs.browser_shown": "Приказано",
|
||||
"prefs.built_in": "Уграђено",
|
||||
"prefs.button_left": "Превлачење левим дугметом",
|
||||
"prefs.button_middle": "Превлачење средњим дугметом",
|
||||
@@ -1829,6 +1901,8 @@
|
||||
"prefs.layout_note": "Компактно причвршћује панеле уз ивице прозора. Провидност стабла модела доступна је у опцији Плутајуће. Страну Асистента промените на страници Асистент.",
|
||||
"prefs.left": "Лево",
|
||||
"prefs.left_click": "Леви клик",
|
||||
"prefs.line_drag_draws_one": "Притисак и превлачење цртају једну линију",
|
||||
"prefs.line_drag_draws_one_note": "У алату Линија, притисак, превлачење и пуштање цртају једну линију од места притиска до места пуштања и ту се завршава. Кликови и даље цртају ланац. Искључено: превлачење поставља тачку где се пусти, као и клик.",
|
||||
"prefs.linked_designs": "Повезани дизајни",
|
||||
"prefs.live_input": "Улаз уживо",
|
||||
"prefs.live_preview": "Преглед уживо",
|
||||
@@ -1861,14 +1935,36 @@
|
||||
"prefs.origin_plane_names": "Називи равни исходишта",
|
||||
"prefs.origin_plane_names_note": "Називи приказани у стаблу модела, дијалозима и листама. {top} је XY, {front} је XZ, а {right} је YZ, са Z нагоре. Команде, скрипте и сачувани дизајни задржавају XY, XZ и YZ.",
|
||||
"prefs.overall_speed": "Укупна брзина",
|
||||
"prefs.perspective_fov": "Видно поље",
|
||||
"prefs.placement": "Постављање",
|
||||
"prefs.prefer_free_sketch_points": "Дај предност покретним тачкама скице када се тачке преклапају",
|
||||
"prefs.preview_choices": "Преглед ваших избора",
|
||||
"prefs.profile_active": "Активни профил",
|
||||
"prefs.profile_applied": "Профил је примењен.",
|
||||
"prefs.profile_changed": "Подешавања су промењена откако је профил сачуван. Притисните Сачувај да их задржите у њему.",
|
||||
"prefs.profile_deleted": "Профил је избрисан.",
|
||||
"prefs.profile_export": "Извези…",
|
||||
"prefs.profile_exported": "Профил је извезен.",
|
||||
"prefs.profile_imported": "Профил је увезен. Изаберите га под Активни профил да бисте прешли на њега.",
|
||||
"prefs.profile_name_hint": "Назив профила, нпр. Лаптоп",
|
||||
"prefs.profile_rename": "Преименуј",
|
||||
"prefs.profile_renamed": "Профил је преименован.",
|
||||
"prefs.profile_save": "Сачувај",
|
||||
"prefs.profile_saved": "Тренутна подешавања су сачувана у профил.",
|
||||
"prefs.profile_skipped": "Профил је примењен; подешавања која су задржала тренутну вредност: {n} (погледајте дневник).",
|
||||
"prefs.profiles": "Профили подешавања",
|
||||
"prefs.profiles_note": "Пречице, трака са алатима, навигација, радијални мени и подешавања интерфејса, чувани заједно под једним називом и мењани одједном.",
|
||||
"prefs.project_options_dialog": "Дијалог опција за Пројектуј",
|
||||
"prefs.project_options_dialog_note": "Укључено: пре пројектовања изаберите Геометрија или Тела и Веза пројекције. Искључено: задржава се претходни начин рада са директним избором.",
|
||||
"prefs.quality_default": "подразумевано",
|
||||
"prefs.quality_fastest": "најбрже",
|
||||
"prefs.quality_slowest": "најспорије",
|
||||
"prefs.quality_smoother": "глађе",
|
||||
"prefs.render_previous_geometry_budget": "Користи претходни буџет геометрије за преглед у Рендеровању",
|
||||
"prefs.render_previous_geometry_budget_help": "Враћа претходно фиксно ограничење геометрије (512 MiB на 64-битним десктоп рачунарима, 128 MiB другде) уместо буџета према уређају.",
|
||||
"prefs.reports_saved": "Сачувано: {n}",
|
||||
"prefs.ribbon_reveal": "Прикажи резултате претраге на траци",
|
||||
"prefs.ribbon_reveal_note": "Задржавање показивача изнад резултата у Претражи команде показује где се команда налази на траци: њену картицу, њено дугме или њен ред у падајућем менију панела. Команда покренута из претраге тамо трепери, а покренута команда из падајућег менија означава свој панел.",
|
||||
"prefs.right_click": "Десни клик",
|
||||
"prefs.saving": "Аутоматско чување и опоравак",
|
||||
"prefs.scale_note": "Такође Ctrl + / Ctrl − у прозору. Дугмад су 28 px при 100%.",
|
||||
@@ -1882,6 +1978,10 @@
|
||||
"prefs.shift_add_ctrl_toggle": "Shift само додаје; Ctrl / Cmd укључује и искључује",
|
||||
"prefs.shift_add_note": "Укључено: Shift додаје, Ctrl / Cmd укључује и искључује. Искључено (подразумевано): оба укључују и искључују.",
|
||||
"prefs.shortcuts": "Пречице",
|
||||
"prefs.single_surface_analysis": "Користи само једну анализу површи",
|
||||
"prefs.single_surface_analysis_help": "Када је искључено, сенчење површи и Континуитет могу остати укључени заједно. Када је укључено, остаје последња покренута или промењена анализа.",
|
||||
"prefs.sketch_align_points": "Поравнај са другим тачкама скице током цртања",
|
||||
"prefs.sketch_align_points_note": "Током цртања тачка се истовремено поравнава хоризонтално са једном тачком скице и вертикално са другом, уз тачкасти водич, а клик задржава оба поравнања. Искључено: само са претходном тачком, по једна оса.",
|
||||
"prefs.sketch_conflict_colour": "Геометрија у сукобу у боји сукоба",
|
||||
"prefs.sketch_conflict_colour_note": "Док су ограничења скице у сукобу, криве и тачке које држи ограничење које не успева исцртавају се такође у боји сукоба, а не само његов симбол или кота. Искључено: задржавају уобичајене боје.",
|
||||
"prefs.sketch_exit_view": "Када се скица заврши",
|
||||
@@ -1889,6 +1989,8 @@
|
||||
"prefs.sketch_exit_view.previous": "Врати се на претходни приказ",
|
||||
"prefs.sketch_exit_view.unless_rotated": "Врати се осим ако је ротирано",
|
||||
"prefs.sketch_exit_view_note": "Куда приказ иде након Заврши скицу, Откажи или двоструког Esc.",
|
||||
"prefs.sketch_recent_snap": "Аутоматски привлачи на недавне центре и средишње тачке",
|
||||
"prefs.sketch_recent_snap_note": "Током цртања показивач се привлачи тамо где се секу водичи двају последњих центара кругова или средишњих тачака правих ивица. Искључено: ти водичи служе само за приказ и показивач се не помера.",
|
||||
"prefs.sketch_selection": "Скица и избор",
|
||||
"prefs.sketch_selection_heading": "Скица и избор",
|
||||
"prefs.sketch_selection_note": "Како се скице привлаче и како кликови бирају.",
|
||||
@@ -1933,7 +2035,14 @@
|
||||
"prefs.toast_place": "Обавештења",
|
||||
"prefs.toggle_item": "Додај ставку или је поново уклони",
|
||||
"prefs.toolbar": "Трака са алатима",
|
||||
"prefs.toolbar_tabs": "Картице траке са алатима",
|
||||
"prefs.top": "Горе",
|
||||
"prefs.trackpad_zoom_modifier": "Зумирај скроловањем са два прста док држите",
|
||||
"prefs.trackpad_zoom_modifier.alt": "⌥ / Alt",
|
||||
"prefs.trackpad_zoom_modifier.cmd": "⌘",
|
||||
"prefs.trackpad_zoom_modifier.ctrl": "Ctrl",
|
||||
"prefs.trackpad_zoom_modifier.help": "Држите само овај тастер да зумирате према показивачу вертикалним скроловањем. Искључено задржава постојеће понашање скроловања.",
|
||||
"prefs.trackpad_zoom_modifier.off": "Искључено",
|
||||
"prefs.translucent": "Провидно",
|
||||
"prefs.under_browser": "Испод стабла модела",
|
||||
"prefs.under_cursor": "Испод показивача",
|
||||
@@ -1943,9 +2052,14 @@
|
||||
"prefs.view_confirm_corner": "У реду и Откажи у углу приказа",
|
||||
"prefs.view_confirm_corner_note": "Док је отворен дијалог или скица, квачица и крстић горе десно у приказу раде исто што и дугмад У реду и Откажи у дијалогу, односно завршавају и отказују скицу. Навигатор приказа помера се испод њих.",
|
||||
"prefs.viewport": "Прозор приказа",
|
||||
"prefs.viewport_background": "Позадина",
|
||||
"prefs.viewport_background_colour": "Боја",
|
||||
"prefs.viewport_background_theme": "Градијент теме",
|
||||
"prefs.wheel": "Точкић",
|
||||
"prefs.wheel_trackpad": "Точкић и додирна табла",
|
||||
"prefs.workspace": "Радни простор",
|
||||
"prefs.zoom_stop_at_model": "Заустави зумирање на моделу",
|
||||
"prefs.zoom_stop_at_model_tip": "3D миш и апликација уређаја зумирају према површини у средини приказа; зумирање превлачењем држи тачку где је превлачење почело. Искључено: зумирање може да прође кроз модел. Точкић и штипање засебно користе Зумирање према показивачу",
|
||||
"prefs.zoom_toward_cursor": "Зумирање према показивачу",
|
||||
"properties.title": "Својства: {name}",
|
||||
"recovery.days_ago": "пре {count} дана",
|
||||
@@ -2034,6 +2148,7 @@
|
||||
"render.appearance_editor.weight": "Тежина",
|
||||
"render.appearance_physics_separate": "Визуелни изглед не додељује густину, топлотне податке нити друга инжењерска својства.",
|
||||
"render.appearances": "Изгледи",
|
||||
"render.assign_help": "Кликните да примените на избор; превуците за преглед и пустите, или кликните без избора да бојите.",
|
||||
"render.availability_native": "Изворни састав; прегледајте пре примене",
|
||||
"render.availability_projection": "Подржана пројекција; погледајте опсег и изоставке",
|
||||
"render.availability_reference": "Референтни подаци; није аутоматска додела",
|
||||
@@ -2072,6 +2187,7 @@
|
||||
"render.bloom_threshold": "Праг линеарних светлих делова",
|
||||
"render.browse_capabilities": "Прегледај комплетан каталог могућности",
|
||||
"render.browse_environments": "Прегледај изворна HDR окружења",
|
||||
"render.browse_looks": "Прегледај…",
|
||||
"render.browse_native_scenes": "Прегледај изворне студије",
|
||||
"render.browse_physical": "Прегледај физичке референце",
|
||||
"render.browse_quality": "Прегледај спецификације квалитета",
|
||||
@@ -2095,6 +2211,82 @@
|
||||
"render.check_opaque": "Провидност: само непрозирне површине; алфа позадине је подржана.",
|
||||
"render.check_sorted_alpha": "Провидност: апроксимација сортираном алфом.",
|
||||
"render.check_transmission": "Провидност: физичко пропуштање.",
|
||||
"render.children.absolute_floor": "Апсолутни доњи праг",
|
||||
"render.children.adaptive": "Адаптивно",
|
||||
"render.children.add_look_reason": "Додајте изглед да бисте мењали да ли је омогућен и његову јачину.",
|
||||
"render.children.all_shots": "Сви кадрови",
|
||||
"render.children.bloom": "Сјај",
|
||||
"render.children.check": "Провера",
|
||||
"render.children.check_now": "Провери сада",
|
||||
"render.children.chromatic": "Хроматски помак",
|
||||
"render.children.compact": "Компактно",
|
||||
"render.children.contrast": "Контраст",
|
||||
"render.children.copy_image": "Копирај",
|
||||
"render.children.copy_job": "Копирај JSON посла",
|
||||
"render.children.copy_request": "Копирај JSON захтева",
|
||||
"render.children.coverage_error": "Грешка покривености",
|
||||
"render.children.cpu": "CPU праћење зрака",
|
||||
"render.children.denoise": "Смањи шум на завршеној слици",
|
||||
"render.children.depth": "Дубина путање",
|
||||
"render.children.distortion": "Изобличење",
|
||||
"render.children.edge_samples": "Узорци ивица",
|
||||
"render.children.effects_banner": "Ови ефекти захтевају GPU праћење путања. Отварање овога никад не мења методу.",
|
||||
"render.children.enable_adaptive": "Омогућите независне пробне узорке да бисте мењали адаптивне границе.",
|
||||
"render.children.enable_bloom": "Омогућите сјај да бисте мењали његову јачину, праг и полупречник.",
|
||||
"render.children.finishing": "Завршна обрада",
|
||||
"render.children.flare": "Одсјај",
|
||||
"render.children.fresnel": "Fresnel-ови слојеви",
|
||||
"render.children.ghosts": "Духови прстенова",
|
||||
"render.children.glass": "Пренос кроз стакло",
|
||||
"render.children.go_to": "Иди на {editor}",
|
||||
"render.children.grain": "Зрно",
|
||||
"render.children.halo": "Ореол",
|
||||
"render.children.hdr": "HDR",
|
||||
"render.children.keep_master": "Задржи сирови линеарни мастер",
|
||||
"render.children.last_result": "Последњи: {number} · {width} × {height} · {phase}",
|
||||
"render.children.lens_effects": "Ефекти објектива",
|
||||
"render.children.look_summary": "{tone} · изгледи: {count}",
|
||||
"render.children.looks": "Креативни изгледи",
|
||||
"render.children.memory": "Меморија",
|
||||
"render.children.method": "Метода",
|
||||
"render.children.minimum": "Минимум",
|
||||
"render.children.needs_cpu": "Потребно је CPU праћење зрака. Отварање овога никад не мења методу.",
|
||||
"render.children.nested": "Потврђени угнежђени диелектрици",
|
||||
"render.children.not_checked": "Није проверено",
|
||||
"render.children.path": "Праћење путања",
|
||||
"render.children.pilots": "Пробни узорци",
|
||||
"render.children.preview": "Подаци прегледа",
|
||||
"render.children.progressive_reason": "Изаберите Прогресивно да бисте мењали број узорака и семе.",
|
||||
"render.children.radius": "Полупречник",
|
||||
"render.children.reflect_depth": "Дубина рефлексије",
|
||||
"render.children.reflect_samples": "Узорци рефлексије",
|
||||
"render.children.regrade": "Поновна градација",
|
||||
"render.children.relative_error": "Релативна грешка",
|
||||
"render.children.render": "Рендеровање",
|
||||
"render.children.render_shot": "Рендеруј кадар",
|
||||
"render.children.renderer": "Рендерер",
|
||||
"render.children.renderers": "Рендерери",
|
||||
"render.children.request": "Овај захтев",
|
||||
"render.children.reset_finishing": "Ресетуј завршну обраду",
|
||||
"render.children.review_quality": "Прегледај спецификацију квалитета…",
|
||||
"render.children.rgb_gain": "RGB појачање",
|
||||
"render.children.samples": "Узорци",
|
||||
"render.children.sampling": "Узорковање",
|
||||
"render.children.saturation": "Засићеност",
|
||||
"render.children.scene_summary": "тела: {bodies} · троуглови: {triangles}",
|
||||
"render.children.seed": "Семе",
|
||||
"render.children.sharpening": "Изоштравање",
|
||||
"render.children.single_image": "Једна слика",
|
||||
"render.children.soft_focus": "Меки фокус",
|
||||
"render.children.streak": "Пруга",
|
||||
"render.children.strength": "Јачина",
|
||||
"render.children.studio": "Студио",
|
||||
"render.children.threshold": "Праг",
|
||||
"render.children.tone": "Тон",
|
||||
"render.children.under_hood": "Испод хаубе",
|
||||
"render.children.vignette": "Вињета",
|
||||
"render.children.workstation": "Радна станица",
|
||||
"render.choose_look": "Прво изаберите изглед у Изгледима",
|
||||
"render.chromatic_offset": "Хроматски помак ивица",
|
||||
"render.clear_stage": "Уклони сачувану сцену",
|
||||
"render.copy_request": "Копирај JSON",
|
||||
@@ -2346,8 +2538,33 @@
|
||||
"render.flare_strength": "Јачина одсјаја светлих делова",
|
||||
"render.flare_threshold": "Линеарни праг одсјаја сцене",
|
||||
"render.fold_browser": "Скупи стабло модела",
|
||||
"render.frame_aspect": "Однос страница",
|
||||
"render.frame_centre_mark": "Ознака центра",
|
||||
"render.frame_copy_limit": "Нема слободног назива за дупликат кадра",
|
||||
"render.frame_copy_name": "{name} копија {number}",
|
||||
"render.frame_custom": "Прилагођено",
|
||||
"render.frame_distance_unit": " × величина",
|
||||
"render.frame_duplicate": "Дуплицирај",
|
||||
"render.frame_exposure": "Експозиција",
|
||||
"render.frame_fov": "Видно поље",
|
||||
"render.frame_guides": "Водичи",
|
||||
"render.frame_invalid_aspect": "Неисправан унапред подешен однос страница",
|
||||
"render.frame_lens": "FOV {fov}° · ≈ {mm} mm",
|
||||
"render.frame_name": "Назив",
|
||||
"render.frame_output_size": "Величина излаза",
|
||||
"render.frame_photo": "3:2 · Фотографија",
|
||||
"render.frame_portrait": "4:5 · Портрет",
|
||||
"render.frame_presets": "Унапред подешени кадрови",
|
||||
"render.frame_presets_pending": "Стиже са уређивачем кадрова",
|
||||
"render.frame_projection": "Пројекција",
|
||||
"render.frame_render_shot": "Рендеруј овај кадар",
|
||||
"render.frame_rule_thirds": "Правило трећина",
|
||||
"render.frame_safe_area": "Безбедна зона",
|
||||
"render.frame_shot_title": "Кадар · {name}",
|
||||
"render.frame_square": "1:1 · Квадрат",
|
||||
"render.frame_tall": "9:16 · Усправно",
|
||||
"render.frame_thirds": "Трећине",
|
||||
"render.frame_wide": "16:9 · Широки екран",
|
||||
"render.gpu_depth": "Максимална дубина путање",
|
||||
"render.gpu_options_help": "Узорци, дубина, семе и експозиција чувају се са овим подешавањем. Чува се само активна метода слике.",
|
||||
"render.gpu_path_failed": "GPU праћење путања није доступно",
|
||||
@@ -2375,6 +2592,7 @@
|
||||
"render.heading_results": "РЕЗУЛТАТИ",
|
||||
"render.heading_shots": "КАДРОВИ",
|
||||
"render.hide_shots_label": "Сакриј траку кадрова",
|
||||
"render.hover_look": "{object} · {look} · кликните за избор",
|
||||
"render.image_advanced": "Напредне GPU контроле",
|
||||
"render.image_cancelled": "Рендеровање је отказано",
|
||||
"render.image_cancelling": "Отказивање",
|
||||
@@ -2521,17 +2739,95 @@
|
||||
"render.library_uniform_ack": "Користи једноличну апроксимацију без просторних или напредних ефеката",
|
||||
"render.library_usable": "Извршне пројекције",
|
||||
"render.library_users": "Корисници",
|
||||
"render.light_aim": "Усмери ка",
|
||||
"render.light_anchor_pending": "Промена координатног система светла још није подржана.",
|
||||
"render.light_azimuth": "Азимут",
|
||||
"render.light_backend_limit": "Изаберите CPU праћење зрака или изричити GPU студио да бисте мењали светла. Светла старог GPU студија остају само за читање.",
|
||||
"render.light_behaviour": "ПОНАШАЊЕ",
|
||||
"render.light_default_fill": "Допунско",
|
||||
"render.light_default_key": "Главно",
|
||||
"render.light_default_number": "Светло {number}",
|
||||
"render.light_default_rim": "Рубно",
|
||||
"render.light_delete": "Избриши",
|
||||
"render.light_distance": "Растојање",
|
||||
"render.light_duplicate": "Дуплицирај",
|
||||
"render.light_elevation": "Елевација",
|
||||
"render.light_gpu_punctual": "Тачкаста светла и рефлектори доступни су уз CPU праћење зрака.",
|
||||
"render.light_hard_shadow": "Ово светло има оштре сенке; мекоћа емитера није доступна.",
|
||||
"render.light_intensity": "Интензитет",
|
||||
"render.light_missing": "Ово светло више не постоји. Изаберите светло у стаблу модела.",
|
||||
"render.light_place_highlight": "Постави према одсјају",
|
||||
"render.light_place_pending": "Постављање према одсјају захтева избор светла у прозору приказа и још није подржано.",
|
||||
"render.light_position": "ПОЛОЖАЈ",
|
||||
"render.light_preview_help": "Приказ уживо је без сенки; површинска светла користе апроксимацију узорком из центра. Рендеровање користи потпуни модел светла.",
|
||||
"render.light_product_centre": "Центар производа",
|
||||
"render.light_size": "Величина",
|
||||
"render.light_softness": "Мекоћа",
|
||||
"render.light_temperature": "Температура боје",
|
||||
"render.light_temperature_help": "Приближна нијанса црног тела; чува се као линеарни RGB.",
|
||||
"render.light_type": "Врста",
|
||||
"render.light_type_area": "Површинско",
|
||||
"render.light_type_point": "Тачкасто",
|
||||
"render.light_type_spot": "Рефлектор",
|
||||
"render.light_type_sun": "Сунце",
|
||||
"render.light_view_only": "Само једно светло и искључена светла утичу на овај приказ и његове рендере; никад се не чувају у дизајну.",
|
||||
"render.light_world_origin": "Исходиште света",
|
||||
"render.lighting_aim_point": "Тачка циљања",
|
||||
"render.lighting_apply": "Примени подешавање",
|
||||
"render.lighting_area_samples": "Узорци површинског светла",
|
||||
"render.lighting_budget": "Буџет",
|
||||
"render.lighting_budget_help": "Бројеви су само за читање. Додајте, дуплицирајте или избришите светла да бисте их променили; метода одређује ограничења.",
|
||||
"render.lighting_colour": "Боја",
|
||||
"render.lighting_consent": "Замени усмерена светла овим подешавањем",
|
||||
"render.lighting_custom": "Прилагођена светла",
|
||||
"render.lighting_custom_help": "Избор опције Прилагођено претвара подешавање у светла која се могу мењати, свако у свом реду у стаблу.",
|
||||
"render.lighting_direction": "Смер X Y Z",
|
||||
"render.lighting_direction_help": "Или упишите смер према светлу (X Y Z).",
|
||||
"render.lighting_distance_unit": " × величина",
|
||||
"render.lighting_edge_u": "Вектор странице U",
|
||||
"render.lighting_edge_v": "Вектор странице V",
|
||||
"render.lighting_falloff": "Слабљење",
|
||||
"render.lighting_falloff_help": "Интензитет је наведен на референтном растојању.",
|
||||
"render.lighting_height": "Висина V",
|
||||
"render.lighting_minimum": "Минимум",
|
||||
"render.lighting_mute": "Искључи ово светло",
|
||||
"render.lighting_point": "Тачка",
|
||||
"render.lighting_preset": "Подешавање студија",
|
||||
"render.lighting_preset_cpu": "Подешавања студија са усмереним светлима захтевају CPU праћење зрака. GPU осветљење користи изричита сунчева и површинска светла.",
|
||||
"render.lighting_preset_row": "Подешавање",
|
||||
"render.lighting_radiance": "Радијанса",
|
||||
"render.lighting_reference": "Референца",
|
||||
"render.lighting_review_help": "Замењује списак усмерених светала. Задржава тачкаста и површинска светла, окружење, сенке, камеру и сва остала подешавања кадра.",
|
||||
"render.lighting_review_title": "Прегледај подешавање осветљења",
|
||||
"render.lighting_samples_cpu": "Узорци површинског светла важе за CPU праћење зрака.",
|
||||
"render.lighting_samples_need_area": "Додајте CPU површинско светло да бисте подесили узорке површинског светла.",
|
||||
"render.lighting_samples_reason": "Узорци површинског светла морају бити 1, 4, 16 или 64.",
|
||||
"render.lighting_shadow_cpu": "Прекидач сенки захтева CPU праћење зрака. GPU праћење путања увек баца сенке.",
|
||||
"render.lighting_shadows": "Баци сенке",
|
||||
"render.lighting_shadows_section": "Сенке и узорковање",
|
||||
"render.lighting_shape": "Облик",
|
||||
"render.lighting_solo": "Само ово светло",
|
||||
"render.lighting_source": "Извор",
|
||||
"render.lighting_source_section": "Извор светла",
|
||||
"render.lighting_spot_preserved": "Ово тачкасто светло задржава сачувани конус рефлектора док му се не промени врста.",
|
||||
"render.lighting_sun_distance": "Смер сунца не зависи од растојања и тачке циљања.",
|
||||
"render.lighting_unsupported": "неподржано",
|
||||
"render.lighting_used": "{used} од {limit}",
|
||||
"render.lighting_width": "Ширина U",
|
||||
"render.lighting_world_position": "Светски X Y Z",
|
||||
"render.lights_fixed_to": "Светла везана за",
|
||||
"render.linear_help": "Задржава 32-битни флоат RGBA мастер пре уклањања шума, експозиције, мапирања тонова, филтера и позадине. Линеарни sRGB/D65; помножен покривеношћу. Додатна меморија се изричито одобрава. Без компресије и додатних пролаза.",
|
||||
"render.linear_retain": "Задржи сирови линеарни EXR",
|
||||
"render.linear_unavailable": "Изабрани завршени кадар нема задржани EXR. Омогућите задржавање пре рендеровања; старији PNG не може да врати сирову радијансу.",
|
||||
"render.look_add": "Додај изглед боје",
|
||||
"render.look_applied": "Примењено: {name}",
|
||||
"render.look_bleach": "По узору на bleach bypass",
|
||||
"render.look_cool": "Хладно",
|
||||
"render.look_cyanotype": "По узору на цијанотипију",
|
||||
"render.look_faded": "Избледели отисак",
|
||||
"render.look_material": "Материјал",
|
||||
"render.look_mono": "Једнобојно",
|
||||
"render.look_pasted": "Изглед је налепљен",
|
||||
"render.look_sepia": "Сепија",
|
||||
"render.look_strength": "Јачина изгледа",
|
||||
"render.look_teal_orange": "Тиркизно / наранџасто",
|
||||
@@ -2607,9 +2903,11 @@
|
||||
"render.output_advanced": "Напредно",
|
||||
"render.output_backend_ready": "Спремно",
|
||||
"render.output_check": "Провери",
|
||||
"render.output_check_failed": "Провера · грешка",
|
||||
"render.output_check_help": "Покрените проверу да бисте прегледали овај захтев без покретања рендеровања.",
|
||||
"render.output_check_summary": "Провера · Напомене: {count}",
|
||||
"render.output_copy": "Копирај",
|
||||
"render.output_copy_report": "Копирај извештај",
|
||||
"render.output_destination": "Одредиште",
|
||||
"render.output_destination_help": "Одредишну датотеку изаберите при извозу завршене слике.",
|
||||
"render.output_dimensions": "Величина",
|
||||
@@ -2619,6 +2917,7 @@
|
||||
"render.output_fit": "Уклопи",
|
||||
"render.output_format": "Формат",
|
||||
"render.output_format_status": "PNG је тачна завршена слика за приказ. Необавезни GPU EXR задржава сирову линеарну радијансу сцене у формату FLOAT32 пре филтера приказа. Извоз никад не замењује кеш прегледа ни други посао.",
|
||||
"render.output_grading": "Градација",
|
||||
"render.output_image": "Слика",
|
||||
"render.output_largest": "Највише {width} × {height}",
|
||||
"render.output_lock_ratio": "Закључај однос страница",
|
||||
@@ -2628,6 +2927,8 @@
|
||||
"render.output_quality_waiting": "чека се уговор о квалитету",
|
||||
"render.output_ratio_refused": "Повезана димензија премашује ограничење величине ове методе. Претходна величина се задржава; откључајте однос или изаберите мању вредност.",
|
||||
"render.output_ready": "Спремно за рендеровање",
|
||||
"render.output_run_check": "Покрени проверу",
|
||||
"render.output_size_limit": "{method}: до {dimension} px по страни и {pixels} пиксела. Највећа величина која стаје: {width} × {height}.",
|
||||
"render.output_size_ok": "Величина је у реду · {width} × {height} px",
|
||||
"render.output_swap_orientation": "Замени ширину и висину",
|
||||
"render.output_tools_inspector": "Величину и формат измените у инспектору Излаз.",
|
||||
@@ -2644,6 +2945,7 @@
|
||||
"render.page_output": "Излаз",
|
||||
"render.page_scene": "Сцена",
|
||||
"render.paint_label": "Обоји",
|
||||
"render.painting_with": "Бојење изгледом {name}",
|
||||
"render.passive_stage": "Подлога и пасивна сцена",
|
||||
"render.passive_stage_help": "Коначни пасивни панели припадају само рендерованим сликама. Не додају CAD тела ни масу. Постављање је фиксно након примене; пресецање граница производа се одбија. CPU не даје дифузно одбијено осветљење.",
|
||||
"render.perspective": "Перспективна камера",
|
||||
@@ -2665,6 +2967,7 @@
|
||||
"render.pick_help": "Изаберите Тело, Лице или Компонента. Кликните празан простор да очистите избор; Shift или Ctrl додаје или укључује/искључује. Истицања се појављују само у живом приказу производа.",
|
||||
"render.pick_label": "Изабери",
|
||||
"render.pick_up_label": "Преузми",
|
||||
"render.pick_up_prompt": "Кликните објекат да преузмете његов изглед",
|
||||
"render.pick_waiting": "Избор производа још није подржан.",
|
||||
"render.post_contrast": "Контраст",
|
||||
"render.post_gain_b": "Појачање плаве",
|
||||
@@ -2704,13 +3007,17 @@
|
||||
"render.radial_distortion": "Радијално изобличење",
|
||||
"render.radial_fit": "Уклопи производ",
|
||||
"render.radial_save": "Сачувај кадар",
|
||||
"render.recent_looks": "Недавни изгледи",
|
||||
"render.regrade_action": "Поновна градација сировог мастера (без уклањања шума)",
|
||||
"render.regrade_help": "Прави засебан PNG из изабраног завршеног сировог мастера, користећи ове контроле приказа. Не прати зраке, не мења забележену величину, камеру ни светла и не преписује EXR. Уклањање шума се не примењује поново: сирови мастери не чувају његове водиље. Изведена слика се и даље може извести истим контролама посла.",
|
||||
"render.regrade_label": "Поновна градација",
|
||||
"render.reload_settings": "Поново учитај сачувана подешавања",
|
||||
"render.remove_override": "Уклони надјачавање",
|
||||
"render.replace_all": "Замени све",
|
||||
"render.replace_ground": "Потврди замену постојеће сцене",
|
||||
"render.replace_label": "Замени",
|
||||
"render.replace_saved_surface": "Замени постојећу сачувану везу за овај циљ",
|
||||
"render.replace_with": "Замени са",
|
||||
"render.restore_camera": "Врати сачувану камеру",
|
||||
"render.result_actual": "100%",
|
||||
"render.result_actual_help": "Један пиксел слике по пикселу екрана.",
|
||||
@@ -2762,14 +3069,28 @@
|
||||
"render.saved_surface_remove": "Уклони сачувану везу",
|
||||
"render.saved_surfaces": "Сачуване везе површина",
|
||||
"render.saved_surfaces_help": "Фиксиране уграђене мапе прате изабрани примерак у локалним милиметрима. Замењен или недостајући циљ је грешка, никад аутоматска поновна додела.",
|
||||
"render.scene_all_shots": "Сви кадрови ({count})",
|
||||
"render.scene_apply": "Примени прегледани студио",
|
||||
"render.scene_batch_reason": "За Све кадрове потребан је ред чекања за рендеровање сачуваних кадрова, који још није доступан.",
|
||||
"render.scene_check_now": "Провери сада",
|
||||
"render.scene_check_passed": "Провера је прошла · напомене: {notes}",
|
||||
"render.scene_check_stale": "Провера је застарела · проверите поново",
|
||||
"render.scene_check_unchecked": "Још није проверено · напомене: 0",
|
||||
"render.scene_consent": "Потврди замену осветљења, окружења, експозиције и сцене",
|
||||
"render.scene_light_summary": "{environment} · светла: {lights}",
|
||||
"render.scene_look_summary": "изгледи: {looks} · надјачавања: {overrides}",
|
||||
"render.scene_open_check": "Отвори проверу",
|
||||
"render.scene_preserved_fields": "Камера, узорковање, димензије, оптичке везе, CAD геометрија и инжењерски материјали се чувају.",
|
||||
"render.scene_preserves_design": "Саставите осветљење и пасивну сцену за видљиви предмет. Геометрија, инжењерски материјали и камера остају одвојени.",
|
||||
"render.scene_ready": "Спремно за рендеровање",
|
||||
"render.scene_reminder": "Сцена чува дизајн. Геометрија, инжењерска својства и CAD никад се не мењају из Рендеровања.",
|
||||
"render.scene_reminders": "Подсетници",
|
||||
"render.scene_renderer_ready": "Спремно: {renderer}",
|
||||
"render.scene_replaces": "Замењује",
|
||||
"render.scene_review": "Разреши и прегледај",
|
||||
"render.scene_review_help": "Прегледајте комплетну изворну композицију пре примене. Невезане напредне SCENE спецификације се не замењују.",
|
||||
"render.scene_scope_details": "Опсег композиције",
|
||||
"render.scene_stages": "Фазе",
|
||||
"render.search_appearances": "Претражи {count} изгледа",
|
||||
"render.setup_legacy_environment": "Ово старије подешавање користи наслеђену ротацију или интензитет окружења. Те вредности се задржавају; изричито их претворите пре чувања пуног посла слике.",
|
||||
"render.setup_name": "Назив подешавања",
|
||||
@@ -2782,7 +3103,22 @@
|
||||
"render.shell_tab_camera": "КАМЕРА РЕНДЕРА",
|
||||
"render.shell_tab_lighting": "ОСВЕТЉЕЊЕ",
|
||||
"render.shell_tab_scene": "СЦЕНА РЕНДЕРА",
|
||||
"render.shot_aperture": "Отвор бленде",
|
||||
"render.shot_distance": "Растојање",
|
||||
"render.shot_dof": "Дубинска оштрина",
|
||||
"render.shot_duplicate": "Дуплицирај сачувани кадар",
|
||||
"render.shot_edit_output": "Измени у Излазу",
|
||||
"render.shot_exposure_reason": "Експозиција захтева CPU праћење зрака или GPU праћење путања.",
|
||||
"render.shot_exposure_section": "Експозиција",
|
||||
"render.shot_focus_distance": "Растојање фокуса",
|
||||
"render.shot_fov_reason": "Видно поље захтева перспективну пројекцију.",
|
||||
"render.shot_frame_subject": "Уоквири предмет",
|
||||
"render.shot_invalid_camera": "Вредности камере морају бити коначне и у дозвољеном опсегу.",
|
||||
"render.shot_lens": "Објектив",
|
||||
"render.shot_lens_enable_reason": "Омогућите дубинску оштрину да бисте мењали отвор бленде и растојање фокуса.",
|
||||
"render.shot_lens_gpu_reason": "Дубинска оштрина захтева GPU праћење путања.",
|
||||
"render.shot_lens_perspective_reason": "Дубинска оштрина захтева перспективну пројекцију.",
|
||||
"render.shot_look_selection": "Усмери на избор",
|
||||
"render.shot_manager": "Сачувани кадрови",
|
||||
"render.shot_new_name": "Назив новог кадра",
|
||||
"render.shot_remove": "Уклони сачувани кадар",
|
||||
@@ -2790,6 +3126,9 @@
|
||||
"render.shot_remove_title": "Уклонити сачувани кадар?",
|
||||
"render.shot_rename": "Преименуј сачувани кадар",
|
||||
"render.shot_saved_only": "Прво сачувајте тренутни нацрт. Дуплицирање и преименовање чувају тачне сачуване опције и референце на ресурсе.",
|
||||
"render.shot_selection_reason": "Изаберите тело или лице на које ћете усмерити камеру.",
|
||||
"render.shot_size": "Величина",
|
||||
"render.shot_target": "Циљ",
|
||||
"render.shots_camera_changed": "Камера је промењена откако је овај кадар сачуван",
|
||||
"render.shots_name_help": "Унесите јединствен назив за тренутни кадар.",
|
||||
"render.shots_no_result": "Још нема рендера",
|
||||
@@ -3052,6 +3391,7 @@
|
||||
"select an axis": "изаберите осу",
|
||||
"select an axis, a straight or circular edge, or a cylinder, cone or torus face first": "прво изаберите осу, праву или кружну ивицу, или лице цилиндра, конуса или торуса",
|
||||
"select bodies first": "прво изаберите тела",
|
||||
"select components first": "прво изаберите компоненте",
|
||||
"select corner points, or the two lines of one corner": "изаберите тачке углова или две линије једног угла",
|
||||
"select one corner point, or the two lines of one corner": "изаберите једну тачку угла или две линије једног угла",
|
||||
"select sheet edges first": "прво изаберите ивице лима",
|
||||
@@ -3070,6 +3410,7 @@
|
||||
"settings.double_click_components": "Двоструки клик на компоненту је активира, а повезану компоненту мења на месту",
|
||||
"settings.frame_rate_details_note": "Додаје график времена последњих кадрова са бројем исцртаних троуглова, хистограм времена кадрова и шта је GPU нацртао. Кликните број кадрова у секунди у приказу да их прикажете или сакријете.",
|
||||
"settings.frame_rate_note": "Приказује број кадрова у секунди у доњем десном углу приказа.",
|
||||
"settings.insert_lists_open_designs": "Уметни дизајн прво наводи дизајне отворене у другим картицама",
|
||||
"settings.measure_axis_distances": "Прикажи растојања X/Y/Z",
|
||||
"settings.measure_axis_distances_help": "Приказуј компоненте растојања по светским осама уз укупно растојање док је Мерење отворено.",
|
||||
"settings.msaa_applies_on_restart": "Углађивање ивица примењује се при следећем покретању SolidCraft-а",
|
||||
@@ -3094,6 +3435,10 @@
|
||||
"shortcut.unpin": "Откачи",
|
||||
"sketch is missing": "скица недостаје",
|
||||
"sketch.degrees_of_freedom": "Степени слободе: {count}",
|
||||
"sketch.dimension_added_driven": "Скица већ одређује ту коту, па је додата као изведена (референтна) кота",
|
||||
"sketch.dimension_applied": "Кота је примењена",
|
||||
"sketch.dimension_applied_defined": "Кота је примењена; параметар `{name}` је дефинисан",
|
||||
"sketch.dimension_applied_renamed": "Кота је примењена; параметар је назван `{name}`",
|
||||
"sketch.dof_left": "Преостали степени слободе: {count}",
|
||||
"sketch.dof_left_one": "Преостали степени слободе: {count}",
|
||||
"sketch.draw_curves": "Цртај као {linetype}",
|
||||
@@ -3128,6 +3473,8 @@
|
||||
"sketch_text.use_font_file": "Користи датотеку фонта {path}",
|
||||
"solid": "пуно",
|
||||
"status.editing": "Измена: {name}",
|
||||
"status.navigation": "Мапирање миша: {mapping}",
|
||||
"status.navigation_tip": "Како миш помера приказ. Кликните да изаберете друго мапирање",
|
||||
"status.under_constrained": "Недовољно ограничено (степени слободе: {count})",
|
||||
"status.under_constrained_one": "Недовољно ограничено ({count} степен слободе)",
|
||||
"status.units_tip": "Јединице дизајна. Кликните да их промените",
|
||||
@@ -3161,8 +3508,10 @@
|
||||
"timeline.delete_folders_tip": "Задржи њихове операције и угнежђене фасцикле у временској траци",
|
||||
"timeline.delete_folders_with_features_tip": "Избриши фасцикле са свим операцијама у њима и њихове угнежђене фасцикле",
|
||||
"timeline.delete_many": "Избриши изабране операције: {count}",
|
||||
"timeline.edited_rolled_back": "Операција {name} је промењена, али је после ознаке враћања, па није изграђена: померите ознаку иза ње да видите резултат",
|
||||
"timeline.feature_error": "Грешка: {message}",
|
||||
"timeline.feature_hint": "Двапут кликните за измену · превуците за промену редоследа · десни клик за више",
|
||||
"timeline.feature_rolled_back": "Враћено уназад: после ознаке враћања, па није изграђено",
|
||||
"timeline.feature_warning": "Упозорење: {message}",
|
||||
"timeline.group": "Нова фасцикла операција",
|
||||
"timeline.move_many": "Премести ставке временске траке",
|
||||
@@ -3244,6 +3593,10 @@
|
||||
"ui.3d_mouse_offer": "Калибрација 3D миша исправља замењене или обрнуте осе и подешава његову брзину и осећај.",
|
||||
"ui.3d_mouse_offer_never": "Не приказуј више",
|
||||
"ui.3d_mouse_offer_swap": "Пребаци на Hidraw (директни драјвер)",
|
||||
"ui.3d_mouse_orbit": "Орбитирање",
|
||||
"ui.3d_mouse_orbit_classic": "Класично",
|
||||
"ui.3d_mouse_orbit_tip": "Праћено: 3D миш окреће приказ око дела модела који је у средини приказа када окретање почне, означеног бледом куглом. Класично: око центра приказа",
|
||||
"ui.3d_mouse_orbit_traced": "Праћено",
|
||||
"ui.3d_mouse_reading": "Очитање",
|
||||
"ui.3d_mouse_reset_axes": "Ресетуј доделу оса",
|
||||
"ui.3d_mouse_reset_view": "Ресетуј приказ",
|
||||
@@ -3630,6 +3983,7 @@
|
||||
"ui.constant": "Константно",
|
||||
"ui.constraints_conflict": "Ограничења су у сукобу",
|
||||
"ui.construction": "Помоћна",
|
||||
"ui.construction.ribbon_label": "Пом. праве",
|
||||
"ui.context_menu": "Контекстни мени",
|
||||
"ui.continuity_g0": "G0 прегиб",
|
||||
"ui.continuity_g1": "G1 тангентно",
|
||||
@@ -3670,6 +4024,7 @@
|
||||
"ui.design_properties.part_number": "Број дела",
|
||||
"ui.design_properties.project": "Пројекат",
|
||||
"ui.design_properties.revision": "Ревизија",
|
||||
"ui.design_saved": "Сачувано: {path}",
|
||||
"ui.diameter": "Пречник",
|
||||
"ui.dimension": "Кота",
|
||||
"ui.direct_interaction": "Директна интеракција",
|
||||
@@ -3720,6 +4075,14 @@
|
||||
"ui.end_scale": "Крајње скалирање",
|
||||
"ui.entities": "Елементи",
|
||||
"ui.equal": "Једнакост",
|
||||
"ui.equation_end": "Крај",
|
||||
"ui.equation_explicit": "Експлицитни",
|
||||
"ui.equation_form": "Облик",
|
||||
"ui.equation_note": "Променљива је обичан број: sin(t) је узима у радијанима. Резултат без јединице је у јединици дизајна.",
|
||||
"ui.equation_parametric": "Параметарски",
|
||||
"ui.equation_x_of_t": "x(t)",
|
||||
"ui.equation_y_of_t": "y(t)",
|
||||
"ui.equation_y_of_x": "y(x)",
|
||||
"ui.equivalent_radius": "Еквивалентни полупречник",
|
||||
"ui.expand": "Прошири",
|
||||
"ui.exportDxf": "Извези DXF…",
|
||||
@@ -3785,6 +4148,7 @@
|
||||
"ui.heading_design": "ДИЗАЈН",
|
||||
"ui.heading_draft": "НАГИБ",
|
||||
"ui.heading_edit": "ИЗМЕНИ",
|
||||
"ui.heading_equation_curve": "КРИВА ПО ЈЕДНАЧИНИ",
|
||||
"ui.heading_extrude": "ЕКСТРУДИРАЈ",
|
||||
"ui.heading_fillet": "ЗАОБЉЕЊЕ",
|
||||
"ui.heading_finish_editing": "ЗАВРШИ ИЗМЕНУ",
|
||||
@@ -3876,6 +4240,10 @@
|
||||
"ui.import_ellipsis": "Увези…",
|
||||
"ui.infinite": "Бесконачно",
|
||||
"ui.insert": "Уметни",
|
||||
"ui.insert_design.browse": "Прегледај…",
|
||||
"ui.insert_design.open_designs": "Отворени дизајни",
|
||||
"ui.insert_design.saved_file": "Дизајн {name} има несачуване промене, па је уметнута његова сачувана датотека. Сачувајте га, а затим покрените Ажурирај везе да бисте унели промене.",
|
||||
"ui.insert_design.unsaved": "Несачуване промене",
|
||||
"ui.inspect": "Прегледај",
|
||||
"ui.intersect": "Пресек",
|
||||
"ui.isolate": "Изолуј",
|
||||
@@ -4025,6 +4393,18 @@
|
||||
"ui.project": "Пројектуј",
|
||||
"ui.project_face_edges_sketch": "Пројектуј ивице лица у нове скице",
|
||||
"ui.properties": "Својства",
|
||||
"ui.properties.copy_matrix": "Копирај матрицу",
|
||||
"ui.properties.first_moments": "Статички моменти",
|
||||
"ui.properties.inertia": "Момент инерције",
|
||||
"ui.properties.inertia_note": "У односу на центар масе, у светским осама (g·{unit}²)",
|
||||
"ui.properties.inertia_unavailable": "Није доступно: мрежа једног тела није затворена.",
|
||||
"ui.properties.inertia_x": "Ixx, Ixy, Ixz",
|
||||
"ui.properties.inertia_y": "Iyx, Iyy, Iyz",
|
||||
"ui.properties.inertia_z": "Izx, Izy, Izz",
|
||||
"ui.properties.measuring": "Мерење…",
|
||||
"ui.properties.measuring_failed": "Мерење је заустављено пре завршетка.",
|
||||
"ui.properties.principal_axis": "Главна оса {number}",
|
||||
"ui.properties.principal_moments": "Главни моменти",
|
||||
"ui.pull_direction": "Смер вађења из калупа",
|
||||
"ui.quality": "Квалитет",
|
||||
"ui.quantity": "Број",
|
||||
@@ -4087,6 +4467,7 @@
|
||||
"ui.select": "Изабери",
|
||||
"ui.selectOther": "Изабери друго…",
|
||||
"ui.selectTangentChain": "Изабери тангентни ланац",
|
||||
"ui.select_all": "Изабери све",
|
||||
"ui.selection": "Избор",
|
||||
"ui.selection_modifiers": "Модификатори избора",
|
||||
"ui.selection_shift_add_only": "Shift+клик додаје без уклањања",
|
||||
@@ -4123,7 +4504,11 @@
|
||||
"ui.sketch": "Скица",
|
||||
"ui.sketch_dimension": "Кота скице",
|
||||
"ui.sketch_grid": "Мрежа скице",
|
||||
"ui.sketch_intersect_geometry": "Геометрија",
|
||||
"ui.sketch_intersect_projection_link": "Веза пројекције",
|
||||
"ui.sketch_intersect_selection_filter": "Филтер избора",
|
||||
"ui.sketch_modifiers": "Модификатори скице",
|
||||
"ui.sketch_project_geometry": "Геометрија",
|
||||
"ui.sketch_scale": "Скалирање скице",
|
||||
"ui.sketches": "Скице",
|
||||
"ui.slice": "Пресеци",
|
||||
@@ -4170,6 +4555,11 @@
|
||||
"ui.symmetric": "Симетрично",
|
||||
"ui.symmetry": "Симетрија",
|
||||
"ui.system": "Систем",
|
||||
"ui.tab_assemble": "Склоп",
|
||||
"ui.tab_manage": "Управљање",
|
||||
"ui.tab_sheet_metal": "Лим",
|
||||
"ui.tab_view": "Приказ",
|
||||
"ui.tab_weldments": "Заварене конструкције",
|
||||
"ui.tangent": "Тангентно",
|
||||
"ui.taper_angle": "Угао сужења",
|
||||
"ui.tapped": "Са навојем",
|
||||
@@ -4185,6 +4575,7 @@
|
||||
"ui.tip_angle": "Угао врха",
|
||||
"ui.to_object": "До објекта",
|
||||
"ui.tool_direction": "Смер алата",
|
||||
"ui.toolbar_tabs_hidden": "Све картице траке са алатима су скривене. Кликните + или кликните десним дугметом овде да прикажете неку.",
|
||||
"ui.top": "Одозго",
|
||||
"ui.top_diameter": "Горњи пречник",
|
||||
"ui.top_radius": "Горњи полупречник",
|
||||
@@ -4231,6 +4622,7 @@
|
||||
"ui.visual_shaded_with_edges": "Осенчено са ивицама",
|
||||
"ui.visual_style": "Визуелни стил",
|
||||
"ui.visual_wireframe": "Жичани модел",
|
||||
"ui.wheel_zoom_speed": "Брзина зумирања точкићем миша",
|
||||
"ui.width": "Ширина",
|
||||
"ui.window_system": "Систем прозора",
|
||||
"ui.window_system_auto": "Аутоматски",
|
||||
@@ -4284,6 +4676,9 @@
|
||||
"update.prefs_managed": "Ово је SolidCraft {version}, којим управља {manager}. Провера пита GitHub за најновије издање и не шаље ништа друго; ажурирајте SolidCraft у {manager}.",
|
||||
"update.prefs_note": "Ово је SolidCraft {version} ({kind}). Провера пита GitHub за најновије издање и не шаље ништа друго.",
|
||||
"update.prefs_web": "Поново учитајте страницу да добијете најновију веб апликацију. Ако мрежа није доступна или се ажурирање не може преузети на време, отвара се сачувана верзија; преузимање у току наставља се за следеће поновно учитавање.",
|
||||
"update.refresh_checking": "Провера најновијег издања…",
|
||||
"update.refresh_fallback": "Није било могуће проверити да ли постоји новије издање; ажурирање на верзију {version}, пронађену раније.",
|
||||
"update.refresh_selected": "Ажурирање на {version}.",
|
||||
"update.release_page": "Отвори страницу издања",
|
||||
"update.restart": "Поново покрени сада",
|
||||
"update.restart_later": "Касније",
|
||||
|
||||
@@ -204,6 +204,7 @@
|
||||
"Edges": "Kanter",
|
||||
"Edit": "Redigera",
|
||||
"Edit Profile Sketch": "Redigera profilskiss",
|
||||
"Edit shortcuts": "Redigera genvägar",
|
||||
"Enable rule": "Aktivera regel",
|
||||
"Enabled": "Aktiverad",
|
||||
"End Radius": "Slutradie",
|
||||
@@ -466,6 +467,7 @@
|
||||
"Radius": "Radie",
|
||||
"Radius Fit": "Radieanpassning",
|
||||
"Ratio": "Förhållande",
|
||||
"Read-only list: shortcuts can't be changed here.": "Skrivskyddad lista: genvägar kan inte ändras här.",
|
||||
"Reattach selected face": "Återfäst markerad yta",
|
||||
"Recover": "Återställ",
|
||||
"Recover unsaved design?": "Återställ osparad konstruktion?",
|
||||
@@ -649,6 +651,7 @@
|
||||
"Third point": "Tredje punkten",
|
||||
"This child is shared. Deleting it removes it from every copy of its parent.": "Det här underordnade objektet är delat. Om du tar bort det försvinner det från alla kopior av dess överordnade.",
|
||||
"This child is shared. Position changes apply to every copy of its parent.": "Det här underordnade objektet är delat. Lägesändringar gäller för alla kopior av dess överordnade.",
|
||||
"This component is inside a subassembly placed more than once: aligning it moves it in every placement.": "Den här komponenten ligger i en undersammanställning som är placerad mer än en gång: om du justerar den flyttas den i varje placering.",
|
||||
"This face cannot provide a durable attachment. Choose another face or explicitly use a fixed plane.": "Den här ytan kan inte ge ett beständigt fäste. Välj en annan yta eller använd uttryckligen ett fast plan.",
|
||||
"This image is not attached to GitHub yet. Copy or save it, then attach it on GitHub.": "Den här bilden är inte bifogad på GitHub än. Kopiera eller spara den och bifoga den sedan på GitHub.",
|
||||
"Thread depth": "Gängdjup",
|
||||
@@ -790,6 +793,11 @@
|
||||
"cam.roller": "Rulle",
|
||||
"cam.roller_pick": "Rulle (valfritt)",
|
||||
"cam.tip_pick": "Spets (valfritt)",
|
||||
"camera.shot_pitch": "Lutning",
|
||||
"camera.shot_roll": "Rullning",
|
||||
"camera.shot_yaw": "Girning",
|
||||
"canvas.decal_place_hint": "Klicka på en yta för att placera dekalen",
|
||||
"canvas.place_hint": "Klicka på ett plan eller en yta för att placera duken",
|
||||
"choose a profile": "välj en profil",
|
||||
"choose the cam's and the follower's joints": "välj kamens och följarens leder",
|
||||
"choose the joints to couple": "välj lederna som ska kopplas",
|
||||
@@ -797,9 +805,12 @@
|
||||
"click sketch curves": "klicka på skisskurvor",
|
||||
"cmd.appearance_assign": "Utseende",
|
||||
"cmd.appearance_chain": "Utseendekedja",
|
||||
"cmd.appearance_copy": "Kopiera utseende",
|
||||
"cmd.appearance_favorite": "Favoritutseende",
|
||||
"cmd.appearance_library": "Utseendebibliotek",
|
||||
"cmd.appearance_list": "Lista utseenden",
|
||||
"cmd.appearance_paint": "Måla utseende",
|
||||
"cmd.appearance_paste": "Klistra in utseende",
|
||||
"cmd.appearance_pick_up": "Plocka upp utseende",
|
||||
"cmd.appearance_replace": "Ersätt utseende",
|
||||
"cmd.assembly_bom": "Stycklista",
|
||||
@@ -810,6 +821,7 @@
|
||||
"cmd.browser_move": "Flytta webbläsarobjekt",
|
||||
"cmd.browser_order": "Ordna webbläsarobjekt",
|
||||
"cmd.browser_rename_group": "Byt namn på grupp",
|
||||
"cmd.browser_reparent": "Flytta till komponent",
|
||||
"cmd.browser_ungroup": "Dela upp grupp",
|
||||
"cmd.browser_visibility": "Visa/Dölj",
|
||||
"cmd.canvas_calibrate": "Kalibrera duk",
|
||||
@@ -836,7 +848,9 @@
|
||||
"cmd.component_metadata": "Delegenskaper",
|
||||
"cmd.component_metadata_set": "Ändra delegenskaper",
|
||||
"cmd.component_move_bodies": "Flytta kroppar till komponent",
|
||||
"cmd.component_move_features": "Flytta funktioner till komponent",
|
||||
"cmd.component_move_sketches": "Flytta skisser till komponent",
|
||||
"cmd.component_paste_from_design": "Klistra in från en annan konstruktion",
|
||||
"cmd.component_paste_new": "Klistra in ny",
|
||||
"cmd.component_properties": "Komponentens fysiska egenskaper",
|
||||
"cmd.component_relink": "Länka om källa",
|
||||
@@ -973,6 +987,7 @@
|
||||
"cmd.motion_trace": "Rörelsespår",
|
||||
"cmd.motion_trace_edit": "Redigera rörelsespår",
|
||||
"cmd.motion_trace_keep": "Behåll rörelsespår",
|
||||
"cmd.occurrence_align": "Justera förekomst",
|
||||
"cmd.occurrence_copy": "Klistra in (instans)",
|
||||
"cmd.occurrence_drag": "Dra förekomst",
|
||||
"cmd.occurrence_ground": "Fixera",
|
||||
@@ -1030,11 +1045,17 @@
|
||||
"cmd.render_library_surface_unbind": "Ta bort ytbindning",
|
||||
"cmd.render_library_targets": "Hitta mål i renderingsbiblioteket",
|
||||
"cmd.render_lights_add": "Lägg till ljus",
|
||||
"cmd.render_lights_duplicate": "Duplicera renderingsljus",
|
||||
"cmd.render_lights_list": "Lista renderingsljus",
|
||||
"cmd.render_lights_mute": "Stäng av ljus",
|
||||
"cmd.render_lights_remove": "Ta bort renderingsljus",
|
||||
"cmd.render_lights_set": "Ange renderingsljus",
|
||||
"cmd.render_lights_solo": "Solo-ljus",
|
||||
"cmd.render_optics_bind": "Spara optikbindning",
|
||||
"cmd.render_optics_unbind": "Ta bort optikbindning",
|
||||
"cmd.render_output_size": "Ange utdatastorlek för rendering",
|
||||
"cmd.render_preflight": "Kontrollera renderingsbegäran",
|
||||
"cmd.render_preflight_copy": "Kopiera rapport från renderingskontroll",
|
||||
"cmd.render_preset_apply": "Tillämpa inbyggd studio",
|
||||
"cmd.render_preset_resolve": "Granska inbyggd studio",
|
||||
"cmd.render_quality_prepare": "Granska fast samplingsbudget",
|
||||
@@ -1057,6 +1078,13 @@
|
||||
"cmd.render_start": "Rendera bild",
|
||||
"cmd.render_status": "Renderingsförlopp",
|
||||
"cmd.select_clear": "Rensa markering",
|
||||
"cmd.settings_profile_apply": "Tillämpa inställningsprofil",
|
||||
"cmd.settings_profile_delete": "Ta bort inställningsprofil",
|
||||
"cmd.settings_profile_export": "Exportera inställningsprofil",
|
||||
"cmd.settings_profile_import": "Importera inställningsprofil",
|
||||
"cmd.settings_profile_list": "Inställningsprofiler",
|
||||
"cmd.settings_profile_rename": "Byt namn på inställningsprofil",
|
||||
"cmd.settings_profile_save": "Spara inställningsprofil",
|
||||
"cmd.sheet_convert": "Konvertera till plåt",
|
||||
"cmd.sheet_export_bend_table": "Exportera böjtabell",
|
||||
"cmd.sheet_export_dxf": "Exportera plant mönster som DXF",
|
||||
@@ -1070,6 +1098,16 @@
|
||||
"cmd.sheet_refold": "Vik igen",
|
||||
"cmd.sheet_rules": "Lista plåtregler",
|
||||
"cmd.sheet_unfold": "Vik ut",
|
||||
"cmd.sketch.construction_line": "Konstruktionslinje",
|
||||
"cmd.sketch.construction_line.angle": "Konstruktionslinje med vinkel",
|
||||
"cmd.sketch.construction_line.bisector": "Vinkelbisektris",
|
||||
"cmd.sketch.construction_line.horizontal": "Horisontell konstruktionslinje",
|
||||
"cmd.sketch.construction_line.parallel": "Parallell konstruktionslinje",
|
||||
"cmd.sketch.construction_line.perpendicular": "Vinkelrät konstruktionslinje",
|
||||
"cmd.sketch.construction_line.tangent_at": "Tangent i kurvpunkt",
|
||||
"cmd.sketch.construction_line.tangent_external": "Tangent genom yttre punkt",
|
||||
"cmd.sketch.construction_line.tangent_two": "Gemensam tangent",
|
||||
"cmd.sketch.construction_line.vertical": "Vertikal konstruktionslinje",
|
||||
"cmd.sketch_arc3d": "3D-båge",
|
||||
"cmd.sketch_arc_center_point": "Båge med centrumpunkt",
|
||||
"cmd.sketch_arc_tangent": "Tangentbåge",
|
||||
@@ -1102,6 +1140,8 @@
|
||||
"cmd.sketch_drawing_bounds": "Ritningsstorlek",
|
||||
"cmd.sketch_edit": "Redigera skiss",
|
||||
"cmd.sketch_edit_text": "Redigera text",
|
||||
"cmd.sketch_equation_curve": "Ekvationskurva",
|
||||
"cmd.sketch_equation_curve_edit": "Redigera ekvationskurva",
|
||||
"cmd.sketch_export_dxf": "Spara som DXF",
|
||||
"cmd.sketch_finish_auto_constrain": "Slutför med Autovillkor",
|
||||
"cmd.sketch_fit_curves_to_section": "Anpassa kurvor till mesh-sektion",
|
||||
@@ -1198,6 +1238,7 @@
|
||||
"cmd.view.render_browser": "Renderingswebbläsare",
|
||||
"cmd.view.render_dock": "Flytta renderingspanel",
|
||||
"cmd.view.render_focus": "Fokusvy för rendering",
|
||||
"cmd.view.status_items": "Statusobjekt i vyfönstret",
|
||||
"cmd.view_ambient_occlusion": "Omgivningsocklusion",
|
||||
"cmd.view_angle_readout": "Vyvinklar",
|
||||
"cmd.view_apply": "Återställ namngiven vy",
|
||||
@@ -1219,6 +1260,7 @@
|
||||
"cmd.view_normal_to": "Normalt mot markering",
|
||||
"cmd.view_previous_tab": "Föregående flik",
|
||||
"cmd.view_rename": "Byt namn på namngiven vy",
|
||||
"cmd.view_render_frame": "Hjälplinjer för renderingsram",
|
||||
"cmd.view_right": "Vy från höger",
|
||||
"cmd.view_save": "Ny namngiven vy",
|
||||
"cmd.view_shots_strip": "Tagningsremsa",
|
||||
@@ -1229,10 +1271,14 @@
|
||||
"color.copy": "Klicka för att kopiera färgvärden",
|
||||
"color.edit": "Klicka för att redigera färg",
|
||||
"color.gamma": "Visar färgvärden i gammarymd 0–255",
|
||||
"color.hex": "Hex",
|
||||
"color.hex_help": "Ange #rrggbb eller #rrggbbaa; sex siffror behåller opaciteten",
|
||||
"color.hex_hint": "#rrggbb",
|
||||
"color.hue": "Nyans",
|
||||
"color.linear": "Visar färgvärden i linjär rymd 0–1",
|
||||
"color.saturation_value": "Mättnad och värde",
|
||||
"color.selected": "Vald färg",
|
||||
"config.column_filter_empty": "Inga matchande kolumner",
|
||||
"contact.components_count": "{count} komponenter",
|
||||
"contact.enabled_label": "aktiverad",
|
||||
"coupling.gear_1": "Kugghjul 1",
|
||||
@@ -1346,8 +1392,10 @@
|
||||
"help.material.assign": "Anger vad de markerade kropparna är gjorda av, till exempel stål, aluminium eller ABS. Använd det så att massa och vikt stämmer med den verkliga delen.",
|
||||
"help.mit": "MIT-licens",
|
||||
"help.notice": "NOTICE",
|
||||
"help.occurrence.move": "Flyttar en del i sammanställningen endast längs de frihetsgrader som dess leder tillåter. Markera en yta på delen och dra sedan en tillgänglig pil eller båge.",
|
||||
"help.parameters.change": "Öppnar tabellen med namngivna värden och uttryck som styr konstruktionens mått. Använd den för att ändra en storlek på ett ställe och låta varje funktion som använder den följa med.",
|
||||
"help.pointcloud.insert": "Infoga en skanning i formatet PLY, XYZ eller PTS som ett punktmoln vid sidan av modellen. Använd den som referens när du bygger en modell från uppmätta data.",
|
||||
"help.sketch.equation_curve": "Ritar en kurva utifrån formler: x(t) och y(t), eller y = f(x), över ett intervall. Formlerna kan använda parametrar och kurvan följer dem: använd den för en sinusvåg, en spiral eller evolventen på en kugge.",
|
||||
"help.solid.align": "Flyttar de markerade kropparna så att en punkt, yta eller ett plan på dem möter en punkt, yta eller ett plan någon annanstans. Använd det för att placera en del mot en annan utan att mäta förskjutningen.",
|
||||
"help.solid.chamfer": "Fasar de markerade kanterna med en plan fas på det avstånd du anger. Använd det för att bryta skarpa kanter eller underlätta införandet av ett stift eller en skruv.",
|
||||
"help.solid.combine": "Sammanfogar kroppar, skär bort dem från en målkropp eller behåller bara den volym de delar, och kan behålla verktygskropparna. Använd det för att slå ihop delar, skära en form med en annan eller hitta var två kroppar överlappar.",
|
||||
@@ -1474,6 +1522,21 @@
|
||||
"joint.one_component": "Dessa delar är kroppar i samma komponent: {bodies}. En led flyttar en komponent mot en annan, så varje del behöver en egen komponent.",
|
||||
"joint.rigid_group_one_component": "De här {count} kropparna ligger alla i en enda komponent (eller i själva konstruktionen): använd {command} först.",
|
||||
"joint.rigid_group_select_components": "Markera två eller flera komponenter.",
|
||||
"joint_move.blocked_hint": "Kontrollera ledtypen (till exempel Styv), fixering, ledgränser och parameterstyrda värden.",
|
||||
"joint_move.blocked_title": "Det går inte att flytta den här delen",
|
||||
"joint_move.coarse": "Rotationssteg nära axeln (°)",
|
||||
"joint_move.distance": "Avstånd från start",
|
||||
"joint_move.done": "Klar",
|
||||
"joint_move.fine": "Rotationssteg långt från axeln (°)",
|
||||
"joint_move.fixed": "Den här delen har ingen rörlig ledaxel.",
|
||||
"joint_move.help": "Flytta — dra en pil eller ring. Esc avbryter det aktuella draget.",
|
||||
"joint_move.legacy_hint": "Stäng av för att använda den tidigare Flytta-panelen.",
|
||||
"joint_move.precision": "Dra utanför den streckade hjälplinjen för finare rotation.",
|
||||
"joint_move.rotation": "Rotation från start",
|
||||
"joint_move.select": "Markera en yta eller en del i sammanställningen och välj sedan Flytta.",
|
||||
"joint_move.settings": "Flytta i sammanställning",
|
||||
"joint_move.step": "Steg",
|
||||
"joint_move.use_handles": "Använd handtag för ledrörelse vid Flytta i sammanställning",
|
||||
"keymap.command_id": "Kommando-ID",
|
||||
"keymap.empty": "Inga matchande kommandon",
|
||||
"keymap.use_anyway": "Använd {key} här ändå",
|
||||
@@ -1568,6 +1631,8 @@
|
||||
"nav.maya.help": "Alt+vänsterdrag orbiterar, Alt+mittknapp panorerar, Alt+högerknapp zoomar; mittknappsdrag panorerar också",
|
||||
"nav.openscad.help": "Vänsterdrag på tomt utrymme orbiterar, Shift+vänsterdrag markerar med ruta, drag på skissgeometri redigerar; höger- eller mittdrag panorerar, Shift+höger- eller Shift+mittdrag zoomar",
|
||||
"nav.perspective.sketch": "Skissredigering använder ortografisk vy. Slutför skissen för att växla till perspektiv.",
|
||||
"nav.right_drag_orbits.help": "Av: ett högerdrag påverkar inte kameran och högerknappen öppnar bara snabbmenyn. Om du väljer musmappningen SolidWorks stängs det av.",
|
||||
"nav.right_drag_orbits.label": "Högerdrag orbiterar",
|
||||
"nav.solidworks.help": "Mittdrag orbiterar, Ctrl+mittdrag panorerar, Shift+mittdrag zoomar, högerdrag orbiterar",
|
||||
"nav.tinkercad.help": "Högerdrag orbiterar, mitt- eller Shift+högerdrag panorerar",
|
||||
"nav.touchpad.help": "Håll Shift och flytta pekaren för att panorera; håll Alt/Option och flytta den för att orbitera. Ingen musknapp behövs. Vertikal rullning zoomar.",
|
||||
@@ -1589,6 +1654,9 @@
|
||||
"navbar.custom.customise": "Anpassa navigeringsfältet…",
|
||||
"navbar.custom.design": "Konstruktion",
|
||||
"navbar.custom.duplicate": "Den här platsen finns redan i fältet.",
|
||||
"navbar.custom.edge": "Kant",
|
||||
"navbar.custom.edge_bottom": "Nederst",
|
||||
"navbar.custom.edge_top": "Överst",
|
||||
"navbar.custom.fade": "Tona",
|
||||
"navbar.custom.full": "Ta bort en plats för att lägga till en annan.",
|
||||
"navbar.custom.hidden_design": "Dold i Konstruktion",
|
||||
@@ -1695,6 +1763,7 @@
|
||||
"parts.dimension.thickness": "Tjocklek",
|
||||
"parts.dimension.width": "Bredd",
|
||||
"parts.family.bearing": "Spårkullager (ytterform)",
|
||||
"parts.family.button_head_cap_screw": "Kullrig insexskruv",
|
||||
"parts.family.dowel_pin": "Cylindriskt stift (passtift)",
|
||||
"parts.family.hex_bolt": "Sexkantsbult / sexkantsskruv",
|
||||
"parts.family.hex_nut": "Sexkantsmutter",
|
||||
@@ -1751,6 +1820,9 @@
|
||||
"prefs.bottom_centre": "Nere i mitten",
|
||||
"prefs.bottom_right": "Nere till höger",
|
||||
"prefs.browser": "Webbläsare",
|
||||
"prefs.browser_reveal_on_hover": "Visa vid hovring",
|
||||
"prefs.browser_show_note": "Visas håller webbläsaren på skärmen. Visa vid hovring håller den dold tills pekaren kommer över dess plats eller den smala fliken vid dess vänstra kant, och den förblir öppen medan pekaren är inuti den eller en meny från den är öppen.",
|
||||
"prefs.browser_shown": "Visas",
|
||||
"prefs.built_in": "Inbyggd",
|
||||
"prefs.button_left": "Dra med vänsterknapp",
|
||||
"prefs.button_middle": "Dra med mittknapp",
|
||||
@@ -1821,6 +1893,8 @@
|
||||
"prefs.layout_note": "Kompakt dockar paneler mot fönsterkanterna. Genomskinlig webbläsare finns i Flytande. Ändra assistentens sida på sidan Assistent.",
|
||||
"prefs.left": "Vänster",
|
||||
"prefs.left_click": "Vänsterklick",
|
||||
"prefs.line_drag_draws_one": "Tryck och dra ritar en linje",
|
||||
"prefs.line_drag_draws_one_note": "I verktyget Linje ritar ett tryck, ett drag och ett släpp en linje från där du tryckte till där du släppte, och där slutar den. Klick ritar fortfarande en kedja. Av: ett drag placerar en punkt där det släpps, som ett klick gör.",
|
||||
"prefs.linked_designs": "Länkade konstruktioner",
|
||||
"prefs.live_input": "Liveinmatning",
|
||||
"prefs.live_preview": "Liveförhandsvisning",
|
||||
@@ -1853,14 +1927,36 @@
|
||||
"prefs.origin_plane_names": "Namn på origoplan",
|
||||
"prefs.origin_plane_names_note": "Namn som visas i webbläsaren, dialoger och listor. {top} är XY, {front} är XZ och {right} är YZ, med Z uppåt. Kommandon, skript och sparade konstruktioner behåller XY, XZ och YZ.",
|
||||
"prefs.overall_speed": "Total hastighet",
|
||||
"prefs.perspective_fov": "Synfält",
|
||||
"prefs.placement": "Placering",
|
||||
"prefs.prefer_free_sketch_points": "Föredra flyttbara skisspunkter när punkter överlappar",
|
||||
"prefs.preview_choices": "Förhandsvisning av dina val",
|
||||
"prefs.profile_active": "Aktiv profil",
|
||||
"prefs.profile_applied": "Profilen tillämpades.",
|
||||
"prefs.profile_changed": "Inställningarna har ändrats sedan profilen sparades. Spara behåller dem i den.",
|
||||
"prefs.profile_deleted": "Profilen togs bort.",
|
||||
"prefs.profile_export": "Exportera…",
|
||||
"prefs.profile_exported": "Profilen exporterades.",
|
||||
"prefs.profile_imported": "Profilen importerades. Välj den under Aktiv profil för att byta till den.",
|
||||
"prefs.profile_name_hint": "Profilnamn, t.ex. Bärbar dator",
|
||||
"prefs.profile_rename": "Byt namn",
|
||||
"prefs.profile_renamed": "Profilen fick ett nytt namn.",
|
||||
"prefs.profile_save": "Spara",
|
||||
"prefs.profile_saved": "De aktuella inställningarna sparades i profilen.",
|
||||
"prefs.profile_skipped": "Profilen tillämpades; {n} inställning(ar) behöll sitt nuvarande värde (se loggen).",
|
||||
"prefs.profiles": "Inställningsprofiler",
|
||||
"prefs.profiles_note": "Genvägar, verktygsfältet, navigering, radialmenyn och gränssnittsinställningar, samlade under ett namn och växlade på en gång.",
|
||||
"prefs.project_options_dialog": "Dialog med alternativ för Projicera",
|
||||
"prefs.project_options_dialog_note": "På: välj Geometri eller Kroppar och Projektionslänk innan du projicerar. Av: behåll det tidigare arbetsflödet med direktval.",
|
||||
"prefs.quality_default": "standard",
|
||||
"prefs.quality_fastest": "snabbast",
|
||||
"prefs.quality_slowest": "långsammast",
|
||||
"prefs.quality_smoother": "jämnare",
|
||||
"prefs.render_previous_geometry_budget": "Använd tidigare geometribudget för renderingsförhandsvisning",
|
||||
"prefs.render_previous_geometry_budget_help": "Återställ den tidigare fasta geometrigränsen (512 MiB på 64-bitars dator, 128 MiB i övrigt) i stället för den enhetsbaserade budgeten.",
|
||||
"prefs.reports_saved": "{n} sparade",
|
||||
"prefs.ribbon_reveal": "Visa sökresultat i menyfliksområdet",
|
||||
"prefs.ribbon_reveal_note": "När du håller pekaren över ett resultat i Sök kommandon visas var kommandot finns i menyfliksområdet: dess flik, dess knapp eller dess rad i en panels rullgardinsmeny. Ett kommando som startas från sökningen blinkar där, och ett pågående kommando från en rullgardinsmeny markerar sin panel.",
|
||||
"prefs.right_click": "Högerklick",
|
||||
"prefs.saving": "Autosparande och återställning",
|
||||
"prefs.scale_note": "Även Ctrl + / Ctrl − i fönstret. Knapparna är 28 px vid 100 %.",
|
||||
@@ -1874,6 +1970,10 @@
|
||||
"prefs.shift_add_ctrl_toggle": "Shift lägger bara till; Ctrl / Cmd växlar",
|
||||
"prefs.shift_add_note": "På: Shift lägger till, Ctrl / Cmd växlar. Av (standard): båda växlar.",
|
||||
"prefs.shortcuts": "Genvägar",
|
||||
"prefs.single_surface_analysis": "Använd en enda ytanalys",
|
||||
"prefs.single_surface_analysis_help": "När detta är av kan ytskuggning och Kontinuitet vara på samtidigt. Om du slår på detta behålls den senast startade eller ändrade analysen.",
|
||||
"prefs.sketch_align_points": "Rikta in mot andra skisspunkter vid ritning",
|
||||
"prefs.sketch_align_points_note": "Vid ritning riktas en punkt in vågrätt mot en skisspunkt och lodrätt mot en annan samtidigt, med en prickad hjälplinje, och klicket behåller båda inriktningarna. Av: endast mot föregående punkt, en axel i taget.",
|
||||
"prefs.sketch_conflict_colour": "Motstridig geometri i konfliktfärgen",
|
||||
"prefs.sketch_conflict_colour_note": "Medan villkoren i en skiss står i konflikt ritas de kurvor och punkter som ett misslyckat villkor binder i konfliktfärgen också, inte bara dess symbol eller mått. Av: de behåller sina vanliga färger.",
|
||||
"prefs.sketch_exit_view": "När en skiss avslutas",
|
||||
@@ -1881,6 +1981,8 @@
|
||||
"prefs.sketch_exit_view.previous": "Återgå till föregående vy",
|
||||
"prefs.sketch_exit_view.unless_rotated": "Återgå om inte roterad",
|
||||
"prefs.sketch_exit_view_note": "Dit vyn går efter Slutför skiss, Avbryt eller en dubbel Esc-tryckning.",
|
||||
"prefs.sketch_recent_snap": "Snappa automatiskt till senaste centrum och mittpunkter",
|
||||
"prefs.sketch_recent_snap_note": "Vid ritning snappar markören dit där hjälplinjerna från de två senaste cirkelcentrumen eller mittpunkterna på raka kanter korsar varandra. Av: hjälplinjerna visas bara och markören flyttas inte.",
|
||||
"prefs.sketch_selection": "Skiss och markering",
|
||||
"prefs.sketch_selection_heading": "Skiss och markering",
|
||||
"prefs.sketch_selection_note": "Hur skisser snappar och hur klick markerar.",
|
||||
@@ -1918,7 +2020,14 @@
|
||||
"prefs.toast_place": "Meddelanden",
|
||||
"prefs.toggle_item": "Lägg till objektet, eller ta bort det igen",
|
||||
"prefs.toolbar": "Verktygsfält",
|
||||
"prefs.toolbar_tabs": "Verktygsfältsflikar",
|
||||
"prefs.top": "Överst",
|
||||
"prefs.trackpad_zoom_modifier": "Zooma med tvåfingersrullning medan du håller ned",
|
||||
"prefs.trackpad_zoom_modifier.alt": "⌥ / Alt",
|
||||
"prefs.trackpad_zoom_modifier.cmd": "⌘",
|
||||
"prefs.trackpad_zoom_modifier.ctrl": "Ctrl",
|
||||
"prefs.trackpad_zoom_modifier.help": "Håll ned bara den här tangenten för att zooma mot pekaren med vertikal rullning. Av behåller det befintliga rullningsbeteendet.",
|
||||
"prefs.trackpad_zoom_modifier.off": "Av",
|
||||
"prefs.translucent": "Halvgenomskinlig",
|
||||
"prefs.under_browser": "Under webbläsaren",
|
||||
"prefs.under_cursor": "Under markören",
|
||||
@@ -1928,9 +2037,14 @@
|
||||
"prefs.view_confirm_corner": "OK och Avbryt i vyns hörn",
|
||||
"prefs.view_confirm_corner_note": "Medan en dialog eller en skiss är öppen gör en bock och ett kryss uppe till höger i vyn samma sak som dialogens OK och Avbryt, eller slutför och avbryter skissen. Vynavigatorn flyttas ned under dem.",
|
||||
"prefs.viewport": "Vyfönster",
|
||||
"prefs.viewport_background": "Bakgrund",
|
||||
"prefs.viewport_background_colour": "Färg",
|
||||
"prefs.viewport_background_theme": "Temats gradient",
|
||||
"prefs.wheel": "Hjul",
|
||||
"prefs.wheel_trackpad": "Hjul och styrplatta",
|
||||
"prefs.workspace": "Arbetsyta",
|
||||
"prefs.zoom_stop_at_model": "Stoppa zoomningen vid modellen",
|
||||
"prefs.zoom_stop_at_model_tip": "3D-musen och enhetsappen zoomar mot ytan mitt i vyn; dragzoom håller kvar punkten där draget började. Av: zoomningen kan gå igenom modellen. Hjul och nyp använder Zooma mot markören separat",
|
||||
"prefs.zoom_toward_cursor": "Zooma mot markören",
|
||||
"properties.title": "Egenskaper: {name}",
|
||||
"recovery.days_ago": "för {count} dagar sedan",
|
||||
@@ -2019,6 +2133,7 @@
|
||||
"render.appearance_editor.weight": "Vikt",
|
||||
"render.appearance_physics_separate": "Det visuella utseendet tilldelar inte densitet, termiska data eller andra tekniska egenskaper.",
|
||||
"render.appearances": "Utseenden",
|
||||
"render.assign_help": "Klicka för att tillämpa på markeringen; dra för att förhandsgranska och släpp, eller klicka utan något markerat för att måla.",
|
||||
"render.availability_native": "Inbyggd sammansättning; granska innan du tillämpar",
|
||||
"render.availability_projection": "Stödd projektion; se omfattning och utelämnanden",
|
||||
"render.availability_reference": "Referensdata; inte en automatisk tilldelning",
|
||||
@@ -2057,6 +2172,7 @@
|
||||
"render.bloom_threshold": "Linjärt tröskelvärde för högdagrar",
|
||||
"render.browse_capabilities": "Granska hela funktionskatalogen",
|
||||
"render.browse_environments": "Bläddra bland originella HDR-miljöer",
|
||||
"render.browse_looks": "Bläddra…",
|
||||
"render.browse_native_scenes": "Bläddra bland inbyggda studior",
|
||||
"render.browse_physical": "Granska fysiska referenser",
|
||||
"render.browse_quality": "Granska kvalitetsspecifikationer",
|
||||
@@ -2080,6 +2196,82 @@
|
||||
"render.check_opaque": "Transparens: endast ogenomskinliga ytor; bakgrundsalfa stöds.",
|
||||
"render.check_sorted_alpha": "Transparens: sorterad alfaapproximation.",
|
||||
"render.check_transmission": "Transparens: fysisk transmission.",
|
||||
"render.children.absolute_floor": "Absolut golv",
|
||||
"render.children.adaptive": "Adaptiv",
|
||||
"render.children.add_look_reason": "Lägg till en stil för att redigera om den är aktiverad och dess styrka.",
|
||||
"render.children.all_shots": "Alla tagningar",
|
||||
"render.children.bloom": "Bloom",
|
||||
"render.children.check": "Kontrollera",
|
||||
"render.children.check_now": "Kontrollera nu",
|
||||
"render.children.chromatic": "Kromatisk",
|
||||
"render.children.compact": "Kompakt",
|
||||
"render.children.contrast": "Kontrast",
|
||||
"render.children.copy_image": "Kopiera",
|
||||
"render.children.copy_job": "Kopiera jobbet som JSON",
|
||||
"render.children.copy_request": "Kopiera begäran som JSON",
|
||||
"render.children.coverage_error": "Täckningsfel",
|
||||
"render.children.cpu": "CPU-strålspårning",
|
||||
"render.children.denoise": "Minska brus i den färdiga bilden",
|
||||
"render.children.depth": "Banedjup",
|
||||
"render.children.distortion": "Distorsion",
|
||||
"render.children.edge_samples": "Kantprov",
|
||||
"render.children.effects_banner": "De här effekterna kräver GPU-vägspårning. Att öppna detta ändrar aldrig metoden.",
|
||||
"render.children.enable_adaptive": "Aktivera oberoende pilotprov för att redigera de adaptiva gränserna.",
|
||||
"render.children.enable_bloom": "Aktivera bloom för att redigera dess styrka, tröskelvärde och radie.",
|
||||
"render.children.finishing": "Efterbehandling",
|
||||
"render.children.flare": "Reflex",
|
||||
"render.children.fresnel": "Fresnel-strata",
|
||||
"render.children.ghosts": "Spökringar",
|
||||
"render.children.glass": "Glastransport",
|
||||
"render.children.go_to": "Gå till {editor}",
|
||||
"render.children.grain": "Korn",
|
||||
"render.children.halo": "Halo",
|
||||
"render.children.hdr": "HDR",
|
||||
"render.children.keep_master": "Behåll rå linjär master",
|
||||
"render.children.last_result": "Senaste: {number} · {width} × {height} · {phase}",
|
||||
"render.children.lens_effects": "Linseffekter",
|
||||
"render.children.look_summary": "{tone} · {count} stilar",
|
||||
"render.children.looks": "Kreativa stilar",
|
||||
"render.children.memory": "Minne",
|
||||
"render.children.method": "Metod",
|
||||
"render.children.minimum": "Minimum",
|
||||
"render.children.needs_cpu": "Kräver CPU-strålspårning. Att öppna detta ändrar aldrig metoden.",
|
||||
"render.children.nested": "Certifierade nästlade dielektrika",
|
||||
"render.children.not_checked": "Inte kontrollerad",
|
||||
"render.children.path": "Vägspårning",
|
||||
"render.children.pilots": "Pilotprov",
|
||||
"render.children.preview": "Förhandsvisningsdata",
|
||||
"render.children.progressive_reason": "Välj Progressiv för att redigera dess antal prov och startvärde.",
|
||||
"render.children.radius": "Radie",
|
||||
"render.children.reflect_depth": "Reflektionsdjup",
|
||||
"render.children.reflect_samples": "Reflektionsprov",
|
||||
"render.children.regrade": "Ny färgkorrigering",
|
||||
"render.children.relative_error": "Relativt fel",
|
||||
"render.children.render": "Rendera",
|
||||
"render.children.render_shot": "Rendera tagning",
|
||||
"render.children.renderer": "Renderare",
|
||||
"render.children.renderers": "Renderare",
|
||||
"render.children.request": "Den här begäran",
|
||||
"render.children.reset_finishing": "Återställ efterbehandling",
|
||||
"render.children.review_quality": "Granska en kvalitetsspecifikation…",
|
||||
"render.children.rgb_gain": "RGB-förstärkning",
|
||||
"render.children.samples": "Prov",
|
||||
"render.children.sampling": "Sampling",
|
||||
"render.children.saturation": "Mättnad",
|
||||
"render.children.scene_summary": "{bodies} kroppar · {triangles} trianglar",
|
||||
"render.children.seed": "Startvärde",
|
||||
"render.children.sharpening": "Skärpning",
|
||||
"render.children.single_image": "Enstaka bild",
|
||||
"render.children.soft_focus": "Mjukt fokus",
|
||||
"render.children.streak": "Strimma",
|
||||
"render.children.strength": "Styrka",
|
||||
"render.children.studio": "Studio",
|
||||
"render.children.threshold": "Tröskelvärde",
|
||||
"render.children.tone": "Ton",
|
||||
"render.children.under_hood": "Under huven",
|
||||
"render.children.vignette": "Vinjettering",
|
||||
"render.children.workstation": "Arbetsstation",
|
||||
"render.choose_look": "Välj först en stil i Utseenden",
|
||||
"render.chromatic_offset": "Kromatisk kantförskjutning",
|
||||
"render.clear_stage": "Ta bort sparad dekor",
|
||||
"render.copy_request": "Kopiera JSON",
|
||||
@@ -2331,8 +2523,33 @@
|
||||
"render.flare_strength": "Styrka på högdagerreflexer",
|
||||
"render.flare_threshold": "Scenlinjär tröskel för reflexer",
|
||||
"render.fold_browser": "Fäll ihop webbläsaren",
|
||||
"render.frame_aspect": "Bildformat",
|
||||
"render.frame_centre_mark": "Mittmarkering",
|
||||
"render.frame_copy_limit": "Inget ledigt namn för en duplicerad tagning",
|
||||
"render.frame_copy_name": "{name} kopia {number}",
|
||||
"render.frame_custom": "Egen",
|
||||
"render.frame_distance_unit": " × storlek",
|
||||
"render.frame_duplicate": "Duplicera",
|
||||
"render.frame_exposure": "Exponering",
|
||||
"render.frame_fov": "Synfält",
|
||||
"render.frame_guides": "Hjälplinjer",
|
||||
"render.frame_invalid_aspect": "Ogiltig förinställning för bildformat",
|
||||
"render.frame_lens": "Synfält {fov}° · ≈ {mm} mm",
|
||||
"render.frame_name": "Namn",
|
||||
"render.frame_output_size": "Utdatastorlek",
|
||||
"render.frame_photo": "3:2 · Foto",
|
||||
"render.frame_portrait": "4:5 · Porträtt",
|
||||
"render.frame_presets": "Bildruteförinställningar",
|
||||
"render.frame_presets_pending": "Kommer med tagningsredigeraren",
|
||||
"render.frame_projection": "Projektion",
|
||||
"render.frame_render_shot": "Rendera den här tagningen",
|
||||
"render.frame_rule_thirds": "Tredjedelsregeln",
|
||||
"render.frame_safe_area": "Säkert område",
|
||||
"render.frame_shot_title": "Tagning · {name}",
|
||||
"render.frame_square": "1:1 · Kvadrat",
|
||||
"render.frame_tall": "9:16 · Stående",
|
||||
"render.frame_thirds": "Tredjedelar",
|
||||
"render.frame_wide": "16:9 · Bredbild",
|
||||
"render.gpu_depth": "Maximalt banedjup",
|
||||
"render.gpu_options_help": "Prov, djup, slumpfrö och exponering sparas med den här uppsättningen. Endast den aktiva bildmetoden sparas.",
|
||||
"render.gpu_path_failed": "GPU-path tracern är inte tillgänglig",
|
||||
@@ -2360,6 +2577,7 @@
|
||||
"render.heading_results": "RESULTAT",
|
||||
"render.heading_shots": "TAGNINGAR",
|
||||
"render.hide_shots_label": "Dölj tagningsremsan",
|
||||
"render.hover_look": "{object} · {look} · klicka för att markera",
|
||||
"render.image_advanced": "Avancerade GPU-reglage",
|
||||
"render.image_cancelled": "Renderingen avbröts",
|
||||
"render.image_cancelling": "Avbryter",
|
||||
@@ -2506,17 +2724,95 @@
|
||||
"render.library_uniform_ack": "Använd den enhetliga approximationen utan rumsliga eller avancerade effekter",
|
||||
"render.library_usable": "Körbara projektioner",
|
||||
"render.library_users": "Används av",
|
||||
"render.light_aim": "Rikta mot",
|
||||
"render.light_anchor_pending": "Att ändra ljusens koordinatsystem stöds inte ännu.",
|
||||
"render.light_azimuth": "Azimut",
|
||||
"render.light_backend_limit": "Välj CPU-strålspårning eller en uttrycklig GPU-studio för att redigera ljus. Äldre GPU-studioljus förblir skrivskyddade.",
|
||||
"render.light_behaviour": "BETEENDE",
|
||||
"render.light_default_fill": "Fyllnadsljus",
|
||||
"render.light_default_key": "Huvudljus",
|
||||
"render.light_default_number": "Ljus {number}",
|
||||
"render.light_default_rim": "Kantljus",
|
||||
"render.light_delete": "Ta bort",
|
||||
"render.light_distance": "Avstånd",
|
||||
"render.light_duplicate": "Duplicera",
|
||||
"render.light_elevation": "Höjdvinkel",
|
||||
"render.light_gpu_punctual": "Punktljus och spotljus är tillgängliga med CPU-strålspårning.",
|
||||
"render.light_hard_shadow": "Det här ljuset har hårda skuggor; strålarens mjukhet är inte tillgänglig.",
|
||||
"render.light_intensity": "Intensitet",
|
||||
"render.light_missing": "Det här ljuset finns inte längre. Markera ett ljus i webbläsaren.",
|
||||
"render.light_place_highlight": "Placera efter högdager",
|
||||
"render.light_place_pending": "Placering efter högdager kräver val av ljus i vyfönstret och stöds inte ännu.",
|
||||
"render.light_position": "POSITION",
|
||||
"render.light_preview_help": "Livevyn saknar skuggor; ytljus använder en approximation med ett prov i mitten. Rendering använder den fullständiga ljusmodellen.",
|
||||
"render.light_product_centre": "Produktens centrum",
|
||||
"render.light_size": "Storlek",
|
||||
"render.light_softness": "Mjukhet",
|
||||
"render.light_temperature": "Färgtemperatur",
|
||||
"render.light_temperature_help": "Ungefärlig svartkroppston; sparas som linjär RGB.",
|
||||
"render.light_type": "Typ",
|
||||
"render.light_type_area": "Ytljus",
|
||||
"render.light_type_point": "Punktljus",
|
||||
"render.light_type_spot": "Spotljus",
|
||||
"render.light_type_sun": "Sol",
|
||||
"render.light_view_only": "Solo och avstängning påverkar den här vyn och dess renderingar; de sparas aldrig i konstruktionen.",
|
||||
"render.light_world_origin": "Världens origo",
|
||||
"render.lighting_aim_point": "Siktpunkt",
|
||||
"render.lighting_apply": "Tillämpa förinställning",
|
||||
"render.lighting_area_samples": "Prov för ytljus",
|
||||
"render.lighting_budget": "Budget",
|
||||
"render.lighting_budget_help": "Antalen är skrivskyddade. Lägg till, duplicera eller ta bort ljus för att ändra dem; metoden bestämmer gränserna.",
|
||||
"render.lighting_colour": "Färg",
|
||||
"render.lighting_consent": "Ersätt de riktade ljusen med den här förinställningen",
|
||||
"render.lighting_custom": "Egna ljus",
|
||||
"render.lighting_custom_help": "Om du väljer Egna ljus görs förinställningen om till redigerbara ljus, med en rad för vart och ett i trädet.",
|
||||
"render.lighting_direction": "Riktning X Y Z",
|
||||
"render.lighting_direction_help": "Eller skriv en riktning mot ljuset (X Y Z).",
|
||||
"render.lighting_distance_unit": " × storlek",
|
||||
"render.lighting_edge_u": "Sidvektor U",
|
||||
"render.lighting_edge_v": "Sidvektor V",
|
||||
"render.lighting_falloff": "Dämpning",
|
||||
"render.lighting_falloff_help": "Intensiteten anges vid referensavståndet.",
|
||||
"render.lighting_height": "Höjd V",
|
||||
"render.lighting_minimum": "Minimum",
|
||||
"render.lighting_mute": "Stäng av det här ljuset",
|
||||
"render.lighting_point": "Punkt",
|
||||
"render.lighting_preset": "Studioförinställning",
|
||||
"render.lighting_preset_cpu": "Riktade studioförinställningar kräver CPU-strålspårning. GPU-belysning använder uttryckliga sol- och ytljus.",
|
||||
"render.lighting_preset_row": "Förinställning",
|
||||
"render.lighting_radiance": "Radians",
|
||||
"render.lighting_reference": "Referens",
|
||||
"render.lighting_review_help": "Ersätter listan med riktade ljus. Behåller punkt- och ytljus, miljö, skuggor, kamera och alla andra tagningsinställningar.",
|
||||
"render.lighting_review_title": "Granska belysningsförinställning",
|
||||
"render.lighting_samples_cpu": "Prov för ytljus gäller CPU-strålspårning.",
|
||||
"render.lighting_samples_need_area": "Lägg till ett CPU-ytljus för att ställa in prov för ytljus.",
|
||||
"render.lighting_samples_reason": "Prov för ytljus måste vara 1, 4, 16 eller 64.",
|
||||
"render.lighting_shadow_cpu": "Skuggbrytaren kräver CPU-strålspårning. GPU-vägspårning kastar alltid skuggor.",
|
||||
"render.lighting_shadows": "Kasta skuggor",
|
||||
"render.lighting_shadows_section": "Skuggor och sampling",
|
||||
"render.lighting_shape": "Form",
|
||||
"render.lighting_solo": "Solo för det här ljuset",
|
||||
"render.lighting_source": "Källa",
|
||||
"render.lighting_source_section": "Ljuskälla",
|
||||
"render.lighting_spot_preserved": "Det här punktljuset behåller sin sparade spotljuskon tills dess typ ändras.",
|
||||
"render.lighting_sun_distance": "Solens riktning är oberoende av avstånd och siktpunkt.",
|
||||
"render.lighting_unsupported": "stöds inte",
|
||||
"render.lighting_used": "{used} av {limit}",
|
||||
"render.lighting_width": "Bredd U",
|
||||
"render.lighting_world_position": "Värld X Y Z",
|
||||
"render.lights_fixed_to": "Ljus fästa vid",
|
||||
"render.linear_help": "Behåller en 32-bitars flyttals-RGBA-master före brusreducering, exponering, tonmappning, filter och bakgrund. Linjär sRGB/D65; täckningsförmultiplicerad. Extra minne medges uttryckligen. Ingen komprimering eller extra pass.",
|
||||
"render.linear_retain": "Behåll rå linjär EXR",
|
||||
"render.linear_unavailable": "Den valda färdiga bildrutan har ingen bevarad EXR. Aktivera bevarande före rendering; en äldre PNG kan inte återskapa rå strålningstäthet.",
|
||||
"render.look_add": "Lägg till färgstil",
|
||||
"render.look_applied": "{name} har tillämpats",
|
||||
"render.look_bleach": "Bleach bypass-inspirerad",
|
||||
"render.look_cool": "Kall",
|
||||
"render.look_cyanotype": "Cyanotypi-inspirerad",
|
||||
"render.look_faded": "Urblekt kopia",
|
||||
"render.look_material": "Material",
|
||||
"render.look_mono": "Monokrom",
|
||||
"render.look_pasted": "Stilen klistrades in",
|
||||
"render.look_sepia": "Sepia",
|
||||
"render.look_strength": "Stilstyrka",
|
||||
"render.look_teal_orange": "Blågrön / orange",
|
||||
@@ -2592,9 +2888,11 @@
|
||||
"render.output_advanced": "Avancerat",
|
||||
"render.output_backend_ready": "Redo",
|
||||
"render.output_check": "Kontrollera",
|
||||
"render.output_check_failed": "Kontrollera · fel",
|
||||
"render.output_check_help": "Kör Kontrollera för att granska begäran utan att starta en rendering.",
|
||||
"render.output_check_summary": "Kontrollera · Anmärkningar: {count}",
|
||||
"render.output_copy": "Kopiera",
|
||||
"render.output_copy_report": "Kopiera rapport",
|
||||
"render.output_destination": "Mål",
|
||||
"render.output_destination_help": "Välj målfil när den färdiga bilden exporteras.",
|
||||
"render.output_dimensions": "Storlek",
|
||||
@@ -2604,6 +2902,7 @@
|
||||
"render.output_fit": "Anpassa",
|
||||
"render.output_format": "Format",
|
||||
"render.output_format_status": "PNG är den exakta färdiga visningsbilden. Valfri GPU-EXR bevarar rå scenlinjär FLOAT32-strålningstäthet före visningsfilter. Export ersätter aldrig förhandsvisningscachen eller ett annat jobb.",
|
||||
"render.output_grading": "Färgkorrigering",
|
||||
"render.output_image": "Bild",
|
||||
"render.output_largest": "max {width} × {height}",
|
||||
"render.output_lock_ratio": "Lås bildförhållandet",
|
||||
@@ -2613,6 +2912,8 @@
|
||||
"render.output_quality_waiting": "väntar på kvalitetskontraktet",
|
||||
"render.output_ratio_refused": "Det länkade måttet överskrider den här metodens storleksgräns. Den tidigare storleken behålls; lås upp förhållandet eller välj ett mindre värde.",
|
||||
"render.output_ready": "Redo att rendera",
|
||||
"render.output_run_check": "Kör kontroll",
|
||||
"render.output_size_limit": "{method}: upp till {dimension} px per sida och {pixels} pixlar. Största storlek som får plats: {width} × {height}.",
|
||||
"render.output_size_ok": "Storleken är OK · {width} × {height} px",
|
||||
"render.output_swap_orientation": "Byt bredd och höjd",
|
||||
"render.output_tools_inspector": "Redigera storlek och format i inspektören Utdata.",
|
||||
@@ -2629,6 +2930,7 @@
|
||||
"render.page_output": "Utdata",
|
||||
"render.page_scene": "Scen",
|
||||
"render.paint_label": "Måla",
|
||||
"render.painting_with": "Målar med {name}",
|
||||
"render.passive_stage": "Golv och passivt dekor",
|
||||
"render.passive_stage_help": "Ändliga passiva paneler hör endast till renderade bilder. De lägger inte till några CAD-kroppar eller någon massa. Placeringen är fast efter tillämpning; placeringar som skär produktens begränsningsvolym avvisas. CPU-vägen ger ingen diffus indirekt belysning.",
|
||||
"render.perspective": "Perspektivkamera",
|
||||
@@ -2650,6 +2952,7 @@
|
||||
"render.pick_help": "Välj Kropp, Yta eller Komponent. Klicka i tomt utrymme för att rensa; Shift eller Ctrl lägger till eller växlar. Framhävningar visas endast i den direkta produktvyn.",
|
||||
"render.pick_label": "Välj",
|
||||
"render.pick_up_label": "Plocka upp",
|
||||
"render.pick_up_prompt": "Klicka på ett objekt för att plocka upp dess stil",
|
||||
"render.pick_waiting": "Val i produktvyn stöds inte ännu.",
|
||||
"render.post_contrast": "Kontrast",
|
||||
"render.post_gain_b": "Blåförstärkning",
|
||||
@@ -2689,13 +2992,17 @@
|
||||
"render.radial_distortion": "Radiell distorsion",
|
||||
"render.radial_fit": "Anpassa produkt",
|
||||
"render.radial_save": "Spara tagning",
|
||||
"render.recent_looks": "Senaste stilar",
|
||||
"render.regrade_action": "Färgkorrigera råmastern på nytt (ingen brusreducering)",
|
||||
"render.regrade_help": "Skapar en separat PNG från den valda färdiga råmastern med de här presentationskontrollerna. Spårar inga strålar, ändrar inte den fångade storleken, kameran eller ljusen och skriver inte över EXR-filen. Brusreducering tillämpas inte på nytt: råmastrar behåller inte dess guidedata. Derivatet kan fortfarande exporteras via samma jobbkontroller.",
|
||||
"render.regrade_label": "Ny färgkorrigering",
|
||||
"render.reload_settings": "Läs in sparade inställningar igen",
|
||||
"render.remove_override": "Ta bort åsidosättning",
|
||||
"render.replace_all": "Ersätt alla",
|
||||
"render.replace_ground": "Bekräfta ersättning av befintligt dekor",
|
||||
"render.replace_label": "Ersätt",
|
||||
"render.replace_saved_surface": "Ersätt en befintlig sparad bindning för det här målet",
|
||||
"render.replace_with": "Ersätt med",
|
||||
"render.restore_camera": "Återställ sparad kamera",
|
||||
"render.result_actual": "100%",
|
||||
"render.result_actual_help": "En bildpixel per skärmpixel.",
|
||||
@@ -2747,14 +3054,28 @@
|
||||
"render.saved_surface_remove": "Ta bort sparad bindning",
|
||||
"render.saved_surfaces": "Sparade ytbindningar",
|
||||
"render.saved_surfaces_help": "Fästa inbyggda kartor följer den valda förekomsten i lokala millimeter. Ett ersatt eller saknat mål är ett fel, aldrig en automatisk omtilldelning.",
|
||||
"render.scene_all_shots": "Alla tagningar ({count})",
|
||||
"render.scene_apply": "Tillämpa granskad studio",
|
||||
"render.scene_batch_reason": "Alla tagningar kräver renderingskön för sparade tagningar, som inte är tillgänglig ännu.",
|
||||
"render.scene_check_now": "Kontrollera nu",
|
||||
"render.scene_check_passed": "Kontrollen godkänd · {notes} anmärkningar",
|
||||
"render.scene_check_stale": "Kontrollen är inaktuell · kontrollera igen",
|
||||
"render.scene_check_unchecked": "Inte kontrollerad än · 0 anmärkningar",
|
||||
"render.scene_consent": "Bekräfta ersättning av belysning, miljö, exponering och dekor",
|
||||
"render.scene_light_summary": "{environment} · {lights} ljus",
|
||||
"render.scene_look_summary": "{looks} stilar · {overrides} åsidosättningar",
|
||||
"render.scene_open_check": "Öppna Kontrollera",
|
||||
"render.scene_preserved_fields": "Kamera, sampling, bildmått, optiska bindningar, CAD-geometri och tekniska material bevaras.",
|
||||
"render.scene_preserves_design": "Komponera belysning och ett passivt dekor för det synliga motivet. Geometri, tekniska material och kameran förblir separata.",
|
||||
"render.scene_ready": "Redo att rendera",
|
||||
"render.scene_reminder": "Scen bevarar konstruktionen. Geometri, tekniska egenskaper och CAD ändras aldrig från Rendera.",
|
||||
"render.scene_reminders": "Påminnelser",
|
||||
"render.scene_renderer_ready": "{renderer} redo",
|
||||
"render.scene_replaces": "Ersätter",
|
||||
"render.scene_review": "Lös och granska",
|
||||
"render.scene_review_help": "Granska hela den inbyggda kompositionen innan du tillämpar. Obundna avancerade SCENE-specifikationer ersätts inte.",
|
||||
"render.scene_scope_details": "Kompositionens omfattning",
|
||||
"render.scene_stages": "Steg",
|
||||
"render.search_appearances": "Sök bland {count} utseenden",
|
||||
"render.setup_legacy_environment": "Den här äldre uppsättningen använder miljörotation eller intensitet i äldre format. Värdena behålls; konvertera dem uttryckligen innan du sparar ett fullständigt bildjobb.",
|
||||
"render.setup_name": "Inställningsnamn",
|
||||
@@ -2767,7 +3088,22 @@
|
||||
"render.shell_tab_camera": "RENDERINGSKAMERA",
|
||||
"render.shell_tab_lighting": "BELYSNING",
|
||||
"render.shell_tab_scene": "RENDERINGSSCEN",
|
||||
"render.shot_aperture": "Bländare",
|
||||
"render.shot_distance": "Avstånd",
|
||||
"render.shot_dof": "Skärpedjup",
|
||||
"render.shot_duplicate": "Duplicera sparad tagning",
|
||||
"render.shot_edit_output": "Redigera i Utdata",
|
||||
"render.shot_exposure_reason": "Exponering kräver CPU-strålspårning eller GPU-vägspårning.",
|
||||
"render.shot_exposure_section": "Exponering",
|
||||
"render.shot_focus_distance": "Fokusavstånd",
|
||||
"render.shot_fov_reason": "Synfält kräver perspektivprojektion.",
|
||||
"render.shot_frame_subject": "Rama in motivet",
|
||||
"render.shot_invalid_camera": "Kameravärdena måste vara ändliga och inom intervallet.",
|
||||
"render.shot_lens": "Objektiv",
|
||||
"render.shot_lens_enable_reason": "Aktivera skärpedjup för att redigera bländare och fokusavstånd.",
|
||||
"render.shot_lens_gpu_reason": "Skärpedjup kräver GPU-vägspårning.",
|
||||
"render.shot_lens_perspective_reason": "Skärpedjup kräver perspektivprojektion.",
|
||||
"render.shot_look_selection": "Titta på markeringen",
|
||||
"render.shot_manager": "Sparade tagningar",
|
||||
"render.shot_new_name": "Namn på ny tagning",
|
||||
"render.shot_remove": "Ta bort sparad tagning",
|
||||
@@ -2775,6 +3111,9 @@
|
||||
"render.shot_remove_title": "Ta bort sparad tagning?",
|
||||
"render.shot_rename": "Byt namn på sparad tagning",
|
||||
"render.shot_saved_only": "Spara det aktuella utkastet först. Duplicera och Byt namn bevarar exakt de sparade alternativen och resursreferenserna.",
|
||||
"render.shot_selection_reason": "Markera en kropp eller yta att rikta mot.",
|
||||
"render.shot_size": "Storlek",
|
||||
"render.shot_target": "Mål",
|
||||
"render.shots_camera_changed": "Kameran har ändrats sedan tagningen sparades",
|
||||
"render.shots_name_help": "Ange ett unikt namn för den aktuella tagningen.",
|
||||
"render.shots_no_result": "Ingen rendering än",
|
||||
@@ -2997,6 +3336,13 @@
|
||||
"render.wait_pick_up": "stöds inte ännu: val av produkt och provtagning av utseende",
|
||||
"render.wait_replace": "stöds inte ännu: ersättning av alla användningar av ett utseende",
|
||||
"render.wait_solo": "stöds inte ännu: ljussynlighet och solokontroller",
|
||||
"render.wear_applies_to": "Gäller för",
|
||||
"render.wear_layer_count": "{count} skikt",
|
||||
"render.wear_layer_one": "{count} skikt",
|
||||
"render.wear_layers": "Skikt",
|
||||
"render.wear_no_layers": "Inga skikt",
|
||||
"render.wear_selected_layer": "Valt skikt",
|
||||
"render.wear_title": "Slitage",
|
||||
"sample.bracket.about": "Basfläns med kantflänsar och fals enligt 2 mm-regel",
|
||||
"sample.bracket.name": "Plåtfäste",
|
||||
"sample.enclosure.about": "Urholkad låda med läpp, skruvnav, stöd och snäppfäste",
|
||||
@@ -3030,6 +3376,7 @@
|
||||
"select an axis": "markera en axel",
|
||||
"select an axis, a straight or circular edge, or a cylinder, cone or torus face first": "markera först en axel, en rak eller cirkulär kant, eller en cylinder-, kon- eller torusyta",
|
||||
"select bodies first": "markera kroppar först",
|
||||
"select components first": "markera komponenter först",
|
||||
"select corner points, or the two lines of one corner": "markera hörnpunkter, eller de två linjerna i ett hörn",
|
||||
"select one corner point, or the two lines of one corner": "markera en hörnpunkt, eller de två linjerna i ett hörn",
|
||||
"select sheet edges first": "markera plåtkanter först",
|
||||
@@ -3048,6 +3395,7 @@
|
||||
"settings.double_click_components": "Dubbelklicka på en komponent för att aktivera den eller för att redigera en länkad komponent på plats",
|
||||
"settings.frame_rate_details_note": "Lägger till en graf över de senaste bildrutornas tider med trianglarna ritade ovanpå, ett histogram över bildrutetider och vad GPU:n ritade. Klicka på bildfrekvensen i vyn för att visa eller dölja dem.",
|
||||
"settings.frame_rate_note": "Visar bildrutor per sekund i vyns nedre högra hörn.",
|
||||
"settings.insert_lists_open_designs": "Infoga konstruktion listar först konstruktionerna som är öppna i andra flikar",
|
||||
"settings.measure_axis_distances": "Visa X/Y/Z-avstånd",
|
||||
"settings.measure_axis_distances_help": "Visa världsaxelns komponentmått bredvid det totala avståndet medan Mät är öppet.",
|
||||
"settings.msaa_applies_on_restart": "Kantutjämning tillämpas nästa gång SolidCraft startar",
|
||||
@@ -3072,6 +3420,10 @@
|
||||
"shortcut.unpin": "Lossa",
|
||||
"sketch is missing": "skissen saknas",
|
||||
"sketch.degrees_of_freedom": "{count} frihetsgrader",
|
||||
"sketch.dimension_added_driven": "Skissen bestämmer redan det måttet, så det lades till som ett styrt mått (referensmått)",
|
||||
"sketch.dimension_applied": "Måttet tillämpades",
|
||||
"sketch.dimension_applied_defined": "Måttet tillämpades; parametern `{name}` definierades",
|
||||
"sketch.dimension_applied_renamed": "Måttet tillämpades; parametern fick namnet `{name}`",
|
||||
"sketch.dof_left": "{count} frihetsgrader kvar",
|
||||
"sketch.dof_left_one": "{count} frihetsgrad kvar",
|
||||
"sketch.draw_curves": "Rita som {linetype}",
|
||||
@@ -3106,6 +3458,8 @@
|
||||
"sketch_text.use_font_file": "Använd teckensnittsfilen {path}",
|
||||
"solid": "solid",
|
||||
"status.editing": "Redigerar {name}",
|
||||
"status.navigation": "Musmappning: {mapping}",
|
||||
"status.navigation_tip": "Hur musen flyttar vyn. Klicka för att välja en annan mappning",
|
||||
"status.under_constrained": "Underbestämd ({count} frihetsgrader)",
|
||||
"status.under_constrained_one": "Underbestämd ({count} frihetsgrad)",
|
||||
"status.units_tip": "Konstruktionens enheter. Klicka för att ändra dem",
|
||||
@@ -3139,8 +3493,10 @@
|
||||
"timeline.delete_folders_tip": "Behåll deras funktioner och kapslade mappar i historiken",
|
||||
"timeline.delete_folders_with_features_tip": "Ta bort mapparna med alla funktioner i dem och deras kapslade mappar",
|
||||
"timeline.delete_many": "Ta bort {count} markerade funktioner",
|
||||
"timeline.edited_rolled_back": "{name} ändrades, men den ligger efter historikmarkören och byggs därför inte: flytta markören förbi den för att se resultatet",
|
||||
"timeline.feature_error": "Fel: {message}",
|
||||
"timeline.feature_hint": "Dubbelklicka för att redigera · dra för att ordna om · högerklicka för mer",
|
||||
"timeline.feature_rolled_back": "Tillbakarullad: efter historikmarkören, så den byggs inte",
|
||||
"timeline.feature_warning": "Varning: {message}",
|
||||
"timeline.group": "Ny funktionsmapp",
|
||||
"timeline.move_many": "Flytta tidslinjeobjekt",
|
||||
@@ -3220,6 +3576,10 @@
|
||||
"ui.3d_mouse_offer": "Att kalibrera din 3D-mus rättar förväxlade eller omvända axlar och ställer in hastighet och känsla.",
|
||||
"ui.3d_mouse_offer_never": "Visa inte igen",
|
||||
"ui.3d_mouse_offer_swap": "Byt till Hidraw (direkt drivrutin)",
|
||||
"ui.3d_mouse_orbit": "Orbit",
|
||||
"ui.3d_mouse_orbit_classic": "Klassisk",
|
||||
"ui.3d_mouse_orbit_tip": "Spårad: 3D-musen vrider vyn runt den del av modellen som är mitt i vyn när vridningen börjar, markerad med en svag kula. Klassisk: runt vyns centrum",
|
||||
"ui.3d_mouse_orbit_traced": "Spårad",
|
||||
"ui.3d_mouse_reading": "Avläsning",
|
||||
"ui.3d_mouse_reset_axes": "Återställ axeltilldelning",
|
||||
"ui.3d_mouse_reset_view": "Återställ vyn",
|
||||
@@ -3604,6 +3964,7 @@
|
||||
"ui.constant": "Konstant",
|
||||
"ui.constraints_conflict": "Villkor i konflikt",
|
||||
"ui.construction": "Konstruktion",
|
||||
"ui.construction.ribbon_label": "Hjälplinjer",
|
||||
"ui.context_menu": "Snabbmeny",
|
||||
"ui.continuity_g0": "G0-veck",
|
||||
"ui.continuity_g1": "G1-tangent",
|
||||
@@ -3695,6 +4056,14 @@
|
||||
"ui.end_scale": "Slutskala",
|
||||
"ui.entities": "Objekt",
|
||||
"ui.equal": "Lika",
|
||||
"ui.equation_end": "Slut",
|
||||
"ui.equation_explicit": "Explicit",
|
||||
"ui.equation_form": "Form",
|
||||
"ui.equation_note": "Variabeln är ett vanligt tal: sin(t) tolkar den i radianer. Ett resultat utan enhet anges i konstruktionens enhet.",
|
||||
"ui.equation_parametric": "Parametrisk",
|
||||
"ui.equation_x_of_t": "x(t)",
|
||||
"ui.equation_y_of_t": "y(t)",
|
||||
"ui.equation_y_of_x": "y(x)",
|
||||
"ui.equivalent_radius": "Ekvivalent radie",
|
||||
"ui.expand": "Expandera",
|
||||
"ui.exportDxf": "Exportera DXF…",
|
||||
@@ -3760,6 +4129,7 @@
|
||||
"ui.heading_design": "KONSTRUKTION",
|
||||
"ui.heading_draft": "SLÄPPVINKEL",
|
||||
"ui.heading_edit": "REDIGERA",
|
||||
"ui.heading_equation_curve": "EKVATIONSKURVA",
|
||||
"ui.heading_extrude": "EXTRUDERA",
|
||||
"ui.heading_fillet": "AVRUNDNING",
|
||||
"ui.heading_finish_editing": "SLUTFÖR REDIGERING",
|
||||
@@ -3851,6 +4221,10 @@
|
||||
"ui.import_ellipsis": "Importera…",
|
||||
"ui.infinite": "Oändlig",
|
||||
"ui.insert": "Infoga",
|
||||
"ui.insert_design.browse": "Bläddra…",
|
||||
"ui.insert_design.open_designs": "Öppna konstruktioner",
|
||||
"ui.insert_design.saved_file": "{name} har osparade ändringar, så dess sparade fil infogades. Spara den och kör sedan Uppdatera länkar för att hämta in ändringarna.",
|
||||
"ui.insert_design.unsaved": "Osparade ändringar",
|
||||
"ui.inspect": "Granska",
|
||||
"ui.intersect": "Skärning",
|
||||
"ui.isolate": "Isolera",
|
||||
@@ -4000,6 +4374,18 @@
|
||||
"ui.project": "Projicera",
|
||||
"ui.project_face_edges_sketch": "Projicera ytkanter i nya skisser",
|
||||
"ui.properties": "Egenskaper",
|
||||
"ui.properties.copy_matrix": "Kopiera matris",
|
||||
"ui.properties.first_moments": "Första ordningens moment",
|
||||
"ui.properties.inertia": "Tröghetsmoment",
|
||||
"ui.properties.inertia_note": "Kring masscentrum, i världsaxlar (g·{unit}²)",
|
||||
"ui.properties.inertia_unavailable": "Inte tillgängligt: en kropps mesh är inte sluten.",
|
||||
"ui.properties.inertia_x": "Ixx, Ixy, Ixz",
|
||||
"ui.properties.inertia_y": "Iyx, Iyy, Iyz",
|
||||
"ui.properties.inertia_z": "Izx, Izy, Izz",
|
||||
"ui.properties.measuring": "Mäter…",
|
||||
"ui.properties.measuring_failed": "Mätningen avbröts innan den var klar.",
|
||||
"ui.properties.principal_axis": "Huvudaxel {number}",
|
||||
"ui.properties.principal_moments": "Huvudtröghetsmoment",
|
||||
"ui.pull_direction": "Dragriktning",
|
||||
"ui.quality": "Kvalitet",
|
||||
"ui.quantity": "Antal",
|
||||
@@ -4062,6 +4448,7 @@
|
||||
"ui.select": "Markera",
|
||||
"ui.selectOther": "Markera annan…",
|
||||
"ui.selectTangentChain": "Markera tangentkedja",
|
||||
"ui.select_all": "Markera alla",
|
||||
"ui.selection": "Markering",
|
||||
"ui.selection_modifiers": "Markeringsmodifierare",
|
||||
"ui.selection_shift_add_only": "Shift+klick lägger till utan att ta bort",
|
||||
@@ -4098,7 +4485,11 @@
|
||||
"ui.sketch": "Skiss",
|
||||
"ui.sketch_dimension": "Skissmått",
|
||||
"ui.sketch_grid": "Skissrutnät",
|
||||
"ui.sketch_intersect_geometry": "Geometri",
|
||||
"ui.sketch_intersect_projection_link": "Projektionslänk",
|
||||
"ui.sketch_intersect_selection_filter": "Markeringsfilter",
|
||||
"ui.sketch_modifiers": "Skissmodifierare",
|
||||
"ui.sketch_project_geometry": "Geometri",
|
||||
"ui.sketch_scale": "Skissskala",
|
||||
"ui.sketches": "Skisser",
|
||||
"ui.slice": "Skiva",
|
||||
@@ -4149,6 +4540,7 @@
|
||||
"ui.tab_manage": "Hantera",
|
||||
"ui.tab_sheet_metal": "Plåt",
|
||||
"ui.tab_view": "Vy",
|
||||
"ui.tab_weldments": "Svetsning",
|
||||
"ui.tangent": "Tangent",
|
||||
"ui.taper_angle": "Avsmalningsvinkel",
|
||||
"ui.tapped": "Gängad",
|
||||
@@ -4164,6 +4556,7 @@
|
||||
"ui.tip_angle": "Spetsvinkel",
|
||||
"ui.to_object": "Till objekt",
|
||||
"ui.tool_direction": "Verktygsriktning",
|
||||
"ui.toolbar_tabs_hidden": "Alla verktygsfältsflikar är dolda. Klicka på + eller högerklicka här för att visa en.",
|
||||
"ui.top": "Ovan",
|
||||
"ui.top_diameter": "Toppdiameter",
|
||||
"ui.top_radius": "Toppradie",
|
||||
@@ -4210,6 +4603,7 @@
|
||||
"ui.visual_shaded_with_edges": "Skuggad med kanter",
|
||||
"ui.visual_style": "Visuell stil",
|
||||
"ui.visual_wireframe": "Trådram",
|
||||
"ui.wheel_zoom_speed": "Zoomhastighet för mushjulet",
|
||||
"ui.width": "Bredd",
|
||||
"ui.window_system": "Fönstersystem",
|
||||
"ui.window_system_auto": "Automatiskt",
|
||||
@@ -4261,6 +4655,9 @@
|
||||
"update.prefs_label": "Uppdateringar",
|
||||
"update.prefs_note": "Detta är SolidCraft {version} ({kind}). En sökning frågar GitHub efter den senaste utgåvan och skickar inget annat.",
|
||||
"update.prefs_web": "Läs in sidan igen för att få den senaste webbappen. Om nätverket inte är tillgängligt eller om uppdateringen inte hinner laddas ned i tid öppnas den sparade versionen i stället; en nedladdning som pågår fortsätter till nästa omläsning.",
|
||||
"update.refresh_checking": "Söker efter den senaste utgåvan…",
|
||||
"update.refresh_fallback": "Kunde inte söka efter en nyare utgåva; uppdaterar till {version}, som hittades tidigare.",
|
||||
"update.refresh_selected": "Uppdaterar till {version}.",
|
||||
"update.release_page": "Öppna utgåvesidan",
|
||||
"update.restart": "Starta om nu",
|
||||
"update.restart_later": "Senare",
|
||||
|
||||
@@ -204,6 +204,7 @@
|
||||
"Edges": "Kenarlar",
|
||||
"Edit": "Düzenle",
|
||||
"Edit Profile Sketch": "Profil eskizini düzenle",
|
||||
"Edit shortcuts": "Kısayolları düzenle",
|
||||
"Enable rule": "Kuralı etkinleştir",
|
||||
"Enabled": "Etkin",
|
||||
"End Radius": "Bitiş yarıçapı",
|
||||
@@ -466,6 +467,7 @@
|
||||
"Radius": "Yarıçap",
|
||||
"Radius Fit": "Yarıçap uydurma",
|
||||
"Ratio": "Oran",
|
||||
"Read-only list: shortcuts can't be changed here.": "Salt okunur liste: kısayollar burada değiştirilemez.",
|
||||
"Reattach selected face": "Seçili yüze yeniden bağla",
|
||||
"Recover": "Kurtar",
|
||||
"Recover unsaved design?": "Kaydedilmemiş tasarım kurtarılsın mı?",
|
||||
@@ -649,6 +651,7 @@
|
||||
"Third point": "Üçüncü nokta",
|
||||
"This child is shared. Deleting it removes it from every copy of its parent.": "Bu alt öğe paylaşılıyor. Silindiğinde üst öğesinin tüm kopyalarından kaldırılır.",
|
||||
"This child is shared. Position changes apply to every copy of its parent.": "Bu alt öğe paylaşılıyor. Konum değişiklikleri üst öğesinin tüm kopyalarına uygulanır.",
|
||||
"This component is inside a subassembly placed more than once: aligning it moves it in every placement.": "Bu bileşen, birden fazla kez yerleştirilmiş bir alt montajın içinde: onu hizalamak, onu her yerleşimde taşır.",
|
||||
"This face cannot provide a durable attachment. Choose another face or explicitly use a fixed plane.": "Bu yüz kalıcı bir bağlama sağlayamaz. Başka bir yüz seçin veya açıkça sabit bir düzlem kullanın.",
|
||||
"This image is not attached to GitHub yet. Copy or save it, then attach it on GitHub.": "Bu görüntü henüz GitHub'a eklenmedi. Kopyalayın veya kaydedin, ardından GitHub'a ekleyin.",
|
||||
"Thread depth": "Diş derinliği",
|
||||
@@ -790,6 +793,11 @@
|
||||
"cam.roller": "Makara",
|
||||
"cam.roller_pick": "Makara (isteğe bağlı)",
|
||||
"cam.tip_pick": "Uç (isteğe bağlı)",
|
||||
"camera.shot_pitch": "Yatıklık",
|
||||
"camera.shot_roll": "Yuvarlanma",
|
||||
"camera.shot_yaw": "Sapma",
|
||||
"canvas.decal_place_hint": "Çıkartmayı yerleştirmek için bir yüze tıklayın",
|
||||
"canvas.place_hint": "Tuvali yerleştirmek için bir düzleme veya yüze tıklayın",
|
||||
"choose a profile": "bir profil seçin",
|
||||
"choose the cam's and the follower's joints": "kamın ve izleyicinin bağlantılarını seçin",
|
||||
"choose the joints to couple": "eşlenecek bağlantıları seçin",
|
||||
@@ -797,9 +805,12 @@
|
||||
"click sketch curves": "eskiz eğrilerine tıklayın",
|
||||
"cmd.appearance_assign": "Görünüm",
|
||||
"cmd.appearance_chain": "Görünüm zinciri",
|
||||
"cmd.appearance_copy": "Görünümü Kopyala",
|
||||
"cmd.appearance_favorite": "Favori Görünüm",
|
||||
"cmd.appearance_library": "Görünüm kitaplığı",
|
||||
"cmd.appearance_list": "Görünümleri listele",
|
||||
"cmd.appearance_paint": "Görünümü Boya",
|
||||
"cmd.appearance_paste": "Görünümü Yapıştır",
|
||||
"cmd.appearance_pick_up": "Görünümü Al",
|
||||
"cmd.appearance_replace": "Görünümü Değiştir",
|
||||
"cmd.assembly_bom": "Malzeme listesi",
|
||||
@@ -810,6 +821,7 @@
|
||||
"cmd.browser_move": "Tarayıcı öğelerini taşı",
|
||||
"cmd.browser_order": "Tarayıcı öğelerini sırala",
|
||||
"cmd.browser_rename_group": "Grubu yeniden adlandır",
|
||||
"cmd.browser_reparent": "Bileşene Taşı",
|
||||
"cmd.browser_ungroup": "Grubu çöz",
|
||||
"cmd.browser_visibility": "Göster/Gizle",
|
||||
"cmd.canvas_calibrate": "Tuvali kalibre et",
|
||||
@@ -836,7 +848,9 @@
|
||||
"cmd.component_metadata": "Parça özellikleri",
|
||||
"cmd.component_metadata_set": "Parça özelliklerini değiştir",
|
||||
"cmd.component_move_bodies": "Gövdeleri bileşene taşı",
|
||||
"cmd.component_move_features": "Özellikleri bileşene taşı",
|
||||
"cmd.component_move_sketches": "Eskizleri bileşene taşı",
|
||||
"cmd.component_paste_from_design": "Başka Bir Tasarımdan Yapıştır",
|
||||
"cmd.component_paste_new": "Yeni olarak yapıştır",
|
||||
"cmd.component_properties": "Bileşenin fiziksel özellikleri",
|
||||
"cmd.component_relink": "Kaynağı yeniden bağla",
|
||||
@@ -973,6 +987,7 @@
|
||||
"cmd.motion_trace": "Hareket izi",
|
||||
"cmd.motion_trace_edit": "Hareket İzini Düzenle",
|
||||
"cmd.motion_trace_keep": "Hareket izini koru",
|
||||
"cmd.occurrence_align": "Örneği Hizala",
|
||||
"cmd.occurrence_copy": "Yapıştır (örnek)",
|
||||
"cmd.occurrence_drag": "Tekrarı Taşı",
|
||||
"cmd.occurrence_ground": "Sabitle",
|
||||
@@ -1030,11 +1045,17 @@
|
||||
"cmd.render_library_surface_unbind": "Yüzey Bağlamını Kaldır",
|
||||
"cmd.render_library_targets": "Render Kitaplık Hedeflerini Bul",
|
||||
"cmd.render_lights_add": "Işık Ekle",
|
||||
"cmd.render_lights_duplicate": "Render Işığını Çoğalt",
|
||||
"cmd.render_lights_list": "Render Işıklarını Listele",
|
||||
"cmd.render_lights_mute": "Işığı Sustur",
|
||||
"cmd.render_lights_remove": "Render Işığını Kaldır",
|
||||
"cmd.render_lights_set": "Render Işığını Ayarla",
|
||||
"cmd.render_lights_solo": "Işığı Solo Yap",
|
||||
"cmd.render_optics_bind": "Optik Bağlamı Kaydet",
|
||||
"cmd.render_optics_unbind": "Optik Bağlamı Kaldır",
|
||||
"cmd.render_output_size": "Render Çıktı Boyutunu Ayarla",
|
||||
"cmd.render_preflight": "Render isteğini kontrol et",
|
||||
"cmd.render_preflight_copy": "Render Kontrol Raporunu Kopyala",
|
||||
"cmd.render_preset_apply": "Yerli Stüdyoyu Uygula",
|
||||
"cmd.render_preset_resolve": "Yerli Stüdyoyu İncele",
|
||||
"cmd.render_quality_prepare": "Sabit Örnekleme Bütçesini İncele",
|
||||
@@ -1057,6 +1078,13 @@
|
||||
"cmd.render_start": "Resmi render et",
|
||||
"cmd.render_status": "Render ilerlemesi",
|
||||
"cmd.select_clear": "Seçimi temizle",
|
||||
"cmd.settings_profile_apply": "Ayar Profilini Uygula",
|
||||
"cmd.settings_profile_delete": "Ayar Profilini Sil",
|
||||
"cmd.settings_profile_export": "Ayar Profilini Dışa Aktar",
|
||||
"cmd.settings_profile_import": "Ayar Profilini İçe Aktar",
|
||||
"cmd.settings_profile_list": "Ayar Profilleri",
|
||||
"cmd.settings_profile_rename": "Ayar Profilini Yeniden Adlandır",
|
||||
"cmd.settings_profile_save": "Ayar Profilini Kaydet",
|
||||
"cmd.sheet_convert": "Sac metale dönüştür",
|
||||
"cmd.sheet_export_bend_table": "Büküm tablosunu dışa aktar",
|
||||
"cmd.sheet_export_dxf": "Açınımı DXF olarak dışa aktar",
|
||||
@@ -1070,6 +1098,16 @@
|
||||
"cmd.sheet_refold": "Yeniden katla",
|
||||
"cmd.sheet_rules": "Sac metal kurallarını listele",
|
||||
"cmd.sheet_unfold": "Katlamayı aç",
|
||||
"cmd.sketch.construction_line": "Yardımcı doğru",
|
||||
"cmd.sketch.construction_line.angle": "Açılı yardımcı doğru",
|
||||
"cmd.sketch.construction_line.bisector": "Açıortay",
|
||||
"cmd.sketch.construction_line.horizontal": "Yatay yardımcı doğru",
|
||||
"cmd.sketch.construction_line.parallel": "Paralel yardımcı doğru",
|
||||
"cmd.sketch.construction_line.perpendicular": "Dik yardımcı doğru",
|
||||
"cmd.sketch.construction_line.tangent_at": "Eğri noktasındaki teğet",
|
||||
"cmd.sketch.construction_line.tangent_external": "Dış noktadan geçen teğet",
|
||||
"cmd.sketch.construction_line.tangent_two": "Ortak teğet",
|
||||
"cmd.sketch.construction_line.vertical": "Dikey yardımcı doğru",
|
||||
"cmd.sketch_arc3d": "3B Yay",
|
||||
"cmd.sketch_arc_center_point": "Merkez noktalı yay",
|
||||
"cmd.sketch_arc_tangent": "Teğet yay",
|
||||
@@ -1102,6 +1140,8 @@
|
||||
"cmd.sketch_drawing_bounds": "Çizim Boyutu",
|
||||
"cmd.sketch_edit": "Eskizi düzenle",
|
||||
"cmd.sketch_edit_text": "Metni düzenle",
|
||||
"cmd.sketch_equation_curve": "Denklem Eğrisi",
|
||||
"cmd.sketch_equation_curve_edit": "Denklem Eğrisini Düzenle",
|
||||
"cmd.sketch_export_dxf": "DXF olarak kaydet",
|
||||
"cmd.sketch_finish_auto_constrain": "Otomatik kısıtlamayla bitir",
|
||||
"cmd.sketch_fit_curves_to_section": "Eğrileri ağ kesitine uydur",
|
||||
@@ -1198,6 +1238,7 @@
|
||||
"cmd.view.render_browser": "Render tarayıcısı",
|
||||
"cmd.view.render_dock": "Render panelini taşı",
|
||||
"cmd.view.render_focus": "Render odak görünümü",
|
||||
"cmd.view.status_items": "Görünüm Alanı Durum Öğeleri",
|
||||
"cmd.view_ambient_occlusion": "Ortam tıkanması",
|
||||
"cmd.view_angle_readout": "Görünüm açıları",
|
||||
"cmd.view_apply": "Adlandırılmış görünümü geri yükle",
|
||||
@@ -1219,6 +1260,7 @@
|
||||
"cmd.view_normal_to": "Seçime Dik",
|
||||
"cmd.view_previous_tab": "Önceki Sekme",
|
||||
"cmd.view_rename": "Adlandırılmış görünümü yeniden adlandır",
|
||||
"cmd.view_render_frame": "Render Kadraj Kılavuzları",
|
||||
"cmd.view_right": "Sağ Görünüm",
|
||||
"cmd.view_save": "Yeni adlandırılmış görünüm",
|
||||
"cmd.view_shots_strip": "Çekim Şeridi",
|
||||
@@ -1229,10 +1271,14 @@
|
||||
"color.copy": "Renk değerlerini kopyalamak için tıklayın",
|
||||
"color.edit": "Rengi düzenlemek için tıklayın",
|
||||
"color.gamma": "Renk değerleri 0-255 gama uzayında gösteriliyor",
|
||||
"color.hex": "Hex",
|
||||
"color.hex_help": "#rrggbb veya #rrggbbaa girin; altı hane opaklığı korur",
|
||||
"color.hex_hint": "#rrggbb",
|
||||
"color.hue": "Ton",
|
||||
"color.linear": "Renk değerleri 0-1 doğrusal uzayda gösteriliyor",
|
||||
"color.saturation_value": "Doygunluk ve değer",
|
||||
"color.selected": "Seçili renk",
|
||||
"config.column_filter_empty": "Eşleşen sütun yok",
|
||||
"contact.components_count": "{count} bileşen",
|
||||
"contact.enabled_label": "etkin",
|
||||
"coupling.gear_1": "Dişli 1",
|
||||
@@ -1350,6 +1396,7 @@
|
||||
"help.occurrence.move": "Montaj parçasını yalnızca eklemlerinin izin verdiği serbestliklerde taşır. Bir parça yüzü seçtikten sonra kullanılabilir oku veya yayı sürükleyin.",
|
||||
"help.parameters.change": "Tasarımın ölçülerini yöneten adlandırılmış değerlerin ve ifadelerin tablosunu açar. Bir ölçüyü tek yerden değiştirip onu kullanan her özelliğin buna uymasını sağlamak için kullanın.",
|
||||
"help.pointcloud.insert": "PLY, XYZ veya PTS taramasını modelin yanına nokta bulutu olarak ekler. Ölçülmüş verilerden model oluştururken referans olarak kullanın.",
|
||||
"help.sketch.equation_curve": "Formüllerden bir eğri çizer: bir aralık boyunca x(t) ve y(t) ya da y = f(x). Formüller parametre kullanabilir ve eğri onları izler: sinüs dalgası, spiral veya bir dişli dişinin evolventi için kullanın.",
|
||||
"help.solid.align": "Seçili gövdeleri, üzerlerindeki bir nokta, yüz veya düzlem başka bir yerdeki nokta, yüz veya düzlemle buluşacak şekilde taşır. Ofseti ölçmeden bir parçayı diğerinin yanına yerleştirmek için kullanın.",
|
||||
"help.solid.chamfer": "Seçili kenarları, belirlediğiniz mesafede düz bir pahla keser. Keskin kenarları kırmak veya bir pim ya da vidanın girişini kolaylaştırmak için kullanın.",
|
||||
"help.solid.combine": "Gövdeleri birleştirir, bir hedef gövdeden çıkarır veya yalnızca paylaştıkları hacmi tutar ve araç gövdelerini tutabilir. Parçaları kaynaştırmak, bir şekli diğeriyle kesmek veya iki gövdenin örtüştüğü yeri bulmak için kullanın.",
|
||||
@@ -1585,6 +1632,8 @@
|
||||
"nav.maya.help": "Alt+sol sürükleme döndürür, Alt+orta kaydırır, Alt+sağ yakınlaştırır; orta sürükleme ayrıca kaydırır",
|
||||
"nav.openscad.help": "Boşlukta sol sürükleme döndürür, Shift+sol sürükleme kutu seçimi yapar, eskiz geometrisi sürükleyerek düzenlenir; sağ veya orta sürükleme kaydırır, Shift+sağ veya Shift+orta sürükleme yakınlaştırır",
|
||||
"nav.perspective.sketch": "Eskiz düzenleme dik görünüm kullanır. Perspektife geçmek için eskizi bitirin.",
|
||||
"nav.right_drag_orbits.help": "Kapalı: sağ sürükleme kameraya dokunmaz ve sağ tuş yalnızca bağlam menüsünü açar. SolidWorks fare eşlemesini seçmek bunu kapatır.",
|
||||
"nav.right_drag_orbits.label": "Sağ sürükleme döndürür",
|
||||
"nav.solidworks.help": "Orta sürükleme döndürür, Ctrl+orta kaydırır, Shift+orta yakınlaştırır, sağ sürükleme döndürür",
|
||||
"nav.tinkercad.help": "Sağ sürükleme döndürür, orta veya Shift+sağ sürükleme kaydırır",
|
||||
"nav.touchpad.help": "Kaydırmak için Shift tuşunu basılı tutun ve imleci hareket ettirin; Alt/Option ile döndürün. Fare tuşu gerekmez. Dikey kaydırma yakınlaştırır.",
|
||||
@@ -1606,6 +1655,9 @@
|
||||
"navbar.custom.customise": "Gezinme çubuğunu özelleştir…",
|
||||
"navbar.custom.design": "Tasarım",
|
||||
"navbar.custom.duplicate": "Bu yuva zaten çubukta.",
|
||||
"navbar.custom.edge": "Kenar",
|
||||
"navbar.custom.edge_bottom": "Alt",
|
||||
"navbar.custom.edge_top": "Üst",
|
||||
"navbar.custom.fade": "Soldur",
|
||||
"navbar.custom.full": "Başka bir yuva eklemek için bir yuvayı kaldırın.",
|
||||
"navbar.custom.hidden_design": "Tasarımda gizli",
|
||||
@@ -1712,6 +1764,7 @@
|
||||
"parts.dimension.thickness": "Kalınlık",
|
||||
"parts.dimension.width": "Genişlik",
|
||||
"parts.family.bearing": "Derin oluklu bilyeli rulman (zarf)",
|
||||
"parts.family.button_head_cap_screw": "Mercimek başlı alyan cıvata",
|
||||
"parts.family.dowel_pin": "Silindirik pim (paralel)",
|
||||
"parts.family.hex_bolt": "Altıgen başlı cıvata / vida",
|
||||
"parts.family.hex_nut": "Altıgen somun",
|
||||
@@ -1770,6 +1823,9 @@
|
||||
"prefs.bottom_centre": "Alt orta",
|
||||
"prefs.bottom_right": "Sağ alt",
|
||||
"prefs.browser": "Tarayıcı",
|
||||
"prefs.browser_reveal_on_hover": "Üzerine gelince göster",
|
||||
"prefs.browser_show_note": "Görünür, tarayıcıyı ekranda tutar. Üzerine gelince göster, imleç onun yerine veya sol kenarındaki ince sekmeye gelene kadar onu gizli tutar; imleç içindeyken veya ondan açılan bir menü açıkken açık kalır.",
|
||||
"prefs.browser_shown": "Görünür",
|
||||
"prefs.built_in": "Yerleşik",
|
||||
"prefs.button_left": "Sol sürükleme",
|
||||
"prefs.button_middle": "Orta sürükleme",
|
||||
@@ -1840,6 +1896,8 @@
|
||||
"prefs.layout_note": "Sıkışık, panelleri pencere kenarlarına yerleştirir. Tarayıcı yarı saydamlığı Yüzen düzende kullanılabilir. Asistan tarafını Asistan sayfasından değiştirin.",
|
||||
"prefs.left": "Sol",
|
||||
"prefs.left_click": "Sol tıklama",
|
||||
"prefs.line_drag_draws_one": "Basıp sürüklemek tek çizgi çizer",
|
||||
"prefs.line_drag_draws_one_note": "Çizgi aracında basmak, sürüklemek ve bırakmak, basılan yerden bırakılan yere tek bir çizgi çizer ve çizim orada biter. Tıklamalar yine bir zincir çizer. Kapalı: sürükleme, tıklama gibi, bırakıldığı yere bir nokta koyar.",
|
||||
"prefs.linked_designs": "Bağlı tasarımlar",
|
||||
"prefs.live_input": "Canlı girdi",
|
||||
"prefs.live_preview": "Canlı önizleme",
|
||||
@@ -1872,14 +1930,36 @@
|
||||
"prefs.origin_plane_names": "Orijin düzlemi adları",
|
||||
"prefs.origin_plane_names_note": "Tarayıcıda, diyaloglarda ve listelerde gösterilen adlar. Z yukarı olmak üzere {top} XY, {front} XZ ve {right} YZ'dir. Komutlar, betikler ve kayıtlı tasarımlar XY, XZ ve YZ adlarını korur.",
|
||||
"prefs.overall_speed": "Genel hız",
|
||||
"prefs.perspective_fov": "Görüş alanı",
|
||||
"prefs.placement": "Yerleşim",
|
||||
"prefs.prefer_free_sketch_points": "Noktalar örtüştüğünde hareketli eskiz noktalarını tercih et",
|
||||
"prefs.preview_choices": "Seçimlerinizin önizlemesi",
|
||||
"prefs.profile_active": "Etkin profil",
|
||||
"prefs.profile_applied": "Profil uygulandı.",
|
||||
"prefs.profile_changed": "Profil kaydedildikten sonra ayarlar değişti. Kaydet, onları profilde saklar.",
|
||||
"prefs.profile_deleted": "Profil silindi.",
|
||||
"prefs.profile_export": "Dışa aktar…",
|
||||
"prefs.profile_exported": "Profil dışa aktarıldı.",
|
||||
"prefs.profile_imported": "Profil içe aktarıldı. Ona geçmek için Etkin profil altında seçin.",
|
||||
"prefs.profile_name_hint": "Profil adı, ör. Dizüstü",
|
||||
"prefs.profile_rename": "Yeniden adlandır",
|
||||
"prefs.profile_renamed": "Profil yeniden adlandırıldı.",
|
||||
"prefs.profile_save": "Kaydet",
|
||||
"prefs.profile_saved": "Geçerli ayarlar profile kaydedildi.",
|
||||
"prefs.profile_skipped": "Profil uygulandı; {n} ayar geçerli değerini korudu (günlüğe bakın).",
|
||||
"prefs.profiles": "Ayar profilleri",
|
||||
"prefs.profiles_note": "Kısayollar, araç çubuğu, gezinme, radyal menü ve arayüz ayarları; tek bir ad altında birlikte saklanır ve tek seferde değiştirilir.",
|
||||
"prefs.project_options_dialog": "Yansıtma seçenekleri diyaloğu",
|
||||
"prefs.project_options_dialog_note": "Açık: yansıtmadan önce Geometri veya Gövdeler ile Yansıtma bağını seçin. Kapalı: önceki doğrudan seçim iş akışını korur.",
|
||||
"prefs.quality_default": "varsayılan",
|
||||
"prefs.quality_fastest": "en hızlı",
|
||||
"prefs.quality_slowest": "en yavaş",
|
||||
"prefs.quality_smoother": "daha pürüzsüz",
|
||||
"prefs.render_previous_geometry_budget": "Önceki Render önizleme geometri bütçesini kullan",
|
||||
"prefs.render_previous_geometry_budget_help": "Cihaza dayalı bütçe yerine önceki sabit geometri sınırını (64 bit masaüstünde 512 MiB, diğer yerlerde 128 MiB) geri getirir.",
|
||||
"prefs.reports_saved": "{n} kayıtlı",
|
||||
"prefs.ribbon_reveal": "Arama sonuçlarını şeritte göster",
|
||||
"prefs.ribbon_reveal_note": "Komutlarda ara içindeki bir sonucun üzerine gelmek, komutun şeritte nerede olduğunu gösterir: sekmesini, düğmesini veya bir panelin açılır menüsündeki satırını. Aramadan başlatılan bir komut orada yanıp söner ve bir açılır menüden çalışan bir komut panelini işaretler.",
|
||||
"prefs.right_click": "Sağ tıklama",
|
||||
"prefs.saving": "Otomatik kayıt ve kurtarma",
|
||||
"prefs.scale_note": "Pencerede ayrıca Ctrl + / Ctrl −. Düğmeler %100'de 28 px.",
|
||||
@@ -1893,6 +1973,10 @@
|
||||
"prefs.shift_add_ctrl_toggle": "Shift yalnızca ekler; Ctrl / Cmd değiştirir",
|
||||
"prefs.shift_add_note": "Açık: Shift ekler, Ctrl / Cmd değiştirir. Kapalı (varsayılan): ikisi de değiştirir.",
|
||||
"prefs.shortcuts": "Kısayollar",
|
||||
"prefs.single_surface_analysis": "Tek bir yüzey analizi kullan",
|
||||
"prefs.single_surface_analysis_help": "Kapalıyken yüzey gölgelendirmesi ve Süreklilik birlikte açık kalabilir. Bunu açmak, en son başlatılan veya değiştirilen analizi tutar.",
|
||||
"prefs.sketch_align_points": "Çizerken diğer eskiz noktalarıyla hizala",
|
||||
"prefs.sketch_align_points_note": "Çizim sırasında bir nokta, noktalı bir kılavuzla aynı anda bir eskiz noktasıyla yatay, bir diğeriyle dikey olarak hizalanır ve tıklama her iki hizalamayı da korur. Kapalı: yalnızca önceki noktayla, her seferinde tek eksende.",
|
||||
"prefs.sketch_conflict_colour": "Çakışan geometri çakışma renginde",
|
||||
"prefs.sketch_conflict_colour_note": "Bir eskizin kısıtlamaları çakışırken, başarısız olan kısıtlamanın tuttuğu eğriler ve noktalar yalnızca simgesi veya ölçüsü değil, çakışma renginde de çizilir. Kapalıyken olağan renklerini korurlar.",
|
||||
"prefs.sketch_exit_view": "Bir eskiz bittiğinde",
|
||||
@@ -1900,6 +1984,8 @@
|
||||
"prefs.sketch_exit_view.previous": "Önceki görünüme dön",
|
||||
"prefs.sketch_exit_view.unless_rotated": "Döndürülmediyse dön",
|
||||
"prefs.sketch_exit_view_note": "Eskizi Bitir, İptal veya çift Esc sonrası görünümün nereye gittiği.",
|
||||
"prefs.sketch_recent_snap": "Son merkezlere ve orta noktalara otomatik yapış",
|
||||
"prefs.sketch_recent_snap_note": "Çizim sırasında imleç, son iki daire merkezi veya düz kenar orta noktasından gelen kılavuzların kesiştiği yere yapışır. Kapalıyken bu kılavuzlar yalnızca görsel kalır ve imleç hareket etmez.",
|
||||
"prefs.sketch_selection": "Eskiz ve seçim",
|
||||
"prefs.sketch_selection_heading": "Eskiz ve seçim",
|
||||
"prefs.sketch_selection_note": "Eskizlerin nasıl yapıştığı ve tıklamaların nasıl seçtiği.",
|
||||
@@ -1937,7 +2023,14 @@
|
||||
"prefs.toast_place": "Bildirimler",
|
||||
"prefs.toggle_item": "Öğeyi ekleyin veya yeniden çıkarın",
|
||||
"prefs.toolbar": "Araç çubuğu",
|
||||
"prefs.toolbar_tabs": "Araç çubuğu sekmeleri",
|
||||
"prefs.top": "Üst",
|
||||
"prefs.trackpad_zoom_modifier": "İki parmakla kaydırarak yakınlaştırma tuşu",
|
||||
"prefs.trackpad_zoom_modifier.alt": "⌥ / Alt",
|
||||
"prefs.trackpad_zoom_modifier.cmd": "⌘",
|
||||
"prefs.trackpad_zoom_modifier.ctrl": "Ctrl",
|
||||
"prefs.trackpad_zoom_modifier.help": "Dikey kaydırmayla imlecin olduğu yere yakınlaştırmak için yalnızca bu tuşu basılı tutun. Kapalı, mevcut kaydırma davranışını korur.",
|
||||
"prefs.trackpad_zoom_modifier.off": "Kapalı",
|
||||
"prefs.translucent": "Yarı saydam",
|
||||
"prefs.under_browser": "Tarayıcının altında",
|
||||
"prefs.under_cursor": "İmlecin altında",
|
||||
@@ -1947,9 +2040,14 @@
|
||||
"prefs.view_confirm_corner": "Görünümün köşesinde Tamam ve İptal",
|
||||
"prefs.view_confirm_corner_note": "Bir diyalog veya eskiz açıkken, görünümün sağ üstündeki bir onay işareti ve çarpı işareti, diyalogun Tamam ve İptal düğmelerinin ya da eskizi bitirip iptal etmenin işini yapar. Görünüm yönlendiricileri bunların altına iner.",
|
||||
"prefs.viewport": "Görünüm alanı",
|
||||
"prefs.viewport_background": "Arka plan",
|
||||
"prefs.viewport_background_colour": "Renk",
|
||||
"prefs.viewport_background_theme": "Temanın degradesi",
|
||||
"prefs.wheel": "Tekerlek",
|
||||
"prefs.wheel_trackpad": "Tekerlek ve trackpad",
|
||||
"prefs.workspace": "Çalışma alanı",
|
||||
"prefs.zoom_stop_at_model": "Yakınlaştırmayı modelde durdur",
|
||||
"prefs.zoom_stop_at_model_tip": "3B fare ve cihaz uygulaması görünümün ortasındaki yüzeye doğru yakınlaştırır; sürükleyerek yakınlaştırma, sürüklemenin başladığı noktayı sabit tutar. Kapalı: yakınlaştırma modelin içinden geçebilir. Tekerlek ve iki parmakla sıkıştırma ayrı olarak İmlece doğru yakınlaştır ayarını kullanır",
|
||||
"prefs.zoom_toward_cursor": "Yakınlaştırma, imlece doğru",
|
||||
"properties.title": "Özellikler: {name}",
|
||||
"recovery.days_ago": "{count} gün önce",
|
||||
@@ -2038,6 +2136,7 @@
|
||||
"render.appearance_editor.weight": "Ağırlık",
|
||||
"render.appearance_physics_separate": "Görsel görünüm yoğunluk, termal veri veya diğer mühendislik özelliklerini atamaz.",
|
||||
"render.appearances": "Görünümler",
|
||||
"render.assign_help": "Seçime uygulamak için tıklayın; önizleyip bırakmak için sürükleyin veya hiçbir şey seçili değilken boyamak için tıklayın.",
|
||||
"render.availability_native": "Yerli kompozisyon; uygulamadan önce inceleyin",
|
||||
"render.availability_projection": "Desteklenen yansıtma; kapsama ve atlamalara bakın",
|
||||
"render.availability_reference": "Referans verisi; otomatik atama değildir",
|
||||
@@ -2076,6 +2175,7 @@
|
||||
"render.bloom_threshold": "Doğrusal vurgu eşiği",
|
||||
"render.browse_capabilities": "Tam yetenek kataloğunu incele",
|
||||
"render.browse_environments": "Orijinal HDR ortamlarına göz at",
|
||||
"render.browse_looks": "Göz at…",
|
||||
"render.browse_native_scenes": "Yerli stüdyolara göz at",
|
||||
"render.browse_physical": "Fiziksel referansları incele",
|
||||
"render.browse_quality": "Kalite özelliklerini incele",
|
||||
@@ -2099,6 +2199,82 @@
|
||||
"render.check_opaque": "Saydamlık: yalnızca opak yüzeyler; arka plan alfası desteklenir.",
|
||||
"render.check_sorted_alpha": "Saydamlık: sıralı alfa yaklaşımı.",
|
||||
"render.check_transmission": "Saydamlık: fiziksel geçirgenlik.",
|
||||
"render.children.absolute_floor": "Mutlak taban",
|
||||
"render.children.adaptive": "Adaptif",
|
||||
"render.children.add_look_reason": "Etkin durumunu ve şiddetini düzenlemek için bir görünüm ekleyin.",
|
||||
"render.children.all_shots": "Tüm çekimler",
|
||||
"render.children.bloom": "Bloom",
|
||||
"render.children.check": "Kontrol",
|
||||
"render.children.check_now": "Şimdi kontrol et",
|
||||
"render.children.chromatic": "Kromatik",
|
||||
"render.children.compact": "Sıkışık",
|
||||
"render.children.contrast": "Kontrast",
|
||||
"render.children.copy_image": "Kopyala",
|
||||
"render.children.copy_job": "İş JSON'unu kopyala",
|
||||
"render.children.copy_request": "İstek JSON'unu kopyala",
|
||||
"render.children.coverage_error": "Kapsama hatası",
|
||||
"render.children.cpu": "CPU ışın izleme",
|
||||
"render.children.denoise": "Bitmiş görüntüdeki gürültüyü azalt",
|
||||
"render.children.depth": "Yol derinliği",
|
||||
"render.children.distortion": "Bozulma",
|
||||
"render.children.edge_samples": "Kenar örnekleri",
|
||||
"render.children.effects_banner": "Bu efektler GPU yol izleme gerektirir. Bunu açmak yöntemi asla değiştirmez.",
|
||||
"render.children.enable_adaptive": "Adaptif sınırları düzenlemek için bağımsız pilotları etkinleştirin.",
|
||||
"render.children.enable_bloom": "Şiddetini, eşiğini ve yarıçapını düzenlemek için bloom'u etkinleştirin.",
|
||||
"render.children.finishing": "Sonlandırma",
|
||||
"render.children.flare": "Flare",
|
||||
"render.children.fresnel": "Fresnel tabakaları",
|
||||
"render.children.ghosts": "Hayalet halkalar",
|
||||
"render.children.glass": "Cam taşınımı",
|
||||
"render.children.go_to": "{editor} bölümüne git",
|
||||
"render.children.grain": "Gren",
|
||||
"render.children.halo": "Hale",
|
||||
"render.children.hdr": "HDR",
|
||||
"render.children.keep_master": "Ham doğrusal ana görüntüyü sakla",
|
||||
"render.children.last_result": "Son: {number} · {width} × {height} · {phase}",
|
||||
"render.children.lens_effects": "Mercek efektleri",
|
||||
"render.children.look_summary": "{tone} · {count} görünüm",
|
||||
"render.children.looks": "Yaratıcı görünümler",
|
||||
"render.children.memory": "Bellek",
|
||||
"render.children.method": "Yöntem",
|
||||
"render.children.minimum": "En az",
|
||||
"render.children.needs_cpu": "CPU ışın izleme gerektirir. Bunu açmak yöntemi asla değiştirmez.",
|
||||
"render.children.nested": "Sertifikalı iç içe dielektrikler",
|
||||
"render.children.not_checked": "Kontrol edilmedi",
|
||||
"render.children.path": "Yol izleme",
|
||||
"render.children.pilots": "Pilot örnekler",
|
||||
"render.children.preview": "Önizleme yükü",
|
||||
"render.children.progressive_reason": "Örnek sayısını ve tohumunu düzenlemek için Artımlı'yı seçin.",
|
||||
"render.children.radius": "Yarıçap",
|
||||
"render.children.reflect_depth": "Yansıma derinliği",
|
||||
"render.children.reflect_samples": "Yansıma örnekleri",
|
||||
"render.children.regrade": "Yeniden derecelendir",
|
||||
"render.children.relative_error": "Göreceli hata",
|
||||
"render.children.render": "Render",
|
||||
"render.children.render_shot": "Çekimi render et",
|
||||
"render.children.renderer": "İşleyici",
|
||||
"render.children.renderers": "İşleyiciler",
|
||||
"render.children.request": "Bu istek",
|
||||
"render.children.reset_finishing": "Sonlandırmayı sıfırla",
|
||||
"render.children.review_quality": "Bir kalite özelliğini incele…",
|
||||
"render.children.rgb_gain": "RGB kazancı",
|
||||
"render.children.samples": "Örnekler",
|
||||
"render.children.sampling": "Örnekleme",
|
||||
"render.children.saturation": "Doygunluk",
|
||||
"render.children.scene_summary": "{bodies} gövde · {triangles} üçgen",
|
||||
"render.children.seed": "Tohum",
|
||||
"render.children.sharpening": "Keskinleştirme",
|
||||
"render.children.single_image": "Tek görüntü",
|
||||
"render.children.soft_focus": "Yumuşak odak",
|
||||
"render.children.streak": "Çizgi",
|
||||
"render.children.strength": "Şiddet",
|
||||
"render.children.studio": "Stüdyo",
|
||||
"render.children.threshold": "Eşik",
|
||||
"render.children.tone": "Ton",
|
||||
"render.children.under_hood": "Perde arkası",
|
||||
"render.children.vignette": "Vinyet",
|
||||
"render.children.workstation": "İş istasyonu",
|
||||
"render.choose_look": "Önce Görünümler'de bir görünüm seçin",
|
||||
"render.chromatic_offset": "Kromatik kenar kayması",
|
||||
"render.clear_stage": "Kaydedilmiş sahneyi kaldır",
|
||||
"render.copy_request": "JSON kopyala",
|
||||
@@ -2350,8 +2526,33 @@
|
||||
"render.flare_strength": "Vurgu flare şiddeti",
|
||||
"render.flare_threshold": "Sahne-doğrusal flare eşiği",
|
||||
"render.fold_browser": "Tarayıcıyı daralt",
|
||||
"render.frame_aspect": "En-boy oranı",
|
||||
"render.frame_centre_mark": "Merkez işareti",
|
||||
"render.frame_copy_limit": "Kullanılabilir bir kopya çekim adı yok",
|
||||
"render.frame_copy_name": "{name} kopya {number}",
|
||||
"render.frame_custom": "Özel",
|
||||
"render.frame_distance_unit": " × boyut",
|
||||
"render.frame_duplicate": "Çoğalt",
|
||||
"render.frame_exposure": "Pozlama",
|
||||
"render.frame_fov": "Görüş alanı",
|
||||
"render.frame_guides": "Kılavuzlar",
|
||||
"render.frame_invalid_aspect": "Geçersiz en-boy oranı ön ayarı",
|
||||
"render.frame_lens": "FOV {fov}° · ≈ {mm} mm",
|
||||
"render.frame_name": "Ad",
|
||||
"render.frame_output_size": "Çıktı boyutu",
|
||||
"render.frame_photo": "3:2 · Fotoğraf",
|
||||
"render.frame_portrait": "4:5 · Portre",
|
||||
"render.frame_presets": "Kadraj ön ayarları",
|
||||
"render.frame_presets_pending": "Çekim düzenleyicisiyle gelecek",
|
||||
"render.frame_projection": "Projeksiyon",
|
||||
"render.frame_render_shot": "Bu çekimi render et",
|
||||
"render.frame_rule_thirds": "Üçler kuralı",
|
||||
"render.frame_safe_area": "Güvenli alan",
|
||||
"render.frame_shot_title": "Çekim · {name}",
|
||||
"render.frame_square": "1:1 · Kare",
|
||||
"render.frame_tall": "9:16 · Dikey",
|
||||
"render.frame_thirds": "Üçte birler",
|
||||
"render.frame_wide": "16:9 · Geniş ekran",
|
||||
"render.gpu_depth": "En fazla yol derinliği",
|
||||
"render.gpu_options_help": "Örnekler, derinlik, tohum ve pozlama bu kurulumla kaydedilir. Yalnızca etkin görüntü yöntemi kaydedilir.",
|
||||
"render.gpu_path_failed": "GPU yol izleyici kullanılamıyor",
|
||||
@@ -2379,6 +2580,7 @@
|
||||
"render.heading_results": "SONUÇLAR",
|
||||
"render.heading_shots": "ÇEKİMLER",
|
||||
"render.hide_shots_label": "Çekim şeridini gizle",
|
||||
"render.hover_look": "{object} · {look} · seçmek için tıklayın",
|
||||
"render.image_advanced": "Gelişmiş GPU kontrolleri",
|
||||
"render.image_cancelled": "Render iptal edildi",
|
||||
"render.image_cancelling": "İptal ediliyor",
|
||||
@@ -2525,17 +2727,95 @@
|
||||
"render.library_uniform_ack": "Uzamsal veya gelişmiş efektler olmadan tek biçimli yaklaşımı kullan",
|
||||
"render.library_usable": "Çalıştırılabilir yansıtmalar",
|
||||
"render.library_users": "Kullanan gövdeler",
|
||||
"render.light_aim": "Şuna yönelt",
|
||||
"render.light_anchor_pending": "Işık koordinat çerçevesini değiştirmek henüz desteklenmiyor.",
|
||||
"render.light_azimuth": "Azimut",
|
||||
"render.light_backend_limit": "Işıkları düzenlemek için CPU ışın izleme veya açık bir GPU stüdyosu seçin. Eski GPU stüdyo ışıkları salt okunur kalır.",
|
||||
"render.light_behaviour": "DAVRANIŞ",
|
||||
"render.light_default_fill": "Dolgu ışığı",
|
||||
"render.light_default_key": "Ana ışık",
|
||||
"render.light_default_number": "Işık {number}",
|
||||
"render.light_default_rim": "Kenar ışığı",
|
||||
"render.light_delete": "Sil",
|
||||
"render.light_distance": "Mesafe",
|
||||
"render.light_duplicate": "Çoğalt",
|
||||
"render.light_elevation": "Yükseklik açısı",
|
||||
"render.light_gpu_punctual": "Nokta ve Spot ışıklar CPU ışın izleme ile kullanılabilir.",
|
||||
"render.light_hard_shadow": "Bu ışığın gölgeleri serttir; ışık veren yumuşaklığı kullanılamıyor.",
|
||||
"render.light_intensity": "Şiddet",
|
||||
"render.light_missing": "Bu ışık artık yok. Tarayıcıda bir ışık seçin.",
|
||||
"render.light_place_highlight": "Vurguya göre yerleştir",
|
||||
"render.light_place_pending": "Vurguya göre yerleştirme, görünüm alanında ışık seçmeyi gerektirir ve henüz desteklenmiyor.",
|
||||
"render.light_position": "KONUM",
|
||||
"render.light_preview_help": "Canlı görünüm gölgesizdir; Alan ışıkları merkez örnekli bir yaklaşım kullanır. Render, tam ışık modelini kullanır.",
|
||||
"render.light_product_centre": "Ürün merkezi",
|
||||
"render.light_size": "Boyut",
|
||||
"render.light_softness": "Yumuşaklık",
|
||||
"render.light_temperature": "Renk sıcaklığı",
|
||||
"render.light_temperature_help": "Yaklaşık kara cisim tonu; doğrusal RGB olarak kaydedilir.",
|
||||
"render.light_type": "Tür",
|
||||
"render.light_type_area": "Alan",
|
||||
"render.light_type_point": "Nokta",
|
||||
"render.light_type_spot": "Spot",
|
||||
"render.light_type_sun": "Güneş",
|
||||
"render.light_view_only": "Solo ve susturma bu görünümü ve render'larını etkiler; tasarıma asla kaydedilmez.",
|
||||
"render.light_world_origin": "Dünya orijini",
|
||||
"render.lighting_aim_point": "Hedef noktası",
|
||||
"render.lighting_apply": "Ön ayarı uygula",
|
||||
"render.lighting_area_samples": "Alan örnekleri",
|
||||
"render.lighting_budget": "Bütçe",
|
||||
"render.lighting_budget_help": "Sayılar salt okunurdur. Değiştirmek için ışık ekleyin, çoğaltın veya silin; sınırları yöntem belirler.",
|
||||
"render.lighting_colour": "Renk",
|
||||
"render.lighting_consent": "Yönlü ışıkları bu ön ayarla değiştir",
|
||||
"render.lighting_custom": "Özel ışıklar",
|
||||
"render.lighting_custom_help": "Özel'i seçmek, ön ayarı düzenlenebilir ışıklara dönüştürür; ağaçta her biri için bir satır.",
|
||||
"render.lighting_direction": "Yön X Y Z",
|
||||
"render.lighting_direction_help": "Ya da ışığa doğru bir yön yazın (X Y Z).",
|
||||
"render.lighting_distance_unit": " × boyut",
|
||||
"render.lighting_edge_u": "Kenar U vektörü",
|
||||
"render.lighting_edge_v": "Kenar V vektörü",
|
||||
"render.lighting_falloff": "Zayıflama",
|
||||
"render.lighting_falloff_help": "Şiddet, referans mesafede belirtilir.",
|
||||
"render.lighting_height": "Yükseklik V",
|
||||
"render.lighting_minimum": "En az",
|
||||
"render.lighting_mute": "Bu ışığı sustur",
|
||||
"render.lighting_point": "Nokta",
|
||||
"render.lighting_preset": "Stüdyo ön ayarı",
|
||||
"render.lighting_preset_cpu": "Yönlü stüdyo ön ayarları CPU ışın izleme gerektirir. GPU aydınlatması açık Güneş ve Alan ışıkları kullanır.",
|
||||
"render.lighting_preset_row": "Ön ayar",
|
||||
"render.lighting_radiance": "Işınım",
|
||||
"render.lighting_reference": "Referans",
|
||||
"render.lighting_review_help": "Yönlü ışık listesinin yerini alır. Nokta ve alan ışıklarını, ortamı, gölgeleri, kamerayı ve diğer tüm çekim ayarlarını korur.",
|
||||
"render.lighting_review_title": "Aydınlatma ön ayarını incele",
|
||||
"render.lighting_samples_cpu": "Alan ışığı örnekleri CPU ışın izlemeye uygulanır.",
|
||||
"render.lighting_samples_need_area": "Alan örneklerini ayarlamak için bir CPU alan ışığı ekleyin.",
|
||||
"render.lighting_samples_reason": "Alan örnekleri 1, 4, 16 veya 64 olmalıdır.",
|
||||
"render.lighting_shadow_cpu": "Gölge anahtarı CPU ışın izleme gerektirir. GPU yol izleme her zaman gölge düşürür.",
|
||||
"render.lighting_shadows": "Gölge düşürsün",
|
||||
"render.lighting_shadows_section": "Gölgeler ve örnekleme",
|
||||
"render.lighting_shape": "Şekil",
|
||||
"render.lighting_solo": "Bu ışığı solo yap",
|
||||
"render.lighting_source": "Kaynak",
|
||||
"render.lighting_source_section": "Işık kaynağı",
|
||||
"render.lighting_spot_preserved": "Bu nokta ışık, türü değiştirilene kadar kaydedilmiş spot konisini korur.",
|
||||
"render.lighting_sun_distance": "Güneş yönü mesafeden ve hedef noktasından bağımsızdır.",
|
||||
"render.lighting_unsupported": "desteklenmiyor",
|
||||
"render.lighting_used": "{used} / {limit}",
|
||||
"render.lighting_width": "Genişlik U",
|
||||
"render.lighting_world_position": "Dünya X Y Z",
|
||||
"render.lights_fixed_to": "Işıklar şuna sabit",
|
||||
"render.linear_help": "Giderme, pozlama, ton eşleme, filtreler ve arka plandan önce 32 bit float RGBA ana görüntüyü saklar. Doğrusal sRGB/D65; kapsama ile ön çarpımlı. Ek bellek açıkça kabul edilir. Sıkıştırma veya ek geçiş yoktur.",
|
||||
"render.linear_retain": "Ham doğrusal EXR'ı sakla",
|
||||
"render.linear_unavailable": "Seçilen tamamlanmış karede saklanmış EXR yok. Render'dan önce saklamayı etkinleştirin; eski bir PNG ham ışınımı geri getiremez.",
|
||||
"render.look_add": "Renk görünümü ekle",
|
||||
"render.look_applied": "{name} uygulandı",
|
||||
"render.look_bleach": "Bleach-bypass esinli",
|
||||
"render.look_cool": "Soğuk",
|
||||
"render.look_cyanotype": "Siyanotip esinli",
|
||||
"render.look_faded": "Solmuş baskı",
|
||||
"render.look_material": "Malzeme",
|
||||
"render.look_mono": "Tek renk",
|
||||
"render.look_pasted": "Görünüm yapıştırıldı",
|
||||
"render.look_sepia": "Sepya",
|
||||
"render.look_strength": "Görünüm şiddeti",
|
||||
"render.look_teal_orange": "Turkuaz / turuncu",
|
||||
@@ -2611,9 +2891,11 @@
|
||||
"render.output_advanced": "Gelişmiş",
|
||||
"render.output_backend_ready": "Hazır",
|
||||
"render.output_check": "Kontrol",
|
||||
"render.output_check_failed": "Kontrol · hata",
|
||||
"render.output_check_help": "Render başlatmadan bu isteği gözden geçirmek için Kontrol'ü çalıştırın.",
|
||||
"render.output_check_summary": "Kontrol · Notlar: {count}",
|
||||
"render.output_copy": "Kopyala",
|
||||
"render.output_copy_report": "Raporu kopyala",
|
||||
"render.output_destination": "Hedef",
|
||||
"render.output_destination_help": "Tamamlanan görüntüyü dışa aktarırken hedef dosyayı seçin.",
|
||||
"render.output_dimensions": "Boyut",
|
||||
@@ -2623,6 +2905,7 @@
|
||||
"render.output_fit": "Sığdır",
|
||||
"render.output_format": "Biçim",
|
||||
"render.output_format_status": "PNG, tamamlanmış tam görüntü görüntüsüdür. İsteğe bağlı GPU EXR, görüntü filtrelerinden önce ham sahne-doğrusal FLOAT32 ışınımını saklar. Dışa aktarma, önizleme önbelleğini veya başka bir işi asla ikame etmez.",
|
||||
"render.output_grading": "Derecelendirme",
|
||||
"render.output_image": "Görüntü",
|
||||
"render.output_largest": "En çok {width} × {height}",
|
||||
"render.output_lock_ratio": "En-boy oranını kilitle",
|
||||
@@ -2632,6 +2915,8 @@
|
||||
"render.output_quality_waiting": "kalite sözleşmesi bekleniyor",
|
||||
"render.output_ratio_refused": "Bağlı boyut, bu yöntemin boyut sınırını aşıyor. Önceki boyut korunur; oranı kilitten çıkarın veya daha küçük bir değer seçin.",
|
||||
"render.output_ready": "Render için hazır",
|
||||
"render.output_run_check": "Kontrolü çalıştır",
|
||||
"render.output_size_limit": "{method}: kenar başına en fazla {dimension} px ve {pixels} piksel. Sığan en büyük boyut: {width} × {height}.",
|
||||
"render.output_size_ok": "Boyut uygun · {width} × {height} px",
|
||||
"render.output_swap_orientation": "Genişlik ve yüksekliği değiştir",
|
||||
"render.output_tools_inspector": "Boyutu ve biçimi Çıktı denetçisinde düzenleyin.",
|
||||
@@ -2648,6 +2933,7 @@
|
||||
"render.page_output": "Çıktı",
|
||||
"render.page_scene": "Sahne",
|
||||
"render.paint_label": "Boya",
|
||||
"render.painting_with": "{name} ile boyanıyor",
|
||||
"render.passive_stage": "Zemin ve pasif sahne",
|
||||
"render.passive_stage_help": "Sonlu pasif paneller yalnızca render görüntülerine aittir. CAD gövdesi veya kütle eklemezler. Uygulamadan sonra yerleşim sabittir; ürün sınırlarıyla kesişen reddedilir. CPU dağınık sekme aydınlatması sağlamaz.",
|
||||
"render.perspective": "Perspektif kamera",
|
||||
@@ -2669,6 +2955,7 @@
|
||||
"render.pick_help": "Gövde, Yüz veya Bileşen seçin. Temizlemek için boş alana tıklayın; Shift veya Ctrl ekler ya da seçimi tersine çevirir. Vurgular yalnızca canlı ürün görünümünde görünür.",
|
||||
"render.pick_label": "Seç",
|
||||
"render.pick_up_label": "Al",
|
||||
"render.pick_up_prompt": "Görünümünü almak için bir nesneye tıklayın",
|
||||
"render.pick_waiting": "Ürün seçimi henüz desteklenmiyor.",
|
||||
"render.post_contrast": "Kontrast",
|
||||
"render.post_gain_b": "Mavi kazancı",
|
||||
@@ -2708,13 +2995,17 @@
|
||||
"render.radial_distortion": "Radyal bozulma",
|
||||
"render.radial_fit": "Ürünü Sığdır",
|
||||
"render.radial_save": "Çekimi Kaydet",
|
||||
"render.recent_looks": "Son görünümler",
|
||||
"render.regrade_action": "Ham ana görüntüyü yeniden derecelendir (giderme yok)",
|
||||
"render.regrade_help": "Bu sunum kontrollerini kullanarak seçilen tamamlanmış ham ana görüntüden ayrı bir PNG oluşturur. Işın izlemez, yakalanan boyutu/kamerayı/ışıkları değiştirmez veya EXR'ın üzerine yazmaz. Giderme yeniden uygulanmaz: ham ana görüntüler onun kılavuzlarını saklamaz. Türev, aynı iş kontrollerinden dışa aktarılabilir kalır.",
|
||||
"render.regrade_label": "Yeniden derecelendir",
|
||||
"render.reload_settings": "Kaydedilmiş ayarları yükle",
|
||||
"render.remove_override": "Geçersiz Kılmayı Kaldır",
|
||||
"render.replace_all": "Tümünü Değiştir",
|
||||
"render.replace_ground": "Mevcut sahnenin değiştirilmesini onayla",
|
||||
"render.replace_label": "Değiştir",
|
||||
"render.replace_saved_surface": "Bu hedef için mevcut kaydedilmiş bağlamın yerini al",
|
||||
"render.replace_with": "Şununla değiştir",
|
||||
"render.restore_camera": "Kaydedilmiş kamerayı yükle",
|
||||
"render.result_actual": "%100",
|
||||
"render.result_actual_help": "Ekran pikseli başına bir görüntü pikseli.",
|
||||
@@ -2766,14 +3057,28 @@
|
||||
"render.saved_surface_remove": "Kaydedilmiş bağlamı kaldır",
|
||||
"render.saved_surfaces": "Kaydedilmiş yüzey bağlamları",
|
||||
"render.saved_surfaces_help": "Sabitlenmiş yerleşik haritalar, yerel milimetrelerde seçilen tekrarı izler. Değiştirilmiş veya eksik hedef bir hatadır, asla otomatik yeniden atama değildir.",
|
||||
"render.scene_all_shots": "Tüm çekimler ({count})",
|
||||
"render.scene_apply": "İncelenen stüdyoyu uygula",
|
||||
"render.scene_batch_reason": "Tüm çekimler, henüz kullanılamayan kayıtlı çekim render kuyruğunu gerektirir.",
|
||||
"render.scene_check_now": "Şimdi kontrol et",
|
||||
"render.scene_check_passed": "Kontrol geçti · {notes} not",
|
||||
"render.scene_check_stale": "Kontrol güncel değil · yeniden kontrol edin",
|
||||
"render.scene_check_unchecked": "Henüz kontrol edilmedi · 0 not",
|
||||
"render.scene_consent": "Aydınlatma, ortam, pozlama ve sahne değiştirmeyi onayla",
|
||||
"render.scene_light_summary": "{environment} · {lights} ışık",
|
||||
"render.scene_look_summary": "{looks} görünüm · {overrides} geçersiz kılma",
|
||||
"render.scene_open_check": "Kontrolü Aç",
|
||||
"render.scene_preserved_fields": "Kamera, örnekleme, boyutlar, optik bağlamlar, CAD geometrisi ve mühendislik malzemeleri korunur.",
|
||||
"render.scene_preserves_design": "Görünen konu için aydınlatma ve pasif bir sahne oluşturun. Geometri, mühendislik malzemeleri ve kamera ayrı kalır.",
|
||||
"render.scene_ready": "Render için hazır",
|
||||
"render.scene_reminder": "Sahne tasarımı korur. Geometri, mühendislik özellikleri ve CAD, Render'dan asla değiştirilmez.",
|
||||
"render.scene_reminders": "Hatırlatmalar",
|
||||
"render.scene_renderer_ready": "{renderer} hazır",
|
||||
"render.scene_replaces": "Şunların yerini alır",
|
||||
"render.scene_review": "Çöz ve incele",
|
||||
"render.scene_review_help": "Uygulamadan önce tam yerli kompozisyonu inceleyin. Bağlanmamış gelişmiş SCENE özellikleri ikame edilmez.",
|
||||
"render.scene_scope_details": "Kompozisyon kapsama alanı",
|
||||
"render.scene_stages": "Aşamalar",
|
||||
"render.search_appearances": "{count} görünümde ara",
|
||||
"render.setup_legacy_environment": "Bu eski kurulum, eski ortam dönüşü veya şiddeti kullanıyor. O değerler korunur; tam bir görüntü işi kaydetmeden önce onları açıkça dönüştürün.",
|
||||
"render.setup_name": "Kurulumun adı",
|
||||
@@ -2786,7 +3091,22 @@
|
||||
"render.shell_tab_camera": "RENDER KAMERASI",
|
||||
"render.shell_tab_lighting": "AYDINLATMA",
|
||||
"render.shell_tab_scene": "RENDER SAHNESİ",
|
||||
"render.shot_aperture": "Diyafram",
|
||||
"render.shot_distance": "Mesafe",
|
||||
"render.shot_dof": "Alan derinliği",
|
||||
"render.shot_duplicate": "Kaydedilmiş çekimi çoğalt",
|
||||
"render.shot_edit_output": "Çıktı'da düzenle",
|
||||
"render.shot_exposure_reason": "Pozlama, CPU ışın izleme veya GPU yol izleme gerektirir.",
|
||||
"render.shot_exposure_section": "Pozlama",
|
||||
"render.shot_focus_distance": "Odak mesafesi",
|
||||
"render.shot_fov_reason": "Görüş alanı perspektif projeksiyon gerektirir.",
|
||||
"render.shot_frame_subject": "Konuyu çerçevele",
|
||||
"render.shot_invalid_camera": "Kamera değerleri sonlu ve aralık içinde olmalıdır.",
|
||||
"render.shot_lens": "Mercek",
|
||||
"render.shot_lens_enable_reason": "Diyaframı ve odak mesafesini düzenlemek için alan derinliğini etkinleştirin.",
|
||||
"render.shot_lens_gpu_reason": "Alan derinliği GPU yol izleme gerektirir.",
|
||||
"render.shot_lens_perspective_reason": "Alan derinliği perspektif projeksiyon gerektirir.",
|
||||
"render.shot_look_selection": "Seçime bak",
|
||||
"render.shot_manager": "Kaydedilmiş çekimler",
|
||||
"render.shot_new_name": "Yeni çekim adı",
|
||||
"render.shot_remove": "Kaydedilmiş çekimi kaldır",
|
||||
@@ -2794,6 +3114,9 @@
|
||||
"render.shot_remove_title": "Kaydedilmiş çekim kaldırılsın mı?",
|
||||
"render.shot_rename": "Kaydedilmiş çekimi yeniden adlandır",
|
||||
"render.shot_saved_only": "Önce geçerli taslağı kaydedin. Çoğalt ve yeniden adlandır, tam kaydedilmiş seçenekleri ve kaynak referanslarını korur.",
|
||||
"render.shot_selection_reason": "Hedeflemek için bir gövde veya yüz seçin.",
|
||||
"render.shot_size": "Boyut",
|
||||
"render.shot_target": "Hedef",
|
||||
"render.shots_camera_changed": "Bu çekim kaydedildikten sonra kamera değişti",
|
||||
"render.shots_name_help": "Geçerli çekim için benzersiz bir ad girin.",
|
||||
"render.shots_no_result": "Henüz render yok",
|
||||
@@ -3016,6 +3339,13 @@
|
||||
"render.wait_pick_up": "henüz desteklenmiyor: ürün seçimi ve görünüm örnekleme",
|
||||
"render.wait_replace": "henüz desteklenmiyor: bir görünümün tüm kullanımlarını değiştirme",
|
||||
"render.wait_solo": "henüz desteklenmiyor: ışık görünürlüğü ve solo denetimleri",
|
||||
"render.wear_applies_to": "Uygulandığı yer",
|
||||
"render.wear_layer_count": "{count} katman",
|
||||
"render.wear_layer_one": "{count} katman",
|
||||
"render.wear_layers": "Katmanlar",
|
||||
"render.wear_no_layers": "Katman yok",
|
||||
"render.wear_selected_layer": "Seçili katman",
|
||||
"render.wear_title": "Aşınma",
|
||||
"sample.bracket.about": "2 mm sac metal kuralına göre kenar flanşları ve bir kenet içeren taban flanşı",
|
||||
"sample.bracket.name": "Sac metal köşebent",
|
||||
"sample.enclosure.about": "Dudak, vida göbekleri, dayanak ve geçmeli bağlantı içeren, içi boşaltılmış blok",
|
||||
@@ -3049,6 +3379,7 @@
|
||||
"select an axis": "bir eksen seçin",
|
||||
"select an axis, a straight or circular edge, or a cylinder, cone or torus face first": "önce bir eksen, düz veya dairesel bir kenar ya da silindir, koni veya torus yüzü seçin",
|
||||
"select bodies first": "önce gövdeleri seçin",
|
||||
"select components first": "önce bileşenleri seçin",
|
||||
"select corner points, or the two lines of one corner": "köşe noktalarını veya bir köşenin iki çizgisini seçin",
|
||||
"select one corner point, or the two lines of one corner": "bir köşe noktasını veya bir köşenin iki çizgisini seçin",
|
||||
"select sheet edges first": "önce sac kenarlarını seçin",
|
||||
@@ -3067,6 +3398,7 @@
|
||||
"settings.double_click_components": "Bir bileşeni etkinleştirmek veya bağlı bir bileşeni yerinde düzenlemek için çift tıklayın",
|
||||
"settings.frame_rate_details_note": "Son karelerin sürelerinin grafiğini üzerine çizilen üçgenlerle, bir kare süresi histogramını ve GPU'nun çizdiklerini ekler. Göstermek veya gizlemek için görünümdeki kare hızına tıklayın.",
|
||||
"settings.frame_rate_note": "Görünümün sağ alt köşesinde saniyedeki kare sayısını gösterir.",
|
||||
"settings.insert_lists_open_designs": "Tasarım ekle, diğer sekmelerde açık olan tasarımları önce listeler",
|
||||
"settings.measure_axis_distances": "X/Y/Z mesafelerini göster",
|
||||
"settings.measure_axis_distances_help": "Ölç açıkken toplam mesafenin yanında dünya ekseni bileşen ölçülerini gösterir.",
|
||||
"settings.msaa_applies_on_restart": "Kenar yumuşatma, SolidCraft bir sonraki başlatıldığında uygulanır",
|
||||
@@ -3091,6 +3423,10 @@
|
||||
"shortcut.unpin": "Sabitlemeyi kaldır",
|
||||
"sketch is missing": "eskiz eksik",
|
||||
"sketch.degrees_of_freedom": "{count} serbestlik derecesi",
|
||||
"sketch.dimension_added_driven": "Eskiz bu ölçüyü zaten belirliyor, bu yüzden türetilmiş (referans) ölçü olarak eklendi",
|
||||
"sketch.dimension_applied": "Ölçü uygulandı",
|
||||
"sketch.dimension_applied_defined": "Ölçü uygulandı; `{name}` parametresi tanımlandı",
|
||||
"sketch.dimension_applied_renamed": "Ölçü uygulandı; parametreye `{name}` adı verildi",
|
||||
"sketch.dof_left": "Kalan serbestlik derecesi: {count}",
|
||||
"sketch.dof_left_one": "Kalan serbestlik derecesi: {count}",
|
||||
"sketch.draw_curves": "{linetype} olarak çiz",
|
||||
@@ -3125,6 +3461,8 @@
|
||||
"sketch_text.use_font_file": "{path} yazı tipi dosyasını kullan",
|
||||
"solid": "katı",
|
||||
"status.editing": "{name} düzenleniyor",
|
||||
"status.navigation": "Fare eşlemesi: {mapping}",
|
||||
"status.navigation_tip": "Farenin görünümü nasıl hareket ettirdiği. Başka bir eşleme seçmek için tıklayın",
|
||||
"status.under_constrained": "Eksik kısıtlanmış ({count} serbestlik derecesi)",
|
||||
"status.under_constrained_one": "Eksik kısıtlanmış ({count} serbestlik derecesi)",
|
||||
"status.units_tip": "Tasarımın birimleri. Değiştirmek için tıklayın",
|
||||
@@ -3158,8 +3496,10 @@
|
||||
"timeline.delete_folders_tip": "Özelliklerini ve iç içe klasörlerini geçmişte tut",
|
||||
"timeline.delete_folders_with_features_tip": "Klasörleri, içlerindeki her özellikle ve iç içe klasörleriyle birlikte sil",
|
||||
"timeline.delete_many": "{count} Seçili Özelliği Sil",
|
||||
"timeline.edited_rolled_back": "{name} değişti, ancak geçmiş işaretçisinden sonra olduğu için oluşturulmadı: sonucu görmek için işaretçiyi onun ötesine taşıyın",
|
||||
"timeline.feature_error": "Hata: {message}",
|
||||
"timeline.feature_hint": "Düzenlemek için çift tıklayın · sıralamak için sürükleyin · daha fazlası için sağ tıklayın",
|
||||
"timeline.feature_rolled_back": "Geri sarıldı: geçmiş işaretçisinden sonra, bu yüzden oluşturulmadı",
|
||||
"timeline.feature_warning": "Uyarı: {message}",
|
||||
"timeline.group": "Yeni özellik klasörü oluştur",
|
||||
"timeline.move_many": "Zaman çizelgesi öğelerini taşı",
|
||||
@@ -3239,6 +3579,10 @@
|
||||
"ui.3d_mouse_offer": "3D farenizi kalibre etmek, yer değiştirmiş veya ters dönmüş eksenleri düzeltir; hızını ve hissini ayarlar.",
|
||||
"ui.3d_mouse_offer_never": "Bir daha gösterme",
|
||||
"ui.3d_mouse_offer_swap": "Hidraw'a geç (doğrudan sürücü)",
|
||||
"ui.3d_mouse_orbit": "Döndürme",
|
||||
"ui.3d_mouse_orbit_classic": "Klasik",
|
||||
"ui.3d_mouse_orbit_tip": "İzlenen: 3B fare, dönüş başladığında görünümü, görünümün ortasındaki model kısmının etrafında döndürür; bu kısım soluk bir topla işaretlenir. Klasik: görünümün merkezi etrafında",
|
||||
"ui.3d_mouse_orbit_traced": "İzlenen",
|
||||
"ui.3d_mouse_reading": "Okunan değer",
|
||||
"ui.3d_mouse_reset_axes": "Eksen atamasını sıfırla",
|
||||
"ui.3d_mouse_reset_view": "Görünümü sıfırla",
|
||||
@@ -3623,6 +3967,7 @@
|
||||
"ui.constant": "Sabit",
|
||||
"ui.constraints_conflict": "Kısıtlamalar çakışıyor",
|
||||
"ui.construction": "Yapı çizgisi",
|
||||
"ui.construction.ribbon_label": "Yardımcılar",
|
||||
"ui.context_menu": "Bağlam menüsü",
|
||||
"ui.continuity_g0": "G0 kırık",
|
||||
"ui.continuity_g1": "G1 teğet",
|
||||
@@ -3714,6 +4059,14 @@
|
||||
"ui.end_scale": "Bitiş ölçeği",
|
||||
"ui.entities": "Öğeler",
|
||||
"ui.equal": "Eşit",
|
||||
"ui.equation_end": "Bitiş",
|
||||
"ui.equation_explicit": "Açık fonksiyon",
|
||||
"ui.equation_form": "Biçim",
|
||||
"ui.equation_note": "Değişken düz bir sayıdır: sin(t) onu radyan olarak alır. Birimi olmayan bir sonuç tasarımın birimindedir.",
|
||||
"ui.equation_parametric": "Parametrik",
|
||||
"ui.equation_x_of_t": "x(t)",
|
||||
"ui.equation_y_of_t": "y(t)",
|
||||
"ui.equation_y_of_x": "y(x)",
|
||||
"ui.equivalent_radius": "Eşdeğer yarıçap",
|
||||
"ui.expand": "Genişlet",
|
||||
"ui.exportDxf": "DXF olarak dışa aktar…",
|
||||
@@ -3779,6 +4132,7 @@
|
||||
"ui.heading_design": "TASARIM",
|
||||
"ui.heading_draft": "KONİKLİK",
|
||||
"ui.heading_edit": "DÜZENLE",
|
||||
"ui.heading_equation_curve": "DENKLEM EĞRİSİ",
|
||||
"ui.heading_extrude": "EKSTRÜZYON",
|
||||
"ui.heading_fillet": "YUVARLATMA",
|
||||
"ui.heading_finish_editing": "DÜZENLEMEYİ BİTİR",
|
||||
@@ -3870,6 +4224,10 @@
|
||||
"ui.import_ellipsis": "İçe aktar…",
|
||||
"ui.infinite": "Sonsuz",
|
||||
"ui.insert": "Ekle",
|
||||
"ui.insert_design.browse": "Göz at…",
|
||||
"ui.insert_design.open_designs": "Açık tasarımlar",
|
||||
"ui.insert_design.saved_file": "{name} kaydedilmemiş değişiklikler içeriyor, bu yüzden kaydedilmiş dosyası eklendi. Değişiklikleri almak için onu kaydedin, ardından Bağları güncelle'yi çalıştırın.",
|
||||
"ui.insert_design.unsaved": "Kaydedilmemiş değişiklikler",
|
||||
"ui.inspect": "İncele",
|
||||
"ui.intersect": "Kesişim",
|
||||
"ui.isolate": "Yalıt",
|
||||
@@ -4019,6 +4377,18 @@
|
||||
"ui.project": "Yansıt",
|
||||
"ui.project_face_edges_sketch": "Yüz kenarlarını yeni eskizlere yansıt",
|
||||
"ui.properties": "Özellikler",
|
||||
"ui.properties.copy_matrix": "Matrisi kopyala",
|
||||
"ui.properties.first_moments": "Birinci momentler",
|
||||
"ui.properties.inertia": "Eylemsizlik momenti",
|
||||
"ui.properties.inertia_note": "Kütle merkezine göre, dünya eksenlerinde (g·{unit}²)",
|
||||
"ui.properties.inertia_unavailable": "Kullanılamıyor: bir gövdenin ağı kapalı değil.",
|
||||
"ui.properties.inertia_x": "Ixx, Ixy, Ixz",
|
||||
"ui.properties.inertia_y": "Iyx, Iyy, Iyz",
|
||||
"ui.properties.inertia_z": "Izx, Izy, Izz",
|
||||
"ui.properties.measuring": "Ölçülüyor…",
|
||||
"ui.properties.measuring_failed": "Ölçüm tamamlanmadan durdu.",
|
||||
"ui.properties.principal_axis": "Asal eksen {number}",
|
||||
"ui.properties.principal_moments": "Asal momentler",
|
||||
"ui.pull_direction": "Kalıptan çıkarma yönü",
|
||||
"ui.quality": "Kalite",
|
||||
"ui.quantity": "Adet",
|
||||
@@ -4081,6 +4451,7 @@
|
||||
"ui.select": "Seç",
|
||||
"ui.selectOther": "Diğerini seç…",
|
||||
"ui.selectTangentChain": "Teğet zinciri seç",
|
||||
"ui.select_all": "Tümünü seç",
|
||||
"ui.selection": "Seçim",
|
||||
"ui.selection_modifiers": "Seçim değiştiricileri",
|
||||
"ui.selection_shift_add_only": "Shift+tıklama kaldırmadan ekler",
|
||||
@@ -4117,7 +4488,11 @@
|
||||
"ui.sketch": "Eskiz",
|
||||
"ui.sketch_dimension": "Eskiz ölçüsü",
|
||||
"ui.sketch_grid": "Eskiz ızgarası",
|
||||
"ui.sketch_intersect_geometry": "Geometri",
|
||||
"ui.sketch_intersect_projection_link": "Yansıtma bağı",
|
||||
"ui.sketch_intersect_selection_filter": "Seçim filtresi",
|
||||
"ui.sketch_modifiers": "Eskiz değiştiricileri",
|
||||
"ui.sketch_project_geometry": "Geometri",
|
||||
"ui.sketch_scale": "Eskiz ölçeği",
|
||||
"ui.sketches": "Eskizler",
|
||||
"ui.slice": "Dilim",
|
||||
@@ -4168,6 +4543,7 @@
|
||||
"ui.tab_manage": "Yönet",
|
||||
"ui.tab_sheet_metal": "Sac Metal",
|
||||
"ui.tab_view": "Görünüm",
|
||||
"ui.tab_weldments": "Kaynak",
|
||||
"ui.tangent": "Teğet",
|
||||
"ui.taper_angle": "Konik açı",
|
||||
"ui.tapped": "Kılavuzlu",
|
||||
@@ -4183,6 +4559,7 @@
|
||||
"ui.tip_angle": "Uç açısı",
|
||||
"ui.to_object": "Nesneye kadar",
|
||||
"ui.tool_direction": "Takım yönü",
|
||||
"ui.toolbar_tabs_hidden": "Tüm araç çubuğu sekmeleri gizli. Birini göstermek için + işaretine tıklayın veya buraya sağ tıklayın.",
|
||||
"ui.top": "Üst",
|
||||
"ui.top_diameter": "Üst çap",
|
||||
"ui.top_radius": "Üst yarıçap",
|
||||
@@ -4229,6 +4606,7 @@
|
||||
"ui.visual_shaded_with_edges": "Kenarlarla gölgeli",
|
||||
"ui.visual_style": "Görsel stil",
|
||||
"ui.visual_wireframe": "Tel kafes",
|
||||
"ui.wheel_zoom_speed": "Fare tekerleği yakınlaştırma hızı",
|
||||
"ui.width": "Genişlik",
|
||||
"ui.window_system": "Pencere sistemi",
|
||||
"ui.window_system_auto": "Otomatik",
|
||||
@@ -4280,6 +4658,9 @@
|
||||
"update.prefs_label": "Güncellemeler",
|
||||
"update.prefs_note": "Bu, SolidCraft {version} ({kind}). Denetim, GitHub'a en yeni sürümü sorar ve başka hiçbir şey göndermez.",
|
||||
"update.prefs_web": "En yeni web uygulamasını almak için sayfayı yeniden yükleyin. Ağ kullanılamazsa veya güncelleme indirmesi zamanında bitiremezse bunun yerine kaydedilmiş sürüm açılır; süren bir indirme bir sonraki yeniden yükleme için devam eder.",
|
||||
"update.refresh_checking": "En yeni sürüm denetleniyor…",
|
||||
"update.refresh_fallback": "Daha yeni bir sürüm denetlenemedi; daha önce bulunan {version} sürümüne güncelleniyor.",
|
||||
"update.refresh_selected": "{version} sürümüne güncelleniyor.",
|
||||
"update.release_page": "Sürüm sayfasını aç",
|
||||
"update.restart": "Şimdi yeniden başlat",
|
||||
"update.restart_later": "Daha sonra",
|
||||
|
||||
@@ -181,6 +181,8 @@
|
||||
"Designs you open or save appear here.": "Проєкти, які ви відкриваєте чи зберігаєте, з'являються тут.",
|
||||
"Determined by To Object. Choose Angle to edit the angular extent.": "Визначається об'єктом призначення. Виберіть «Кут», щоб редагувати кутову протяжність.",
|
||||
"Diameter": "Діаметр",
|
||||
"Did this assembly open the wrong way up?": "Цю збірку відкрито догори ногами?",
|
||||
"Did this part open the wrong way up?": "Цю деталь відкрито догори ногами?",
|
||||
"Dimension new shapes": "Проставляти розміри нових фігур",
|
||||
"Direction": "Напрямок",
|
||||
"Discard": "Відхилити",
|
||||
@@ -204,6 +206,7 @@
|
||||
"Edges": "Ребра",
|
||||
"Edit": "Змінити",
|
||||
"Edit Profile Sketch": "Редагувати ескіз профілю",
|
||||
"Edit shortcuts": "Редагувати комбінації клавіш",
|
||||
"Enable rule": "Увімкнути правило",
|
||||
"Enabled": "Увімкнено",
|
||||
"End Radius": "Кінцевий радіус",
|
||||
@@ -466,6 +469,7 @@
|
||||
"Radius": "Радіус",
|
||||
"Radius Fit": "Підгонка за радіусом",
|
||||
"Ratio": "Співвідношення",
|
||||
"Read-only list: shortcuts can't be changed here.": "Список лише для перегляду: тут не можна змінювати комбінації клавіш",
|
||||
"Reattach selected face": "Повторно приєднати вибрану грань",
|
||||
"Recover": "Відновити",
|
||||
"Recover unsaved design?": "Відновити незбережений проєкт?",
|
||||
@@ -599,6 +603,7 @@
|
||||
"Square": "Квадрат",
|
||||
"Stand it up": "Вирівняти",
|
||||
"Stand it up: a quarter turn about X, as one Move feature you can undo.": "Вирівняти: поворот на чверть оберту навколо X як одна операція переміщення, яку можна скасувати.",
|
||||
"Stand this assembly up?": "Вирівняти збірку по вертикалі?",
|
||||
"Stand this part up?": "Вирівняти цю деталь?",
|
||||
"Start angle": "Початковий кут",
|
||||
"Start bulge": "Роздуття початку",
|
||||
@@ -649,6 +654,7 @@
|
||||
"Third point": "Третя точка",
|
||||
"This child is shared. Deleting it removes it from every copy of its parent.": "Цей дочірній об'єкт спільний. Його видалення прибирає його з кожної копії батьківського.",
|
||||
"This child is shared. Position changes apply to every copy of its parent.": "Цей дочірній об'єкт спільний. Зміни положення застосовуються до кожної копії батьківського.",
|
||||
"This component is inside a subassembly placed more than once: aligning it moves it in every placement.": "Цей компонент розташований у підзбірці, що використовується кілька разів. Вирівнювання перемістить його в усіх екземплярах.",
|
||||
"This face cannot provide a durable attachment. Choose another face or explicitly use a fixed plane.": "Ця грань не може забезпечити надійну прив'язку. Виберіть іншу грань або явно використайте фіксовану площину.",
|
||||
"This image is not attached to GitHub yet. Copy or save it, then attach it on GitHub.": "Це зображення ще не додано до GitHub. Скопіюйте або збережіть його, а потім додайте на GitHub.",
|
||||
"Thread depth": "Глибина різьби",
|
||||
@@ -790,6 +796,11 @@
|
||||
"cam.roller": "Ролик",
|
||||
"cam.roller_pick": "Ролик (необов'язково)",
|
||||
"cam.tip_pick": "Вістря (необов'язково)",
|
||||
"camera.shot_pitch": "Тангаж",
|
||||
"camera.shot_roll": "Крен",
|
||||
"camera.shot_yaw": "Рискання",
|
||||
"canvas.decal_place_hint": "Клацніть по грані, щоб розмістити декаль",
|
||||
"canvas.place_hint": "Клацніть для розміщення",
|
||||
"choose a profile": "виберіть профіль",
|
||||
"choose the cam's and the follower's joints": "виберіть з'єднання кулачка й штовхача",
|
||||
"choose the joints to couple": "виберіть з'єднання для зв'язування",
|
||||
@@ -797,9 +808,12 @@
|
||||
"click sketch curves": "клацніть криві ескізу",
|
||||
"cmd.appearance_assign": "Вигляд",
|
||||
"cmd.appearance_chain": "Ланцюг вигляду",
|
||||
"cmd.appearance_copy": "Копіювати вигляд",
|
||||
"cmd.appearance_favorite": "Додати до обраного",
|
||||
"cmd.appearance_library": "Бібліотека виглядів",
|
||||
"cmd.appearance_list": "Список виглядів",
|
||||
"cmd.appearance_paint": "Нанести вигляд",
|
||||
"cmd.appearance_paste": "Вставити вигляд",
|
||||
"cmd.appearance_pick_up": "Взяти вигляд",
|
||||
"cmd.appearance_replace": "Замінити вигляд",
|
||||
"cmd.assembly_bom": "Специфікація матеріалів",
|
||||
@@ -837,6 +851,7 @@
|
||||
"cmd.component_metadata_set": "Змінити властивості деталі",
|
||||
"cmd.component_move_bodies": "Перемістити тіла до компонента",
|
||||
"cmd.component_move_sketches": "Перемістити ескізи до компонента",
|
||||
"cmd.component_paste_from_design": "Вставити з іншого проєкту як компонент",
|
||||
"cmd.component_paste_new": "Вставити як новий",
|
||||
"cmd.component_properties": "Фізичні властивості компонента",
|
||||
"cmd.component_relink": "Переприв'язати джерело",
|
||||
@@ -973,6 +988,7 @@
|
||||
"cmd.motion_trace": "Траєкторія руху",
|
||||
"cmd.motion_trace_edit": "Змінити траєкторію руху",
|
||||
"cmd.motion_trace_keep": "Зберегти траєкторію руху",
|
||||
"cmd.occurrence_align": "Вирівняти екземпляр",
|
||||
"cmd.occurrence_copy": "Вставити (екземпляр)",
|
||||
"cmd.occurrence_drag": "Перетягнути екземпляр",
|
||||
"cmd.occurrence_ground": "Закріпити",
|
||||
@@ -1030,11 +1046,17 @@
|
||||
"cmd.render_library_surface_unbind": "Видалити прив'язку поверхні",
|
||||
"cmd.render_library_targets": "Знайти цілі бібліотеки рендерингу",
|
||||
"cmd.render_lights_add": "Додати джерело світла",
|
||||
"cmd.render_lights_duplicate": "Дублювати джерело світла",
|
||||
"cmd.render_lights_list": "Список джерел світла",
|
||||
"cmd.render_lights_mute": "Вимкнути/увімкнути джерело світла",
|
||||
"cmd.render_lights_remove": "Видалити джерело світла",
|
||||
"cmd.render_lights_set": "Налаштувати джерело світла",
|
||||
"cmd.render_lights_solo": "Лише це світло",
|
||||
"cmd.render_optics_bind": "Зберегти оптичну прив'язку",
|
||||
"cmd.render_optics_unbind": "Видалити оптичну прив'язку",
|
||||
"cmd.render_output_size": "Задати розмір виведення рендерингу",
|
||||
"cmd.render_preflight": "Перевірити запит на рендеринг",
|
||||
"cmd.render_preflight_copy": "Копіювати дані попередньої перевірки",
|
||||
"cmd.render_preset_apply": "Застосувати вбудовану студію",
|
||||
"cmd.render_preset_resolve": "Переглянути вбудовану студію",
|
||||
"cmd.render_quality_prepare": "Переглянути фіксований бюджет вибірки",
|
||||
@@ -1070,6 +1092,16 @@
|
||||
"cmd.sheet_refold": "Зігнути назад",
|
||||
"cmd.sheet_rules": "Список правил листового металу",
|
||||
"cmd.sheet_unfold": "Розгорнути",
|
||||
"cmd.sketch.construction_line": "Допоміжна пряма",
|
||||
"cmd.sketch.construction_line.angle": "Допоміжна пряма під кутом",
|
||||
"cmd.sketch.construction_line.bisector": "Бісектриса",
|
||||
"cmd.sketch.construction_line.horizontal": "Горизонтальна допоміжна пряма",
|
||||
"cmd.sketch.construction_line.parallel": "Паралельна допоміжна пряма",
|
||||
"cmd.sketch.construction_line.perpendicular": "Перпендикулярна допоміжна пряма",
|
||||
"cmd.sketch.construction_line.tangent_at": "Дотична в точці кривої",
|
||||
"cmd.sketch.construction_line.tangent_external": "Дотична через зовнішню точку",
|
||||
"cmd.sketch.construction_line.tangent_two": "Спільна дотична",
|
||||
"cmd.sketch.construction_line.vertical": "Вертикальна допоміжна пряма",
|
||||
"cmd.sketch_arc3d": "3D-дуга",
|
||||
"cmd.sketch_arc_center_point": "Дуга за центром",
|
||||
"cmd.sketch_arc_tangent": "Дотична дуга",
|
||||
@@ -1102,6 +1134,8 @@
|
||||
"cmd.sketch_drawing_bounds": "Розмір креслення",
|
||||
"cmd.sketch_edit": "Редагувати ескіз",
|
||||
"cmd.sketch_edit_text": "Редагувати текст",
|
||||
"cmd.sketch_equation_curve": "Крива за рівнянням",
|
||||
"cmd.sketch_equation_curve_edit": "Редагувати криву за рівнянням",
|
||||
"cmd.sketch_export_dxf": "Зберегти як DXF",
|
||||
"cmd.sketch_finish_auto_constrain": "Завершити з автообмеженням",
|
||||
"cmd.sketch_fit_curves_to_section": "Підігнати криві до перерізу сітки",
|
||||
@@ -1198,6 +1232,7 @@
|
||||
"cmd.view.render_browser": "Браузер рендерингу",
|
||||
"cmd.view.render_dock": "Перемістити док рендерингу",
|
||||
"cmd.view.render_focus": "Вид фокусу рендерингу",
|
||||
"cmd.view.status_items": "Елементи рядка стану",
|
||||
"cmd.view_ambient_occlusion": "Окружне затінення",
|
||||
"cmd.view_angle_readout": "Кути виду",
|
||||
"cmd.view_apply": "Відновити іменований вид",
|
||||
@@ -1219,6 +1254,7 @@
|
||||
"cmd.view_normal_to": "Перпендикулярно до виділення",
|
||||
"cmd.view_previous_tab": "Попередня вкладка",
|
||||
"cmd.view_rename": "Перейменувати іменований вид",
|
||||
"cmd.view_render_frame": "Кадр візуалізації",
|
||||
"cmd.view_right": "Вид справа",
|
||||
"cmd.view_save": "Новий іменований вид",
|
||||
"cmd.view_shots_strip": "Стрічка кадрів",
|
||||
@@ -1229,10 +1265,14 @@
|
||||
"color.copy": "Клацніть, щоб скопіювати значення кольору",
|
||||
"color.edit": "Клацніть, щоб змінити колір",
|
||||
"color.gamma": "Значення кольору в гамма-просторі 0-255",
|
||||
"color.hex": "HEX-код",
|
||||
"color.hex_help": "Введіть колір у форматі #RRGGBB або #RRGGBBAA",
|
||||
"color.hex_hint": "#rrggbb або #rrggbbaa",
|
||||
"color.hue": "Відтінок",
|
||||
"color.linear": "Значення кольору в лінійному просторі 0-1",
|
||||
"color.saturation_value": "Насиченість і яскравість",
|
||||
"color.selected": "Вибраний колір",
|
||||
"config.column_filter_empty": "Немає збігів",
|
||||
"contact.components_count": "Компонентів: {count}",
|
||||
"contact.enabled_label": "увімкнено",
|
||||
"coupling.gear_1": "Шестерня 1",
|
||||
@@ -1277,6 +1317,7 @@
|
||||
"dialog.dimension_insert_hint": "Двічі клацніть інший керівний розмір, щоб вставити його назву",
|
||||
"dialog.dimension_name": "Розмір: {name}",
|
||||
"dialog.edit_title": "РЕДАГУВАННЯ {title}",
|
||||
"dialog.no_shown_body": "Немає видимих тіл для виконання операції",
|
||||
"dialog.select": "↖ Вибрати",
|
||||
"dialog.selected_count": "↖ Вибрано: {count}",
|
||||
"dialog.selection_guidance": "Виберіть вхідні дані, щоб змінити їх. Клацніть вибрані об'єкти, щоб прибрати їх; натискання з Ctrl/Cmd також перемикає їх. Перегляньте попередній перегляд, а потім натисніть OK.",
|
||||
@@ -1346,8 +1387,10 @@
|
||||
"help.material.assign": "Задає, з чого зроблено вибрані тіла, наприклад зі сталі, алюмінію чи ABS. Використовуйте, щоб маса й вага відповідали справжній деталі.",
|
||||
"help.mit": "Ліцензія MIT",
|
||||
"help.notice": "NOTICE",
|
||||
"help.occurrence.move": "Переміщує екземпляр компонента в збірці",
|
||||
"help.parameters.change": "Відкриває таблицю іменованих значень і виразів, що керують розмірами проєкту. Використовуйте, щоб змінити розмір в одному місці, а всі операції, які його використовують, підлаштувалися.",
|
||||
"help.pointcloud.insert": "Вставте скан у форматі PLY, XYZ або PTS як хмару точок поряд із моделлю. Використовуйте її як довідку під час побудови моделі за виміряними даними.",
|
||||
"help.sketch.equation_curve": "Створює криву за параметричними рівняннями X(t), Y(t) у площині ескізу.",
|
||||
"help.solid.align": "Переміщує вибрані тіла так, щоб точка, грань чи площина на них зійшлася з точкою, гранню чи площиною деінде. Використовуйте, щоб притиснути деталь до іншої, не вимірюючи зсуву.",
|
||||
"help.solid.chamfer": "Зрізає вибрані ребра плоским скосом на заданій відстані. Використовуйте, щоб притупити гострі ребра або полегшити вставляння штифта чи гвинта.",
|
||||
"help.solid.combine": "Об'єднує тіла, вирізає їх із цільового тіла або залишає лише спільний для них об'єм, і може зберегти тіла-інструменти. Використовуйте, щоб з'єднати деталі, вирізати одну форму іншою або знайти, де два тіла перекриваються.",
|
||||
@@ -1374,6 +1417,8 @@
|
||||
"help.timeline.compute_all": "Перебудовує кожну операцію часового ланцюжка з початку. Використовуйте, щоб оновити модель і побачити, які операції завершуються помилкою.",
|
||||
"help.timeline.delete": "Видаляє вибрані операції з часового ланцюжка; видалення ескізу видаляє й операції, побудовані на ньому. Використовуйте, щоб прибрати крок, який більше не потрібен.",
|
||||
"help.timeline.play": "Відтворює решту операцій по одній, із паузою в півсекунди після кожного перебудування. Виконайте цю команду ще раз або натисніть Esc, щоб зупинити; «Перейти в кінець» переходить одразу.",
|
||||
"history.sketch_under_constrained": "Ескіз має {count} ступенів вільності",
|
||||
"history.sketch_under_constrained_one": "Ескіз має {count} ступінь вільності",
|
||||
"hole_presets.confirm_delete": "Підтвердити видалення",
|
||||
"hole_presets.delete": "Видалити",
|
||||
"hole_presets.delete_prompt": "Видалити цей особистий набір? Наявні отвори не зміняться.",
|
||||
@@ -1474,6 +1519,21 @@
|
||||
"joint.one_component": "Ці деталі - тіла одного компонента: {bodies}. З'єднання рухає один компонент відносно іншого, тому кожній деталі потрібен власний компонент.",
|
||||
"joint.rigid_group_one_component": "Усі ці тіла ({count}) містяться в одному компоненті (або безпосередньо в проєкті): спершу скористайтеся {command}.",
|
||||
"joint.rigid_group_select_components": "Виберіть два чи більше компонентів.",
|
||||
"joint_move.blocked_hint": "Переміщення заблоковано обмеженнями з'єднання",
|
||||
"joint_move.blocked_title": "Переміщення неможливе",
|
||||
"joint_move.coarse": "Грубо",
|
||||
"joint_move.distance": "Відстань",
|
||||
"joint_move.done": "Готово",
|
||||
"joint_move.fine": "Точно",
|
||||
"joint_move.fixed": "Фіксовано",
|
||||
"joint_move.help": "Перетягуйте або використовуйте кнопки кроку для переміщення з'єднання",
|
||||
"joint_move.legacy_hint": "Для цього з'єднання доступне лише застаріле керування",
|
||||
"joint_move.precision": "Точність",
|
||||
"joint_move.rotation": "Поворот",
|
||||
"joint_move.select": "Виберіть з'єднання для переміщення",
|
||||
"joint_move.settings": "Налаштування переміщення",
|
||||
"joint_move.step": "Крок",
|
||||
"joint_move.use_handles": "Використовувати маніпулятори",
|
||||
"keymap.command_id": "ID команди",
|
||||
"keymap.empty": "Немає відповідних команд",
|
||||
"keymap.use_anyway": "Усе одно використовувати тут {key}",
|
||||
@@ -1568,6 +1628,8 @@
|
||||
"nav.maya.help": "Alt+ліва обертає, Alt+середня панорамує, Alt+права масштабує; середня також панорамує",
|
||||
"nav.openscad.help": "Ліва обертає по порожньому місцю, Shift+ліва виділяє рамкою, геометрію ескізу перетягують для редагування; права або середня панорамує, Shift+права або Shift+середня масштабує",
|
||||
"nav.perspective.sketch": "Редагування ескізу використовує ортографічний вид. Завершіть ескіз, щоб увімкнути перспективу.",
|
||||
"nav.right_drag_orbits.help": "Перетягування правою кнопкою миші обертає вид",
|
||||
"nav.right_drag_orbits.label": "Обертання правою кнопкою",
|
||||
"nav.solidworks.help": "Середня обертає, Ctrl+середня панорамує, Shift+середня масштабує, права обертає",
|
||||
"nav.tinkercad.help": "Права обертає, середня або Shift+права панорамує",
|
||||
"nav.touchpad.help": "Утримуйте Shift і рухайте вказівник, щоб панорамувати; утримуйте Alt/Option і рухайте, щоб обертати. Кнопка миші не потрібна. Вертикальна прокрутка масштабує.",
|
||||
@@ -1589,6 +1651,9 @@
|
||||
"navbar.custom.customise": "Налаштувати панель навігації…",
|
||||
"navbar.custom.design": "Проєктування",
|
||||
"navbar.custom.duplicate": "Цей слот уже є на панелі.",
|
||||
"navbar.custom.edge": "Край панелі",
|
||||
"navbar.custom.edge_bottom": "Нижній край",
|
||||
"navbar.custom.edge_top": "Верхній край",
|
||||
"navbar.custom.fade": "Згасання",
|
||||
"navbar.custom.full": "Приберіть слот, щоб додати інший.",
|
||||
"navbar.custom.hidden_design": "Приховано в проєктуванні",
|
||||
@@ -1695,6 +1760,7 @@
|
||||
"parts.dimension.thickness": "Товщина",
|
||||
"parts.dimension.width": "Ширина",
|
||||
"parts.family.bearing": "Радіальний кульковий підшипник (габарит)",
|
||||
"parts.family.button_head_cap_screw": "Гвинт з циліндричною головкою та внутрішнім шестигранником",
|
||||
"parts.family.dowel_pin": "Циліндричний штифт",
|
||||
"parts.family.hex_bolt": "Болт / гвинт із шестигранною головкою",
|
||||
"parts.family.hex_nut": "Шестигранна гайка",
|
||||
@@ -1741,6 +1807,8 @@
|
||||
"prefs.anti_aliasing_note": "Згладжує нерівні краї.",
|
||||
"prefs.applies_on_restart": "Застосовується після перезапуску",
|
||||
"prefs.assistant": "Асистент",
|
||||
"prefs.auto_operation": "Автоматичний режим операцій",
|
||||
"prefs.auto_operation_note": "Автоматично виконувати команди без додаткових запитів там, де це безпечно",
|
||||
"prefs.axes": "Осі",
|
||||
"prefs.axis": "Вісь",
|
||||
"prefs.bodies_folders": "Теки тіл",
|
||||
@@ -1751,6 +1819,9 @@
|
||||
"prefs.bottom_centre": "Внизу по центру",
|
||||
"prefs.bottom_right": "Внизу праворуч",
|
||||
"prefs.browser": "Браузер",
|
||||
"prefs.browser_reveal_on_hover": "Показувати в браузері при наведенні",
|
||||
"prefs.browser_show_note": "Налаштування відображення браузера проєкту",
|
||||
"prefs.browser_shown": "Показувати браузер",
|
||||
"prefs.built_in": "Вбудована",
|
||||
"prefs.button_left": "Перетягування лівою кнопкою",
|
||||
"prefs.button_middle": "Перетягування середньою кнопкою",
|
||||
@@ -1821,6 +1892,8 @@
|
||||
"prefs.layout_note": "«Компактне» прикріплює панелі до країв вікна. Прозорість браузера доступна в режимі «Плаваюче». Сторону Асистента можна змінити на сторінці «Асистент».",
|
||||
"prefs.left": "Ліворуч",
|
||||
"prefs.left_click": "Клацання лівою",
|
||||
"prefs.line_drag_draws_one": "Перетягування відрізка малює один елемент",
|
||||
"prefs.line_drag_draws_one_note": "Замість безперервного малювання при перетягуванні",
|
||||
"prefs.linked_designs": "Пов'язані проєкти",
|
||||
"prefs.live_input": "Поточне введення",
|
||||
"prefs.live_preview": "Попередній перегляд у реальному часі",
|
||||
@@ -1853,13 +1926,18 @@
|
||||
"prefs.origin_plane_names": "Назви площин початку координат",
|
||||
"prefs.origin_plane_names_note": "Назви, що показуються в браузері, діалогах і списках. {top} — це XY, {front} — XZ, {right} — YZ, а Z спрямована вгору. Команди, скрипти й збережені проєкти зберігають XY, XZ і YZ.",
|
||||
"prefs.overall_speed": "Загальна швидкість",
|
||||
"prefs.perspective_fov": "Кут огляду перспективи",
|
||||
"prefs.placement": "Розміщення",
|
||||
"prefs.prefer_free_sketch_points": "Надавати перевагу рухомим точкам ескізу, коли точки перекриваються",
|
||||
"prefs.preview_choices": "Перегляд ваших виборів",
|
||||
"prefs.project_options_dialog": "Діалог параметрів проєкту",
|
||||
"prefs.project_options_dialog_note": "Відкривати діалог параметрів проєкту замість бічної панелі",
|
||||
"prefs.quality_default": "типово",
|
||||
"prefs.quality_fastest": "найшвидше",
|
||||
"prefs.quality_slowest": "найповільніше",
|
||||
"prefs.quality_smoother": "плавніше",
|
||||
"prefs.render_previous_geometry_budget": "Бюджет попередньої геометрії для візуалізації",
|
||||
"prefs.render_previous_geometry_budget_help": "Максимальний обсяг пам'яті для кешу геометрії попереднього стану",
|
||||
"prefs.reports_saved": "Збережено: {n}",
|
||||
"prefs.right_click": "Клацання правою",
|
||||
"prefs.saving": "Автозбереження й відновлення",
|
||||
@@ -1874,6 +1952,10 @@
|
||||
"prefs.shift_add_ctrl_toggle": "Shift лише додає; Ctrl / Cmd перемикає",
|
||||
"prefs.shift_add_note": "Увімкнено: Shift додає, Ctrl / Cmd перемикає. Вимкнено (типово): обидва перемикають.",
|
||||
"prefs.shortcuts": "Комбінації клавіш",
|
||||
"prefs.single_surface_analysis": "Аналіз окремої поверхні",
|
||||
"prefs.single_surface_analysis_help": "Виконувати аналіз лише для вибраної поверхні",
|
||||
"prefs.sketch_align_points": "Вирівнювати точки ескізу",
|
||||
"prefs.sketch_align_points_note": "Автоматично вирівнювати точки при наближенні",
|
||||
"prefs.sketch_conflict_colour": "Конфліктна геометрія кольором конфлікту",
|
||||
"prefs.sketch_conflict_colour_note": "Поки обмеження ескізу суперечать одне одному, криві та точки, які утримує проблемне обмеження, також малюються кольором конфлікту, а не лише його піктограма чи розмір. Вимкнено: вони зберігають свої звичайні кольори.",
|
||||
"prefs.sketch_exit_view": "Коли ескіз завершується",
|
||||
@@ -1884,6 +1966,8 @@
|
||||
"prefs.sketch_selection": "Ескіз і вибір",
|
||||
"prefs.sketch_selection_heading": "Ескіз і вибір",
|
||||
"prefs.sketch_selection_note": "Як ескізи прив'язуються й як клацання вибирають.",
|
||||
"prefs.sketch_state_icons": "Піктограми стану ескізу",
|
||||
"prefs.sketch_state_icons_note": "Показувати стан обмежень та ступенів вільності біля точок",
|
||||
"prefs.sketch_tab_always": "Завжди показувати вкладку «Ескіз»",
|
||||
"prefs.sketch_tab_always_note": "Вкладка «Ескіз» залишається на стрічці одразу після вкладки «Модель», поки жоден ескіз не відкрито. Її інструменти креслення тоді запускають ескіз на вибраній площині чи грані або на площині, яку ви виберете далі, з уже готовим інструментом.",
|
||||
"prefs.sketch_tracking_guides": "Допоміжні лінії вирівнювання за центром і середньою точкою",
|
||||
@@ -1893,6 +1977,11 @@
|
||||
"prefs.source": "Джерело",
|
||||
"prefs.speed": "Швидкість",
|
||||
"prefs.stand_up_note": "Коли файл STEP або IGES відкрито з віссю Z угору, пропонувати поворот на чверть оберту навколо X.",
|
||||
"prefs.stand_up_unknown": "Вирівнювання файлів з невідомою орієнтацією",
|
||||
"prefs.stand_up_unknown.ask": "Запитувати",
|
||||
"prefs.stand_up_unknown.note": "Визначати орієнтацію для файлів із невідомим напрямком осей",
|
||||
"prefs.stand_up_unknown.off": "Не вирівнювати",
|
||||
"prefs.stand_up_unknown_note": "Що робити, якщо напрямок осей файлу невідомий (Y вгору чи Z вгору)",
|
||||
"prefs.status_bar": "Рядок стану",
|
||||
"prefs.status_bar_note": "Тонкий рядок уздовж нижнього краю вікна показує, що саме редагується, стан відкритого ескіза (його кольором) та одиниці проєкту; клацання по одиницях змінює їх. Тоді стан ескіза більше не показується в куті виду.",
|
||||
"prefs.status_done": "Готово",
|
||||
@@ -1918,7 +2007,14 @@
|
||||
"prefs.toast_place": "Сповіщення",
|
||||
"prefs.toggle_item": "Додати або прибрати елемент",
|
||||
"prefs.toolbar": "Панель інструментів",
|
||||
"prefs.toolbar_tabs": "Вкладки панелі інструментів",
|
||||
"prefs.top": "Верх",
|
||||
"prefs.trackpad_zoom_modifier": "Масштабування прокруткою двома пальцями з утриманням",
|
||||
"prefs.trackpad_zoom_modifier.alt": "⌥ / Alt",
|
||||
"prefs.trackpad_zoom_modifier.cmd": "⌘",
|
||||
"prefs.trackpad_zoom_modifier.ctrl": "Ctrl",
|
||||
"prefs.trackpad_zoom_modifier.help": "Утримуйте лише цю клавішу, щоб масштабувати в точці курсора вертикальною прокруткою. Вимкнено — поточна поведінка прокрутки зберігається.",
|
||||
"prefs.trackpad_zoom_modifier.off": "Вимк.",
|
||||
"prefs.translucent": "Напівпрозорий",
|
||||
"prefs.under_browser": "Під браузером",
|
||||
"prefs.under_cursor": "Під курсором",
|
||||
@@ -1928,9 +2024,14 @@
|
||||
"prefs.view_confirm_corner": "OK і Скасувати в куті виду",
|
||||
"prefs.view_confirm_corner_note": "Поки відкрито діалог або ескіз, галочка й хрестик у правому верхньому куті виду роблять те саме, що OK і Скасувати в діалозі, або завершують і скасовують ескіз. Навігатор виду зсувається нижче.",
|
||||
"prefs.viewport": "Вікно перегляду",
|
||||
"prefs.viewport_background": "Фон вікна перегляду",
|
||||
"prefs.viewport_background_colour": "Колір",
|
||||
"prefs.viewport_background_theme": "Градієнт теми",
|
||||
"prefs.wheel": "Колесо",
|
||||
"prefs.wheel_trackpad": "Колесо й трекпад",
|
||||
"prefs.workspace": "Робоча область",
|
||||
"prefs.zoom_stop_at_model": "Зупиняти масштаб на моделі",
|
||||
"prefs.zoom_stop_at_model_tip": "3D-миша та застосунок пристрою масштабують до поверхні в центрі виду; масштабування перетягуванням утримує точку початку. Вимкнено: масштаб може проходити крізь модель. Колесо й стискання окремо використовують «Масштаб до курсора»",
|
||||
"prefs.zoom_toward_cursor": "Масштаб до курсора",
|
||||
"properties.title": "Властивості: {name}",
|
||||
"recovery.days_ago": "{count} дн. тому",
|
||||
@@ -2019,6 +2120,7 @@
|
||||
"render.appearance_editor.weight": "Вага",
|
||||
"render.appearance_physics_separate": "Візуальний вигляд не задає густину, теплові дані чи інші інженерні властивості.",
|
||||
"render.appearances": "Вигляди",
|
||||
"render.assign_help": "Клацніть, щоб застосувати до виділення; перетягніть для попереднього перегляду й відпустіть або клацніть без виділення, щоб нанести.",
|
||||
"render.availability_native": "Вбудована композиція; перегляньте перед застосуванням",
|
||||
"render.availability_projection": "Підтримувана проєкція; див. обсяг і пропуски",
|
||||
"render.availability_reference": "Довідкові дані; не автоматичне призначення",
|
||||
@@ -2057,6 +2159,7 @@
|
||||
"render.bloom_threshold": "Лінійний поріг відблисків",
|
||||
"render.browse_capabilities": "Переглянути повний каталог можливостей",
|
||||
"render.browse_environments": "Переглянути оригінальні середовища HDR",
|
||||
"render.browse_looks": "Огляд…",
|
||||
"render.browse_native_scenes": "Переглянути вбудовані студії",
|
||||
"render.browse_physical": "Переглянути фізичні еталони",
|
||||
"render.browse_quality": "Переглянути специфікації якості",
|
||||
@@ -2080,6 +2183,82 @@
|
||||
"render.check_opaque": "Прозорість: лише непрозорі поверхні; альфа-канал фону підтримується.",
|
||||
"render.check_sorted_alpha": "Прозорість: наближення з сортуванням за альфою.",
|
||||
"render.check_transmission": "Прозорість: фізичне пропускання світла.",
|
||||
"render.children.absolute_floor": "Абсолютний поріг",
|
||||
"render.children.adaptive": "Адаптивна вибірка",
|
||||
"render.children.add_look_reason": "Додайте стиль, щоб змінити його ввімкнення та силу.",
|
||||
"render.children.all_shots": "Усі кадри",
|
||||
"render.children.bloom": "Світіння",
|
||||
"render.children.check": "Перевірити",
|
||||
"render.children.check_now": "Перевірити зараз",
|
||||
"render.children.chromatic": "Хроматичне",
|
||||
"render.children.compact": "Компактний",
|
||||
"render.children.contrast": "Контраст",
|
||||
"render.children.copy_image": "Копіювати",
|
||||
"render.children.copy_job": "Копіювати JSON завдання",
|
||||
"render.children.copy_request": "Копіювати JSON запиту",
|
||||
"render.children.coverage_error": "Похибка покриття",
|
||||
"render.children.cpu": "Трасування променів на CPU",
|
||||
"render.children.denoise": "Зменшення шуму",
|
||||
"render.children.depth": "Глибина шляху",
|
||||
"render.children.distortion": "Спотворення",
|
||||
"render.children.edge_samples": "Вибірки країв",
|
||||
"render.children.effects_banner": "Ці ефекти потребують трасування шляхів на GPU. Відкриття цього ніколи не змінює метод.",
|
||||
"render.children.enable_adaptive": "Увімкніть незалежні проби, щоб змінити адаптивні межі.",
|
||||
"render.children.enable_bloom": "Увімкніть свічення, щоб змінити його силу, поріг і радіус.",
|
||||
"render.children.finishing": "Оздоблення",
|
||||
"render.children.flare": "Відблиск",
|
||||
"render.children.fresnel": "Шари Френеля",
|
||||
"render.children.ghosts": "Кільця-привиди",
|
||||
"render.children.glass": "Перенесення світла у склі",
|
||||
"render.children.go_to": "Перейти до {editor}",
|
||||
"render.children.grain": "Зерно",
|
||||
"render.children.halo": "Гало",
|
||||
"render.children.hdr": "HDR",
|
||||
"render.children.keep_master": "Зберігати необроблений лінійний майстер",
|
||||
"render.children.last_result": "Останній: {number} · {width} × {height} · {phase}",
|
||||
"render.children.lens_effects": "Ефекти об'єктива",
|
||||
"render.children.look_summary": "{tone} · стилів: {count}",
|
||||
"render.children.looks": "Стилі вигляду",
|
||||
"render.children.memory": "Пам'ять",
|
||||
"render.children.method": "Метод",
|
||||
"render.children.minimum": "Мінімум",
|
||||
"render.children.needs_cpu": "Потрібне трасування променів на CPU. Відкриття цього ніколи не змінює метод.",
|
||||
"render.children.nested": "Сертифіковані вкладені діелектрики",
|
||||
"render.children.not_checked": "Не перевірено",
|
||||
"render.children.path": "Трасування шляхів",
|
||||
"render.children.pilots": "Пробні вибірки",
|
||||
"render.children.preview": "Дані попереднього перегляду",
|
||||
"render.children.progressive_reason": "Виберіть «Поступове», щоб змінити кількість вибірок і початкове значення.",
|
||||
"render.children.radius": "Радіус",
|
||||
"render.children.reflect_depth": "Глибина відбиття",
|
||||
"render.children.reflect_samples": "Вибірки відбиття",
|
||||
"render.children.regrade": "Повторне градуювання",
|
||||
"render.children.relative_error": "Відносна похибка",
|
||||
"render.children.render": "Рендеринг",
|
||||
"render.children.render_shot": "Відрендерити кадр",
|
||||
"render.children.renderer": "Рендерер",
|
||||
"render.children.renderers": "Рендерери",
|
||||
"render.children.request": "Цей запит",
|
||||
"render.children.reset_finishing": "Скинути оздоблення",
|
||||
"render.children.review_quality": "Переглянути специфікацію якості…",
|
||||
"render.children.rgb_gain": "Підсилення RGB",
|
||||
"render.children.samples": "Вибірки",
|
||||
"render.children.sampling": "Дискретизація",
|
||||
"render.children.saturation": "Насиченість",
|
||||
"render.children.scene_summary": "Тіл: {bodies} · трикутників: {triangles}",
|
||||
"render.children.seed": "Початкове значення",
|
||||
"render.children.sharpening": "Підвищення різкості",
|
||||
"render.children.single_image": "Одне зображення",
|
||||
"render.children.soft_focus": "М'який фокус",
|
||||
"render.children.streak": "Смуга",
|
||||
"render.children.strength": "Сила",
|
||||
"render.children.studio": "Студія",
|
||||
"render.children.threshold": "Поріг",
|
||||
"render.children.tone": "Тон",
|
||||
"render.children.under_hood": "Технічні подробиці",
|
||||
"render.children.vignette": "Віньєтування",
|
||||
"render.children.workstation": "Робоча станція",
|
||||
"render.choose_look": "Спершу виберіть стиль у розділі «Вигляд»",
|
||||
"render.chromatic_offset": "Хроматичне зміщення країв",
|
||||
"render.clear_stage": "Видалити збережену сцену",
|
||||
"render.copy_request": "Копіювати JSON",
|
||||
@@ -2331,8 +2510,33 @@
|
||||
"render.flare_strength": "Сила відблиску яскравих місць",
|
||||
"render.flare_threshold": "Поріг відблиску в лінійній сцені",
|
||||
"render.fold_browser": "Згорнути браузер",
|
||||
"render.frame_aspect": "Співвідношення сторін",
|
||||
"render.frame_centre_mark": "Центральна позначка",
|
||||
"render.frame_copy_limit": "Немає вільної назви для копії кадру",
|
||||
"render.frame_copy_name": "{name} — копія {number}",
|
||||
"render.frame_custom": "Власне",
|
||||
"render.frame_distance_unit": " × розмір",
|
||||
"render.frame_duplicate": "Дублювати",
|
||||
"render.frame_exposure": "Експозиція",
|
||||
"render.frame_fov": "Поле зору",
|
||||
"render.frame_guides": "Напрямні",
|
||||
"render.frame_invalid_aspect": "Недійсний набір співвідношення сторін",
|
||||
"render.frame_lens": "FOV {fov}° · ≈ {mm} мм",
|
||||
"render.frame_name": "Назва",
|
||||
"render.frame_output_size": "Розмір виводу",
|
||||
"render.frame_photo": "3:2 · Фото",
|
||||
"render.frame_portrait": "4:5 · Портрет",
|
||||
"render.frame_presets": "Набори кадрування",
|
||||
"render.frame_presets_pending": "З'явиться разом із редактором кадрів",
|
||||
"render.frame_projection": "Проєкція",
|
||||
"render.frame_render_shot": "Відрендерити цей кадр",
|
||||
"render.frame_rule_thirds": "Правило третин",
|
||||
"render.frame_safe_area": "Безпечна зона",
|
||||
"render.frame_shot_title": "Кадр · {name}",
|
||||
"render.frame_square": "1:1 · Квадрат",
|
||||
"render.frame_tall": "9:16 · Вертикальний",
|
||||
"render.frame_thirds": "Третини",
|
||||
"render.frame_wide": "16:9 · Широкоекранний",
|
||||
"render.gpu_depth": "Максимальна глибина шляху",
|
||||
"render.gpu_options_help": "Вибірки, глибина, початкове значення та експозиція зберігаються разом із цим набором налаштувань. Зберігається лише активний метод зображення.",
|
||||
"render.gpu_path_failed": "Трасувальник шляхів GPU недоступний",
|
||||
@@ -2360,6 +2564,7 @@
|
||||
"render.heading_results": "РЕЗУЛЬТАТИ",
|
||||
"render.heading_shots": "КАДРИ",
|
||||
"render.hide_shots_label": "Сховати стрічку кадрів",
|
||||
"render.hover_look": "{object} · {look} · клацніть, щоб вибрати",
|
||||
"render.image_advanced": "Додаткові параметри GPU",
|
||||
"render.image_cancelled": "Рендеринг скасовано",
|
||||
"render.image_cancelling": "Скасування",
|
||||
@@ -2506,17 +2711,95 @@
|
||||
"render.library_uniform_ack": "Використати однорідне наближення без просторових чи розширених ефектів",
|
||||
"render.library_usable": "Виконувані проєкції",
|
||||
"render.library_users": "Використовують",
|
||||
"render.light_aim": "Спрямувати на",
|
||||
"render.light_anchor_pending": "Зміна системи координат світла поки не підтримується.",
|
||||
"render.light_azimuth": "Азимут",
|
||||
"render.light_backend_limit": "Виберіть трасування променів на CPU або явну студію GPU, щоб редагувати освітлення. Застарілі джерела світла студії GPU залишаються доступними лише для читання.",
|
||||
"render.light_behaviour": "ПОВЕДІНКА",
|
||||
"render.light_default_fill": "Заповнювальне",
|
||||
"render.light_default_key": "Основне",
|
||||
"render.light_default_number": "Джерело світла {number}",
|
||||
"render.light_default_rim": "Контурне",
|
||||
"render.light_delete": "Видалити",
|
||||
"render.light_distance": "Відстань",
|
||||
"render.light_duplicate": "Дублювати",
|
||||
"render.light_elevation": "Кут піднесення",
|
||||
"render.light_gpu_punctual": "Точкові й прожекторні джерела світла доступні з трасуванням променів на CPU.",
|
||||
"render.light_hard_shadow": "Це джерело світла має жорсткі тіні; м'якість випромінювача недоступна.",
|
||||
"render.light_intensity": "Інтенсивність",
|
||||
"render.light_missing": "Цього джерела світла більше немає. Виберіть джерело світла в браузері.",
|
||||
"render.light_place_highlight": "Розмістити за підсвічуванням",
|
||||
"render.light_place_pending": "Розміщення за підсвічуванням потребує вибору джерел світла у вікні перегляду й поки не підтримується.",
|
||||
"render.light_position": "ПОЛОЖЕННЯ",
|
||||
"render.light_preview_help": "Живий вид без тіней; площинні джерела світла використовують наближення за центральною вибіркою. Рендеринг використовує повну модель освітлення.",
|
||||
"render.light_product_centre": "Центр виробу",
|
||||
"render.light_size": "Розмір",
|
||||
"render.light_softness": "М'якість",
|
||||
"render.light_temperature": "Колірна температура",
|
||||
"render.light_temperature_help": "Наближений відтінок абсолютно чорного тіла; зберігається як лінійний RGB.",
|
||||
"render.light_type": "Тип",
|
||||
"render.light_type_area": "Площинне",
|
||||
"render.light_type_point": "Точкове",
|
||||
"render.light_type_spot": "Прожектор",
|
||||
"render.light_type_sun": "Сонце",
|
||||
"render.light_view_only": "«Лише це джерело» та заглушення впливають на цей вид і його рендери; вони ніколи не зберігаються в проєкті.",
|
||||
"render.light_world_origin": "Світовий початок координат",
|
||||
"render.lighting_aim_point": "Точка наведення",
|
||||
"render.lighting_apply": "Застосувати шаблон",
|
||||
"render.lighting_area_samples": "Вибірки площинного світла",
|
||||
"render.lighting_budget": "Бюджет",
|
||||
"render.lighting_budget_help": "Лічильники доступні лише для читання. Додавайте, дублюйте або видаляйте джерела світла, щоб змінити їх; метод задає межі.",
|
||||
"render.lighting_colour": "Колір",
|
||||
"render.lighting_consent": "Замінити спрямовані джерела світла цим шаблоном",
|
||||
"render.lighting_custom": "Власне освітлення",
|
||||
"render.lighting_custom_help": "Вибір «Власне» перетворює шаблон на редаговані джерела світла, по одному рядку в дереві.",
|
||||
"render.lighting_direction": "Напрямок X Y Z",
|
||||
"render.lighting_direction_help": "Або введіть напрямок до джерела світла (X Y Z).",
|
||||
"render.lighting_distance_unit": " × розмір",
|
||||
"render.lighting_edge_u": "Вектор сторони U",
|
||||
"render.lighting_edge_v": "Вектор сторони V",
|
||||
"render.lighting_falloff": "Спад",
|
||||
"render.lighting_falloff_help": "Інтенсивність задано на еталонній відстані.",
|
||||
"render.lighting_height": "Висота V",
|
||||
"render.lighting_minimum": "Мінімум",
|
||||
"render.lighting_mute": "Заглушити це джерело світла",
|
||||
"render.lighting_point": "Точкове",
|
||||
"render.lighting_preset": "Шаблон освітлення",
|
||||
"render.lighting_preset_cpu": "Спрямовані студійні шаблони потребують трасування променів на CPU. Освітлення GPU використовує явні джерела «Сонце» та «Площинне».",
|
||||
"render.lighting_preset_row": "Шаблон",
|
||||
"render.lighting_radiance": "Яскравість",
|
||||
"render.lighting_reference": "Еталонна відстань",
|
||||
"render.lighting_review_help": "Замінює список спрямованих джерел світла. Зберігає точкові та площинні джерела, середовище, тіні, камеру й усі інші налаштування кадру.",
|
||||
"render.lighting_review_title": "Переглянути шаблон освітлення",
|
||||
"render.lighting_samples_cpu": "Вибірки площинного світла застосовуються до трасування променів на CPU.",
|
||||
"render.lighting_samples_need_area": "Додайте площинне джерело світла CPU, щоб задати вибірки площинного світла.",
|
||||
"render.lighting_samples_reason": "Вибірки площинного світла мають бути 1, 4, 16 або 64.",
|
||||
"render.lighting_shadow_cpu": "Перемикач тіней потребує трасування променів на CPU. Трасування шляхів на GPU завжди відкидає тіні.",
|
||||
"render.lighting_shadows": "Відкидати тіні",
|
||||
"render.lighting_shadows_section": "Тіні та дискретизація",
|
||||
"render.lighting_shape": "Форма",
|
||||
"render.lighting_solo": "Лише це джерело світла",
|
||||
"render.lighting_source": "Джерело",
|
||||
"render.lighting_source_section": "Джерело світла",
|
||||
"render.lighting_spot_preserved": "Це точкове джерело світла зберігає раніше заданий конус прожектора, доки не змінено його тип.",
|
||||
"render.lighting_sun_distance": "Напрямок сонця не залежить від відстані та точки наведення.",
|
||||
"render.lighting_unsupported": "не підтримується",
|
||||
"render.lighting_used": "{used} з {limit}",
|
||||
"render.lighting_width": "Ширина U",
|
||||
"render.lighting_world_position": "Світові X Y Z",
|
||||
"render.lights_fixed_to": "Світло прив'язане до",
|
||||
"render.linear_help": "Зберігає 32-бітний float-майстер RGBA до шумозаглушення, експозиції, тональної компресії, фільтрів і тла. Лінійний sRGB/D65; попередньо помножений на покриття. Додаткова пам'ять допускається явно. Без стиснення та додаткових проходів.",
|
||||
"render.linear_retain": "Зберегти необроблений лінійний EXR",
|
||||
"render.linear_unavailable": "У вибраного завершеного кадру немає збереженого EXR. Увімкніть збереження перед рендерингом; старіший PNG не може відновити необроблену яскравість.",
|
||||
"render.look_add": "Додати колірний стиль",
|
||||
"render.look_applied": "Застосовано: {name}",
|
||||
"render.look_bleach": "У дусі bleach bypass",
|
||||
"render.look_cool": "Холодний",
|
||||
"render.look_cyanotype": "У дусі ціанотипії",
|
||||
"render.look_faded": "Вицвілий відбиток",
|
||||
"render.look_material": "Матеріал",
|
||||
"render.look_mono": "Монохромний",
|
||||
"render.look_pasted": "Стиль вставлено",
|
||||
"render.look_sepia": "Сепія",
|
||||
"render.look_strength": "Сила стилю",
|
||||
"render.look_teal_orange": "Бірюзовий / помаранчевий",
|
||||
@@ -2592,9 +2875,11 @@
|
||||
"render.output_advanced": "Додатково",
|
||||
"render.output_backend_ready": "Готово",
|
||||
"render.output_check": "Перевірити",
|
||||
"render.output_check_failed": "Перевірка · помилка",
|
||||
"render.output_check_help": "Натисніть «Перевірити», щоб переглянути запит без запуску рендерингу.",
|
||||
"render.output_check_summary": "Перевірка · Примітки: {count}",
|
||||
"render.output_copy": "Копіювати",
|
||||
"render.output_copy_report": "Копіювати звіт",
|
||||
"render.output_destination": "Файл призначення",
|
||||
"render.output_destination_help": "Виберіть файл призначення під час експорту готового зображення.",
|
||||
"render.output_dimensions": "Розмір",
|
||||
@@ -2604,6 +2889,7 @@
|
||||
"render.output_fit": "Вписати",
|
||||
"render.output_format": "Формат",
|
||||
"render.output_format_status": "PNG — це точне завершене зображення для показу. Необов'язковий GPU EXR зберігає необроблений сцено-лінійний радіанс FLOAT32 до фільтрів відображення. Експорт ніколи не підставляє кеш попереднього перегляду чи інше завдання.",
|
||||
"render.output_grading": "Градуювання",
|
||||
"render.output_image": "Зображення",
|
||||
"render.output_largest": "макс. {width} × {height}",
|
||||
"render.output_lock_ratio": "Зафіксувати співвідношення сторін",
|
||||
@@ -2613,6 +2899,8 @@
|
||||
"render.output_quality_waiting": "очікування контракту якості",
|
||||
"render.output_ratio_refused": "Пов'язаний розмір перевищує обмеження цього методу. Попередній розмір збережено; розблокуйте співвідношення або виберіть менше значення.",
|
||||
"render.output_ready": "Готово до рендерингу",
|
||||
"render.output_run_check": "Запустити перевірку",
|
||||
"render.output_size_limit": "{method}: до {dimension} px на сторону та {pixels} пікселів. Найбільший придатний розмір: {width} × {height}.",
|
||||
"render.output_size_ok": "Розмір допустимий · {width} × {height} px",
|
||||
"render.output_swap_orientation": "Поміняти місцями ширину та висоту",
|
||||
"render.output_tools_inspector": "Змініть розмір і формат в інспекторі «Вивід».",
|
||||
@@ -2629,6 +2917,7 @@
|
||||
"render.page_output": "Вивід",
|
||||
"render.page_scene": "Сцена",
|
||||
"render.paint_label": "Нанести",
|
||||
"render.painting_with": "Нанесення: {name}",
|
||||
"render.passive_stage": "Земля та пасивна сцена",
|
||||
"render.passive_stage_help": "Скінченні пасивні панелі існують лише на відрендерених зображеннях. Вони не додають тіл CAD чи маси. Розташування фіксується після застосування; перетин із межами виробу відхиляється. CPU не забезпечує дифузного відбитого освітлення.",
|
||||
"render.perspective": "Перспективна камера",
|
||||
@@ -2650,6 +2939,7 @@
|
||||
"render.pick_help": "Виберіть тіло, грань або компонент. Клацніть на порожньому місці, щоб скасувати вибір; Shift або Ctrl додає чи перемикає. Підсвічування видно лише в живому виді виробу.",
|
||||
"render.pick_label": "Вибір",
|
||||
"render.pick_up_label": "Взяти",
|
||||
"render.pick_up_prompt": "Клацніть об'єкт, щоб узяти його стиль",
|
||||
"render.pick_waiting": "Вибір у виді виробу поки не підтримується.",
|
||||
"render.post_contrast": "Контраст",
|
||||
"render.post_gain_b": "Підсилення синього",
|
||||
@@ -2689,13 +2979,17 @@
|
||||
"render.radial_distortion": "Радіальне спотворення",
|
||||
"render.radial_fit": "Вписати виріб",
|
||||
"render.radial_save": "Зберегти кадр",
|
||||
"render.recent_looks": "Недавні стилі",
|
||||
"render.regrade_action": "Повторно градуювати необроблений майстер (без шумозаглушення)",
|
||||
"render.regrade_help": "Створює окремий PNG із вибраного завершеного необробленого майстра за цими параметрами подачі. Не трасує промені, не змінює зафіксований розмір, камеру чи світло та не перезаписує EXR. Шумозаглушення не застосовується повторно: необроблені майстри не зберігають його допоміжних буферів. Похідне зображення можна експортувати тими самими елементами керування завданням.",
|
||||
"render.regrade_label": "Корекція",
|
||||
"render.reload_settings": "Перезавантажити збережені налаштування",
|
||||
"render.remove_override": "Прибрати перевизначення",
|
||||
"render.replace_all": "Замінити все",
|
||||
"render.replace_ground": "Підтвердити заміну наявної сцени",
|
||||
"render.replace_label": "Замінити",
|
||||
"render.replace_saved_surface": "Замінити наявну збережену прив'язку для цієї цілі",
|
||||
"render.replace_with": "Замінити на",
|
||||
"render.restore_camera": "Відновити збережену камеру",
|
||||
"render.result_actual": "100%",
|
||||
"render.result_actual_help": "Один піксель зображення на піксель екрана.",
|
||||
@@ -2747,14 +3041,28 @@
|
||||
"render.saved_surface_remove": "Прибрати збережену прив'язку",
|
||||
"render.saved_surfaces": "Збережені прив'язки поверхонь",
|
||||
"render.saved_surfaces_help": "Закріплені вбудовані карти слідують за вибраним екземпляром у локальних міліметрах. Замінена або відсутня ціль — це помилка, а не автоматичне перепризначення.",
|
||||
"render.scene_all_shots": "Усі кадри ({count})",
|
||||
"render.scene_apply": "Застосувати переглянуту студію",
|
||||
"render.scene_batch_reason": "Для «Усіх кадрів» потрібна черга рендерингу збережених кадрів, якої ще немає.",
|
||||
"render.scene_check_now": "Перевірити зараз",
|
||||
"render.scene_check_passed": "Перевірку пройдено · приміток: {notes}",
|
||||
"render.scene_check_stale": "Перевірка застаріла · перевірте ще раз",
|
||||
"render.scene_check_unchecked": "Ще не перевірено · приміток: 0",
|
||||
"render.scene_consent": "Підтвердьте заміну освітлення, середовища, експозиції та майданчика",
|
||||
"render.scene_light_summary": "{environment} · джерел світла: {lights}",
|
||||
"render.scene_look_summary": "Стилів: {looks} · перевизначень: {overrides}",
|
||||
"render.scene_open_check": "Відкрити перевірку",
|
||||
"render.scene_preserved_fields": "Камера, вибірка, розміри, оптичні прив'язки, CAD-геометрія та інженерні матеріали зберігаються.",
|
||||
"render.scene_preserves_design": "Складає освітлення та пасивний майданчик для видимого об'єкта. Геометрія, інженерні матеріали й камера залишаються окремими.",
|
||||
"render.scene_ready": "Готово до рендерингу",
|
||||
"render.scene_reminder": "Сцена зберігає проєкт. Геометрія, інженерні властивості та CAD-дані ніколи не змінюються з рендерингу.",
|
||||
"render.scene_reminders": "Нагадування",
|
||||
"render.scene_renderer_ready": "{renderer} готовий",
|
||||
"render.scene_replaces": "Замінює",
|
||||
"render.scene_review": "Визначити й переглянути",
|
||||
"render.scene_review_help": "Перегляньте повну вбудовану композицію перед застосуванням. Непов'язані розширені специфікації SCENE не підставляються.",
|
||||
"render.scene_scope_details": "Обсяг композиції",
|
||||
"render.scene_stages": "Етапи",
|
||||
"render.search_appearances": "Пошук серед виглядів: {count}",
|
||||
"render.setup_legacy_environment": "Це старіше налаштування використовує застарілі обертання чи інтенсивність середовища. Ці значення зберігаються; явно перетворіть їх перед збереженням повного завдання зображення.",
|
||||
"render.setup_name": "Назва налаштування",
|
||||
@@ -2767,7 +3075,22 @@
|
||||
"render.shell_tab_camera": "КАМЕРА РЕНДЕРИНГУ",
|
||||
"render.shell_tab_lighting": "ОСВІТЛЕННЯ",
|
||||
"render.shell_tab_scene": "СЦЕНА РЕНДЕРИНГУ",
|
||||
"render.shot_aperture": "Діафрагма",
|
||||
"render.shot_distance": "Відстань",
|
||||
"render.shot_dof": "Глибина різкості",
|
||||
"render.shot_duplicate": "Дублювати збережений кадр",
|
||||
"render.shot_edit_output": "Редагувати у виводі",
|
||||
"render.shot_exposure_reason": "Експозиція потребує трасування променів на CPU або трасування шляхів на GPU.",
|
||||
"render.shot_exposure_section": "Експозиція",
|
||||
"render.shot_focus_distance": "Відстань фокусування",
|
||||
"render.shot_fov_reason": "Поле зору потребує перспективної проєкції.",
|
||||
"render.shot_frame_subject": "Кадрувати об'єкт",
|
||||
"render.shot_invalid_camera": "Значення камери мають бути скінченними й у межах діапазону.",
|
||||
"render.shot_lens": "Об'єктив",
|
||||
"render.shot_lens_enable_reason": "Увімкніть глибину різкості, щоб змінити діафрагму й відстань фокусування.",
|
||||
"render.shot_lens_gpu_reason": "Глибина різкості потребує трасування шляхів на GPU.",
|
||||
"render.shot_lens_perspective_reason": "Глибина різкості потребує перспективної проєкції.",
|
||||
"render.shot_look_selection": "Спрямувати на виділення",
|
||||
"render.shot_manager": "Збережені кадри",
|
||||
"render.shot_new_name": "Назва нового кадру",
|
||||
"render.shot_remove": "Прибрати збережений кадр",
|
||||
@@ -2775,6 +3098,9 @@
|
||||
"render.shot_remove_title": "Прибрати збережений кадр?",
|
||||
"render.shot_rename": "Перейменувати збережений кадр",
|
||||
"render.shot_saved_only": "Спершу збережіть поточну чернетку. Дублювання та перейменування зберігають точні збережені параметри й посилання на ресурси.",
|
||||
"render.shot_selection_reason": "Виберіть тіло або грань, на яку спрямувати.",
|
||||
"render.shot_size": "Розмір",
|
||||
"render.shot_target": "Ціль",
|
||||
"render.shots_camera_changed": "Камера змінилася після збереження цього кадру",
|
||||
"render.shots_name_help": "Введіть унікальну назву поточного кадру.",
|
||||
"render.shots_no_result": "Рендерингу ще немає",
|
||||
@@ -2997,6 +3323,13 @@
|
||||
"render.wait_pick_up": "ще не підтримується: вибір у виді виробу та взяття зразка вигляду",
|
||||
"render.wait_replace": "ще не підтримується: заміна всіх використань вигляду",
|
||||
"render.wait_solo": "ще не підтримується: видимість світла та режим «лише це світло»",
|
||||
"render.wear_applies_to": "Застосовується до",
|
||||
"render.wear_layer_count": "{count} шарів",
|
||||
"render.wear_layer_one": "{count} шар",
|
||||
"render.wear_layers": "Шари",
|
||||
"render.wear_no_layers": "Немає шарів",
|
||||
"render.wear_selected_layer": "Вибраний шар",
|
||||
"render.wear_title": "Старіння",
|
||||
"sample.bracket.about": "Основна полиця з кромковими полицями та загином за правилом 2 mm",
|
||||
"sample.bracket.name": "Кронштейн з листового металу",
|
||||
"sample.enclosure.about": "Оболонковий корпус із буртиком, бобишками під гвинти, упором і клацковим з'єднанням",
|
||||
@@ -3030,6 +3363,7 @@
|
||||
"select an axis": "виберіть вісь",
|
||||
"select an axis, a straight or circular edge, or a cylinder, cone or torus face first": "спершу виберіть вісь, пряме або кругове ребро чи грань циліндра, конуса або тора",
|
||||
"select bodies first": "спершу виберіть тіла",
|
||||
"select components first": "Спочатку виберіть компоненти",
|
||||
"select corner points, or the two lines of one corner": "виберіть кутові точки або дві лінії одного кута",
|
||||
"select one corner point, or the two lines of one corner": "виберіть одну кутову точку або дві лінії одного кута",
|
||||
"select sheet edges first": "спершу виберіть ребра листа",
|
||||
@@ -3048,6 +3382,7 @@
|
||||
"settings.double_click_components": "Двічі клацніть компонент, щоб активувати його або відредагувати пов'язаний компонент на місці",
|
||||
"settings.frame_rate_details_note": "Додає графік часу останніх кадрів із накладеними поверх нього трикутниками, гістограму часу кадрів і те, що намалював GPU. Клацніть частоту кадрів на виді, щоб показати чи сховати їх.",
|
||||
"settings.frame_rate_note": "Показує кадри за секунду в правому нижньому куті виду.",
|
||||
"settings.insert_lists_open_designs": "Вставлення проєкту спершу показує проєкти, відкриті в інших вкладках",
|
||||
"settings.measure_axis_distances": "Відстані X/Y/Z",
|
||||
"settings.measure_axis_distances_help": "Показувати розміри вздовж світових осей разом із загальною відстанню, поки відкрите вікно вимірювання.",
|
||||
"settings.msaa_applies_on_restart": "Згладжування застосується під час наступного запуску SolidCraft",
|
||||
@@ -3072,6 +3407,10 @@
|
||||
"shortcut.unpin": "Відкріпити",
|
||||
"sketch is missing": "ескіз відсутній",
|
||||
"sketch.degrees_of_freedom": "{count} ступенів вільності",
|
||||
"sketch.dimension_added_driven": "Ескіз уже визначає цей розмір, тому його додано як опорний (ведений) розмір",
|
||||
"sketch.dimension_applied": "Розмір застосовано",
|
||||
"sketch.dimension_applied_defined": "Розмір застосовано; визначено параметр «{name}»",
|
||||
"sketch.dimension_applied_renamed": "Розмір застосовано; параметр перейменовано на «{name}»",
|
||||
"sketch.dof_left": "Залишилося ступенів свободи: {count}",
|
||||
"sketch.dof_left_one": "Залишився {count} ступінь свободи",
|
||||
"sketch.draw_curves": "Малювати як {linetype}",
|
||||
@@ -3106,6 +3445,8 @@
|
||||
"sketch_text.use_font_file": "Використати файл шрифту {path}",
|
||||
"solid": "суцільне",
|
||||
"status.editing": "Редагування: {name}",
|
||||
"status.navigation": "Призначення миші: {mapping}",
|
||||
"status.navigation_tip": "Як миша рухає вид. Клацніть, щоб вибрати інше призначення",
|
||||
"status.under_constrained": "Недостатньо обмежено (ступенів вільності: {count})",
|
||||
"status.under_constrained_one": "Недостатньо обмежено (ступенів вільності: {count})",
|
||||
"status.units_tip": "Одиниці проєкту. Клацніть, щоб змінити їх",
|
||||
@@ -3139,16 +3480,20 @@
|
||||
"timeline.delete_folders_tip": "Зберегти їхні операції та вкладені теки в історії",
|
||||
"timeline.delete_folders_with_features_tip": "Видалити теки з усіма операціями в них і вкладеними теками",
|
||||
"timeline.delete_many": "Видалити вибрані операції: {count}",
|
||||
"timeline.edited_rolled_back": "{name} змінено, але воно після маркера історії, тому не побудовано: перемістіть маркер далі, щоб побачити результат",
|
||||
"timeline.feature_error": "Помилка: {message}",
|
||||
"timeline.feature_hint": "Двічі клацніть, щоб змінити · перетягніть, щоб змінити порядок · права кнопка миші — більше",
|
||||
"timeline.feature_rolled_back": "Відкочено: після маркера історії, тому не побудовано",
|
||||
"timeline.feature_warning": "Попередження: {message}",
|
||||
"timeline.group": "Нова тека операцій",
|
||||
"timeline.move_many": "Перемістити елементи часового ланцюжка",
|
||||
"timeline.move_to_group": "Перемістити операції до теки",
|
||||
"timeline.rename_group": "Перейменувати теку операцій",
|
||||
"timeline.reorder_many": "Перевпорядкувати операції",
|
||||
"timeline.suppress_features": "Придушити операції",
|
||||
"timeline.suppress_folders_tip": "Придушити або скасувати придушення всіх операцій у теках і вкладених теках",
|
||||
"timeline.ungroup": "Прибрати теки операцій",
|
||||
"timeline.unsuppress_features": "Скасувати придушення операцій",
|
||||
"to the face": "до грані",
|
||||
"to the next face": "до наступної грані",
|
||||
"toolbar.customize_note": "Вкладка {tab}. Позначте команду, щоб додати її кнопку на панель інструментів. Також можна перетягнути рядок зі спадного меню панелі на панель інструментів, перетягнути кнопку за межі панелі для видалення або скористатися значком закріплення в рядку спадного меню.",
|
||||
@@ -3220,6 +3565,10 @@
|
||||
"ui.3d_mouse_offer": "Калібрування 3D-миші виправляє переплутані або обернені осі та налаштовує швидкість і відчуття.",
|
||||
"ui.3d_mouse_offer_never": "Більше не показувати",
|
||||
"ui.3d_mouse_offer_swap": "Перемкнути на Hidraw (прямий драйвер)",
|
||||
"ui.3d_mouse_orbit": "Обертання",
|
||||
"ui.3d_mouse_orbit_classic": "Класичне",
|
||||
"ui.3d_mouse_orbit_tip": "Трасоване: 3D-миша обертає вид навколо точки на моделі в центрі екрану. Класичне: навколо центру виду",
|
||||
"ui.3d_mouse_orbit_traced": "Трасоване",
|
||||
"ui.3d_mouse_reading": "Показники",
|
||||
"ui.3d_mouse_reset_axes": "Скинути призначення осей",
|
||||
"ui.3d_mouse_reset_view": "Скинути вигляд",
|
||||
@@ -3562,6 +3911,8 @@
|
||||
"ui.cancel": "Скасувати",
|
||||
"ui.canvases": "Полотна",
|
||||
"ui.center": "Центр",
|
||||
"ui.center_arc_follows_cursor": "Дуга за центром іде за напрямком курсора",
|
||||
"ui.center_arc_follows_cursor_tip": "Дуга за центром іде за годинниковою або проти годинникової стрілки відповідно до руху курсора навколо центра. Вимкнено: завжди проти годинникової стрілки від початку.",
|
||||
"ui.centerline": "Осьова лінія",
|
||||
"ui.chain": "Ланцюг",
|
||||
"ui.chamfer": "Фаска",
|
||||
@@ -3604,6 +3955,7 @@
|
||||
"ui.constant": "Стала",
|
||||
"ui.constraints_conflict": "Конфлікт обмежень",
|
||||
"ui.construction": "Конструкційна",
|
||||
"ui.construction.ribbon_label": "Доп. лінії",
|
||||
"ui.context_menu": "Контекстне меню",
|
||||
"ui.continuity_g0": "G0 злам",
|
||||
"ui.continuity_g1": "G1 дотичність",
|
||||
@@ -3695,6 +4047,14 @@
|
||||
"ui.end_scale": "Масштаб у кінці",
|
||||
"ui.entities": "Елементи",
|
||||
"ui.equal": "Рівність",
|
||||
"ui.equation_end": "Кінець",
|
||||
"ui.equation_explicit": "Явна",
|
||||
"ui.equation_form": "Форма",
|
||||
"ui.equation_note": "Змінна — звичайне число: sin(t) сприймає радіани. Результат без одиниць виміру береться в одиницях проєкту.",
|
||||
"ui.equation_parametric": "Параметрична",
|
||||
"ui.equation_x_of_t": "X(t)",
|
||||
"ui.equation_y_of_t": "Y(t)",
|
||||
"ui.equation_y_of_x": "Y(x)",
|
||||
"ui.equivalent_radius": "Еквівалентний радіус",
|
||||
"ui.expand": "Розгорнути",
|
||||
"ui.exportDxf": "Експорт DXF…",
|
||||
@@ -3760,6 +4120,7 @@
|
||||
"ui.heading_design": "ПРОЄКТ",
|
||||
"ui.heading_draft": "УХИЛ",
|
||||
"ui.heading_edit": "РЕДАГУВАТИ",
|
||||
"ui.heading_equation_curve": "КРИВА ЗА РІВНЯННЯМ",
|
||||
"ui.heading_extrude": "ВИДАВЛЮВАННЯ",
|
||||
"ui.heading_fillet": "ЗАОКРУГЛЕННЯ",
|
||||
"ui.heading_finish_editing": "ЗАВЕРШЕННЯ РЕДАГУВАННЯ",
|
||||
@@ -3851,6 +4212,10 @@
|
||||
"ui.import_ellipsis": "Імпорт…",
|
||||
"ui.infinite": "Нескінченна",
|
||||
"ui.insert": "Вставити",
|
||||
"ui.insert_design.browse": "Огляд…",
|
||||
"ui.insert_design.open_designs": "Відкриті проєкти",
|
||||
"ui.insert_design.saved_file": "{name} має незбережені зміни, тому вставлено його збережений файл. Збережіть його, потім оновіть зв'язки, щоб перенести зміни.",
|
||||
"ui.insert_design.unsaved": "Незбережені зміни",
|
||||
"ui.inspect": "Перевірити",
|
||||
"ui.intersect": "Перетин",
|
||||
"ui.isolate": "Ізолювати",
|
||||
@@ -4000,6 +4365,18 @@
|
||||
"ui.project": "Проєктувати",
|
||||
"ui.project_face_edges_sketch": "Проєктувати ребра граней у нові ескізи",
|
||||
"ui.properties": "Властивості",
|
||||
"ui.properties.copy_matrix": "Копіювати матрицю",
|
||||
"ui.properties.first_moments": "Перші моменти",
|
||||
"ui.properties.inertia": "Моменти інерції",
|
||||
"ui.properties.inertia_note": "Відносно центра мас, у світових осях (г·{unit}²)",
|
||||
"ui.properties.inertia_unavailable": "Недоступно: сітка тіла не замкнена.",
|
||||
"ui.properties.inertia_x": "Ixx, Ixy, Ixz",
|
||||
"ui.properties.inertia_y": "Iyx, Iyy, Iyz",
|
||||
"ui.properties.inertia_z": "Izx, Izy, Izz",
|
||||
"ui.properties.measuring": "Вимірювання…",
|
||||
"ui.properties.measuring_failed": "Вимірювання перервано до завершення.",
|
||||
"ui.properties.principal_axis": "Головна вісь {number}",
|
||||
"ui.properties.principal_moments": "Головні моменти",
|
||||
"ui.pull_direction": "Напрямок витягування",
|
||||
"ui.quality": "Якість",
|
||||
"ui.quantity": "Кількість",
|
||||
@@ -4062,6 +4439,7 @@
|
||||
"ui.select": "Вибрати",
|
||||
"ui.selectOther": "Вибрати інше…",
|
||||
"ui.selectTangentChain": "Вибрати дотичний ланцюг",
|
||||
"ui.select_all": "Виділити все",
|
||||
"ui.selection": "Виділення",
|
||||
"ui.selection_modifiers": "Модифікатори вибору",
|
||||
"ui.selection_shift_add_only": "Shift+клацання додає без вилучення",
|
||||
@@ -4098,7 +4476,11 @@
|
||||
"ui.sketch": "Ескіз",
|
||||
"ui.sketch_dimension": "Розмір ескізу",
|
||||
"ui.sketch_grid": "Сітка ескізу",
|
||||
"ui.sketch_intersect_geometry": "Геометрія",
|
||||
"ui.sketch_intersect_projection_link": "Проєкційний зв'язок",
|
||||
"ui.sketch_intersect_selection_filter": "Фільтр вибору",
|
||||
"ui.sketch_modifiers": "Модифікатори ескізу",
|
||||
"ui.sketch_project_geometry": "Геометрія",
|
||||
"ui.sketch_scale": "Масштаб ескізу",
|
||||
"ui.sketches": "Ескізи",
|
||||
"ui.slice": "Розріз",
|
||||
@@ -4149,6 +4531,7 @@
|
||||
"ui.tab_manage": "Керування",
|
||||
"ui.tab_sheet_metal": "Листовий Метал",
|
||||
"ui.tab_view": "Вид",
|
||||
"ui.tab_weldments": "Зварювання",
|
||||
"ui.tangent": "Дотична",
|
||||
"ui.taper_angle": "Кут звуження",
|
||||
"ui.tapped": "З різьбою",
|
||||
@@ -4164,6 +4547,7 @@
|
||||
"ui.tip_angle": "Кут вістря",
|
||||
"ui.to_object": "До об'єкта",
|
||||
"ui.tool_direction": "Напрямок інструмента",
|
||||
"ui.toolbar_tabs_hidden": "Усі вкладки панелі інструментів приховано. Клацніть + або клацніть тут правою кнопкою, щоб показати одну.",
|
||||
"ui.top": "Зверху",
|
||||
"ui.top_diameter": "Верхній діаметр",
|
||||
"ui.top_radius": "Верхній радіус",
|
||||
@@ -4210,6 +4594,7 @@
|
||||
"ui.visual_shaded_with_edges": "Затінений із ребрами",
|
||||
"ui.visual_style": "Стиль відображення",
|
||||
"ui.visual_wireframe": "Каркас",
|
||||
"ui.wheel_zoom_speed": "Швидкість масштабування колесом миші",
|
||||
"ui.width": "Ширина",
|
||||
"ui.window_system": "Віконна система",
|
||||
"ui.window_system_auto": "Автоматично",
|
||||
@@ -4254,13 +4639,18 @@
|
||||
"update.installed": "SolidCraft {version} установлено. Перезапустіть, щоб скористатися.",
|
||||
"update.installer_started": "Інсталятор запуститься, коли SolidCraft закриється.",
|
||||
"update.later": "Нагадати пізніше",
|
||||
"update.managed": "Доступне оновлення: оновіть SolidCraft у {manager}",
|
||||
"update.no_notes": "Цей випуск не має приміток.",
|
||||
"update.package_hint": "Ця копія походить з {kind}. Завантажте новий пакет, а потім установіть його за допомогою:",
|
||||
"update.prefs_dev": "Це збірка для розробки ({version}): вона не перевіряє оновлення.",
|
||||
"update.prefs_flatpak": "Flatpak оновлює цю копію ({version}): виконайте {command} або скористайтеся центром програм. SolidCraft не перевіряє.",
|
||||
"update.prefs_label": "Оновлення",
|
||||
"update.prefs_managed": "Це SolidCraft {version}, яким керує {manager}. Перевірка запитує в GitHub найновіший випуск і більше нічого не надсилає; оновіть SolidCraft у {manager}.",
|
||||
"update.prefs_note": "Це SolidCraft {version} ({kind}). Перевірка запитує в GitHub останній випуск і більше нічого не надсилає.",
|
||||
"update.prefs_web": "Перезавантажте сторінку, щоб отримати останню веб-версію застосунку. Якщо мережа недоступна або оновлення не вдається завантажити вчасно, відкривається збережена версія; завантаження, що триває, продовжується до наступного перезавантаження.",
|
||||
"update.refresh_checking": "Перевірка найновішого випуску…",
|
||||
"update.refresh_fallback": "Не вдалося перевірити новіший випуск; оновлення до {version}, знайденої раніше.",
|
||||
"update.refresh_selected": "Оновлення до {version}.",
|
||||
"update.release_page": "Відкрити сторінку випуску",
|
||||
"update.restart": "Перезапустити зараз",
|
||||
"update.restart_later": "Пізніше",
|
||||
|
||||
@@ -206,6 +206,7 @@
|
||||
"Edges": "Các cạnh",
|
||||
"Edit": "Sửa",
|
||||
"Edit Profile Sketch": "Chỉnh sửa phác thảo biên dạng",
|
||||
"Edit shortcuts": "Sửa phím tắt",
|
||||
"Enable rule": "Bật quy tắc",
|
||||
"Enabled": "Đã kích hoạt",
|
||||
"End Radius": "Bán kính kết thúc",
|
||||
@@ -468,6 +469,7 @@
|
||||
"Radius": "Bán kính",
|
||||
"Radius Fit": "Bán kính vừa vặn",
|
||||
"Ratio": "Tỷ lệ",
|
||||
"Read-only list: shortcuts can't be changed here.": "Danh sách chỉ đọc: không thể thay đổi phím tắt ở đây.",
|
||||
"Reattach selected face": "Gắn lại bề mặt đã chọn",
|
||||
"Recover": "Khôi phục",
|
||||
"Recover unsaved design?": "Khôi phục thiết kế chưa lưu?",
|
||||
@@ -773,6 +775,8 @@
|
||||
"at the face": "tại bề mặt",
|
||||
"bom.group_children": "Chi tiết con trong hàng của chi tiết cha",
|
||||
"browser.body_name": "Thân khối{number}",
|
||||
"browser.calibrate_click_a": "Nhấp vào ảnh để chọn điểm A, hoặc nhập tọa độ của điểm đó.",
|
||||
"browser.calibrate_click_b": "Nhấp vào ảnh để chọn điểm B, hoặc nhập tọa độ của điểm đó.",
|
||||
"browser.calibrate_title": "Hiệu chuẩn: {name}",
|
||||
"browser.capture_many": "{count} chi tiết đã được di chuyển nhưng vị trí chưa được ghi lại.",
|
||||
"browser.capture_note": "Ghi vị trí sẽ giữ vị trí mới; Hoàn nguyên sẽ đặt lại như cũ.",
|
||||
@@ -822,6 +826,7 @@
|
||||
"cmd.browser_move": "Di chuyển mục trong cây đối tượng",
|
||||
"cmd.browser_order": "Sắp xếp các mục trong cây đối tượng",
|
||||
"cmd.browser_rename_group": "Đổi tên nhóm",
|
||||
"cmd.browser_reparent": "Chuyển sang Cụm chi tiết",
|
||||
"cmd.browser_ungroup": "Hủy nhóm",
|
||||
"cmd.browser_visibility": "Hiển thị/Ẩn",
|
||||
"cmd.canvas_calibrate": "Hiệu chuẩn hình ảnh Canvas",
|
||||
@@ -848,7 +853,9 @@
|
||||
"cmd.component_metadata": "Thuộc tính chi tiết",
|
||||
"cmd.component_metadata_set": "Thay đổi thuộc tính chi tiết",
|
||||
"cmd.component_move_bodies": "Di chuyển các thân khối vào cụm chi tiết",
|
||||
"cmd.component_move_features": "Di chuyển các tính năng vào cụm chi tiết",
|
||||
"cmd.component_move_sketches": "Di chuyển các phác thảo vào cụm chi tiết",
|
||||
"cmd.component_paste_from_design": "Dán từ thiết kế khác",
|
||||
"cmd.component_paste_new": "Dán Tạo mới",
|
||||
"cmd.component_properties": "Thuộc tính cơ lý của cụm chi tiết",
|
||||
"cmd.component_relink": "Liên kết lại nguồn",
|
||||
@@ -1076,6 +1083,13 @@
|
||||
"cmd.render_start": "Bắt đầu kết xuất hình ảnh",
|
||||
"cmd.render_status": "Tiến độ kết xuất hình ảnh",
|
||||
"cmd.select_clear": "Hủy chọn tất cả",
|
||||
"cmd.settings_profile_apply": "Áp dụng hồ sơ cài đặt",
|
||||
"cmd.settings_profile_delete": "Xóa hồ sơ cài đặt",
|
||||
"cmd.settings_profile_export": "Xuất hồ sơ cài đặt",
|
||||
"cmd.settings_profile_import": "Nhập hồ sơ cài đặt",
|
||||
"cmd.settings_profile_list": "Hồ sơ cài đặt",
|
||||
"cmd.settings_profile_rename": "Đổi tên hồ sơ cài đặt",
|
||||
"cmd.settings_profile_save": "Lưu hồ sơ cài đặt",
|
||||
"cmd.sheet_convert": "Chuyển thành kim loại tấm",
|
||||
"cmd.sheet_export_bend_table": "Xuất bảng thông số chấn uốn (Bend Table)",
|
||||
"cmd.sheet_export_dxf": "Xuất bản trải phẳng dạng DXF",
|
||||
@@ -1089,6 +1103,16 @@
|
||||
"cmd.sheet_refold": "Gập lại tấm kim loại",
|
||||
"cmd.sheet_rules": "Danh sách quy tắc kim loại tấm",
|
||||
"cmd.sheet_unfold": "Trải phẳng tạm thời",
|
||||
"cmd.sketch.construction_line": "Đường thẳng dựng hình",
|
||||
"cmd.sketch.construction_line.angle": "Đường dựng hình theo góc",
|
||||
"cmd.sketch.construction_line.bisector": "Đường phân giác",
|
||||
"cmd.sketch.construction_line.horizontal": "Đường dựng hình nằm ngang",
|
||||
"cmd.sketch.construction_line.parallel": "Đường dựng hình song song",
|
||||
"cmd.sketch.construction_line.perpendicular": "Đường dựng hình vuông góc",
|
||||
"cmd.sketch.construction_line.tangent_at": "Tiếp tuyến tại điểm trên đường cong",
|
||||
"cmd.sketch.construction_line.tangent_external": "Tiếp tuyến qua điểm ngoài",
|
||||
"cmd.sketch.construction_line.tangent_two": "Tiếp tuyến chung",
|
||||
"cmd.sketch.construction_line.vertical": "Đường dựng hình thẳng đứng",
|
||||
"cmd.sketch_arc3d": "Cung tròn 3D",
|
||||
"cmd.sketch_arc_center_point": "Cung tròn xác định bởi tâm và điểm",
|
||||
"cmd.sketch_arc_tangent": "Cung tròn tiếp tuyến",
|
||||
@@ -1121,6 +1145,8 @@
|
||||
"cmd.sketch_drawing_bounds": "Kích thước bản vẽ",
|
||||
"cmd.sketch_edit": "Chỉnh sửa phác thảo",
|
||||
"cmd.sketch_edit_text": "Chỉnh sửa văn bản",
|
||||
"cmd.sketch_equation_curve": "Đường cong phương trình",
|
||||
"cmd.sketch_equation_curve_edit": "Sửa đường cong phương trình",
|
||||
"cmd.sketch_export_dxf": "Lưu dưới dạng DXF",
|
||||
"cmd.sketch_finish_auto_constrain": "Hoàn tất với tự động ràng buộc",
|
||||
"cmd.sketch_fit_curves_to_section": "Khớp đường cong vào mặt cắt lưới",
|
||||
@@ -1217,6 +1243,7 @@
|
||||
"cmd.view.render_browser": "Trình duyệt kết xuất",
|
||||
"cmd.view.render_dock": "Di chuyển neo kết xuất",
|
||||
"cmd.view.render_focus": "Chế độ xem tập trung kết xuất",
|
||||
"cmd.view.status_items": "Các mục trạng thái khung nhìn",
|
||||
"cmd.view_ambient_occlusion": "Đổ bóng che khuất môi trường (AO)",
|
||||
"cmd.view_angle_readout": "Góc hướng nhìn",
|
||||
"cmd.view_apply": "Áp dụng góc nhìn đã lưu",
|
||||
@@ -1374,6 +1401,17 @@
|
||||
"help.occurrence.move": "Chỉ di chuyển chi tiết lắp ráp theo các bậc tự do mà khớp nối cho phép. Chọn một mặt của chi tiết, rồi kéo mũi tên hoặc cung tròn có thể sử dụng.",
|
||||
"help.parameters.change": "Mở bảng các giá trị có tên và biểu thức điều khiển kích thước của thiết kế. Dùng để sửa một kích thước ở một chỗ và mọi tính năng dùng nó sẽ cập nhật theo.",
|
||||
"help.pointcloud.insert": "Chèn bản quét PLY, XYZ hoặc PTS dưới dạng đám mây điểm bên cạnh mô hình. Dùng làm tham chiếu khi dựng mô hình từ dữ liệu đo.",
|
||||
"help.sketch.construction_line": "Tạo đường thẳng dựng hình vô hạn qua hai điểm để bố trí phác thảo mà không chia tách biên dạng.",
|
||||
"help.sketch.construction_line.angle": "Tạo đường dựng hình vô hạn theo góc so với trục X của phác thảo. Chọn điểm rồi nhập góc hoặc chọn hướng.",
|
||||
"help.sketch.construction_line.bisector": "Chọn hai đường thẳng giao nhau trong phác thảo rồi chọn một trong hai đường phân giác. Kết quả thay đổi theo các đường gốc.",
|
||||
"help.sketch.construction_line.horizontal": "Tạo đường dựng hình nằm ngang vô hạn qua một điểm. Ràng buộc ngang được giữ khi chỉnh sửa sau này.",
|
||||
"help.sketch.construction_line.parallel": "Chọn đường thẳng trong phác thảo rồi đặt đường dựng hình vô hạn song song. Nhấp chuột phải để đổi tham chiếu.",
|
||||
"help.sketch.construction_line.perpendicular": "Chọn đường thẳng trong phác thảo rồi đặt đường dựng hình vô hạn vuông góc. Nhấp chuột phải để đổi tham chiếu.",
|
||||
"help.sketch.construction_line.tangent_at": "Tạo tiếp tuyến tại một điểm trên đường tròn hoặc cung tròn, hoặc tại đầu mút của spline hay đường conic hở. Chọn đường cong rồi chọn tiếp điểm.",
|
||||
"help.sketch.construction_line.tangent_external": "Chọn đường tròn hoặc cung tròn, một điểm ngoài rồi chọn nghiệm tiếp tuyến. Bản xem trước chỉ hiển thị tiếp điểm trên cung đã vẽ.",
|
||||
"help.sketch.construction_line.tangent_two": "Chọn hai đường tròn hoặc cung tròn rồi chọn tiếp tuyến chung trong bản xem trước. Tiếp điểm phải nằm trên các đường cong đã vẽ.",
|
||||
"help.sketch.construction_line.vertical": "Tạo đường dựng hình thẳng đứng vô hạn qua một điểm. Ràng buộc đứng được giữ khi chỉnh sửa sau này.",
|
||||
"help.sketch.equation_curve": "Vẽ một đường cong từ công thức trên một khoảng: x(t) và y(t), hoặc y = f(x). Công thức có thể dùng tham số và đường cong thay đổi theo: dùng cho sóng sin, đường xoắn ốc hay đường thân khai của răng bánh răng.",
|
||||
"help.solid.align": "Di chuyển các khối đã chọn để một điểm, mặt hoặc mặt phẳng trên chúng gặp một điểm, mặt hoặc mặt phẳng ở nơi khác. Dùng để đặt chi tiết áp vào chi tiết khác mà không cần đo khoảng cách.",
|
||||
"help.solid.chamfer": "Vát các cạnh đã chọn theo khoảng cách bạn thiết lập. Dùng để triệt tiêu cạnh sắc hoặc giúp lắp chốt, bu lông dễ dàng hơn.",
|
||||
"help.solid.combine": "Hợp nhất các khối, cắt trừ khỏi khối đích, hoặc chỉ giữ lại phần thể tích giao nhau, đồng thời có thể giữ lại các khối công cụ. Dùng để gộp chi tiết, dùng hình này cắt hình kia hoặc tìm vị trí hai khối giao nhau.",
|
||||
@@ -1743,6 +1781,7 @@
|
||||
"parts.dimension.thickness": "Độ dày",
|
||||
"parts.dimension.width": "Bề rộng",
|
||||
"parts.family.bearing": "Ổ bi cầu rãnh sâu (bao ngoài)",
|
||||
"parts.family.button_head_cap_screw": "Vít đầu tròn lục giác chìm",
|
||||
"parts.family.dowel_pin": "Chốt trụ",
|
||||
"parts.family.hex_bolt": "Bu lông đầu lục giác",
|
||||
"parts.family.hex_nut": "Đai ốc lục giác",
|
||||
@@ -1874,6 +1913,8 @@
|
||||
"prefs.layout_note": "Chế độ Gọn (Compact) gắn các bảng vào mép cửa sổ. Độ trong suốt của Cây thư mục chỉ khả dụng ở chế độ Nổi (Floating). Thay đổi vị trí của Trợ lý trong trang Trợ lý.",
|
||||
"prefs.left": "Bên trái",
|
||||
"prefs.left_click": "Nhấp chuột trái",
|
||||
"prefs.line_drag_draws_one": "Nhấn và kéo vẽ một đường",
|
||||
"prefs.line_drag_draws_one_note": "Trong công cụ Đường, nhấn, kéo rồi thả sẽ vẽ một đường từ điểm nhấn đến điểm thả, và kết thúc ở đó. Nhấp vẫn vẽ một chuỗi. Tắt: kéo đặt một điểm tại nơi thả, như một lần nhấp.",
|
||||
"prefs.linked_designs": "Thiết kế liên kết",
|
||||
"prefs.live_input": "Nhập liệu trực tiếp",
|
||||
"prefs.live_preview": "Xem trước trực tiếp",
|
||||
@@ -1906,9 +1947,27 @@
|
||||
"prefs.origin_plane_names": "Tên các mặt phẳng gốc",
|
||||
"prefs.origin_plane_names_note": "Tên hiển thị trong trình duyệt, hộp thoại và danh sách. {top} là XY, {front} là XZ và {right} là YZ, với Z hướng lên. Lệnh, script và thiết kế đã lưu vẫn dùng XY, XZ và YZ.",
|
||||
"prefs.overall_speed": "Tốc độ tổng thể",
|
||||
"prefs.persistent_ribbon_pressed": "Tô sáng lệnh đang bật trên dải băng",
|
||||
"prefs.persistent_ribbon_pressed_help": "Tô sáng các lệnh trên dải băng khi hiệu ứng của chúng đang bật. Tắt tùy chọn này để giữ giao diện trung tính và trợ giúp lệnh như trước.",
|
||||
"prefs.perspective_fov": "Trường nhìn",
|
||||
"prefs.placement": "Vị trí đặt",
|
||||
"prefs.prefer_free_sketch_points": "Ưu tiên điểm phác thảo có thể di chuyển khi các điểm chồng lên nhau",
|
||||
"prefs.preview_choices": "Xem trước các lựa chọn của bạn",
|
||||
"prefs.profile_active": "Hồ sơ đang dùng",
|
||||
"prefs.profile_applied": "Đã áp dụng hồ sơ.",
|
||||
"prefs.profile_changed": "Cài đặt đã thay đổi kể từ khi lưu hồ sơ. “Lưu” sẽ ghi chúng vào hồ sơ.",
|
||||
"prefs.profile_deleted": "Đã xóa hồ sơ.",
|
||||
"prefs.profile_export": "Xuất tệp…",
|
||||
"prefs.profile_exported": "Đã xuất hồ sơ.",
|
||||
"prefs.profile_imported": "Đã nhập hồ sơ. Chọn hồ sơ trong “Hồ sơ đang dùng” để chuyển sang.",
|
||||
"prefs.profile_name_hint": "Tên hồ sơ, ví dụ Laptop",
|
||||
"prefs.profile_rename": "Đổi tên",
|
||||
"prefs.profile_renamed": "Đã đổi tên hồ sơ.",
|
||||
"prefs.profile_save": "Lưu",
|
||||
"prefs.profile_saved": "Đã lưu cài đặt hiện tại vào hồ sơ.",
|
||||
"prefs.profile_skipped": "Đã áp dụng hồ sơ; {n} cài đặt giữ nguyên giá trị hiện tại (xem nhật ký).",
|
||||
"prefs.profiles": "Hồ sơ cài đặt",
|
||||
"prefs.profiles_note": "Phím tắt, thanh công cụ, điều hướng, menu dạng vòng và cài đặt giao diện, được lưu cùng nhau dưới một tên và chuyển đổi cùng lúc.",
|
||||
"prefs.project_options_dialog": "Hộp thoại tùy chọn Project",
|
||||
"prefs.project_options_dialog_note": "Bật: chọn Hình học hoặc Thân và Liên kết chiếu trước khi chiếu. Tắt: giữ quy trình chọn trực tiếp trước đây.",
|
||||
"prefs.quality_default": "mặc định",
|
||||
@@ -1918,6 +1977,8 @@
|
||||
"prefs.render_previous_geometry_budget": "Dùng ngân sách hình học trước đây cho bản xem trước kết xuất",
|
||||
"prefs.render_previous_geometry_budget_help": "Khôi phục giới hạn hình học cố định trước đây (512 MiB trên máy tính 64 bit, 128 MiB trên các nền tảng khác) thay cho ngân sách dựa trên thiết bị.",
|
||||
"prefs.reports_saved": "Đã lưu {n}",
|
||||
"prefs.ribbon_reveal": "Hiện kết quả tìm kiếm trên ribbon",
|
||||
"prefs.ribbon_reveal_note": "Khi rê chuột lên một kết quả trong Tìm lệnh, ribbon cho biết lệnh nằm ở đâu: tab, nút hoặc dòng của nó trong menu thả xuống của một bảng. Lệnh bắt đầu từ tìm kiếm sẽ nhấp nháy ở đó, và lệnh đang chạy từ menu thả xuống sẽ đánh dấu bảng của nó.",
|
||||
"prefs.right_click": "Nhấp chuột phải",
|
||||
"prefs.saving": "Tự động lưu và khôi phục",
|
||||
"prefs.scale_note": "Cũng có thể dùng Ctrl + / Ctrl − trong cửa sổ. Các nút có kích thước 28 px ở mức 100%.",
|
||||
@@ -1931,13 +1992,22 @@
|
||||
"prefs.shift_add_ctrl_toggle": "Shift chỉ thêm; Ctrl / Cmd đảo trạng thái chọn",
|
||||
"prefs.shift_add_note": "Bật: Shift để thêm vào vùng chọn, Ctrl / Cmd để đảo chọn. Tắt (mặc định): cả hai đều đảo trạng thái chọn.",
|
||||
"prefs.shortcuts": "Phím tắt",
|
||||
"prefs.single_surface_analysis": "Chỉ dùng một phân tích bề mặt",
|
||||
"prefs.single_surface_analysis_help": "Khi tắt, phân tích tô bóng bề mặt và phân tích tính liên tục có thể cùng hoạt động. Khi bật, chỉ giữ phân tích được bắt đầu hoặc thay đổi gần nhất.",
|
||||
"prefs.sketch_align_points": "Căn theo các điểm phác thảo khác khi vẽ",
|
||||
"prefs.sketch_align_points_note": "Khi vẽ, một điểm được căn ngang theo một điểm phác thảo và căn dọc theo điểm khác cùng lúc, kèm đường dẫn chấm; cú nhấp giữ cả hai ràng buộc căn. Tắt: chỉ căn theo điểm trước, mỗi lần một trục.",
|
||||
"prefs.sketch_conflict_colour": "Hình học xung đột theo màu xung đột",
|
||||
"prefs.sketch_conflict_colour_note": "Khi các ràng buộc của bản phác xung đột, các đường cong và điểm mà một ràng buộc lỗi giữ cũng được vẽ bằng màu xung đột, không chỉ ký hiệu hay kích thước của nó. Tắt: chúng giữ màu thường.",
|
||||
"prefs.sketch_construction_lines": "Công cụ đường dựng hình mở rộng",
|
||||
"prefs.sketch_exit_view": "Khi kết thúc phác thảo",
|
||||
"prefs.sketch_exit_view.keep": "Giữ góc nhìn hiện tại",
|
||||
"prefs.sketch_exit_view.previous": "Trở về góc nhìn trước đó",
|
||||
"prefs.sketch_exit_view.unless_rotated": "Trở về góc nhìn trước trừ khi đã xoay",
|
||||
"prefs.sketch_exit_view_note": "Góc nhìn sẽ chuyển đến đâu sau khi bấm Hoàn tất phác thảo, Hủy bỏ hoặc bấm phím Esc hai lần.",
|
||||
"prefs.sketch_open_look_at": "Xoay góc nhìn trực diện phác thảo khi mở",
|
||||
"prefs.sketch_open_look_at_note": "Tắt: tạo hoặc chỉnh sửa phác thảo sẽ giữ nguyên góc nhìn. Dùng Nhìn trực diện để nhìn thẳng vào phác thảo khi cần.",
|
||||
"prefs.sketch_recent_snap": "Tự động bắt điểm vào tâm và trung điểm gần đây",
|
||||
"prefs.sketch_recent_snap_note": "Khi vẽ, con trỏ được bắt vào nơi các đường dẫn của hai tâm đường tròn hoặc trung điểm cạnh thẳng gần nhất cắt nhau. Tắt: các đường dẫn chỉ để xem và con trỏ không di chuyển.",
|
||||
"prefs.sketch_selection": "Phác thảo & chọn đối tượng",
|
||||
"prefs.sketch_selection_heading": "Phác thảo và lựa chọn",
|
||||
"prefs.sketch_selection_note": "Cách phác thảo bắt dính và cách nhấp chuột chọn đối tượng.",
|
||||
@@ -2005,10 +2075,16 @@
|
||||
"prefs.wheel": "Con lăn chuột",
|
||||
"prefs.wheel_trackpad": "Con lăn chuột và bàn di cảm ứng",
|
||||
"prefs.workspace": "Không gian làm việc",
|
||||
"prefs.zoom_stop_at_model": "Dừng thu phóng tại mô hình",
|
||||
"prefs.zoom_stop_at_model_tip": "Chuột 3D và ứng dụng thiết bị thu phóng về phía bề mặt ở giữa khung nhìn; thu phóng bằng cách kéo giữ nguyên điểm bắt đầu kéo. Khi tắt, có thể thu phóng xuyên qua mô hình. Con lăn và cử chỉ chụm dùng riêng tùy chọn Thu phóng về con trỏ",
|
||||
"prefs.zoom_toward_cursor": "Thu phóng về phía con trỏ chuột",
|
||||
"properties.title": "Thuộc tính: {name}",
|
||||
"recovery.days_ago": "{count} ngày trước",
|
||||
"recovery.detail": "{file} · {features} tính năng · tự động lưu {when}",
|
||||
"recovery.discard_all": "Hủy bỏ tất cả",
|
||||
"recovery.discard_all_detail": "Không thể hoàn tác thao tác này.",
|
||||
"recovery.discard_all_title": "Hủy bỏ {count} bản tự động lưu?",
|
||||
"recovery.discard_all_title_one": "Hủy bỏ 1 bản tự động lưu?",
|
||||
"recovery.hours_ago": "{count} giờ trước",
|
||||
"recovery.just_now": "vừa xong",
|
||||
"recovery.min_ago": "{count} phút trước",
|
||||
@@ -3355,6 +3431,7 @@
|
||||
"settings.double_click_components": "Nhấp đúp vào một thành phần để kích hoạt nó, hoặc chỉnh sửa tại chỗ một thành phần liên kết",
|
||||
"settings.frame_rate_details_note": "Bổ sung biểu đồ thời gian các khung hình gần nhất xếp chồng số tam giác đã vẽ, biểu đồ phân bố thời gian khung hình và nội dung GPU đã vẽ. Bấm vào tốc độ khung hình trên khung nhìn để ẩn/hiện.",
|
||||
"settings.frame_rate_note": "Hiển thị số khung hình trên giây (FPS) ở góc dưới bên phải khung nhìn.",
|
||||
"settings.insert_lists_open_designs": "Chèn thiết kế vào cụm liệt kê trước các thiết kế đang mở ở các thẻ khác",
|
||||
"settings.measure_axis_distances": "Hiển thị khoảng cách theo trục X/Y/Z",
|
||||
"settings.measure_axis_distances_help": "Hiển thị kích thước thành phần theo các trục tọa độ cùng với khoảng cách tổng thể khi mở công cụ Đo lường.",
|
||||
"settings.msaa_applies_on_restart": "Khử răng cưa sẽ áp dụng vào lần khởi động tiếp theo của SolidCraft",
|
||||
@@ -3379,6 +3456,10 @@
|
||||
"shortcut.unpin": "Bỏ ghim",
|
||||
"sketch is missing": "thiếu phác thảo",
|
||||
"sketch.degrees_of_freedom": "{count} bậc tự do",
|
||||
"sketch.dimension_added_driven": "Bản phác thảo đã xác định kích thước đó, nên nó được thêm vào dưới dạng kích thước tham chiếu",
|
||||
"sketch.dimension_applied": "Đã áp dụng kích thước",
|
||||
"sketch.dimension_applied_defined": "Đã áp dụng kích thước; đã định nghĩa tham số `{name}`",
|
||||
"sketch.dimension_applied_renamed": "Đã áp dụng kích thước; tham số được đặt tên là `{name}`",
|
||||
"sketch.dof_left": "Còn {count} bậc tự do",
|
||||
"sketch.dof_left_one": "Còn {count} bậc tự do",
|
||||
"sketch.draw_curves": "Vẽ dưới dạng {linetype}",
|
||||
@@ -3448,8 +3529,10 @@
|
||||
"timeline.delete_folders_tip": "Giữ lại các tính năng và thư mục lồng nhau trong lịch sử",
|
||||
"timeline.delete_folders_with_features_tip": "Xóa các thư mục cùng mọi tính năng trong đó và các thư mục lồng bên trong",
|
||||
"timeline.delete_many": "Xóa {count} tính năng đã chọn",
|
||||
"timeline.edited_rolled_back": "{name} đã thay đổi, nhưng nó nằm sau dấu mốc lịch sử nên chưa được dựng: kéo dấu mốc qua nó để xem kết quả",
|
||||
"timeline.feature_error": "Lỗi: {message}",
|
||||
"timeline.feature_hint": "Bấm đúp để sửa · kéo rê để đổi thứ tự · bấm chuột phải để xem thêm",
|
||||
"timeline.feature_rolled_back": "Đã lùi lại: nằm sau dấu mốc lịch sử nên chưa được dựng",
|
||||
"timeline.feature_warning": "Cảnh báo: {message}",
|
||||
"timeline.group": "Thư mục tính năng mới",
|
||||
"timeline.move_many": "Di chuyển các mục trong lịch sử thiết kế",
|
||||
@@ -3531,6 +3614,10 @@
|
||||
"ui.3d_mouse_offer": "Hiệu chuẩn chuột 3D sẽ sửa các trục bị hoán đổi hoặc đảo ngược và chỉnh tốc độ cũng như cảm giác.",
|
||||
"ui.3d_mouse_offer_never": "Không hiện lại",
|
||||
"ui.3d_mouse_offer_swap": "Chuyển sang Hidraw (điều khiển trực tiếp)",
|
||||
"ui.3d_mouse_orbit": "Quỹ đạo",
|
||||
"ui.3d_mouse_orbit_classic": "Cổ điển",
|
||||
"ui.3d_mouse_orbit_tip": "Theo dấu: chuột 3D xoay khung nhìn quanh phần mô hình ở giữa khung nhìn lúc bắt đầu xoay, được đánh dấu bằng một quả cầu mờ. Cổ điển: quanh tâm khung nhìn",
|
||||
"ui.3d_mouse_orbit_traced": "Theo dấu",
|
||||
"ui.3d_mouse_reading": "Giá trị đọc",
|
||||
"ui.3d_mouse_reset_axes": "Đặt lại phép gán trục",
|
||||
"ui.3d_mouse_reset_view": "Đặt lại khung nhìn",
|
||||
@@ -3917,6 +4004,15 @@
|
||||
"ui.constant": "Hằng số",
|
||||
"ui.constraints_conflict": "Xung đột ràng buộc",
|
||||
"ui.construction": "Đường gióng dựng hình",
|
||||
"ui.construction.angle_hint": "Đường dựng hình: nhấp một điểm rồi nhập góc hoặc chọn hướng",
|
||||
"ui.construction.bisector_hint": "Phân giác: chọn hai đường thẳng giao nhau rồi chọn nghiệm mong muốn",
|
||||
"ui.construction.common_hint": "Tiếp tuyến chung: chọn hai đường tròn/cung rồi chọn nghiệm mong muốn",
|
||||
"ui.construction.contact_hint": "Tiếp tuyến: chọn đường tròn/cung hoặc spline/conic hở rồi chọn tiếp điểm (đường cong tự do: chỉ đầu mút)",
|
||||
"ui.construction.external_hint": "Tiếp tuyến: chọn đường tròn hoặc cung, điểm ngoài rồi chọn nghiệm mong muốn",
|
||||
"ui.construction.free_hint": "Đường dựng hình: nhấp hai điểm; nhấp chuột phải để bắt đầu lại",
|
||||
"ui.construction.point_hint": "Đường dựng hình: nhấp điểm đi qua",
|
||||
"ui.construction.reference_hint": "Đường dựng hình: chọn đường thẳng rồi chọn điểm; nhấp chuột phải để đổi tham chiếu",
|
||||
"ui.construction.ribbon_label": "Đường phụ",
|
||||
"ui.context_menu": "Menu ngữ cảnh",
|
||||
"ui.continuity_g0": "Nếp gập G0",
|
||||
"ui.continuity_g1": "G1 tiếp tuyến",
|
||||
@@ -4008,6 +4104,14 @@
|
||||
"ui.end_scale": "Tỷ lệ đầu cuối",
|
||||
"ui.entities": "Các thực thể",
|
||||
"ui.equal": "Bằng nhau",
|
||||
"ui.equation_end": "Kết thúc",
|
||||
"ui.equation_explicit": "Tường minh",
|
||||
"ui.equation_form": "Dạng",
|
||||
"ui.equation_note": "Biến là một số không có đơn vị: sin(t) hiểu nó theo radian. Kết quả không có đơn vị dùng đơn vị của thiết kế.",
|
||||
"ui.equation_parametric": "Tham số",
|
||||
"ui.equation_x_of_t": "x(t)",
|
||||
"ui.equation_y_of_t": "y(t)",
|
||||
"ui.equation_y_of_x": "y(x)",
|
||||
"ui.equivalent_radius": "Bán kính tương đương",
|
||||
"ui.expand": "Mở rộng",
|
||||
"ui.exportDxf": "Xuất tệp DXF…",
|
||||
@@ -4073,6 +4177,7 @@
|
||||
"ui.heading_design": "THIẾT KẾ",
|
||||
"ui.heading_draft": "ĐỘ DỐC THOÁT KHUÔN",
|
||||
"ui.heading_edit": "CHỈNH SỬA",
|
||||
"ui.heading_equation_curve": "ĐƯỜNG CONG PHƯƠNG TRÌNH",
|
||||
"ui.heading_extrude": "ĐÙN KHỐI",
|
||||
"ui.heading_fillet": "BO TRÒN",
|
||||
"ui.heading_finish_editing": "HOÀN TẤT CHỈNH SỬA",
|
||||
@@ -4164,6 +4269,10 @@
|
||||
"ui.import_ellipsis": "Nhập tệp…",
|
||||
"ui.infinite": "Vô hạn",
|
||||
"ui.insert": "Chèn",
|
||||
"ui.insert_design.browse": "Duyệt…",
|
||||
"ui.insert_design.open_designs": "Thiết kế đang mở",
|
||||
"ui.insert_design.saved_file": "{name} có thay đổi chưa lưu, nên tệp đã lưu của nó đã được chèn. Hãy lưu nó, rồi dùng Cập nhật liên kết để đưa các thay đổi vào.",
|
||||
"ui.insert_design.unsaved": "Thay đổi chưa lưu",
|
||||
"ui.inspect": "Kiểm tra",
|
||||
"ui.intersect": "Giao nhau",
|
||||
"ui.isolate": "Cô lập đối tượng",
|
||||
@@ -4387,6 +4496,7 @@
|
||||
"ui.select": "Chọn",
|
||||
"ui.selectOther": "Chọn đối tượng khác…",
|
||||
"ui.selectTangentChain": "Chọn chuỗi tiếp tuyến",
|
||||
"ui.select_all": "Chọn tất cả",
|
||||
"ui.selection": "Vùng chọn",
|
||||
"ui.selection_modifiers": "Phím bổ trợ chọn",
|
||||
"ui.selection_shift_add_only": "Shift+nhấp chỉ thêm, không bỏ chọn",
|
||||
|
||||
@@ -204,6 +204,7 @@
|
||||
"Edges": "邊",
|
||||
"Edit": "編輯",
|
||||
"Edit Profile Sketch": "編輯輪廓草圖",
|
||||
"Edit shortcuts": "編輯快捷鍵",
|
||||
"Enable rule": "啟用規則",
|
||||
"Enabled": "已啟用",
|
||||
"End Radius": "終止半徑",
|
||||
@@ -466,6 +467,7 @@
|
||||
"Radius": "半徑",
|
||||
"Radius Fit": "半徑擬合",
|
||||
"Ratio": "比率",
|
||||
"Read-only list: shortcuts can't be changed here.": "唯讀清單:無法在此變更快捷鍵。",
|
||||
"Reattach selected face": "重新附著所選面",
|
||||
"Recover": "復原",
|
||||
"Recover unsaved design?": "復原未儲存的設計?",
|
||||
@@ -649,6 +651,7 @@
|
||||
"Third point": "第三點",
|
||||
"This child is shared. Deleting it removes it from every copy of its parent.": "此子項是共享的。刪除它會從其父項的每個副本中移除。",
|
||||
"This child is shared. Position changes apply to every copy of its parent.": "此子項是共享的。位置變更會套用到其父項的每個副本。",
|
||||
"This component is inside a subassembly placed more than once: aligning it moves it in every placement.": "此元件位於放置了多次的子組合件內:對齊它會使它在每個放置位置中都跟著移動。",
|
||||
"This face cannot provide a durable attachment. Choose another face or explicitly use a fixed plane.": "此面無法提供持久附著。請選擇其他面或明確使用固定平面。",
|
||||
"This image is not attached to GitHub yet. Copy or save it, then attach it on GitHub.": "此圖片尚未附加到 GitHub。請複製或儲存圖片,再到 GitHub 附加。",
|
||||
"Thread depth": "螺紋深度",
|
||||
@@ -790,6 +793,11 @@
|
||||
"cam.roller": "滾子",
|
||||
"cam.roller_pick": "滾子(可選)",
|
||||
"cam.tip_pick": "尖端(可選)",
|
||||
"camera.shot_pitch": "俯仰",
|
||||
"camera.shot_roll": "滾轉",
|
||||
"camera.shot_yaw": "偏航",
|
||||
"canvas.decal_place_hint": "按一下面以放置貼花",
|
||||
"canvas.place_hint": "按一下平面或面以放置畫布",
|
||||
"choose a profile": "請選取輪廓",
|
||||
"choose the cam's and the follower's joints": "請選取凸輪和從動件的接頭",
|
||||
"choose the joints to couple": "請選取要耦合的接頭",
|
||||
@@ -797,9 +805,12 @@
|
||||
"click sketch curves": "按一下草圖曲線",
|
||||
"cmd.appearance_assign": "外觀",
|
||||
"cmd.appearance_chain": "外觀鏈",
|
||||
"cmd.appearance_copy": "複製外觀",
|
||||
"cmd.appearance_favorite": "收藏外觀",
|
||||
"cmd.appearance_library": "外觀庫",
|
||||
"cmd.appearance_list": "列出外觀",
|
||||
"cmd.appearance_paint": "塗抹外觀",
|
||||
"cmd.appearance_paste": "貼上外觀",
|
||||
"cmd.appearance_pick_up": "吸取外觀",
|
||||
"cmd.appearance_replace": "取代外觀",
|
||||
"cmd.assembly_bom": "物料清單",
|
||||
@@ -810,6 +821,7 @@
|
||||
"cmd.browser_move": "移動瀏覽器項目",
|
||||
"cmd.browser_order": "排列瀏覽器項目",
|
||||
"cmd.browser_rename_group": "重新命名群組",
|
||||
"cmd.browser_reparent": "移動到元件",
|
||||
"cmd.browser_ungroup": "解散群組",
|
||||
"cmd.browser_visibility": "顯示/隱藏",
|
||||
"cmd.canvas_calibrate": "校準畫布",
|
||||
@@ -836,7 +848,9 @@
|
||||
"cmd.component_metadata": "零件屬性",
|
||||
"cmd.component_metadata_set": "變更零件屬性",
|
||||
"cmd.component_move_bodies": "將實體移至元件",
|
||||
"cmd.component_move_features": "將特徵移至元件",
|
||||
"cmd.component_move_sketches": "將草圖移至元件",
|
||||
"cmd.component_paste_from_design": "從其他設計貼上",
|
||||
"cmd.component_paste_new": "貼上為新物件",
|
||||
"cmd.component_properties": "元件物理屬性",
|
||||
"cmd.component_relink": "重新連結來源檔案",
|
||||
@@ -973,6 +987,7 @@
|
||||
"cmd.motion_trace": "運動軌跡",
|
||||
"cmd.motion_trace_edit": "編輯運動軌跡",
|
||||
"cmd.motion_trace_keep": "保留運動軌跡",
|
||||
"cmd.occurrence_align": "對齊實例",
|
||||
"cmd.occurrence_copy": "貼上(實例)",
|
||||
"cmd.occurrence_drag": "拖曳實例",
|
||||
"cmd.occurrence_ground": "固定",
|
||||
@@ -1030,11 +1045,17 @@
|
||||
"cmd.render_library_surface_unbind": "移除表面繫結",
|
||||
"cmd.render_library_targets": "尋找彩現資源庫目標",
|
||||
"cmd.render_lights_add": "新增燈光",
|
||||
"cmd.render_lights_duplicate": "複製彩現燈光",
|
||||
"cmd.render_lights_list": "列出彩現燈光",
|
||||
"cmd.render_lights_mute": "靜音燈光",
|
||||
"cmd.render_lights_remove": "移除彩現燈光",
|
||||
"cmd.render_lights_set": "設定彩現燈光",
|
||||
"cmd.render_lights_solo": "獨奏燈光",
|
||||
"cmd.render_optics_bind": "儲存光學繫結",
|
||||
"cmd.render_optics_unbind": "移除光學繫結",
|
||||
"cmd.render_output_size": "設定彩現輸出大小",
|
||||
"cmd.render_preflight": "檢查彩現請求",
|
||||
"cmd.render_preflight_copy": "複製彩現檢查報告",
|
||||
"cmd.render_preset_apply": "套用原生攝影棚",
|
||||
"cmd.render_preset_resolve": "檢閱原生攝影棚",
|
||||
"cmd.render_quality_prepare": "檢閱固定取樣預算",
|
||||
@@ -1057,6 +1078,13 @@
|
||||
"cmd.render_start": "彩現影像",
|
||||
"cmd.render_status": "彩現進度",
|
||||
"cmd.select_clear": "清除選擇",
|
||||
"cmd.settings_profile_apply": "套用設定檔",
|
||||
"cmd.settings_profile_delete": "刪除設定檔",
|
||||
"cmd.settings_profile_export": "匯出設定檔",
|
||||
"cmd.settings_profile_import": "匯入設定檔",
|
||||
"cmd.settings_profile_list": "設定檔",
|
||||
"cmd.settings_profile_rename": "重新命名設定檔",
|
||||
"cmd.settings_profile_save": "儲存設定檔",
|
||||
"cmd.sheet_convert": "轉換為鈑金",
|
||||
"cmd.sheet_export_bend_table": "匯出折彎表",
|
||||
"cmd.sheet_export_dxf": "將展開圖匯出為 DXF",
|
||||
@@ -1070,6 +1098,16 @@
|
||||
"cmd.sheet_refold": "重新折彎",
|
||||
"cmd.sheet_rules": "列出鈑金規則",
|
||||
"cmd.sheet_unfold": "展開",
|
||||
"cmd.sketch.construction_line": "建構直線",
|
||||
"cmd.sketch.construction_line.angle": "指定角度建構直線",
|
||||
"cmd.sketch.construction_line.bisector": "角平分線",
|
||||
"cmd.sketch.construction_line.horizontal": "水平建構直線",
|
||||
"cmd.sketch.construction_line.parallel": "平行建構直線",
|
||||
"cmd.sketch.construction_line.perpendicular": "垂直建構直線",
|
||||
"cmd.sketch.construction_line.tangent_at": "曲線上點的切線",
|
||||
"cmd.sketch.construction_line.tangent_external": "通過外部點的切線",
|
||||
"cmd.sketch.construction_line.tangent_two": "公切線",
|
||||
"cmd.sketch.construction_line.vertical": "鉛直建構直線",
|
||||
"cmd.sketch_arc3d": "三維圓弧",
|
||||
"cmd.sketch_arc_center_point": "中心點圓弧",
|
||||
"cmd.sketch_arc_tangent": "相切圓弧",
|
||||
@@ -1102,6 +1140,8 @@
|
||||
"cmd.sketch_drawing_bounds": "圖紙大小",
|
||||
"cmd.sketch_edit": "編輯草圖",
|
||||
"cmd.sketch_edit_text": "編輯文字",
|
||||
"cmd.sketch_equation_curve": "方程式曲線",
|
||||
"cmd.sketch_equation_curve_edit": "編輯方程式曲線",
|
||||
"cmd.sketch_export_dxf": "另存為 DXF",
|
||||
"cmd.sketch_finish_auto_constrain": "完成並自動拘束",
|
||||
"cmd.sketch_fit_curves_to_section": "將曲線擬合到網格截面",
|
||||
@@ -1198,6 +1238,7 @@
|
||||
"cmd.view.render_browser": "彩現瀏覽器",
|
||||
"cmd.view.render_dock": "移動彩現停靠面板",
|
||||
"cmd.view.render_focus": "彩現聚焦檢視",
|
||||
"cmd.view.status_items": "視埠狀態項目",
|
||||
"cmd.view_ambient_occlusion": "環境光遮蔽",
|
||||
"cmd.view_angle_readout": "檢視角度",
|
||||
"cmd.view_apply": "還原命名檢視",
|
||||
@@ -1219,6 +1260,7 @@
|
||||
"cmd.view_normal_to": "正視於選取項目",
|
||||
"cmd.view_previous_tab": "上一個索引標籤",
|
||||
"cmd.view_rename": "重新命名命名檢視",
|
||||
"cmd.view_render_frame": "彩現畫面輔助線",
|
||||
"cmd.view_right": "右視圖",
|
||||
"cmd.view_save": "新建命名檢視",
|
||||
"cmd.view_shots_strip": "鏡頭列",
|
||||
@@ -1229,10 +1271,14 @@
|
||||
"color.copy": "點擊複製顏色值",
|
||||
"color.edit": "點擊編輯顏色",
|
||||
"color.gamma": "以 0–255 伽馬空間顯示顏色值",
|
||||
"color.hex": "十六進位",
|
||||
"color.hex_help": "輸入 #rrggbb 或 #rrggbbaa;六位數會保留不透明度",
|
||||
"color.hex_hint": "#rrggbb",
|
||||
"color.hue": "色相",
|
||||
"color.linear": "以 0–1 線性空間顯示顏色值",
|
||||
"color.saturation_value": "飽和度和明度",
|
||||
"color.selected": "所選顏色",
|
||||
"config.column_filter_empty": "沒有符合的欄",
|
||||
"contact.components_count": "{count} 個元件",
|
||||
"contact.enabled_label": "已啟用",
|
||||
"coupling.gear_1": "齒輪 1",
|
||||
@@ -1346,8 +1392,10 @@
|
||||
"help.material.assign": "設定所選實體的材質,例如鋼、鋁或 ABS。用於讓質量和重量與實際零件一致。",
|
||||
"help.mit": "MIT 授權",
|
||||
"help.notice": "NOTICE",
|
||||
"help.occurrence.move": "僅沿接頭允許的自由度移動組合件零件。請選取零件的面,然後拖曳可用的箭頭或圓弧。",
|
||||
"help.parameters.change": "開啟用於驅動設計尺寸的具名數值與運算式表。用於在同一處修改尺寸,讓所有使用該尺寸的特徵隨之更新。",
|
||||
"help.pointcloud.insert": "將 PLY、XYZ 或 PTS 掃描資料作為點雲插入模型旁。以實測資料建立模型時,可作為參考。",
|
||||
"help.sketch.equation_curve": "依公式繪製曲線:在指定範圍內使用 x(t) 和 y(t),或 y = f(x)。公式可以使用參數,曲線會隨之更新:可用於正弦波、螺旋線或齒輪齒形的漸開線。",
|
||||
"help.solid.align": "移動所選實體,使其上的點、面或平面與別處的點、面或平面對齊。用於將一個零件貼靠到另一個零件上,而無需測量偏移量。",
|
||||
"help.solid.chamfer": "以指定的距離在所選邊上切出平直的斜面。用於去除銳邊,或使銷釘、螺絲更容易插入。",
|
||||
"help.solid.combine": "結合多個實體、從目標實體中切除,或只保留它們共有的體積,還可以保留工具實體。用於合併零件、用一個形體切割另一個形體,或找出兩個實體重疊的位置。",
|
||||
@@ -1474,6 +1522,21 @@
|
||||
"joint.one_component": "這些零件是同一元件的實體:{bodies}。接頭使一個元件相對另一個元件運動,因此每個零件都需要自己的元件。",
|
||||
"joint.rigid_group_one_component": "這 {count} 個實體都位於同一個元件中(或直接位於設計中):請先使用「{command}」。",
|
||||
"joint.rigid_group_select_components": "請選擇兩個或更多元件。",
|
||||
"joint_move.blocked_hint": "請檢查接頭類型(例如剛性)、固定狀態、接頭限制,以及由參數驅動的值。",
|
||||
"joint_move.blocked_title": "無法移動此零件",
|
||||
"joint_move.coarse": "靠近軸心時的旋轉步距(°)",
|
||||
"joint_move.distance": "與起點的距離",
|
||||
"joint_move.done": "完成",
|
||||
"joint_move.fine": "遠離軸心時的旋轉步距(°)",
|
||||
"joint_move.fixed": "此零件沒有可移動的接頭軸。",
|
||||
"joint_move.help": "移動 — 拖曳箭頭或圓環。按 Esc 可取消目前的拖曳。",
|
||||
"joint_move.legacy_hint": "關閉即可使用先前的「移動」面板。",
|
||||
"joint_move.precision": "拉到虛線輔助線外可進行精細旋轉。",
|
||||
"joint_move.rotation": "相對起點的旋轉",
|
||||
"joint_move.select": "請選取一個面或一個組合件零件,然後選擇「移動」。",
|
||||
"joint_move.settings": "組合件移動",
|
||||
"joint_move.step": "步距",
|
||||
"joint_move.use_handles": "組合件「移動」使用接頭運動控點",
|
||||
"keymap.command_id": "命令 ID",
|
||||
"keymap.empty": "沒有符合的命令",
|
||||
"keymap.use_anyway": "仍在此處使用 {key}",
|
||||
@@ -1568,6 +1631,8 @@
|
||||
"nav.maya.help": "Alt+左鍵拖曳可環轉,Alt+中鍵可平移,Alt+右鍵可縮放;中鍵拖曳同樣可平移",
|
||||
"nav.openscad.help": "在空白處以左鍵拖曳可環繞,Shift+左鍵拖曳可框選,拖曳草圖幾何可編輯;右鍵或中鍵拖曳可平移,Shift+右鍵或 Shift+中鍵拖曳可縮放",
|
||||
"nav.perspective.sketch": "編輯草圖時會使用正交檢視。完成草圖後才能切換為透視。",
|
||||
"nav.right_drag_orbits.help": "關閉:右鍵拖曳不會移動相機,右鍵只會開啟右鍵選單。選擇 SolidWorks 滑鼠對應會將其關閉。",
|
||||
"nav.right_drag_orbits.label": "右鍵拖曳環繞",
|
||||
"nav.solidworks.help": "中鍵拖曳可環繞,Ctrl+中鍵可平移,Shift+中鍵可縮放,右鍵拖曳可環繞",
|
||||
"nav.tinkercad.help": "右鍵拖曳可環繞,中鍵或 Shift+右鍵拖曳可平移",
|
||||
"nav.touchpad.help": "按住 Shift 並移動指標可平移;按住 Alt/Option 並移動可旋轉。無需按滑鼠按鈕。垂直捲動可縮放。",
|
||||
@@ -1589,6 +1654,9 @@
|
||||
"navbar.custom.customise": "自訂導覽列…",
|
||||
"navbar.custom.design": "設計",
|
||||
"navbar.custom.duplicate": "此項目已在導覽列上。",
|
||||
"navbar.custom.edge": "邊緣",
|
||||
"navbar.custom.edge_bottom": "底部",
|
||||
"navbar.custom.edge_top": "頂部",
|
||||
"navbar.custom.fade": "淡化",
|
||||
"navbar.custom.full": "請先移除一個項目,才能新增其他項目。",
|
||||
"navbar.custom.hidden_design": "在設計中隱藏",
|
||||
@@ -1695,6 +1763,7 @@
|
||||
"parts.dimension.thickness": "厚度",
|
||||
"parts.dimension.width": "寬度",
|
||||
"parts.family.bearing": "深溝滾珠軸承(外形)",
|
||||
"parts.family.button_head_cap_screw": "內六角半圓頭螺絲",
|
||||
"parts.family.dowel_pin": "圓柱銷",
|
||||
"parts.family.hex_bolt": "六角頭螺栓",
|
||||
"parts.family.hex_nut": "六角螺帽",
|
||||
@@ -1751,6 +1820,9 @@
|
||||
"prefs.bottom_centre": "下方置中",
|
||||
"prefs.bottom_right": "右下方",
|
||||
"prefs.browser": "瀏覽器",
|
||||
"prefs.browser_reveal_on_hover": "游標移上時顯示",
|
||||
"prefs.browser_show_note": "「顯示」會讓瀏覽器保持在畫面上。「游標移上時顯示」會將它隱藏,直到指標移到它的位置或其左緣的細長標籤上;當指標位於其中或從它開啟的選單仍開著時,它會保持開啟。",
|
||||
"prefs.browser_shown": "顯示",
|
||||
"prefs.built_in": "內建",
|
||||
"prefs.button_left": "左鍵拖曳",
|
||||
"prefs.button_middle": "中鍵拖曳",
|
||||
@@ -1821,6 +1893,8 @@
|
||||
"prefs.layout_note": "精簡模式會將面板停靠在視窗邊緣。瀏覽器半透明僅適用於浮動模式。助理的位置請在「助理」頁面中變更。",
|
||||
"prefs.left": "左側",
|
||||
"prefs.left_click": "左鍵點擊",
|
||||
"prefs.line_drag_draws_one": "按下並拖曳繪製一條直線",
|
||||
"prefs.line_drag_draws_one_note": "在「直線」工具中,按下、拖曳再放開,會從按下處到放開處繪製一條直線,並在該處結束。按一下仍會繪製連續線段。關閉:拖曳會在放開處放置一個點,與按一下相同。",
|
||||
"prefs.linked_designs": "連結設計",
|
||||
"prefs.live_input": "即時輸入",
|
||||
"prefs.live_preview": "即時預覽",
|
||||
@@ -1853,14 +1927,36 @@
|
||||
"prefs.origin_plane_names": "原點平面名稱",
|
||||
"prefs.origin_plane_names_note": "顯示於瀏覽器、對話方塊和清單中的名稱。{top} 為 XY,{front} 為 XZ,{right} 為 YZ,Z 軸朝上。命令、指令碼和已儲存的設計仍使用 XY、XZ 和 YZ。",
|
||||
"prefs.overall_speed": "整體速度",
|
||||
"prefs.perspective_fov": "視角",
|
||||
"prefs.placement": "放置",
|
||||
"prefs.prefer_free_sketch_points": "點重疊時優先選取可移動的草圖點",
|
||||
"prefs.preview_choices": "所選設定的預覽",
|
||||
"prefs.profile_active": "作用中的設定檔",
|
||||
"prefs.profile_applied": "已套用設定檔。",
|
||||
"prefs.profile_changed": "儲存設定檔後設定已有變更。按「儲存」可將變更保存到設定檔中。",
|
||||
"prefs.profile_deleted": "已刪除設定檔。",
|
||||
"prefs.profile_export": "匯出…",
|
||||
"prefs.profile_exported": "已匯出設定檔。",
|
||||
"prefs.profile_imported": "已匯入設定檔。在「作用中的設定檔」中選擇它即可切換。",
|
||||
"prefs.profile_name_hint": "設定檔名稱,例如:筆電",
|
||||
"prefs.profile_rename": "重新命名",
|
||||
"prefs.profile_renamed": "已重新命名設定檔。",
|
||||
"prefs.profile_save": "儲存",
|
||||
"prefs.profile_saved": "目前的設定已儲存至設定檔。",
|
||||
"prefs.profile_skipped": "已套用設定檔;{n} 項設定保留目前的值(請參閱記錄檔)。",
|
||||
"prefs.profiles": "設定檔",
|
||||
"prefs.profiles_note": "將快捷鍵、工具列、導覽、環形選單與介面設定以一個名稱集中保存,並可一次切換。",
|
||||
"prefs.project_options_dialog": "投影選項對話方塊",
|
||||
"prefs.project_options_dialog_note": "開啟:投影前先選擇「幾何」或「實體」以及「投影連結」。關閉:沿用先前直接點選的工作流程。",
|
||||
"prefs.quality_default": "預設",
|
||||
"prefs.quality_fastest": "最快",
|
||||
"prefs.quality_slowest": "最慢",
|
||||
"prefs.quality_smoother": "更平滑",
|
||||
"prefs.render_previous_geometry_budget": "使用先前的彩現預覽幾何預算",
|
||||
"prefs.render_previous_geometry_budget_help": "還原先前固定的幾何上限(64 位元桌面版為 512 MiB,其他平台為 128 MiB),而非依裝置決定的預算。",
|
||||
"prefs.reports_saved": "已儲存 {n} 份",
|
||||
"prefs.ribbon_reveal": "在功能區中顯示搜尋結果",
|
||||
"prefs.ribbon_reveal_note": "在「搜尋命令」中將指標停留在結果上,會顯示該命令在功能區中的位置:其索引標籤、按鈕,或面板下拉選單中的列。從搜尋啟動的命令會在該處閃爍,而從下拉選單執行中的命令會標示其所在面板。",
|
||||
"prefs.right_click": "右鍵點擊",
|
||||
"prefs.saving": "自動儲存與復原",
|
||||
"prefs.scale_note": "也可在視窗中使用 Ctrl + / Ctrl −。100% 時按鈕為 28 px。",
|
||||
@@ -1874,6 +1970,10 @@
|
||||
"prefs.shift_add_ctrl_toggle": "Shift 僅新增;Ctrl / Cmd 切換選擇",
|
||||
"prefs.shift_add_note": "開啟:Shift 新增,Ctrl / Cmd 切換選擇。關閉(預設):兩者皆切換選擇。",
|
||||
"prefs.shortcuts": "快捷鍵",
|
||||
"prefs.single_surface_analysis": "一次只使用一種曲面分析",
|
||||
"prefs.single_surface_analysis_help": "關閉時,曲面著色與「連續性」可同時開啟。開啟後只保留最後啟動或變更的分析。",
|
||||
"prefs.sketch_align_points": "繪製時與其他草圖點對齊",
|
||||
"prefs.sketch_align_points_note": "繪製時,點可同時與一個草圖點水平對齊、並與另一個草圖點垂直對齊,並顯示點線輔助線,按一下會保留兩個對齊。關閉:只與前一個點對齊,一次一個軸向。",
|
||||
"prefs.sketch_conflict_colour": "衝突幾何以衝突顏色顯示",
|
||||
"prefs.sketch_conflict_colour_note": "草圖的拘束發生衝突時,失敗拘束所涉及的曲線與點也會以衝突顏色繪製,而不只是其符號或尺寸。關閉時:維持原本的顏色。",
|
||||
"prefs.sketch_exit_view": "草圖結束時",
|
||||
@@ -1881,6 +1981,8 @@
|
||||
"prefs.sketch_exit_view.previous": "返回先前的檢視",
|
||||
"prefs.sketch_exit_view.unless_rotated": "未旋轉時返回",
|
||||
"prefs.sketch_exit_view_note": "「完成草圖」、取消或連按兩次 Esc 後檢視的去向。",
|
||||
"prefs.sketch_recent_snap": "自動鎖點至最近使用的圓心與中點",
|
||||
"prefs.sketch_recent_snap_note": "繪製時,游標會鎖點至最近使用的兩個圓心或直線邊中點的輔助線交會處。關閉時:這些輔助線僅供顯示,游標不會移動。",
|
||||
"prefs.sketch_selection": "草圖與選取",
|
||||
"prefs.sketch_selection_heading": "草圖與選取",
|
||||
"prefs.sketch_selection_note": "草圖如何貼齊,以及點擊如何選取。",
|
||||
@@ -1918,7 +2020,14 @@
|
||||
"prefs.toast_place": "通知位置",
|
||||
"prefs.toggle_item": "加入此項目,或再次移除",
|
||||
"prefs.toolbar": "工具列",
|
||||
"prefs.toolbar_tabs": "工具列索引標籤",
|
||||
"prefs.top": "頂部",
|
||||
"prefs.trackpad_zoom_modifier": "按住以下按鍵時以雙指捲動縮放",
|
||||
"prefs.trackpad_zoom_modifier.alt": "⌥ / Alt",
|
||||
"prefs.trackpad_zoom_modifier.cmd": "⌘",
|
||||
"prefs.trackpad_zoom_modifier.ctrl": "Ctrl",
|
||||
"prefs.trackpad_zoom_modifier.help": "只按住此按鍵並垂直捲動,即可在指標處縮放。「關閉」則保留現有的捲動行為。",
|
||||
"prefs.trackpad_zoom_modifier.off": "關閉",
|
||||
"prefs.translucent": "半透明",
|
||||
"prefs.under_browser": "瀏覽器下方",
|
||||
"prefs.under_cursor": "游標下方",
|
||||
@@ -1928,9 +2037,14 @@
|
||||
"prefs.view_confirm_corner": "在檢視角落顯示「確定」與「取消」",
|
||||
"prefs.view_confirm_corner_note": "開啟對話框或草圖時,檢視右上角的勾號與叉號,作用等同於對話框的「確定」與「取消」,或完成與取消草圖。檢視導覽器會下移到它們下方。",
|
||||
"prefs.viewport": "視埠",
|
||||
"prefs.viewport_background": "背景",
|
||||
"prefs.viewport_background_colour": "顏色",
|
||||
"prefs.viewport_background_theme": "主題漸層",
|
||||
"prefs.wheel": "滾輪",
|
||||
"prefs.wheel_trackpad": "滾輪與觸控板",
|
||||
"prefs.workspace": "工作區",
|
||||
"prefs.zoom_stop_at_model": "縮放在模型處停止",
|
||||
"prefs.zoom_stop_at_model_tip": "3D 滑鼠與裝置應用程式會朝檢視中央的表面縮放;拖曳縮放會固定在開始拖曳的點。關閉:縮放可穿過模型。滾輪與雙指捏合另由「縮放到游標」控制",
|
||||
"prefs.zoom_toward_cursor": "縮放,朝向游標",
|
||||
"properties.title": "屬性:{name}",
|
||||
"recovery.days_ago": "{count} 天前",
|
||||
@@ -2019,6 +2133,7 @@
|
||||
"render.appearance_editor.weight": "權重",
|
||||
"render.appearance_physics_separate": "視覺外觀不會指定密度、熱學資料或其他工程屬性。",
|
||||
"render.appearances": "外觀",
|
||||
"render.assign_help": "按一下以套用至選取項目;拖曳可預覽並放下,或在未選取任何項目時按一下以塗抹。",
|
||||
"render.availability_native": "原生組合;套用前請先檢閱",
|
||||
"render.availability_projection": "支援的投影;請參閱範圍與省略項目",
|
||||
"render.availability_reference": "參考資料;不會自動指派",
|
||||
@@ -2057,6 +2172,7 @@
|
||||
"render.bloom_threshold": "線性高光臨界值",
|
||||
"render.browse_capabilities": "檢查完整功能目錄",
|
||||
"render.browse_environments": "瀏覽原創 HDR 環境",
|
||||
"render.browse_looks": "瀏覽…",
|
||||
"render.browse_native_scenes": "瀏覽原生 Studio",
|
||||
"render.browse_physical": "檢查物理參考資料",
|
||||
"render.browse_quality": "檢查品質規格",
|
||||
@@ -2080,6 +2196,82 @@
|
||||
"render.check_opaque": "透明度:僅支援不透明表面;支援背景 Alpha。",
|
||||
"render.check_sorted_alpha": "透明度:排序 Alpha 近似。",
|
||||
"render.check_transmission": "透明度:物理透射。",
|
||||
"render.children.absolute_floor": "絕對下限",
|
||||
"render.children.adaptive": "自適應",
|
||||
"render.children.add_look_reason": "新增風格以編輯其啟用狀態與強度。",
|
||||
"render.children.all_shots": "所有鏡頭",
|
||||
"render.children.bloom": "泛光",
|
||||
"render.children.check": "檢查",
|
||||
"render.children.check_now": "立即檢查",
|
||||
"render.children.chromatic": "色差",
|
||||
"render.children.compact": "精簡",
|
||||
"render.children.contrast": "對比",
|
||||
"render.children.copy_image": "複製",
|
||||
"render.children.copy_job": "複製工作 JSON",
|
||||
"render.children.copy_request": "複製請求 JSON",
|
||||
"render.children.coverage_error": "覆蓋率誤差",
|
||||
"render.children.cpu": "CPU 光線追蹤",
|
||||
"render.children.denoise": "降低完成影像的雜訊",
|
||||
"render.children.depth": "路徑深度",
|
||||
"render.children.distortion": "畸變",
|
||||
"render.children.edge_samples": "邊緣取樣數",
|
||||
"render.children.effects_banner": "這些效果需要 GPU 路徑追蹤。開啟此處絕不會變更方法。",
|
||||
"render.children.enable_adaptive": "啟用獨立先導取樣以編輯自適應限制。",
|
||||
"render.children.enable_bloom": "啟用泛光以編輯其強度、臨界值與半徑。",
|
||||
"render.children.finishing": "後製",
|
||||
"render.children.flare": "眩光",
|
||||
"render.children.fresnel": "菲涅耳分層",
|
||||
"render.children.ghosts": "鬼影環",
|
||||
"render.children.glass": "玻璃傳輸",
|
||||
"render.children.go_to": "前往{editor}",
|
||||
"render.children.grain": "顆粒",
|
||||
"render.children.halo": "光暈",
|
||||
"render.children.hdr": "HDR",
|
||||
"render.children.keep_master": "保留原始線性母檔",
|
||||
"render.children.last_result": "上次:{number} · {width} × {height} · {phase}",
|
||||
"render.children.lens_effects": "鏡頭效果",
|
||||
"render.children.look_summary": "{tone} · {count} 個風格",
|
||||
"render.children.looks": "創意風格",
|
||||
"render.children.memory": "記憶體",
|
||||
"render.children.method": "方法",
|
||||
"render.children.minimum": "最小值",
|
||||
"render.children.needs_cpu": "需要 CPU 光線追蹤。開啟此處絕不會變更方法。",
|
||||
"render.children.nested": "經認證的巢狀介電質",
|
||||
"render.children.not_checked": "未檢查",
|
||||
"render.children.path": "路徑追蹤",
|
||||
"render.children.pilots": "先導取樣數",
|
||||
"render.children.preview": "預覽資料",
|
||||
"render.children.progressive_reason": "選擇「漸進式」以編輯其取樣數與種子。",
|
||||
"render.children.radius": "半徑",
|
||||
"render.children.reflect_depth": "反射深度",
|
||||
"render.children.reflect_samples": "反射取樣數",
|
||||
"render.children.regrade": "重新調色",
|
||||
"render.children.relative_error": "相對誤差",
|
||||
"render.children.render": "彩現",
|
||||
"render.children.render_shot": "彩現鏡頭",
|
||||
"render.children.renderer": "彩現器",
|
||||
"render.children.renderers": "各彩現器",
|
||||
"render.children.request": "此請求",
|
||||
"render.children.reset_finishing": "重設後製",
|
||||
"render.children.review_quality": "檢閱品質規格…",
|
||||
"render.children.rgb_gain": "RGB 增益",
|
||||
"render.children.samples": "取樣數",
|
||||
"render.children.sampling": "取樣",
|
||||
"render.children.saturation": "飽和度",
|
||||
"render.children.scene_summary": "{bodies} 個實體 · {triangles} 個三角形",
|
||||
"render.children.seed": "種子",
|
||||
"render.children.sharpening": "銳利化",
|
||||
"render.children.single_image": "單張影像",
|
||||
"render.children.soft_focus": "柔焦",
|
||||
"render.children.streak": "光條",
|
||||
"render.children.strength": "強度",
|
||||
"render.children.studio": "Studio",
|
||||
"render.children.threshold": "臨界值",
|
||||
"render.children.tone": "色調",
|
||||
"render.children.under_hood": "技術細節",
|
||||
"render.children.vignette": "暈影",
|
||||
"render.children.workstation": "工作站",
|
||||
"render.choose_look": "請先在「外觀」中選擇風格",
|
||||
"render.chromatic_offset": "邊緣色差偏移",
|
||||
"render.clear_stage": "移除已儲存的佈景",
|
||||
"render.copy_request": "複製 JSON",
|
||||
@@ -2331,8 +2523,33 @@
|
||||
"render.flare_strength": "亮部眩光強度",
|
||||
"render.flare_threshold": "場景線性眩光閾值",
|
||||
"render.fold_browser": "摺疊瀏覽器",
|
||||
"render.frame_aspect": "長寬比",
|
||||
"render.frame_centre_mark": "中心標記",
|
||||
"render.frame_copy_limit": "沒有可用的複製鏡頭名稱",
|
||||
"render.frame_copy_name": "{name} 副本 {number}",
|
||||
"render.frame_custom": "自訂",
|
||||
"render.frame_distance_unit": " × 大小",
|
||||
"render.frame_duplicate": "複製",
|
||||
"render.frame_exposure": "曝光",
|
||||
"render.frame_fov": "視角",
|
||||
"render.frame_guides": "輔助線",
|
||||
"render.frame_invalid_aspect": "無效的長寬比預設",
|
||||
"render.frame_lens": "視角 {fov}° · ≈ {mm} mm",
|
||||
"render.frame_name": "名稱",
|
||||
"render.frame_output_size": "輸出大小",
|
||||
"render.frame_photo": "3:2 · 相片",
|
||||
"render.frame_portrait": "4:5 · 人像",
|
||||
"render.frame_presets": "畫面預設",
|
||||
"render.frame_presets_pending": "將隨「鏡頭」編輯器推出",
|
||||
"render.frame_projection": "投影",
|
||||
"render.frame_render_shot": "彩現此鏡頭",
|
||||
"render.frame_rule_thirds": "三分法",
|
||||
"render.frame_safe_area": "安全區域",
|
||||
"render.frame_shot_title": "鏡頭 · {name}",
|
||||
"render.frame_square": "1:1 · 正方形",
|
||||
"render.frame_tall": "9:16 · 直式",
|
||||
"render.frame_thirds": "三分線",
|
||||
"render.frame_wide": "16:9 · 寬螢幕",
|
||||
"render.gpu_depth": "最大路徑深度",
|
||||
"render.gpu_options_help": "取樣數、深度、種子和曝光會隨此設定一併儲存。僅儲存目前啟用的影像方法。",
|
||||
"render.gpu_path_failed": "GPU 路徑追蹤器無法使用",
|
||||
@@ -2360,6 +2577,7 @@
|
||||
"render.heading_results": "結果",
|
||||
"render.heading_shots": "鏡頭",
|
||||
"render.hide_shots_label": "隱藏鏡頭列",
|
||||
"render.hover_look": "{object} · {look} · 按一下以選取",
|
||||
"render.image_advanced": "進階 GPU 控制項",
|
||||
"render.image_cancelled": "彩現已取消",
|
||||
"render.image_cancelling": "正在取消",
|
||||
@@ -2506,17 +2724,95 @@
|
||||
"render.library_uniform_ack": "使用均勻近似,不含空間或進階效果",
|
||||
"render.library_usable": "可執行的投影",
|
||||
"render.library_users": "套用對象",
|
||||
"render.light_aim": "對準",
|
||||
"render.light_anchor_pending": "尚無法變更燈光座標系。",
|
||||
"render.light_azimuth": "方位角",
|
||||
"render.light_backend_limit": "請選擇 CPU 光線追蹤或明確的 GPU 攝影棚以編輯燈光。舊版 GPU 攝影棚燈光仍為唯讀。",
|
||||
"render.light_behaviour": "行為",
|
||||
"render.light_default_fill": "補光",
|
||||
"render.light_default_key": "主光",
|
||||
"render.light_default_number": "燈光 {number}",
|
||||
"render.light_default_rim": "輪廓光",
|
||||
"render.light_delete": "刪除",
|
||||
"render.light_distance": "距離",
|
||||
"render.light_duplicate": "複製",
|
||||
"render.light_elevation": "仰角",
|
||||
"render.light_gpu_punctual": "點光源與聚光燈可搭配 CPU 光線追蹤使用。",
|
||||
"render.light_hard_shadow": "此燈光為硬陰影;無法使用發光體柔和度。",
|
||||
"render.light_intensity": "強度",
|
||||
"render.light_missing": "此燈光已不存在。請在瀏覽器中選取燈光。",
|
||||
"render.light_place_highlight": "依高光放置",
|
||||
"render.light_place_pending": "依高光放置需要在視埠中選取燈光,目前尚不支援。",
|
||||
"render.light_position": "位置",
|
||||
"render.light_preview_help": "即時檢視不含陰影;面光源使用中心取樣近似。彩現時使用完整的燈光模型。",
|
||||
"render.light_product_centre": "產品中心",
|
||||
"render.light_size": "大小",
|
||||
"render.light_softness": "柔和度",
|
||||
"render.light_temperature": "色溫",
|
||||
"render.light_temperature_help": "近似黑體色調;以線性 RGB 儲存。",
|
||||
"render.light_type": "類型",
|
||||
"render.light_type_area": "面光源",
|
||||
"render.light_type_point": "點光源",
|
||||
"render.light_type_spot": "聚光燈",
|
||||
"render.light_type_sun": "太陽",
|
||||
"render.light_view_only": "獨奏與靜音只影響此檢視及其彩現;絕不會儲存在設計中。",
|
||||
"render.light_world_origin": "世界原點",
|
||||
"render.lighting_aim_point": "對準點",
|
||||
"render.lighting_apply": "套用預設",
|
||||
"render.lighting_area_samples": "面光源取樣數",
|
||||
"render.lighting_budget": "預算",
|
||||
"render.lighting_budget_help": "數量為唯讀。新增、複製或刪除燈光即可變更;上限由方法決定。",
|
||||
"render.lighting_colour": "顏色",
|
||||
"render.lighting_consent": "以此預設取代方向光",
|
||||
"render.lighting_custom": "自訂燈光",
|
||||
"render.lighting_custom_help": "選擇「自訂」會將預設轉換為可編輯的燈光,每盞燈光在樹狀結構中各佔一列。",
|
||||
"render.lighting_direction": "方向 X Y Z",
|
||||
"render.lighting_direction_help": "或輸入朝向光源的方向(X Y Z)。",
|
||||
"render.lighting_distance_unit": " × 大小",
|
||||
"render.lighting_edge_u": "U 邊向量",
|
||||
"render.lighting_edge_v": "V 邊向量",
|
||||
"render.lighting_falloff": "衰減",
|
||||
"render.lighting_falloff_help": "強度以參考距離處的值表示。",
|
||||
"render.lighting_height": "高度 V",
|
||||
"render.lighting_minimum": "最小距離",
|
||||
"render.lighting_mute": "靜音此燈光",
|
||||
"render.lighting_point": "點",
|
||||
"render.lighting_preset": "攝影棚預設",
|
||||
"render.lighting_preset_cpu": "方向光攝影棚預設需要 CPU 光線追蹤。GPU 照明使用明確的太陽光與面光源。",
|
||||
"render.lighting_preset_row": "預設",
|
||||
"render.lighting_radiance": "輻射亮度",
|
||||
"render.lighting_reference": "參考距離",
|
||||
"render.lighting_review_help": "取代方向光清單。保留點光源與面光源、環境、陰影、相機及所有其他鏡頭設定。",
|
||||
"render.lighting_review_title": "檢閱照明預設",
|
||||
"render.lighting_samples_cpu": "面光源取樣數適用於 CPU 光線追蹤。",
|
||||
"render.lighting_samples_need_area": "新增 CPU 面光源以設定面光源取樣數。",
|
||||
"render.lighting_samples_reason": "面光源取樣數必須為 1、4、16 或 64。",
|
||||
"render.lighting_shadow_cpu": "陰影開關需要 CPU 光線追蹤。GPU 路徑追蹤一律會投射陰影。",
|
||||
"render.lighting_shadows": "投射陰影",
|
||||
"render.lighting_shadows_section": "陰影與取樣",
|
||||
"render.lighting_shape": "形狀",
|
||||
"render.lighting_solo": "獨奏此燈光",
|
||||
"render.lighting_source": "來源",
|
||||
"render.lighting_source_section": "光源",
|
||||
"render.lighting_spot_preserved": "此點光源會保留已儲存的聚光錐角,直到變更其類型為止。",
|
||||
"render.lighting_sun_distance": "太陽方向與距離和對準點無關。",
|
||||
"render.lighting_unsupported": "不支援",
|
||||
"render.lighting_used": "{used} / {limit}",
|
||||
"render.lighting_width": "寬度 U",
|
||||
"render.lighting_world_position": "世界 X Y Z",
|
||||
"render.lights_fixed_to": "燈光固定於",
|
||||
"render.linear_help": "在降噪、曝光、色調對應、濾鏡與背景之前,保留 32 位元浮點 RGBA 母檔。線性 sRGB/D65;覆蓋率預乘。額外記憶體須明確核可。無壓縮,也無額外通道。",
|
||||
"render.linear_retain": "保留原始線性 EXR",
|
||||
"render.linear_unavailable": "所選的已完成畫面沒有保留 EXR。請在彩現前啟用保留;較舊的 PNG 無法還原原始輻射亮度。",
|
||||
"render.look_add": "新增色彩風格",
|
||||
"render.look_applied": "已套用 {name}",
|
||||
"render.look_bleach": "仿留銀沖印風格",
|
||||
"render.look_cool": "冷色",
|
||||
"render.look_cyanotype": "仿藍曬風格",
|
||||
"render.look_faded": "褪色相片",
|
||||
"render.look_material": "材質",
|
||||
"render.look_mono": "單色",
|
||||
"render.look_pasted": "已貼上風格",
|
||||
"render.look_sepia": "深褐色",
|
||||
"render.look_strength": "風格強度",
|
||||
"render.look_teal_orange": "青綠 / 橘橙",
|
||||
@@ -2592,9 +2888,11 @@
|
||||
"render.output_advanced": "進階",
|
||||
"render.output_backend_ready": "就緒",
|
||||
"render.output_check": "檢查",
|
||||
"render.output_check_failed": "檢查 · 錯誤",
|
||||
"render.output_check_help": "執行「檢查」可在不開始彩現的情況下檢閱此請求。",
|
||||
"render.output_check_summary": "檢查 · 備註:{count}",
|
||||
"render.output_copy": "複製",
|
||||
"render.output_copy_report": "複製報告",
|
||||
"render.output_destination": "目的地",
|
||||
"render.output_destination_help": "匯出完成的影像時,請選擇目的檔案。",
|
||||
"render.output_dimensions": "大小",
|
||||
@@ -2604,6 +2902,7 @@
|
||||
"render.output_fit": "適合",
|
||||
"render.output_format": "格式",
|
||||
"render.output_format_status": "PNG 是確切的已完成顯示影像。選用的 GPU EXR 會在顯示濾鏡之前,保留原始場景線性 FLOAT32 輻射亮度。匯出絕不會以預覽快取或其他工作取代。",
|
||||
"render.output_grading": "調色",
|
||||
"render.output_image": "影像",
|
||||
"render.output_largest": "最大 {width} × {height}",
|
||||
"render.output_lock_ratio": "鎖定長寬比",
|
||||
@@ -2613,6 +2912,8 @@
|
||||
"render.output_quality_waiting": "等待品質約定",
|
||||
"render.output_ratio_refused": "連動的尺寸超出此方法的大小上限。先前的尺寸會保留;請解除鎖定比例,或選擇較小的值。",
|
||||
"render.output_ready": "可開始彩現",
|
||||
"render.output_run_check": "執行檢查",
|
||||
"render.output_size_limit": "{method}:每邊最多 {dimension} px,總計 {pixels} 像素。可容納的最大尺寸:{width} × {height}。",
|
||||
"render.output_size_ok": "大小正常 · {width} × {height} px",
|
||||
"render.output_swap_orientation": "交換寬度與高度",
|
||||
"render.output_tools_inspector": "請在「輸出」檢查器中編輯尺寸與格式。",
|
||||
@@ -2629,6 +2930,7 @@
|
||||
"render.page_output": "輸出",
|
||||
"render.page_scene": "場景",
|
||||
"render.paint_label": "塗料",
|
||||
"render.painting_with": "正在以 {name} 塗抹",
|
||||
"render.passive_stage": "地面與被動佈景",
|
||||
"render.passive_stage_help": "有限的被動面板僅屬於彩現影像,不會新增 CAD 實體或質量。放置位置在套用後即固定;與產品邊界相交時會被拒絕。CPU 不提供漫射反彈照明。",
|
||||
"render.perspective": "透視相機",
|
||||
@@ -2650,6 +2952,7 @@
|
||||
"render.pick_help": "選擇實體、面或元件。點擊空白處可清除;按住 Shift 或 Ctrl 可加選或切換。醒目提示僅會顯示於即時產品檢視中。",
|
||||
"render.pick_label": "選取",
|
||||
"render.pick_up_label": "拾取",
|
||||
"render.pick_up_prompt": "按一下物件以吸取其風格",
|
||||
"render.pick_waiting": "尚未支援產品選取。",
|
||||
"render.post_contrast": "對比",
|
||||
"render.post_gain_b": "藍色增益",
|
||||
@@ -2689,13 +2992,17 @@
|
||||
"render.radial_distortion": "徑向畸變",
|
||||
"render.radial_fit": "適合產品檢視",
|
||||
"render.radial_save": "儲存鏡頭",
|
||||
"render.recent_looks": "最近使用的風格",
|
||||
"render.regrade_action": "重新調色原始母檔(不降噪)",
|
||||
"render.regrade_help": "以這些呈現控制項,從所選的已完成原始母檔建立獨立的 PNG。不會追蹤光線、變更已擷取的尺寸/相機/光源,也不會覆寫 EXR。不會重新套用降噪:原始母檔不保留其引導資料。衍生檔仍可透過相同的工作控制項匯出。",
|
||||
"render.regrade_label": "重新調色",
|
||||
"render.reload_settings": "重新載入已儲存設定",
|
||||
"render.remove_override": "移除覆寫",
|
||||
"render.replace_all": "全部取代",
|
||||
"render.replace_ground": "確認取代現有佈景",
|
||||
"render.replace_label": "取代",
|
||||
"render.replace_saved_surface": "取代此目標現有的已儲存繫結",
|
||||
"render.replace_with": "取代為",
|
||||
"render.restore_camera": "還原已儲存相機",
|
||||
"render.result_actual": "100%",
|
||||
"render.result_actual_help": "每個顯示像素對應一個影像像素。",
|
||||
@@ -2747,14 +3054,28 @@
|
||||
"render.saved_surface_remove": "移除已儲存的繫結",
|
||||
"render.saved_surfaces": "已儲存的表面繫結",
|
||||
"render.saved_surfaces_help": "固定的內建貼圖以局部毫米為單位,跟隨所選的實例。目標被取代或遺失時會視為錯誤,絕不會自動重新指派。",
|
||||
"render.scene_all_shots": "所有鏡頭({count})",
|
||||
"render.scene_apply": "套用已檢閱的攝影棚",
|
||||
"render.scene_batch_reason": "「所有鏡頭」需要已儲存鏡頭的彩現佇列,目前尚無法使用。",
|
||||
"render.scene_check_now": "立即檢查",
|
||||
"render.scene_check_passed": "檢查通過 · {notes} 則備註",
|
||||
"render.scene_check_stale": "檢查已過期 · 請重新檢查",
|
||||
"render.scene_check_unchecked": "尚未檢查 · 0 則備註",
|
||||
"render.scene_consent": "確認取代燈光、環境、曝光與佈景",
|
||||
"render.scene_light_summary": "{environment} · {lights} 盞燈光",
|
||||
"render.scene_look_summary": "{looks} 個風格 · {overrides} 個覆寫",
|
||||
"render.scene_open_check": "開啟檢查",
|
||||
"render.scene_preserved_fields": "相機、取樣、尺寸、光學繫結、CAD 幾何與工程材質皆會保留。",
|
||||
"render.scene_preserves_design": "為可見的主體組合燈光與被動佈景。幾何、工程材質與相機維持獨立。",
|
||||
"render.scene_ready": "可開始彩現",
|
||||
"render.scene_reminder": "場景會保留設計。彩現絕不會變更幾何、工程屬性與 CAD 資料。",
|
||||
"render.scene_reminders": "提醒",
|
||||
"render.scene_renderer_ready": "{renderer} 已就緒",
|
||||
"render.scene_replaces": "取代內容",
|
||||
"render.scene_review": "解析並檢閱",
|
||||
"render.scene_review_help": "套用前請檢閱完整的原生組合。未繫結的進階 SCENE 規格不會被替代。",
|
||||
"render.scene_scope_details": "組合範圍",
|
||||
"render.scene_stages": "階段",
|
||||
"render.search_appearances": "搜尋 {count} 個外觀",
|
||||
"render.setup_legacy_environment": "此舊版設定使用傳統的環境旋轉或強度。這些值會保留;儲存完整影像工作前,請明確轉換它們。",
|
||||
"render.setup_name": "設定名稱",
|
||||
@@ -2767,7 +3088,22 @@
|
||||
"render.shell_tab_camera": "彩現相機",
|
||||
"render.shell_tab_lighting": "照明",
|
||||
"render.shell_tab_scene": "彩現場景",
|
||||
"render.shot_aperture": "光圈",
|
||||
"render.shot_distance": "距離",
|
||||
"render.shot_dof": "景深",
|
||||
"render.shot_duplicate": "複製已儲存的鏡頭",
|
||||
"render.shot_edit_output": "在「輸出」中編輯",
|
||||
"render.shot_exposure_reason": "曝光需要 CPU 光線追蹤或 GPU 路徑追蹤。",
|
||||
"render.shot_exposure_section": "曝光",
|
||||
"render.shot_focus_distance": "對焦距離",
|
||||
"render.shot_fov_reason": "視角需要透視投影。",
|
||||
"render.shot_frame_subject": "取景主體",
|
||||
"render.shot_invalid_camera": "相機數值必須為有限值且在範圍內。",
|
||||
"render.shot_lens": "透鏡",
|
||||
"render.shot_lens_enable_reason": "啟用景深以編輯光圈與對焦距離。",
|
||||
"render.shot_lens_gpu_reason": "景深需要 GPU 路徑追蹤。",
|
||||
"render.shot_lens_perspective_reason": "景深需要透視投影。",
|
||||
"render.shot_look_selection": "注視所選項目",
|
||||
"render.shot_manager": "已儲存的鏡頭",
|
||||
"render.shot_new_name": "新鏡頭名稱",
|
||||
"render.shot_remove": "移除已儲存的鏡頭",
|
||||
@@ -2775,6 +3111,9 @@
|
||||
"render.shot_remove_title": "移除已儲存的鏡頭?",
|
||||
"render.shot_rename": "重新命名已儲存的鏡頭",
|
||||
"render.shot_saved_only": "請先儲存目前的草稿。複製與重新命名會保留確切的已儲存選項與資源參照。",
|
||||
"render.shot_selection_reason": "請選取要對準的實體或面。",
|
||||
"render.shot_size": "大小",
|
||||
"render.shot_target": "目標",
|
||||
"render.shots_camera_changed": "儲存此鏡頭後相機已變更",
|
||||
"render.shots_name_help": "請為目前的鏡頭輸入唯一的名稱。",
|
||||
"render.shots_no_result": "尚無彩現",
|
||||
@@ -2997,6 +3336,13 @@
|
||||
"render.wait_pick_up": "尚未支援:產品拾取與外觀吸取",
|
||||
"render.wait_replace": "尚未支援:取代外觀的所有使用處",
|
||||
"render.wait_solo": "尚未支援:燈光可見性與獨奏控制項",
|
||||
"render.wear_applies_to": "套用於",
|
||||
"render.wear_layer_count": "{count} 層",
|
||||
"render.wear_layer_one": "{count} 層",
|
||||
"render.wear_layers": "層",
|
||||
"render.wear_no_layers": "沒有層",
|
||||
"render.wear_selected_layer": "所選層",
|
||||
"render.wear_title": "磨損",
|
||||
"sample.bracket.about": "以 2 mm 規則建立的基礎凸緣、邊線凸緣和摺邊",
|
||||
"sample.bracket.name": "鈑金支架",
|
||||
"sample.enclosure.about": "薄殼盒體,含唇緣、螺絲凸座、墊塊和卡扣",
|
||||
@@ -3030,6 +3376,7 @@
|
||||
"select an axis": "請選取一個軸",
|
||||
"select an axis, a straight or circular edge, or a cylinder, cone or torus face first": "請先選取軸、直邊或圓邊,或圓柱面、圓錐面或圓環面",
|
||||
"select bodies first": "請先選取實體",
|
||||
"select components first": "請先選取元件",
|
||||
"select corner points, or the two lines of one corner": "請選取角點,或同一個角的兩條直線",
|
||||
"select one corner point, or the two lines of one corner": "請選取一個角點,或同一個角的兩條直線",
|
||||
"select sheet edges first": "請先選取鈑金邊",
|
||||
@@ -3048,6 +3395,7 @@
|
||||
"settings.double_click_components": "按兩下元件以啟用它,或就地編輯連結的元件",
|
||||
"settings.frame_rate_details_note": "加入最近各影格耗時的圖表(疊加繪製的三角形數量)、影格耗時直方圖,以及 GPU 繪製的內容。點擊檢視中的影格率即可顯示或隱藏。",
|
||||
"settings.frame_rate_note": "在檢視右下角顯示每秒影格數。",
|
||||
"settings.insert_lists_open_designs": "「插入設計」會優先列出在其他分頁中開啟的設計",
|
||||
"settings.measure_axis_distances": "顯示 X/Y/Z 距離",
|
||||
"settings.measure_axis_distances_help": "開啟測量時,在總距離之外顯示沿世界座標軸方向的分量尺寸。",
|
||||
"settings.msaa_applies_on_restart": "抗鋸齒將在下次啟動 SolidCraft 時生效",
|
||||
@@ -3072,6 +3420,10 @@
|
||||
"shortcut.unpin": "取消固定",
|
||||
"sketch is missing": "草圖不存在",
|
||||
"sketch.degrees_of_freedom": "{count} 個自由度",
|
||||
"sketch.dimension_added_driven": "草圖已決定該尺寸,因此已將其新增為從動(參考)尺寸",
|
||||
"sketch.dimension_applied": "已套用尺寸",
|
||||
"sketch.dimension_applied_defined": "已套用尺寸;已定義參數 `{name}`",
|
||||
"sketch.dimension_applied_renamed": "已套用尺寸;參數已命名為 `{name}`",
|
||||
"sketch.dof_left": "剩餘 {count} 個自由度",
|
||||
"sketch.dof_left_one": "剩餘 {count} 個自由度",
|
||||
"sketch.draw_curves": "繪製為 {linetype}",
|
||||
@@ -3106,6 +3458,8 @@
|
||||
"sketch_text.use_font_file": "使用字型檔案 {path}",
|
||||
"solid": "實體",
|
||||
"status.editing": "正在編輯 {name}",
|
||||
"status.navigation": "滑鼠對應:{mapping}",
|
||||
"status.navigation_tip": "滑鼠移動檢視的方式。按一下可選擇其他對應",
|
||||
"status.under_constrained": "拘束不足({count} 個自由度)",
|
||||
"status.under_constrained_one": "拘束不足({count} 個自由度)",
|
||||
"status.units_tip": "設計的單位。按一下可變更",
|
||||
@@ -3139,8 +3493,10 @@
|
||||
"timeline.delete_folders_tip": "在歷程記錄中保留其中的特徵與巢狀資料夾",
|
||||
"timeline.delete_folders_with_features_tip": "刪除資料夾及其中的所有特徵與巢狀資料夾",
|
||||
"timeline.delete_many": "刪除所選的 {count} 個特徵",
|
||||
"timeline.edited_rolled_back": "{name} 已變更,但它位於歷程標記之後,因此不會建構:將標記移到它之後即可看到結果",
|
||||
"timeline.feature_error": "錯誤:{message}",
|
||||
"timeline.feature_hint": "雙擊以編輯 · 拖曳以重新排序 · 按右鍵查看更多",
|
||||
"timeline.feature_rolled_back": "已回溯:位於歷程標記之後,因此不會建構",
|
||||
"timeline.feature_warning": "警告:{message}",
|
||||
"timeline.group": "新建特徵資料夾",
|
||||
"timeline.move_many": "移動時間軸項目",
|
||||
@@ -3220,6 +3576,10 @@
|
||||
"ui.3d_mouse_offer": "校準 3D 滑鼠可以修正互換或反向的軸,並調整它的速度和手感。",
|
||||
"ui.3d_mouse_offer_never": "不再顯示",
|
||||
"ui.3d_mouse_offer_swap": "切換到 Hidraw(直接驅動)",
|
||||
"ui.3d_mouse_orbit": "環轉",
|
||||
"ui.3d_mouse_orbit_classic": "傳統",
|
||||
"ui.3d_mouse_orbit_tip": "追蹤:3D 滑鼠會繞著開始旋轉時位於檢視中央的模型部位旋轉檢視,並以淡色小球標示。傳統:繞著檢視中心旋轉",
|
||||
"ui.3d_mouse_orbit_traced": "追蹤",
|
||||
"ui.3d_mouse_reading": "讀值",
|
||||
"ui.3d_mouse_reset_axes": "重設軸指定",
|
||||
"ui.3d_mouse_reset_view": "重設檢視",
|
||||
@@ -3604,6 +3964,7 @@
|
||||
"ui.constant": "恆定",
|
||||
"ui.constraints_conflict": "拘束條件衝突",
|
||||
"ui.construction": "建構",
|
||||
"ui.construction.ribbon_label": "輔助線",
|
||||
"ui.context_menu": "右鍵選單",
|
||||
"ui.continuity_g0": "G0 摺痕",
|
||||
"ui.continuity_g1": "G1 相切",
|
||||
@@ -3695,6 +4056,14 @@
|
||||
"ui.end_scale": "末端縮放",
|
||||
"ui.entities": "物件",
|
||||
"ui.equal": "相等",
|
||||
"ui.equation_end": "結束",
|
||||
"ui.equation_explicit": "顯式",
|
||||
"ui.equation_form": "形式",
|
||||
"ui.equation_note": "變數為純數字:sin(t) 以弧度計算。沒有單位的結果會使用設計的單位。",
|
||||
"ui.equation_parametric": "參數式",
|
||||
"ui.equation_x_of_t": "x(t)",
|
||||
"ui.equation_y_of_t": "y(t)",
|
||||
"ui.equation_y_of_x": "y(x)",
|
||||
"ui.equivalent_radius": "等效半徑",
|
||||
"ui.expand": "展開",
|
||||
"ui.exportDxf": "匯出 DXF…",
|
||||
@@ -3760,6 +4129,7 @@
|
||||
"ui.heading_design": "設計",
|
||||
"ui.heading_draft": "拔模",
|
||||
"ui.heading_edit": "編輯",
|
||||
"ui.heading_equation_curve": "方程式曲線",
|
||||
"ui.heading_extrude": "擠出",
|
||||
"ui.heading_fillet": "圓角",
|
||||
"ui.heading_finish_editing": "完成編輯",
|
||||
@@ -3851,6 +4221,10 @@
|
||||
"ui.import_ellipsis": "匯入…",
|
||||
"ui.infinite": "無限",
|
||||
"ui.insert": "插入",
|
||||
"ui.insert_design.browse": "瀏覽…",
|
||||
"ui.insert_design.open_designs": "已開啟的設計",
|
||||
"ui.insert_design.saved_file": "{name} 有未儲存的變更,因此插入的是其已儲存的檔案。請儲存後執行「更新連結」以帶入變更。",
|
||||
"ui.insert_design.unsaved": "未儲存的變更",
|
||||
"ui.inspect": "檢查",
|
||||
"ui.intersect": "相交",
|
||||
"ui.isolate": "隔離",
|
||||
@@ -4000,6 +4374,18 @@
|
||||
"ui.project": "投影",
|
||||
"ui.project_face_edges_sketch": "將面的邊投影到新草圖",
|
||||
"ui.properties": "屬性",
|
||||
"ui.properties.copy_matrix": "複製矩陣",
|
||||
"ui.properties.first_moments": "一次矩",
|
||||
"ui.properties.inertia": "慣性矩",
|
||||
"ui.properties.inertia_note": "相對於質心,以世界座標軸表示(g·{unit}²)",
|
||||
"ui.properties.inertia_unavailable": "無法使用:某個實體的網格未封閉。",
|
||||
"ui.properties.inertia_x": "Ixx, Ixy, Ixz",
|
||||
"ui.properties.inertia_y": "Iyx, Iyy, Iyz",
|
||||
"ui.properties.inertia_z": "Izx, Izy, Izz",
|
||||
"ui.properties.measuring": "正在測量…",
|
||||
"ui.properties.measuring_failed": "測量在完成前已停止。",
|
||||
"ui.properties.principal_axis": "主軸 {number}",
|
||||
"ui.properties.principal_moments": "主慣性矩",
|
||||
"ui.pull_direction": "拔模方向",
|
||||
"ui.quality": "品質",
|
||||
"ui.quantity": "數量",
|
||||
@@ -4062,6 +4448,7 @@
|
||||
"ui.select": "選擇",
|
||||
"ui.selectOther": "選擇其他…",
|
||||
"ui.selectTangentChain": "選擇相切鏈",
|
||||
"ui.select_all": "全選",
|
||||
"ui.selection": "選擇",
|
||||
"ui.selection_modifiers": "選擇修飾鍵",
|
||||
"ui.selection_shift_add_only": "Shift+點擊僅新增、不取消選擇",
|
||||
@@ -4098,7 +4485,11 @@
|
||||
"ui.sketch": "草圖",
|
||||
"ui.sketch_dimension": "草圖尺寸",
|
||||
"ui.sketch_grid": "草圖網格",
|
||||
"ui.sketch_intersect_geometry": "幾何",
|
||||
"ui.sketch_intersect_projection_link": "投影連結",
|
||||
"ui.sketch_intersect_selection_filter": "選擇篩選",
|
||||
"ui.sketch_modifiers": "草圖修飾鍵",
|
||||
"ui.sketch_project_geometry": "幾何",
|
||||
"ui.sketch_scale": "草圖比例",
|
||||
"ui.sketches": "草圖",
|
||||
"ui.slice": "切片",
|
||||
@@ -4149,6 +4540,7 @@
|
||||
"ui.tab_manage": "管理",
|
||||
"ui.tab_sheet_metal": "鈑金",
|
||||
"ui.tab_view": "檢視",
|
||||
"ui.tab_weldments": "焊件",
|
||||
"ui.tangent": "相切",
|
||||
"ui.taper_angle": "錐度角",
|
||||
"ui.tapped": "攻牙",
|
||||
@@ -4164,6 +4556,7 @@
|
||||
"ui.tip_angle": "尖端角度",
|
||||
"ui.to_object": "到物件",
|
||||
"ui.tool_direction": "刀具方向",
|
||||
"ui.toolbar_tabs_hidden": "所有工具列索引標籤都已隱藏。按一下 + 或在此按右鍵以顯示一個索引標籤。",
|
||||
"ui.top": "上視",
|
||||
"ui.top_diameter": "頂部直徑",
|
||||
"ui.top_radius": "頂部半徑",
|
||||
@@ -4210,6 +4603,7 @@
|
||||
"ui.visual_shaded_with_edges": "含邊線的著色",
|
||||
"ui.visual_style": "視覺樣式",
|
||||
"ui.visual_wireframe": "線框",
|
||||
"ui.wheel_zoom_speed": "滑鼠滾輪縮放速度",
|
||||
"ui.width": "寬度",
|
||||
"ui.window_system": "視窗系統",
|
||||
"ui.window_system_auto": "自動",
|
||||
@@ -4261,6 +4655,9 @@
|
||||
"update.prefs_label": "更新",
|
||||
"update.prefs_note": "目前為 SolidCraft {version}({kind})。檢查時只向 GitHub 查詢最新版本,不傳送其他任何資料。",
|
||||
"update.prefs_web": "重新載入頁面以取得最新的網頁應用程式。如果網路無法使用,或更新無法及時下載完成,則會改為開啟已儲存的版本;進行中的下載會繼續,供下次重新載入時使用。",
|
||||
"update.refresh_checking": "正在檢查最新版本…",
|
||||
"update.refresh_fallback": "無法檢查是否有更新的版本;將更新至先前找到的 {version}。",
|
||||
"update.refresh_selected": "正在更新至 {version}。",
|
||||
"update.release_page": "開啟發佈頁面",
|
||||
"update.restart": "立即重新啟動",
|
||||
"update.restart_later": "稍後",
|
||||
|
||||
@@ -206,6 +206,7 @@
|
||||
"Edges": "边",
|
||||
"Edit": "编辑",
|
||||
"Edit Profile Sketch": "编辑轮廓草图",
|
||||
"Edit shortcuts": "编辑快捷键",
|
||||
"Enable rule": "启用规则",
|
||||
"Enabled": "已启用",
|
||||
"End Radius": "结束半径",
|
||||
@@ -468,6 +469,7 @@
|
||||
"Radius": "半径",
|
||||
"Radius Fit": "半径拟合",
|
||||
"Ratio": "比率",
|
||||
"Read-only list: shortcuts can't be changed here.": "只读列表:此处无法更改快捷键。",
|
||||
"Reattach selected face": "重新附着所选面",
|
||||
"Recover": "恢复",
|
||||
"Recover unsaved design?": "恢复未保存的设计?",
|
||||
@@ -773,6 +775,8 @@
|
||||
"at the face": "在面上",
|
||||
"bom.group_children": "子零件并入所属零件的行",
|
||||
"browser.body_name": "实体{number}",
|
||||
"browser.calibrate_click_a": "点击图像选取点 A,或输入其坐标。",
|
||||
"browser.calibrate_click_b": "点击图像选取点 B,或输入其坐标。",
|
||||
"browser.calibrate_title": "校准:{name}",
|
||||
"browser.capture_many": "{count} 个组件已移动,但尚未捕获其位置。",
|
||||
"browser.capture_note": "“捕获位置”保留新位置;“恢复位置”还原原先的位置。",
|
||||
@@ -822,6 +826,7 @@
|
||||
"cmd.browser_move": "移动浏览器项目",
|
||||
"cmd.browser_order": "排列浏览器项目",
|
||||
"cmd.browser_rename_group": "重命名组",
|
||||
"cmd.browser_reparent": "移动到组件",
|
||||
"cmd.browser_ungroup": "取消编组",
|
||||
"cmd.browser_visibility": "显示/隐藏",
|
||||
"cmd.canvas_calibrate": "校准画布",
|
||||
@@ -848,7 +853,9 @@
|
||||
"cmd.component_metadata": "零件属性",
|
||||
"cmd.component_metadata_set": "更改零件属性",
|
||||
"cmd.component_move_bodies": "将实体移至组件",
|
||||
"cmd.component_move_features": "将特征移至组件",
|
||||
"cmd.component_move_sketches": "将草图移至组件",
|
||||
"cmd.component_paste_from_design": "从其他设计粘贴",
|
||||
"cmd.component_paste_new": "粘贴为新对象",
|
||||
"cmd.component_properties": "组件物理属性",
|
||||
"cmd.component_relink": "重新链接源文件",
|
||||
@@ -1076,6 +1083,13 @@
|
||||
"cmd.render_start": "渲染图像",
|
||||
"cmd.render_status": "渲染进度",
|
||||
"cmd.select_clear": "清除选择",
|
||||
"cmd.settings_profile_apply": "应用设置配置文件",
|
||||
"cmd.settings_profile_delete": "删除设置配置文件",
|
||||
"cmd.settings_profile_export": "导出设置配置文件",
|
||||
"cmd.settings_profile_import": "导入设置配置文件",
|
||||
"cmd.settings_profile_list": "设置配置文件",
|
||||
"cmd.settings_profile_rename": "重命名设置配置文件",
|
||||
"cmd.settings_profile_save": "保存设置配置文件",
|
||||
"cmd.sheet_convert": "转换为钣金",
|
||||
"cmd.sheet_export_bend_table": "导出折弯表",
|
||||
"cmd.sheet_export_dxf": "将展开图导出为 DXF",
|
||||
@@ -1089,6 +1103,16 @@
|
||||
"cmd.sheet_refold": "重新折弯",
|
||||
"cmd.sheet_rules": "列出钣金规则",
|
||||
"cmd.sheet_unfold": "展开",
|
||||
"cmd.sketch.construction_line": "构造直线",
|
||||
"cmd.sketch.construction_line.angle": "指定角度构造直线",
|
||||
"cmd.sketch.construction_line.bisector": "角平分线",
|
||||
"cmd.sketch.construction_line.horizontal": "水平构造直线",
|
||||
"cmd.sketch.construction_line.parallel": "平行构造直线",
|
||||
"cmd.sketch.construction_line.perpendicular": "垂直构造直线",
|
||||
"cmd.sketch.construction_line.tangent_at": "曲线上点处的切线",
|
||||
"cmd.sketch.construction_line.tangent_external": "过外部点的切线",
|
||||
"cmd.sketch.construction_line.tangent_two": "公切线",
|
||||
"cmd.sketch.construction_line.vertical": "竖直构造直线",
|
||||
"cmd.sketch_arc3d": "三维圆弧",
|
||||
"cmd.sketch_arc_center_point": "中心点圆弧",
|
||||
"cmd.sketch_arc_tangent": "相切圆弧",
|
||||
@@ -1121,6 +1145,8 @@
|
||||
"cmd.sketch_drawing_bounds": "图纸尺寸",
|
||||
"cmd.sketch_edit": "编辑草图",
|
||||
"cmd.sketch_edit_text": "编辑文字",
|
||||
"cmd.sketch_equation_curve": "方程曲线",
|
||||
"cmd.sketch_equation_curve_edit": "编辑方程曲线",
|
||||
"cmd.sketch_export_dxf": "另存为 DXF",
|
||||
"cmd.sketch_finish_auto_constrain": "使用自动约束完成",
|
||||
"cmd.sketch_fit_curves_to_section": "将曲线拟合到网格截面",
|
||||
@@ -1217,6 +1243,7 @@
|
||||
"cmd.view.render_browser": "渲染浏览器",
|
||||
"cmd.view.render_dock": "移动渲染停靠面板",
|
||||
"cmd.view.render_focus": "渲染专注视图",
|
||||
"cmd.view.status_items": "视口状态项",
|
||||
"cmd.view_ambient_occlusion": "环境光遮蔽",
|
||||
"cmd.view_angle_readout": "视图角度",
|
||||
"cmd.view_apply": "还原命名视图",
|
||||
@@ -1374,6 +1401,17 @@
|
||||
"help.occurrence.move": "仅沿关节允许的自由度移动装配零部件。选中零部件的面后,拖动可用的箭头或圆弧。",
|
||||
"help.parameters.change": "打开驱动设计尺寸的命名数值和表达式表。用于在一处修改尺寸,让所有引用它的特征随之更新。",
|
||||
"help.pointcloud.insert": "将 PLY、XYZ 或 PTS 扫描作为点云插入到模型旁。根据测量数据建模时,可将其用作参考。",
|
||||
"help.sketch.construction_line": "创建经过两点的无限构造直线,用于辅助绘制草图而不分割轮廓。",
|
||||
"help.sketch.construction_line.angle": "创建与草图X轴成指定角度的无限构造直线。选择一点后输入角度或选择方向。",
|
||||
"help.sketch.construction_line.bisector": "选择两条相交的草图直线,再选择所需的角平分线。结果随原直线的编辑而变化。",
|
||||
"help.sketch.construction_line.horizontal": "创建经过指定点的无限水平构造直线。后续编辑时保持水平约束。",
|
||||
"help.sketch.construction_line.parallel": "选择草图直线,然后放置与其平行的无限构造直线。右键单击可更换参照。",
|
||||
"help.sketch.construction_line.perpendicular": "选择草图直线,然后放置与其垂直的无限构造直线。右键单击可更换参照。",
|
||||
"help.sketch.construction_line.tangent_at": "在圆或圆弧上的点处,或开放样条曲线、圆锥曲线的端点处创建切线。先选曲线,再选接点。",
|
||||
"help.sketch.construction_line.tangent_external": "依次选择圆或圆弧、外部点和所需切线。预览仅显示接点位于已绘圆弧上的解。",
|
||||
"help.sketch.construction_line.tangent_two": "选择两个圆或圆弧,再从预览中选择公切线。接点必须位于已绘曲线上。",
|
||||
"help.sketch.construction_line.vertical": "创建经过指定点的无限竖直构造直线。后续编辑时保持竖直约束。",
|
||||
"help.sketch.equation_curve": "在一个范围内按公式绘制曲线:x(t) 和 y(t),或 y = f(x)。公式可以使用参数,曲线随参数变化。适用于正弦波、螺旋线或齿轮的渐开线。",
|
||||
"help.solid.align": "移动所选实体,使其上的点、面或平面与别处的点、面或平面对齐。用于把一个零件贴靠到另一个零件上,而无需测量距离。",
|
||||
"help.solid.chamfer": "用指定的距离在所选边上切出一个平直的斜面。用于去除锐边,或使销钉、螺钉更容易插入。",
|
||||
"help.solid.combine": "将多个实体合并、从目标实体中切除,或只保留它们共有的体积,还可以保留工具实体。用于合并零件、用一个形体切割另一个形体,或找出两个实体重叠的位置。",
|
||||
@@ -1743,6 +1781,7 @@
|
||||
"parts.dimension.thickness": "厚度",
|
||||
"parts.dimension.width": "宽度",
|
||||
"parts.family.bearing": "深沟球轴承(外形)",
|
||||
"parts.family.button_head_cap_screw": "圆头内六角螺钉",
|
||||
"parts.family.dowel_pin": "圆柱销",
|
||||
"parts.family.hex_bolt": "六角头螺栓",
|
||||
"parts.family.hex_nut": "六角螺母",
|
||||
@@ -1874,6 +1913,8 @@
|
||||
"prefs.layout_note": "紧凑模式将面板停靠在窗口边缘。浏览器半透明仅适用于浮动模式。助手面板的位置在助手页面中设置。",
|
||||
"prefs.left": "左侧",
|
||||
"prefs.left_click": "左键单击",
|
||||
"prefs.line_drag_draws_one": "按下并拖动绘制一条直线",
|
||||
"prefs.line_drag_draws_one_note": "在直线工具中,按下、拖动再松开,会从按下处到松开处绘制一条直线并在此结束。单击仍会绘制连续的直线。关闭时:拖动与单击一样,在松开处放置一个点。",
|
||||
"prefs.linked_designs": "链接设计",
|
||||
"prefs.live_input": "实时输入",
|
||||
"prefs.live_preview": "实时预览",
|
||||
@@ -1906,9 +1947,27 @@
|
||||
"prefs.origin_plane_names": "原点平面名称",
|
||||
"prefs.origin_plane_names_note": "浏览器、对话框和列表中显示的名称。{top} 即 XY,{front} 即 XZ,{right} 即 YZ(Z 轴朝上)。命令、脚本和已保存的设计仍使用 XY、XZ 和 YZ。",
|
||||
"prefs.overall_speed": "整体速度",
|
||||
"prefs.persistent_ribbon_pressed": "突出显示已启用的功能区命令",
|
||||
"prefs.persistent_ribbon_pressed_help": "在效果启用时突出显示相应的功能区命令。关闭此选项可保留原来的中性外观和命令帮助。",
|
||||
"prefs.perspective_fov": "视场角",
|
||||
"prefs.placement": "放置",
|
||||
"prefs.prefer_free_sketch_points": "草图点重合时优先选择可移动的点",
|
||||
"prefs.preview_choices": "所选设置预览",
|
||||
"prefs.profile_active": "当前配置文件",
|
||||
"prefs.profile_applied": "已应用配置文件。",
|
||||
"prefs.profile_changed": "保存配置文件后设置已更改。“保存”会将其写入配置文件。",
|
||||
"prefs.profile_deleted": "已删除配置文件。",
|
||||
"prefs.profile_export": "导出…",
|
||||
"prefs.profile_exported": "已导出配置文件。",
|
||||
"prefs.profile_imported": "已导入配置文件。在“当前配置文件”中选择它即可切换。",
|
||||
"prefs.profile_name_hint": "配置文件名称,例如 笔记本",
|
||||
"prefs.profile_rename": "重命名",
|
||||
"prefs.profile_renamed": "已重命名配置文件。",
|
||||
"prefs.profile_save": "保存",
|
||||
"prefs.profile_saved": "已将当前设置保存到配置文件。",
|
||||
"prefs.profile_skipped": "已应用配置文件;{n} 项设置保留了当前值(见日志)。",
|
||||
"prefs.profiles": "设置配置文件",
|
||||
"prefs.profiles_note": "将快捷键、工具栏、导航、径向菜单和界面设置一起以名称保存,并一次切换。",
|
||||
"prefs.project_options_dialog": "Project 选项对话框",
|
||||
"prefs.project_options_dialog_note": "开启:投影前选择“几何体”或“实体”以及“投影链接”。关闭:保留原有的直接选择工作流。",
|
||||
"prefs.quality_default": "默认",
|
||||
@@ -1918,6 +1977,8 @@
|
||||
"prefs.render_previous_geometry_budget": "使用先前的渲染预览几何内存预算",
|
||||
"prefs.render_previous_geometry_budget_help": "恢复先前的固定几何内存上限(64位桌面为512 MiB,其他平台为128 MiB),替代基于设备的预算。",
|
||||
"prefs.reports_saved": "已保存 {n} 份",
|
||||
"prefs.ribbon_reveal": "在功能区中显示搜索结果",
|
||||
"prefs.ribbon_reveal_note": "将指针悬停在“搜索命令”的结果上时,会显示该命令在功能区中的位置:其选项卡、按钮或面板下拉菜单中的行。从搜索启动的命令会在那里闪烁,从下拉菜单运行的命令会标记其面板。",
|
||||
"prefs.right_click": "右键单击",
|
||||
"prefs.saving": "自动保存和恢复",
|
||||
"prefs.scale_note": "也可在窗口中使用 Ctrl + / Ctrl −。100% 时按钮高度为 28 像素。",
|
||||
@@ -1931,13 +1992,22 @@
|
||||
"prefs.shift_add_ctrl_toggle": "Shift 仅添加;Ctrl / Cmd 切换选择",
|
||||
"prefs.shift_add_note": "开启:Shift 添加,Ctrl / Cmd 切换选择。关闭(默认):两者均切换选择。",
|
||||
"prefs.shortcuts": "快捷键",
|
||||
"prefs.single_surface_analysis": "仅使用一个曲面分析",
|
||||
"prefs.single_surface_analysis_help": "关闭时,曲面着色分析和连续性分析可以同时保持启用。开启时,仅保留最后启动或修改的分析。",
|
||||
"prefs.sketch_align_points": "绘制时与其他草图点对齐",
|
||||
"prefs.sketch_align_points_note": "绘制时,点可同时与一个草图点水平对齐、与另一个草图点竖直对齐,并显示虚线参考线;单击后保留两个对齐约束。关闭:仅与上一点对齐,每次一个方向。",
|
||||
"prefs.sketch_conflict_colour": "以冲突颜色显示冲突的几何图形",
|
||||
"prefs.sketch_conflict_colour_note": "草图约束冲突时,不仅失败约束的符号或尺寸,该约束所约束的曲线和点也以冲突颜色绘制。关闭:它们保持平常的颜色。",
|
||||
"prefs.sketch_construction_lines": "扩展构造直线工具",
|
||||
"prefs.sketch_exit_view": "草图结束时的视图",
|
||||
"prefs.sketch_exit_view.keep": "保持当前视图",
|
||||
"prefs.sketch_exit_view.previous": "返回之前的视图",
|
||||
"prefs.sketch_exit_view.unless_rotated": "未旋转时返回",
|
||||
"prefs.sketch_exit_view_note": "“完成草图”、取消或连按两次 Esc 后视图的去向。",
|
||||
"prefs.sketch_open_look_at": "打开草图时转向正对草图",
|
||||
"prefs.sketch_open_look_at_note": "关闭:创建或编辑草图时视图保持不变。需要时用“朝向”正对草图。",
|
||||
"prefs.sketch_recent_snap": "自动吸附到最近的圆心和中点",
|
||||
"prefs.sketch_recent_snap_note": "绘图时,将光标吸附到最近两个圆心或直线边中点的辅助线相交处。关闭:辅助线仅作显示,光标不会移动。",
|
||||
"prefs.sketch_selection": "草图与选择",
|
||||
"prefs.sketch_selection_heading": "草图和选择",
|
||||
"prefs.sketch_selection_note": "草图如何捕捉,以及单击如何选择。",
|
||||
@@ -2005,10 +2075,16 @@
|
||||
"prefs.wheel": "滚轮",
|
||||
"prefs.wheel_trackpad": "滚轮与触控板",
|
||||
"prefs.workspace": "工作区",
|
||||
"prefs.zoom_stop_at_model": "缩放到模型表面时停止",
|
||||
"prefs.zoom_stop_at_model_tip": "3D 鼠标和设备应用向视图中央的表面缩放;拖动缩放固定拖动开始时的点。关闭后可穿过模型。滚轮和捏合手势单独使用向光标缩放设置",
|
||||
"prefs.zoom_toward_cursor": "朝光标缩放",
|
||||
"properties.title": "属性:{name}",
|
||||
"recovery.days_ago": "{count} 天前",
|
||||
"recovery.detail": "{file} · {features} 个特征 · 自动保存于 {when}",
|
||||
"recovery.discard_all": "全部放弃",
|
||||
"recovery.discard_all_detail": "此操作无法撤消。",
|
||||
"recovery.discard_all_title": "放弃 {count} 个自动保存?",
|
||||
"recovery.discard_all_title_one": "放弃 1 个自动保存?",
|
||||
"recovery.hours_ago": "{count} 小时前",
|
||||
"recovery.just_now": "刚刚",
|
||||
"recovery.min_ago": "{count} 分钟前",
|
||||
@@ -3355,6 +3431,7 @@
|
||||
"settings.double_click_components": "双击组件以激活它,或在原位编辑链接组件",
|
||||
"settings.frame_rate_details_note": "添加最近各帧耗时的图表(叠加绘制的三角形数)、帧耗时直方图以及 GPU 绘制的内容。点击视图中的帧率可显示或隐藏。",
|
||||
"settings.frame_rate_note": "在视图右下角显示每秒帧数。",
|
||||
"settings.insert_lists_open_designs": "插入设计时先列出其他标签页中打开的设计",
|
||||
"settings.measure_axis_distances": "显示 X/Y/Z 距离",
|
||||
"settings.measure_axis_distances_help": "测量对话框打开时,在总距离之外显示沿世界坐标轴方向的尺寸线和距离。",
|
||||
"settings.msaa_applies_on_restart": "抗锯齿将在下次启动 SolidCraft 时生效",
|
||||
@@ -3379,6 +3456,10 @@
|
||||
"shortcut.unpin": "取消固定",
|
||||
"sketch is missing": "草图不存在",
|
||||
"sketch.degrees_of_freedom": "{count} 个自由度",
|
||||
"sketch.dimension_added_driven": "草图已确定该尺寸,因此已将其添加为被驱动(参考)尺寸",
|
||||
"sketch.dimension_applied": "已应用尺寸",
|
||||
"sketch.dimension_applied_defined": "已应用尺寸;已定义参数 `{name}`",
|
||||
"sketch.dimension_applied_renamed": "已应用尺寸;参数已命名为 `{name}`",
|
||||
"sketch.dof_left": "剩余 {count} 个自由度",
|
||||
"sketch.dof_left_one": "剩余 {count} 个自由度",
|
||||
"sketch.draw_curves": "绘制为 {linetype}",
|
||||
@@ -3448,8 +3529,10 @@
|
||||
"timeline.delete_folders_tip": "在历史记录中保留其中的特征和嵌套文件夹",
|
||||
"timeline.delete_folders_with_features_tip": "删除文件夹及其中的所有特征和嵌套文件夹",
|
||||
"timeline.delete_many": "删除所选的 {count} 个特征",
|
||||
"timeline.edited_rolled_back": "{name} 已更改,但它位于历史标记之后,因此未构建:将标记移到其后即可查看结果",
|
||||
"timeline.feature_error": "错误:{message}",
|
||||
"timeline.feature_hint": "双击编辑 · 拖动以重新排序 · 右键查看更多操作",
|
||||
"timeline.feature_rolled_back": "已回退:位于历史标记之后,因此未构建",
|
||||
"timeline.feature_warning": "警告:{message}",
|
||||
"timeline.group": "新建特征文件夹",
|
||||
"timeline.move_many": "移动时间线项目",
|
||||
@@ -3531,6 +3614,10 @@
|
||||
"ui.3d_mouse_offer": "校准 3D 鼠标可以修正互换或反向的轴,并调整它的速度和手感。",
|
||||
"ui.3d_mouse_offer_never": "不再显示",
|
||||
"ui.3d_mouse_offer_swap": "切换到 Hidraw(直接驱动)",
|
||||
"ui.3d_mouse_orbit": "环绕",
|
||||
"ui.3d_mouse_orbit_classic": "经典",
|
||||
"ui.3d_mouse_orbit_tip": "追踪:3D 鼠标围绕开始旋转时视图中间的模型部分旋转视图,并用一个淡色小球标出该点。经典:围绕视图中心旋转",
|
||||
"ui.3d_mouse_orbit_traced": "追踪",
|
||||
"ui.3d_mouse_reading": "读数",
|
||||
"ui.3d_mouse_reset_axes": "重置轴分配",
|
||||
"ui.3d_mouse_reset_view": "重置视图",
|
||||
@@ -3917,6 +4004,15 @@
|
||||
"ui.constant": "恒定",
|
||||
"ui.constraints_conflict": "约束冲突",
|
||||
"ui.construction": "构造",
|
||||
"ui.construction.angle_hint": "构造直线:单击一点,然后输入角度或选择方向",
|
||||
"ui.construction.bisector_hint": "角平分线:选择两条相交直线,再选择所需解",
|
||||
"ui.construction.common_hint": "公切线:选择两个圆/圆弧,再选择所需解",
|
||||
"ui.construction.contact_hint": "切线:先选圆/圆弧或开放样条曲线/圆锥曲线,再选接点(自由曲线仅支持端点)",
|
||||
"ui.construction.external_hint": "切线:依次选择圆或圆弧、外部点和所需解",
|
||||
"ui.construction.free_hint": "构造直线:单击两点;右键单击重新开始",
|
||||
"ui.construction.point_hint": "构造直线:单击要经过的点",
|
||||
"ui.construction.reference_hint": "构造直线:先选直线,再选一点;右键单击更换参照",
|
||||
"ui.construction.ribbon_label": "辅助线",
|
||||
"ui.context_menu": "上下文菜单",
|
||||
"ui.continuity_g0": "G0 折痕",
|
||||
"ui.continuity_g1": "G1 相切",
|
||||
@@ -4008,6 +4104,14 @@
|
||||
"ui.end_scale": "末端缩放",
|
||||
"ui.entities": "实体",
|
||||
"ui.equal": "相等",
|
||||
"ui.equation_end": "结束",
|
||||
"ui.equation_explicit": "显式",
|
||||
"ui.equation_form": "形式",
|
||||
"ui.equation_note": "变量是不带单位的数:sin(t) 按弧度计算。不带单位的结果采用设计的单位。",
|
||||
"ui.equation_parametric": "参数式",
|
||||
"ui.equation_x_of_t": "x(t)",
|
||||
"ui.equation_y_of_t": "y(t)",
|
||||
"ui.equation_y_of_x": "y(x)",
|
||||
"ui.equivalent_radius": "等效半径",
|
||||
"ui.expand": "展开",
|
||||
"ui.exportDxf": "导出 DXF…",
|
||||
@@ -4073,6 +4177,7 @@
|
||||
"ui.heading_design": "设计",
|
||||
"ui.heading_draft": "拔模",
|
||||
"ui.heading_edit": "编辑",
|
||||
"ui.heading_equation_curve": "方程曲线",
|
||||
"ui.heading_extrude": "拉伸",
|
||||
"ui.heading_fillet": "圆角",
|
||||
"ui.heading_finish_editing": "完成编辑",
|
||||
@@ -4164,6 +4269,10 @@
|
||||
"ui.import_ellipsis": "导入…",
|
||||
"ui.infinite": "无限",
|
||||
"ui.insert": "插入",
|
||||
"ui.insert_design.browse": "浏览…",
|
||||
"ui.insert_design.open_designs": "已打开的设计",
|
||||
"ui.insert_design.saved_file": "{name} 有未保存的更改,因此插入的是其已保存的文件。请先保存,再使用“更新链接”导入这些更改。",
|
||||
"ui.insert_design.unsaved": "未保存的更改",
|
||||
"ui.inspect": "检查",
|
||||
"ui.intersect": "相交",
|
||||
"ui.isolate": "隔离",
|
||||
@@ -4387,6 +4496,7 @@
|
||||
"ui.select": "选择",
|
||||
"ui.selectOther": "选择其他…",
|
||||
"ui.selectTangentChain": "选择相切链",
|
||||
"ui.select_all": "全选",
|
||||
"ui.selection": "选择",
|
||||
"ui.selection_modifiers": "选择修饰键",
|
||||
"ui.selection_shift_add_only": "Shift+点击仅添加、不取消选择",
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
| proposals/render/2026-10-30/original-long-scene/fixture-spec.json | SolidCraft contributors | Original synthetic render acceptance fixture and analytical source data for issue #6201; no external CAD geometry, images or measured material dataset | MIT OR Apache-2.0 |
|
||||
| proposals/render/2026-10-30/original-long-scene/geometry.commands.json | SolidCraft contributors | Original synthetic render acceptance fixture and analytical source data for issue #6201; no external CAD geometry, images or measured material dataset | MIT OR Apache-2.0 |
|
||||
| proposals/render/2026-10-30/original-long-scene/optional-glass-probe.commands.json | SolidCraft contributors | Original synthetic render acceptance fixture and analytical source data for issue #6201; no external CAD geometry, images or measured material dataset | MIT OR Apache-2.0 |
|
||||
| proposals/render/2026-10-30/original-long-scene/original-asymmetric-srgb.hdr | SolidCraft contributors | Original synthetic render acceptance fixture and analytical source data for issue #6201; no external CAD geometry, images or measured material dataset | MIT OR Apache-2.0 |
|
||||
| proposals/render/2026-10-30/original-long-scene/raster-comparison.request.json | SolidCraft contributors | Original synthetic render acceptance fixture and analytical source data for issue #6201; no external CAD geometry, images or measured material dataset | MIT OR Apache-2.0 |
|
||||
| proposals/render/2026-10-30/original-long-scene/static-checks.json | SolidCraft contributors | Original synthetic render acceptance fixture and analytical source data for issue #6201; no external CAD geometry, images or measured material dataset | MIT OR Apache-2.0 |
|
||||
@@ -253,6 +253,12 @@ impl crate::Feature {
|
||||
for e in sketch.text_exprs_mut() {
|
||||
*e = clone_expression(e, parameters);
|
||||
}
|
||||
// An equation curve's variable is its own: a parameter of that name is not renamed in it.
|
||||
for (variable, e) in sketch.equation_exprs_mut() {
|
||||
let others: BTreeMap<String, String> =
|
||||
parameters.iter().filter(|(old, _)| old.as_str() != variable).map(|(o, n)| (o.clone(), n.clone())).collect();
|
||||
*e = clone_expression(e, &others);
|
||||
}
|
||||
for link in &mut sketch.links {
|
||||
remap_link(&mut link.source, ids, names, bodies, 0);
|
||||
for n in link.face_name.iter_mut().chain(&mut link.edge_name) {
|
||||
|
||||
@@ -344,10 +344,13 @@ fn model_line(st: &ModelState, g: &GeoRef) -> Result<(Vec3, Vec3)> {
|
||||
_ => Err(bad("the face is not a cylinder, cone or torus")),
|
||||
}
|
||||
}
|
||||
_ => Err(bad("pick a straight or circular edge, or a cylinder, cone or torus face")),
|
||||
_ => Err(bad(MODEL_AXIS_REFS)),
|
||||
}
|
||||
}
|
||||
|
||||
/// What [`model_axis`] says about a reference that is neither an edge nor a face.
|
||||
pub const MODEL_AXIS_REFS: &str = "pick a straight or circular edge, or a cylinder, cone or torus face";
|
||||
|
||||
/// The axis a feature turns about when an edge or face of the model is picked for it (a revolve,
|
||||
/// a circular pattern, a plane at an angle), as [`model_line`] finds it. The direction is
|
||||
/// oriented the same way however the edge or surface runs (its largest component positive), so
|
||||
|
||||
@@ -3705,7 +3705,7 @@ impl Document {
|
||||
}
|
||||
|
||||
/// Add or change a parameter. Fails if the result would not evaluate. A new parameter
|
||||
/// without a unit takes the unit of its value (mm, deg or none).
|
||||
/// without a unit takes the unit of its value (a length in the design's units, deg or none).
|
||||
pub fn set_param(&mut self, name: &str, expr_s: &str, unit: Option<&str>, comment: Option<&str>) -> Result<()> {
|
||||
// A text parameter: one with the text unit, or an existing one when no unit is given.
|
||||
match (unit.map(crate::text_params::is_text_unit), self.text_param(name).is_some()) {
|
||||
@@ -3889,10 +3889,11 @@ impl Document {
|
||||
}
|
||||
}
|
||||
|
||||
/// Apply parameter values to every dimension in a sketch, and to its points placed by
|
||||
/// parameters (in place).
|
||||
/// Apply parameter values to every dimension in a sketch, to its points placed by parameters
|
||||
/// and to its equation curves (in place).
|
||||
pub fn apply_dimension_values(&self, vals: &std::collections::BTreeMap<String, expr::Value>, sk: &mut Sketch) -> Result<()> {
|
||||
self.apply_point_values(vals, sk)?;
|
||||
self.apply_equation_values(vals, sk)?;
|
||||
self.apply_pattern_values(vals, sk)?;
|
||||
for c in &mut sk.constraints {
|
||||
if let Some(p) = &c.param {
|
||||
|
||||
@@ -792,6 +792,11 @@ fn split_piece_of(name: &str) -> Option<&str> {
|
||||
(!n.starts_with('0') && n.parse::<u32>().is_ok()).then_some(base)
|
||||
}
|
||||
|
||||
/// The warning of a sketch whose profile search was cut short (#6896).
|
||||
fn profiles_cut_short_note() -> String {
|
||||
format!("some profiles may be missing: a group of touching curves is cut into more than {} pieces", solidcraft_sketch::MAX_PROFILE_EDGES)
|
||||
}
|
||||
|
||||
/// Add `note` to a feature's warning.
|
||||
fn append_warning(warning: &mut Option<String>, note: String) {
|
||||
*warning = Some(match warning.take() {
|
||||
@@ -2153,7 +2158,14 @@ impl Model {
|
||||
feature_component.entry(f.id).or_insert(f.component);
|
||||
}
|
||||
let watched = crate::progress::begin(doc.features.len());
|
||||
// The features that failed so far in this pass, by id: their names and errors (#9075).
|
||||
let mut failed: std::collections::HashMap<u64, (String, String)> = std::collections::HashMap::new();
|
||||
for (i, f) in doc.features.iter().enumerate() {
|
||||
if let Some(r) = out.last()
|
||||
&& let Some(e) = &r.error
|
||||
{
|
||||
failed.insert(r.id, (r.name.clone(), e.clone()));
|
||||
}
|
||||
self.placement_local = self.placement_local && placement_reuse::local_geometry(f, &feature_component);
|
||||
let rolled_back = i >= marker;
|
||||
// Retain at most one active result per rolled-back feature, even across several
|
||||
@@ -2213,6 +2225,33 @@ impl Model {
|
||||
if state.reserved_body_names != reserved {
|
||||
Arc::make_mut(&mut state).reserved_body_names.clone_from(&reserved);
|
||||
}
|
||||
// A sketch the feature is built from failed earlier in this pass: the feature fails naming
|
||||
// that sketch, with its error, as one using a failed parameter does (#9075), not as a
|
||||
// sketch that must come earlier in the timeline. Never cached: the cache key holds
|
||||
// neither the sketch's name nor its error (a rename, another failing value).
|
||||
let failed_sketch = if failed.is_empty() {
|
||||
None
|
||||
} else {
|
||||
f.kind.input_sketches().into_iter().find_map(|id| failed.get(&id)).map(|(name, e)| format!("sketch `{name}` failed: {e}"))
|
||||
};
|
||||
if let Some(e) = failed_sketch {
|
||||
recomputed += 1;
|
||||
reuse = false;
|
||||
out.push(FeatureResult {
|
||||
id: f.id,
|
||||
name: f.name.clone(),
|
||||
error: Some(e),
|
||||
warning: None,
|
||||
boolean_diagnostics: Default::default(),
|
||||
ms: 0.0,
|
||||
skipped: false,
|
||||
stale: false,
|
||||
fingerprint: fp,
|
||||
unkept: false,
|
||||
state: state.clone(),
|
||||
});
|
||||
continue;
|
||||
}
|
||||
// The same feature on the same inputs: its earlier result.
|
||||
let key =
|
||||
cache_key(f, fp, fingerprint(doc, 0, f, &vals, false, &self.step_digests) ^ placement_digest(doc, f, Some(&state)), ctx, &state);
|
||||
@@ -2523,13 +2562,40 @@ fn point(vals: &BTreeMap<String, Value>, p: &crate::PointExpr) -> Result<Vec3> {
|
||||
|
||||
pub(crate) fn val(vals: &BTreeMap<String, Value>, e: &str, k: Kind) -> Result<f64> {
|
||||
let scale = vals.get(DESIGN_LEN).map(|x| x.v).unwrap_or(1.0);
|
||||
// Non-literal lengths (a parameter ± a bare number) must read that bare number in the design's
|
||||
// units during the expression, not only when the whole result is unit-less (#9015).
|
||||
if k == Kind::Length && scale != 1.0 && !expr::is_literal(e) {
|
||||
let v = expr::eval_with(e, &|n| vals.get(n).copied().ok_or_else(|| DocError::Expr(format!("unknown parameter `{n}`"))))?;
|
||||
return v.to_kind_in(k, expr::Defaults { len: scale, ..expr::Defaults::default() });
|
||||
let defaults = expr::Defaults { len: scale, ..expr::Defaults::default() };
|
||||
let look = |n: &str| vals.get(n).copied().ok_or_else(|| DocError::Expr(format!("unknown parameter `{n}`")));
|
||||
return expr::eval_with_defaults(e, &look, defaults)?.to_kind_in(k, defaults);
|
||||
}
|
||||
Document::eval_in(vals, e, k)
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod design_unit_val_tests {
|
||||
use super::*;
|
||||
use expr::Value;
|
||||
|
||||
/// #9015: with inches as the design unit, `baseLength - 1` subtracts one inch (not one mm).
|
||||
#[test]
|
||||
fn bare_offsets_beside_a_length_follow_the_design_units() {
|
||||
let mut vals = BTreeMap::new();
|
||||
vals.insert(DESIGN_LEN.into(), Value::num(25.4));
|
||||
vals.insert("baseLength".into(), Value::length(76.0 * 25.4));
|
||||
let got = val(&vals, "baseLength - 1", Kind::Length).unwrap();
|
||||
assert!((got - 75.0 * 25.4).abs() < 1e-9, "got {got} mm, want 75 in");
|
||||
let got = val(&vals, "baseLength - 1.5", Kind::Length).unwrap();
|
||||
assert!((got - 74.5 * 25.4).abs() < 1e-9, "got {got} mm, want 74.5 in");
|
||||
// An explicit millimetre still wins.
|
||||
let got = val(&vals, "baseLength - 1 mm", Kind::Length).unwrap();
|
||||
assert!((got - (76.0 * 25.4 - 1.0)).abs() < 1e-9, "got {got}");
|
||||
// A bare literal stays millimetres (feature inputs write the design unit in when typed).
|
||||
let got = val(&vals, "2", Kind::Length).unwrap();
|
||||
assert!((got - 2.0).abs() < 1e-12, "got {got}");
|
||||
}
|
||||
}
|
||||
|
||||
/// Collapsing the outline and its holes onto one apex cannot make a manifold solid.
|
||||
fn refuse_loft_holes(r: &Region2) -> Result<()> {
|
||||
if r.holes.is_empty() {
|
||||
@@ -7196,7 +7262,13 @@ fn eval_feature(doc: &Document, vals: &BTreeMap<String, Value>, f: &Feature, st:
|
||||
*warning = Some(warns.join("; "));
|
||||
}
|
||||
sk.validate_periodic_splines()?;
|
||||
let profiles = find_profiles(&sk);
|
||||
// A group of touching curves too large to search whole says so, rather than
|
||||
// leaving profiles out silently (#6896).
|
||||
let search = solidcraft_sketch::find_profiles_checked(&sk);
|
||||
if search.incomplete {
|
||||
append_warning(warning, profiles_cut_short_note());
|
||||
}
|
||||
let profiles = search.profiles;
|
||||
let ends = solidcraft_sketch::loose_ends(&sk);
|
||||
st.sketches.retain(|s| s.feature != f.id);
|
||||
st.sketches.push(Arc::new(SolvedSketch { feature: f.id, name: f.name.clone(), plane, sketch: sk, report, profiles, ends }));
|
||||
|
||||
@@ -161,6 +161,12 @@ pub const FUNCTIONS: &[(&str, &str)] = &[
|
||||
("ceil", "ceil(x)"),
|
||||
("round", "round(x)"),
|
||||
("exp", "exp(x)"),
|
||||
("sinh", "sinh(x)"),
|
||||
("cosh", "cosh(x)"),
|
||||
("tanh", "tanh(x)"),
|
||||
("asinh", "asinh(x)"),
|
||||
("acosh", "acosh(x), x ≥ 1"),
|
||||
("atanh", "atanh(x), −1 < x < 1"),
|
||||
("ln", "ln(x)"),
|
||||
("log", "log(x) (base 10)"),
|
||||
("log10", "log10(x)"),
|
||||
@@ -589,9 +595,11 @@ pub fn is_literal(s: &str) -> bool {
|
||||
}
|
||||
}
|
||||
|
||||
/// Is the expression a bare number without a unit, like `20` or `-1.5`?
|
||||
/// Is the expression a bare number without a unit, like `20` or `-1.5`? A leading `=` only marks
|
||||
/// a formula (#4681), so `=20` is the same bare number.
|
||||
pub fn is_bare_number(s: &str) -> bool {
|
||||
is_literal(s) && s.trim().trim_start_matches(['-', '+']).trim().parse::<f64>().is_ok()
|
||||
let number = s.trim().strip_prefix('=').unwrap_or(s);
|
||||
is_literal(s) && number.trim().trim_start_matches(['-', '+']).trim().parse::<f64>().is_ok()
|
||||
}
|
||||
|
||||
/// Is `s` shaped like a parameter name: a letter or `_`, then letters, digits and `_`? The shape
|
||||
@@ -943,6 +951,24 @@ fn call(f: &str, args: &[Value], d: Defaults) -> Result<Value, DocError> {
|
||||
unit_fn(r * if scale != 0.0 { scale } else { 1.0 }, a)
|
||||
}
|
||||
"exp" => Value::num(num(one()?)?.exp()),
|
||||
"sinh" => Value::num(num(one()?)?.sinh()),
|
||||
"cosh" => Value::num(num(one()?)?.cosh()),
|
||||
"tanh" => Value::num(num(one()?)?.tanh()),
|
||||
"asinh" => Value::num(num(one()?)?.asinh()),
|
||||
"acosh" => {
|
||||
let x = num(one()?)?;
|
||||
if !(x >= 1.0) {
|
||||
return Err(DocError::Expr("`acosh` needs a number of at least 1".into()));
|
||||
}
|
||||
Value::num(x.acosh())
|
||||
}
|
||||
"atanh" => {
|
||||
let x = num(one()?)?;
|
||||
if !(x > -1.0 && x < 1.0) {
|
||||
return Err(DocError::Expr("`atanh` needs a number between -1 and 1, both excluded".into()));
|
||||
}
|
||||
Value::num(x.atanh())
|
||||
}
|
||||
"ln" | "log" | "log10" => {
|
||||
let x = num(one()?)?;
|
||||
if x <= 0.0 {
|
||||
@@ -1328,6 +1354,15 @@ mod tests {
|
||||
assert!((ev("atan2(1; 1)", Kind::Angle).unwrap() - std::f64::consts::FRAC_PI_4).abs() < 1e-12);
|
||||
assert!((ev("exp(ln(5))", Kind::Unitless).unwrap() - 5.0).abs() < 1e-12);
|
||||
assert!((ev("log(1000)", Kind::Unitless).unwrap() - 3.0).abs() < 1e-12);
|
||||
// Hyperbolic functions (#9332): their definitions in exp, identities and inverses.
|
||||
assert!((ev("cosh(1.5) - (exp(1.5) + exp(-1.5)) / 2", Kind::Unitless).unwrap()).abs() < 1e-12);
|
||||
assert!((ev("sinh(1.5) - (exp(1.5) - exp(-1.5)) / 2", Kind::Unitless).unwrap()).abs() < 1e-12);
|
||||
assert!((ev("tanh(0.7) - sinh(0.7) / cosh(0.7)", Kind::Unitless).unwrap()).abs() < 1e-12);
|
||||
assert!((ev("cosh(2) ^ 2 - sinh(2) ^ 2", Kind::Unitless).unwrap() - 1.0).abs() < 1e-12);
|
||||
assert!((ev("asinh(sinh(1.25))", Kind::Unitless).unwrap() - 1.25).abs() < 1e-12);
|
||||
assert!((ev("acosh(cosh(1.25))", Kind::Unitless).unwrap() - 1.25).abs() < 1e-12);
|
||||
assert!((ev("atanh(tanh(0.5))", Kind::Unitless).unwrap() - 0.5).abs() < 1e-12);
|
||||
assert_eq!(ev("cosh(0) + sinh(0) + tanh(0) + asinh(0) + acosh(1) + atanh(0)", Kind::Unitless).unwrap(), 1.0);
|
||||
assert_eq!(ev("floor(2.7) + ceil(0.2) + round(1.5) + abs(-1)", Kind::Unitless).unwrap(), 6.0);
|
||||
assert!((ev("1 rad", Kind::Angle).unwrap() - 1.0).abs() < 1e-12);
|
||||
assert!((ev("acos(0)", Kind::Angle).unwrap() - std::f64::consts::FRAC_PI_2).abs() < 1e-12);
|
||||
@@ -1337,6 +1372,22 @@ mod tests {
|
||||
assert_eq!(ev("width^2 / width", Kind::Length).unwrap(), 40.0);
|
||||
}
|
||||
|
||||
/// The hyperbolic functions (#9332) take a unit-less number, and the inverses refuse what lies
|
||||
/// outside their domain, as `asin` and `ln` do.
|
||||
#[test]
|
||||
fn hyperbolic_functions_refuse_units_and_numbers_outside_their_domain() {
|
||||
for (e, says) in [
|
||||
("cosh(2 mm)", "`cosh` needs a unit-less number"),
|
||||
("tanh(30 deg)", "`tanh` needs a unit-less number"),
|
||||
("acosh(0.5)", "`acosh` needs a number of at least 1"),
|
||||
("atanh(1)", "`atanh` needs a number between -1 and 1"),
|
||||
("atanh(-1.5)", "`atanh` needs a number between -1 and 1"),
|
||||
] {
|
||||
let err = ev(e, Kind::Unitless).map(|v| v.to_string()).unwrap_or_else(|e| e.to_string());
|
||||
assert!(err.contains(says), "{e}: {err}");
|
||||
}
|
||||
}
|
||||
|
||||
/// A count from a length (`(L - 20) / 210`, the 210 read as unit-less) names the fix (#5901).
|
||||
#[test]
|
||||
fn a_length_where_a_count_is_expected_says_to_divide_by_a_length() {
|
||||
@@ -1449,6 +1500,8 @@ mod tests {
|
||||
assert!(is_literal("20") && is_literal("-1.5 in") && is_literal("3 deg"));
|
||||
assert!(!is_literal("d1") && !is_literal("2 * 3") && !is_literal("2 width"));
|
||||
assert!(is_bare_number(" -1.5 ") && is_bare_number("+2") && !is_bare_number("20 mm") && !is_bare_number("(2)"));
|
||||
// A leading `=` only marks a formula (#4681): `=5` is the bare number `5`, not `==5`.
|
||||
assert!(is_bare_number("=5") && is_bare_number(" = -1.5") && !is_bare_number("=5 mm") && !is_bare_number("==5") && !is_bare_number("=d3"));
|
||||
assert_eq!((length_unit_or_mm(" in "), length_unit_or_mm("deg"), length_unit_or_mm("")), ("in", "mm", "mm"));
|
||||
}
|
||||
|
||||
|
||||
@@ -46,6 +46,17 @@ impl FeatureKind {
|
||||
found
|
||||
}
|
||||
|
||||
/// Bodies the feature works on (by name).
|
||||
pub fn input_bodies(&self) -> Vec<String> {
|
||||
let mut v = Vec::new();
|
||||
self.walk_refs(&mut |r| {
|
||||
if let Ref::Body(name) = r {
|
||||
v.push(name.as_ref().to_string());
|
||||
}
|
||||
});
|
||||
v
|
||||
}
|
||||
|
||||
/// Point references to sketches and features (both by id) at their copies, and references
|
||||
/// that are still keyed by name at a feature's new name (`timeline.rename`).
|
||||
pub fn remap_refs(&mut self, ids: &BTreeMap<u64, u64>, names: &BTreeMap<String, String>) {
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
//! A sketch saves its equation curves (#8352) in `equations`: for each, the fit point spline it
|
||||
//! places, its formulas (x(t) and y(t), or y = f(x) without `x`), the range of the variable and
|
||||
//! the tolerance its points were chosen for. An older design has none, and its sketches mean
|
||||
//! what they meant. The last release refuses a design that has them (it asks for an update)
|
||||
//! instead of opening the splines as plain fixed splines that no longer follow their formulas.
|
||||
@@ -191,7 +191,11 @@ impl Document {
|
||||
}
|
||||
let mut out = Vec::with_capacity(found.defs.len());
|
||||
for d in found.defs {
|
||||
next.add_user_param(&d.name, &d.expression, d.unit.as_deref(), None)
|
||||
// A value of no fixed kind (a joint's) is evaluated without the design's units, so
|
||||
// its bare number stays a millimetre length whatever they are (#8865): `w = 5` is
|
||||
// what `5` is there.
|
||||
let unit = d.unit.unwrap_or_else(|| Self::infer_unit_in(&next.param_values().0, &d.expression, "mm"));
|
||||
next.add_user_param(&d.name, &d.expression, Some(&unit), None)
|
||||
.map_err(|e| DocError::Invalid(format!("`{} = {}`: {e}", d.name, d.expression)))?;
|
||||
let unit = next.param(&d.name).map(|p| p.unit.clone()).unwrap_or_default();
|
||||
out.push(Defined { name: d.name, expression: d.expression, unit });
|
||||
|
||||
@@ -71,6 +71,7 @@ pub mod render_settings;
|
||||
pub mod render_surface;
|
||||
pub use project3d::iso_grid;
|
||||
pub mod sheet;
|
||||
pub mod sketch_equation;
|
||||
pub mod text_params;
|
||||
|
||||
pub use assembly::{
|
||||
|
||||
@@ -268,7 +268,7 @@ impl Document {
|
||||
.filter(|(_, _, k)| *k == Kind::Length)
|
||||
.map(|(_, e, _)| {
|
||||
let d = if expr::is_literal(&e) { expr::Defaults::default() } else { expr::Defaults { len: scale, ..expr::Defaults::default() } };
|
||||
expr::eval_with(&e, &look).and_then(|v| v.to_kind_in(Kind::Length, d)).ok()
|
||||
expr::eval_with_defaults(&e, &look, d).and_then(|v| v.to_kind_in(Kind::Length, d)).ok()
|
||||
})
|
||||
.collect()
|
||||
}
|
||||
@@ -585,7 +585,7 @@ impl Document {
|
||||
}
|
||||
let unit = match unit {
|
||||
Some(u) => u.trim().to_string(),
|
||||
None => Self::infer_unit_in(vals, expr_s),
|
||||
None => Self::infer_unit_in(vals, expr_s, &self.units),
|
||||
};
|
||||
self.params.push(crate::Param {
|
||||
name: name.into(),
|
||||
@@ -696,18 +696,19 @@ impl Document {
|
||||
}
|
||||
|
||||
/// The unit for a new parameter with this expression: that of its value; a bare number is
|
||||
/// a length (mm).
|
||||
/// a length in the design's units, as a typed length reads it (#8865).
|
||||
pub(crate) fn infer_unit(&self, e: &str) -> String {
|
||||
Self::infer_unit_in(&self.param_values().0, e)
|
||||
Self::infer_unit_in(&self.param_values().0, e, &self.units)
|
||||
}
|
||||
|
||||
/// [`Document::infer_unit`] against parameter values already worked out.
|
||||
fn infer_unit_in(vals: &BTreeMap<String, Value>, e: &str) -> String {
|
||||
/// [`Document::infer_unit`] against parameter values already worked out, a length taking
|
||||
/// `units` (the design's, or `mm` where a bare number reads as millimetres).
|
||||
pub(crate) fn infer_unit_in(vals: &BTreeMap<String, Value>, e: &str, units: &str) -> String {
|
||||
let v = expr::eval_with(e, &|n| vals.get(n).copied().ok_or_else(|| DocError::Expr(format!("unknown parameter `{n}`"))));
|
||||
match v.ok().and_then(|v| v.kind()) {
|
||||
Some(Kind::Unitless) if !expr::references(e).is_empty() => String::new(),
|
||||
Some(Kind::Angle) => "deg".into(),
|
||||
_ => "mm".into(),
|
||||
_ => expr::length_unit_or_mm(units).to_string(),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -896,6 +897,18 @@ impl Document {
|
||||
n += 1;
|
||||
}
|
||||
}
|
||||
// An equation curve's variable hides a parameter of its name: such a parameter is
|
||||
// not what its formulas refer to.
|
||||
for (variable, e) in sketch.equation_exprs_mut() {
|
||||
if variable == old {
|
||||
continue;
|
||||
}
|
||||
let r = expr::rename_reference(e, old, new);
|
||||
if r != *e {
|
||||
*e = r;
|
||||
n += 1;
|
||||
}
|
||||
}
|
||||
for e in sketch.text_word_exprs_mut() {
|
||||
let r = crate::text_params::rename_reference(e, old, new);
|
||||
if r != *e {
|
||||
@@ -1137,6 +1150,19 @@ mod design_length_tests {
|
||||
assert_eq!(written("", 5.0), w("mm", "5 mm"));
|
||||
}
|
||||
|
||||
/// A bare number typed as a formula (`=5`) means the design's units like `5` does.
|
||||
#[test]
|
||||
fn a_formula_that_is_a_bare_number_gets_the_design_unit() {
|
||||
let mut doc = Document::new("Units");
|
||||
doc.units = "in".into();
|
||||
let length = crate::expr::Kind::Length;
|
||||
assert_eq!(doc.with_design_unit("5", length), "5 in");
|
||||
assert_eq!(doc.with_design_unit("=5", length), "=5 in");
|
||||
assert_eq!(doc.with_design_unit("=5 mm", length), "=5 mm");
|
||||
let inches = doc.eval(&doc.with_design_unit("=5", length), length).unwrap();
|
||||
assert!((inches - 127.0).abs() < 1e-9, "{inches}");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn the_written_value_reads_back_within_a_micrometre() {
|
||||
for units in ["mm", "cm", "m", "in", "ft"] {
|
||||
|
||||
@@ -0,0 +1,363 @@
|
||||
//! Equation curves (#8352): the points of a sketch curve worked out from its formulas over the
|
||||
//! design's parameters. The formulas are evaluated at evenly spaced values of the curve's
|
||||
//! variable; the sketch draws a cubic fit spline through those points. How many points: as many
|
||||
//! as it takes for the spline to stay within the curve's tolerance of the formulas, checked
|
||||
//! between the points, up to the most a spline takes. When the parameters change, the same
|
||||
//! number of points is placed again (`Document::apply_equation_values`), before every solve.
|
||||
|
||||
use std::collections::BTreeMap;
|
||||
|
||||
use solidcraft_geom::Vec2;
|
||||
use solidcraft_sketch::{EquationCurve, MAX_COORD, MAX_EQUATION_TEXT, MAX_SPLINE_POINTS, Sketch, fit_beziers_mode};
|
||||
|
||||
use crate::expr::{self, Defaults, Kind, Value};
|
||||
use crate::{DocError, Result};
|
||||
|
||||
/// The tolerance a new equation curve gets (mm).
|
||||
pub const DEFAULT_TOLERANCE: f64 = 0.01;
|
||||
/// The tightest and loosest tolerances (mm).
|
||||
pub const MIN_TOLERANCE: f64 = 1e-4;
|
||||
pub const MAX_TOLERANCE: f64 = 10.0;
|
||||
/// The fewest points a fit starts from.
|
||||
const FIRST_COUNT: usize = 9;
|
||||
/// The widest range of the variable.
|
||||
const MAX_RANGE: f64 = 1e6;
|
||||
/// How many times the point count is raised before the fit gives up.
|
||||
const MAX_ROUNDS: usize = 12;
|
||||
|
||||
/// An equation curve's points and how well the spline through them follows the formulas.
|
||||
#[derive(Clone, Debug, PartialEq)]
|
||||
pub struct EquationFit {
|
||||
/// The spline's points in order; a closed curve's last point is its first one again.
|
||||
pub points: Vec<Vec2>,
|
||||
/// The curve ends where it starts: the spline closes smoothly there.
|
||||
pub closed: bool,
|
||||
/// The largest distance (mm) found between the spline and the formulas.
|
||||
pub deviation: f64,
|
||||
}
|
||||
|
||||
/// How bare numbers read in the formulas: angles in radians (the variable is a plain number,
|
||||
/// `sin(t)` its sine), lengths in the design's unit.
|
||||
fn defaults(vals: &BTreeMap<String, Value>) -> Defaults {
|
||||
let len = vals.get(crate::eval::DESIGN_LEN).map(|v| v.v).filter(|v| v.is_finite() && *v > 0.0).unwrap_or(1.0);
|
||||
Defaults { len, ang: 1.0 }
|
||||
}
|
||||
|
||||
fn checked_text<'a>(what: &str, e: &'a str) -> Result<&'a str> {
|
||||
let e = e.trim();
|
||||
if e.is_empty() {
|
||||
return Err(DocError::Invalid(format!("{what} is empty")));
|
||||
}
|
||||
if e.chars().count() > MAX_EQUATION_TEXT {
|
||||
return Err(DocError::Invalid(format!("{what} is longer than {MAX_EQUATION_TEXT} characters")));
|
||||
}
|
||||
Ok(e)
|
||||
}
|
||||
|
||||
/// A formula's value (mm) where the variable is `at`. The variable hides a parameter of its name.
|
||||
fn formula(vals: &BTreeMap<String, Value>, e: &str, variable: &str, at: f64, d: Defaults) -> Result<f64> {
|
||||
let lookup = |n: &str| {
|
||||
if n == variable { Ok(Value::num(at)) } else { vals.get(n).copied().ok_or_else(|| DocError::Expr(format!("unknown parameter `{n}`"))) }
|
||||
};
|
||||
let v = expr::eval_with_defaults(e, &lookup, d)?.to_kind_in(Kind::Length, d)?;
|
||||
if v.is_finite() && v.abs() < MAX_COORD { Ok(v) } else { Err(DocError::Expr("the curve goes out of range".into())) }
|
||||
}
|
||||
|
||||
/// Where the variable starts or ends, as the plain number the formulas see: a number, an angle
|
||||
/// (in radians) or a length (in the design's unit).
|
||||
fn range_end(vals: &BTreeMap<String, Value>, e: &str, d: Defaults) -> Result<f64> {
|
||||
let v = expr::eval_with_defaults(e, &|n| vals.get(n).copied().ok_or_else(|| DocError::Expr(format!("unknown parameter `{n}`"))), d)?;
|
||||
let out = match v.kind() {
|
||||
Some(Kind::Unitless | Kind::Angle) => v.v,
|
||||
Some(Kind::Length) => v.v / d.len,
|
||||
None => return Err(DocError::Expr(format!("expected a number, an angle or a length, got {}", v.describe()))),
|
||||
};
|
||||
if out.is_finite() { Ok(out) } else { Err(DocError::Expr("not a finite number".into())) }
|
||||
}
|
||||
|
||||
/// The variable's range, checked.
|
||||
fn range(vals: &BTreeMap<String, Value>, eq: &EquationCurve, d: Defaults) -> Result<(f64, f64)> {
|
||||
let a = range_end(vals, checked_text("the start", &eq.start)?, d).map_err(|e| DocError::Expr(format!("start: {e}")))?;
|
||||
let b = range_end(vals, checked_text("the end", &eq.end)?, d).map_err(|e| DocError::Expr(format!("end: {e}")))?;
|
||||
if (b - a).abs() <= 1e-12 * a.abs().max(b.abs()).max(1.0) {
|
||||
return Err(DocError::Invalid("the start and the end of the range must differ".into()));
|
||||
}
|
||||
if (b - a).abs() > MAX_RANGE {
|
||||
return Err(DocError::Invalid(format!("the range is wider than {MAX_RANGE}")));
|
||||
}
|
||||
Ok((a, b))
|
||||
}
|
||||
|
||||
/// The curve's point where the variable is `at`.
|
||||
fn point_at(vals: &BTreeMap<String, Value>, eq: &EquationCurve, at: f64, d: Defaults) -> Result<Vec2> {
|
||||
let variable = eq.variable();
|
||||
let x = match &eq.x {
|
||||
Some(e) => formula(vals, e, variable, at, d).map_err(|e| DocError::Expr(format!("x: {e}")))?,
|
||||
// The explicit form: x is the variable, in the design's unit.
|
||||
None => {
|
||||
let x = at * d.len;
|
||||
if !(x.is_finite() && x.abs() < MAX_COORD) {
|
||||
return Err(DocError::Expr("the curve goes out of range".into()));
|
||||
}
|
||||
x
|
||||
}
|
||||
};
|
||||
let y = formula(vals, &eq.y, variable, at, d).map_err(|e| DocError::Expr(format!("y: {e}")))?;
|
||||
Ok(Vec2::new(x, y))
|
||||
}
|
||||
|
||||
/// The formulas' points at `count` evenly spaced values of the variable, from start to end.
|
||||
fn samples(vals: &BTreeMap<String, Value>, eq: &EquationCurve, (a, b): (f64, f64), count: usize, d: Defaults) -> Result<Vec<Vec2>> {
|
||||
let last = count.saturating_sub(1).max(1) as f64;
|
||||
(0..count)
|
||||
.map(|i| {
|
||||
let at = a + (b - a) * (i as f64 / last);
|
||||
point_at(vals, eq, at, d).map_err(|e| DocError::Expr(format!("at {} = {}: {e}", eq.variable(), short(at))))
|
||||
})
|
||||
.collect()
|
||||
}
|
||||
|
||||
/// A number short enough for a message.
|
||||
fn short(v: f64) -> String {
|
||||
let s = format!("{v:.6}");
|
||||
s.trim_end_matches('0').trim_end_matches('.').to_string()
|
||||
}
|
||||
|
||||
/// The size of the curve: the larger side of its box (for closing tolerances).
|
||||
fn extent(points: &[Vec2]) -> f64 {
|
||||
let (mut lo, mut hi) = (Vec2::new(f64::INFINITY, f64::INFINITY), Vec2::new(f64::NEG_INFINITY, f64::NEG_INFINITY));
|
||||
for p in points {
|
||||
lo = Vec2::new(lo.x.min(p.x), lo.y.min(p.y));
|
||||
hi = Vec2::new(hi.x.max(p.x), hi.y.max(p.y));
|
||||
}
|
||||
(hi.x - lo.x).max(hi.y - lo.y).max(0.0)
|
||||
}
|
||||
|
||||
/// Does a curve through these samples end where it starts?
|
||||
fn closes(points: &[Vec2]) -> bool {
|
||||
match (points.first(), points.last()) {
|
||||
(Some(a), Some(b)) => points.len() >= 4 && a.dist(*b) <= 1e-7 * extent(points).max(1.0),
|
||||
_ => false,
|
||||
}
|
||||
}
|
||||
|
||||
/// Refuse samples a spline cannot pass through: two in a row on the same spot, or all of them.
|
||||
fn check_samples(points: &[Vec2], closed: bool) -> Result<()> {
|
||||
let size = extent(points);
|
||||
if size <= 1e-9 {
|
||||
return Err(DocError::Invalid("the formulas give the same point all along the range".into()));
|
||||
}
|
||||
let spans = if closed { points.len().saturating_sub(1) } else { points.len() };
|
||||
for w in points.windows(2).take(spans) {
|
||||
if let [p, q] = w
|
||||
&& p.dist(*q) <= 1e-9 * size.max(1.0)
|
||||
{
|
||||
return Err(DocError::Invalid("the curve stands still between two of its points: narrow the range or use fewer points".into()));
|
||||
}
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// Distance from `q` to the cubic Bézier `b`, sampled finely.
|
||||
fn bezier_distance(b: &[Vec2; 4], q: Vec2) -> f64 {
|
||||
const STEPS: usize = 32;
|
||||
let at = |t: f64| {
|
||||
let s = 1.0 - t;
|
||||
b[0] * (s * s * s) + b[1] * (3.0 * t * s * s) + b[2] * (3.0 * t * t * s) + b[3] * (t * t * t)
|
||||
};
|
||||
let mut best = f64::INFINITY;
|
||||
let mut prev = at(0.0);
|
||||
for i in 1..=STEPS {
|
||||
let next = at(i as f64 / STEPS as f64);
|
||||
let d = next - prev;
|
||||
let l2 = d.len2();
|
||||
let t = if l2 > 0.0 { ((q - prev).dot(d) / l2).clamp(0.0, 1.0) } else { 0.0 };
|
||||
best = best.min(q.dist(prev + d * t));
|
||||
prev = next;
|
||||
}
|
||||
best
|
||||
}
|
||||
|
||||
/// How far the spline through `points` strays from the formulas: the largest distance from the
|
||||
/// formulas' points a quarter, a half and three quarters of the way between two samples to the
|
||||
/// spline's piece between them.
|
||||
fn deviation(vals: &BTreeMap<String, Value>, eq: &EquationCurve, (a, b): (f64, f64), points: &[Vec2], closed: bool, d: Defaults) -> Result<f64> {
|
||||
let pieces = fit_beziers_mode(points, closed).map_err(|e| DocError::Invalid(e.to_string()))?;
|
||||
let step = (b - a) / points.len().saturating_sub(1).max(1) as f64;
|
||||
let mut worst: f64 = 0.0;
|
||||
for (i, piece) in pieces.iter().enumerate() {
|
||||
for k in [0.25, 0.5, 0.75] {
|
||||
let q = point_at(vals, eq, a + step * (i as f64 + k), d)?;
|
||||
worst = worst.max(bezier_distance(piece, q));
|
||||
}
|
||||
}
|
||||
Ok(worst)
|
||||
}
|
||||
|
||||
/// Check an equation's text and tolerance before any evaluation.
|
||||
pub fn check(eq: &EquationCurve) -> Result<()> {
|
||||
if let Some(x) = &eq.x {
|
||||
checked_text("x(t)", x)?;
|
||||
}
|
||||
checked_text(if eq.x.is_some() { "y(t)" } else { "y(x)" }, &eq.y)?;
|
||||
checked_text("the start", &eq.start)?;
|
||||
checked_text("the end", &eq.end)?;
|
||||
if !(eq.tolerance.is_finite() && (MIN_TOLERANCE..=MAX_TOLERANCE).contains(&eq.tolerance)) {
|
||||
return Err(DocError::Invalid(format!("the tolerance must be from {MIN_TOLERANCE} mm to {MAX_TOLERANCE} mm")));
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// The points of `count` samples (a closed curve's last one is its first), whether it closes,
|
||||
/// and how far the spline through them strays.
|
||||
pub fn sample(vals: &BTreeMap<String, Value>, eq: &EquationCurve, count: usize, closed: Option<bool>) -> Result<EquationFit> {
|
||||
check(eq)?;
|
||||
if !(2..=MAX_SPLINE_POINTS).contains(&count) {
|
||||
return Err(DocError::Invalid(format!("an equation curve takes 2 to {MAX_SPLINE_POINTS} points")));
|
||||
}
|
||||
let d = defaults(vals);
|
||||
let span = range(vals, eq, d)?;
|
||||
let mut points = samples(vals, eq, span, count, d)?;
|
||||
let closed = closed.unwrap_or_else(|| closes(&points)) && count >= 4;
|
||||
if closed
|
||||
&& let Some(first) = points.first().copied()
|
||||
&& let Some(last) = points.last_mut()
|
||||
{
|
||||
*last = first;
|
||||
}
|
||||
check_samples(&points, closed)?;
|
||||
let deviation = deviation(vals, eq, span, &points, closed, d)?;
|
||||
Ok(EquationFit { points, closed, deviation })
|
||||
}
|
||||
|
||||
/// The points of an equation curve, as few as keep the spline within its tolerance of the
|
||||
/// formulas. Refused when even the most points a spline takes are not close enough.
|
||||
pub fn fit(vals: &BTreeMap<String, Value>, eq: &EquationCurve) -> Result<EquationFit> {
|
||||
let mut count = FIRST_COUNT;
|
||||
for _ in 0..MAX_ROUNDS {
|
||||
let fit = sample(vals, eq, count, None)?;
|
||||
if fit.deviation <= eq.tolerance {
|
||||
return Ok(fit);
|
||||
}
|
||||
if count >= MAX_SPLINE_POINTS {
|
||||
return Err(DocError::Invalid(format!(
|
||||
"even {MAX_SPLINE_POINTS} points stray {} mm from the formulas, more than the tolerance of {} mm: raise the tolerance or narrow the range",
|
||||
short(fit.deviation),
|
||||
short(eq.tolerance)
|
||||
)));
|
||||
}
|
||||
// A cubic fit's error falls with the fourth power of the spacing: aim a little past
|
||||
// what that asks for, at least half as many points again.
|
||||
let ratio = (fit.deviation / eq.tolerance).powf(0.25) * 1.2;
|
||||
let next = (count as f64 * ratio.max(1.5)).ceil();
|
||||
count = if next.is_finite() && next < MAX_SPLINE_POINTS as f64 { next as usize } else { MAX_SPLINE_POINTS };
|
||||
}
|
||||
Err(DocError::Invalid("the equation curve's points could not be fitted".into()))
|
||||
}
|
||||
|
||||
impl crate::Document {
|
||||
/// Place the points of the sketch's equation curves where their formulas put them now (in
|
||||
/// place), with the number of points each has. Their points are fixed, so the solve keeps
|
||||
/// them there. A curve that is gone or is no longer a fit point spline is left as it is.
|
||||
pub fn apply_equation_values(&self, vals: &BTreeMap<String, Value>, sk: &mut Sketch) -> Result<()> {
|
||||
for k in 0..sk.equations.len() {
|
||||
let Some(eq) = sk.equations.get(k).cloned() else { continue };
|
||||
let Some(ci) = sk.curve_index(&eq.curve) else { continue };
|
||||
let Some(solidcraft_sketch::CurveKind::Spline { pts, control: false, periodic, .. }) = sk.curves.get(ci).map(|c| &c.kind) else {
|
||||
continue;
|
||||
};
|
||||
let (count, closed) = (pts.len(), *periodic);
|
||||
let fit = sample(vals, &eq, count, Some(closed)).map_err(|e| DocError::Expr(format!("equation curve {}: {e}", eq.curve)))?;
|
||||
sk.place_equation_points(ci, &fit.points)?;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
fn eq(x: Option<&str>, y: &str, start: &str, end: &str) -> EquationCurve {
|
||||
EquationCurve {
|
||||
curve: String::new(),
|
||||
x: x.map(str::to_string),
|
||||
y: y.into(),
|
||||
start: start.into(),
|
||||
end: end.into(),
|
||||
tolerance: DEFAULT_TOLERANCE,
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn a_circle_closes_and_stays_within_the_tolerance() {
|
||||
let vals = BTreeMap::new();
|
||||
let fit = fit(&vals, &eq(Some("10 * cos(t)"), "10 * sin(t)", "0", "2 * pi")).unwrap();
|
||||
assert!(fit.closed);
|
||||
assert!(fit.deviation <= DEFAULT_TOLERANCE, "{}", fit.deviation);
|
||||
for p in &fit.points {
|
||||
assert!((p.len() - 10.0).abs() < 1e-9, "{p:?}");
|
||||
}
|
||||
assert_eq!(fit.points.first(), fit.points.last());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn the_variable_hides_a_parameter_and_parameters_drive_the_curve() {
|
||||
let mut vals = BTreeMap::new();
|
||||
vals.insert("t".to_string(), Value::length(1000.0));
|
||||
vals.insert("amp".to_string(), Value::length(5.0));
|
||||
let fit = fit(&vals, &eq(None, "amp * sin(x / 10)", "0 mm", "100 mm")).unwrap();
|
||||
assert!(!fit.closed);
|
||||
let (first, last) = (fit.points[0], *fit.points.last().unwrap());
|
||||
assert!((first - Vec2::new(0.0, 0.0)).len() < 1e-9, "{first:?}");
|
||||
assert!((last.x - 100.0).abs() < 1e-9 && (last.y - 5.0 * 10f64.sin()).abs() < 1e-9, "{last:?}");
|
||||
assert!(fit.points.iter().all(|p| p.y.abs() <= 5.0 + 1e-9));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn a_design_in_inches_reads_bare_numbers_in_inches() {
|
||||
let mut vals = BTreeMap::new();
|
||||
vals.insert(crate::eval::DESIGN_LEN.to_string(), Value::num(25.4));
|
||||
let fit = fit(&vals, &eq(Some("t"), "2", "0", "1")).unwrap();
|
||||
let last = *fit.points.last().unwrap();
|
||||
assert!((last - Vec2::new(25.4, 50.8)).len() < 1e-9, "{last:?}");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn more_points_where_the_tolerance_is_tighter() {
|
||||
let vals = BTreeMap::new();
|
||||
let mut e = eq(Some("t * cos(t)"), "t * sin(t)", "0", "6 * pi");
|
||||
e.tolerance = 0.1;
|
||||
let loose = fit(&vals, &e).unwrap();
|
||||
e.tolerance = 0.005;
|
||||
let tight = fit(&vals, &e).unwrap();
|
||||
assert!(tight.points.len() > loose.points.len(), "{} vs {}", tight.points.len(), loose.points.len());
|
||||
assert!(tight.deviation <= 0.005 && loose.deviation <= 0.1);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn hostile_formulas_and_ranges_are_refused() {
|
||||
let vals = BTreeMap::new();
|
||||
for (x, y, a, b, tol) in [
|
||||
(Some("t"), "sqrt(t)", "-1", "1", DEFAULT_TOLERANCE),
|
||||
(Some("t"), "1 / t", "-1", "1", DEFAULT_TOLERANCE),
|
||||
(Some("t"), "t", "0", "0", DEFAULT_TOLERANCE),
|
||||
(Some("t"), "t", "0", "1e300", DEFAULT_TOLERANCE),
|
||||
(Some("t"), "t", "0", "nan", DEFAULT_TOLERANCE),
|
||||
(Some("t * 1 deg"), "t", "0", "1", DEFAULT_TOLERANCE),
|
||||
(Some("1e300 * t"), "t", "0", "1", DEFAULT_TOLERANCE),
|
||||
(Some("5"), "5", "0", "1", DEFAULT_TOLERANCE),
|
||||
(Some(""), "t", "0", "1", DEFAULT_TOLERANCE),
|
||||
(Some("t"), "t", "0", "1", f64::NAN),
|
||||
(Some("t"), "t", "0", "1", 0.0),
|
||||
(Some("t"), "unknown_name * t", "0", "1", DEFAULT_TOLERANCE),
|
||||
(Some("t"), "sin(1e5 * t)", "0", "1000", 1e-4),
|
||||
] {
|
||||
let mut e = eq(x, y, a, b);
|
||||
e.tolerance = tol;
|
||||
assert!(fit(&vals, &e).is_err(), "{x:?} {y} {a}..{b} {tol}");
|
||||
}
|
||||
let long = "t + ".repeat(400) + "t";
|
||||
assert!(fit(&vals, &eq(Some(&long), "t", "0", "1")).is_err());
|
||||
}
|
||||
}
|
||||
@@ -486,6 +486,8 @@ fn hostile_expressions_never_panic() {
|
||||
"deg",
|
||||
"x",
|
||||
"sqrt",
|
||||
"cosh",
|
||||
"atanh",
|
||||
"pow",
|
||||
"min",
|
||||
"max",
|
||||
@@ -715,3 +717,27 @@ fn timeline_group_legacy_json_omits_empty_joint_membership() {
|
||||
assert!(value["timeline_groups"][0].get("joints").is_none());
|
||||
assert_eq!(Document::from_json(&saved).unwrap().to_json(), saved);
|
||||
}
|
||||
|
||||
/// A sketch whose touching curves are cut into more pieces than the profile search looks at
|
||||
/// says that some profiles may be missing, instead of leaving them out silently (#6896); an
|
||||
/// ordinary sketch says nothing.
|
||||
#[test]
|
||||
fn a_sketch_too_large_to_search_whole_says_profiles_may_be_missing() {
|
||||
let mut doc = Document::new("large");
|
||||
let mut sk = Sketch::new();
|
||||
// Concentric ellipses 100 m across, each sampled into thousands of pieces, all one island.
|
||||
let c = sk.add_point(Vec2::ZERO, None).unwrap();
|
||||
for k in 0..5 {
|
||||
let m = sk.add_point(Vec2::new(1e5 - k as f64 * 1e3, 0.0), None).unwrap();
|
||||
sk.add_curve(solidcraft_sketch::CurveKind::Ellipse { c, m, r: 6e4 - k as f64 * 1e3 }, None).unwrap();
|
||||
}
|
||||
let large = doc.add_feature(FeatureKind::Sketch { plane: PlaneRef::Origin { name: "XY".into() }, sketch: sk }, None).unwrap();
|
||||
let (plate, plate_sketch) = plate_doc();
|
||||
let mut m = Model::new();
|
||||
m.evaluate(&doc);
|
||||
let warning = m.result(large).and_then(|r| r.warning.clone()).unwrap_or_default();
|
||||
assert!(warning.contains("some profiles may be missing"), "{warning}");
|
||||
let mut m = Model::new();
|
||||
m.evaluate(&plate);
|
||||
assert!(m.result(plate_sketch).and_then(|r| r.warning.as_deref()).is_none());
|
||||
}
|
||||
|
||||
@@ -23,9 +23,9 @@ pub struct TextParam {
|
||||
pub comment: String,
|
||||
}
|
||||
|
||||
/// Is `unit` the text unit?
|
||||
/// Is `unit` the text unit, ignoring ASCII case and surrounding whitespace?
|
||||
pub fn is_text_unit(unit: &str) -> bool {
|
||||
unit.trim() == TEXT_UNIT
|
||||
unit.trim().eq_ignore_ascii_case(TEXT_UNIT)
|
||||
}
|
||||
|
||||
/// A text as typed for a text parameter: inside matching quotes, what they hold (a quote doubled
|
||||
|
||||
@@ -57,19 +57,35 @@ pub fn check(steps: &[Value], level: ParamCheck, host: &[&str]) -> Option<Refusa
|
||||
if host.contains(&id) {
|
||||
continue;
|
||||
}
|
||||
let Some(spec) = find_command(id) else {
|
||||
if find_command(id).is_none() {
|
||||
return Some(Refusal { index, command: Some(id.to_string()), error: EngineError::UnknownCommand(id.to_string()).to_string() });
|
||||
};
|
||||
}
|
||||
if level == ParamCheck::Strict
|
||||
&& let Some(contract) = spec.contract
|
||||
&& let Some(first) = contract.check(step.get("params").unwrap_or(&Value::Null)).into_iter().next()
|
||||
&& let Some(refusal) = contract_refusal(index, id, step)
|
||||
{
|
||||
return Some(Refusal { index, command: Some(id.to_string()), error: crate::params::bad(id, first.message).to_string() });
|
||||
return Some(refusal);
|
||||
}
|
||||
}
|
||||
None
|
||||
}
|
||||
|
||||
/// The first of `steps` whose parameters break its command's typed contract, for a runner in
|
||||
/// another process that checks the rest itself (the MCP server bridged to an app at
|
||||
/// [`ParamCheck::Strict`]): a step naming no command, or one this registry lacks (the app may be
|
||||
/// another version), is left to it.
|
||||
pub fn contracts(steps: &[Value]) -> Option<Refusal> {
|
||||
steps.iter().enumerate().find_map(|(index, step)| {
|
||||
let id = step.get("command").or_else(|| step.get("id")).and_then(Value::as_str)?;
|
||||
contract_refusal(index, id, step)
|
||||
})
|
||||
}
|
||||
|
||||
/// Step `index`'s refusal when its parameters break the typed contract of its command `id`.
|
||||
fn contract_refusal(index: usize, id: &str, step: &Value) -> Option<Refusal> {
|
||||
let first = crate::schema::issues(id, step.get("params").unwrap_or(&Value::Null)).into_iter().next()?;
|
||||
Some(Refusal { index, command: Some(id.to_string()), error: crate::params::bad(id, first.message).to_string() })
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
@@ -130,5 +146,9 @@ mod tests {
|
||||
let mut s = crate::Session { param_check: ParamCheck::Strict, ..crate::Session::default() };
|
||||
let at_turn = s.execute("solid.box", &steps[1]["params"]).unwrap_err().to_string();
|
||||
assert_eq!(r.error, at_turn);
|
||||
// Another process's runner gets the same refusal, and keeps what it checks itself.
|
||||
assert_eq!(contracts(&steps), Some(r));
|
||||
let theirs = vec![json!({"params": {}}), step("app.only", json!({"x": 1})), step("view.pick", json!({}))];
|
||||
assert_eq!(contracts(&theirs), None);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1731,6 +1731,43 @@ mod tests {
|
||||
assert!(crate::view::sketch_shown(&s, wall) && !crate::view::sketch_shown(&s, base));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn a_hole_at_sketch_points_hides_its_sketch_as_an_extrude_does() {
|
||||
// #9082: a Hole's points sketch stayed shown, and its points were drawn in the holes. A
|
||||
// Single hole snapped to one point (#2110) leaves its sketch shown: it was placed on a face,
|
||||
// and a hidden sketch offers no points for the next one to snap to.
|
||||
let mut s = Session::default();
|
||||
let plate = run(&mut s, "sketch.create", json!({"plane": "XY", "name": "PlateSketch"}))["sketch"].as_u64().unwrap();
|
||||
run(&mut s, "sketch.rectangle.two_point", json!({"p0": [0, 0], "p1": [40, 30]}));
|
||||
run(&mut s, "sketch.finish", json!({}));
|
||||
run(&mut s, "solid.extrude", json!({"sketch": plate, "distance": 6}));
|
||||
assert!(!crate::view::sketch_shown(&s, plate), "the Extrude used its sketch");
|
||||
let pts = run(&mut s, "sketch.create", json!({"plane": "XY", "name": "HolePts", "offset": 6}))["sketch"].as_u64().unwrap();
|
||||
run(&mut s, "sketch.point", json!({"point": [10, 10]}));
|
||||
run(&mut s, "sketch.point", json!({"point": [30, 20]}));
|
||||
run(&mut s, "sketch.finish", json!({}));
|
||||
let spot = run(&mut s, "sketch.create", json!({"plane": "XY", "name": "Spot", "offset": 6}))["sketch"].as_u64().unwrap();
|
||||
run(&mut s, "sketch.point", json!({"point": [20, 15], "id": "c"}));
|
||||
run(&mut s, "sketch.finish", json!({}));
|
||||
assert!(crate::view::sketch_shown(&s, pts) && crate::view::sketch_shown(&s, spot), "unused sketches are shown");
|
||||
run(&mut s, "solid.hole", json!({"sketch": "HolePts", "diameter": 3, "name": "Holes"}));
|
||||
assert!(!crate::view::sketch_shown(&s, pts), "the Hole used its points sketch");
|
||||
run(&mut s, "solid.hole", json!({"sketch": "Spot", "points": ["c"], "single": true, "diameter": 3, "depth": 3, "name": "One"}));
|
||||
assert!(crate::view::sketch_shown(&s, spot), "a Single hole leaves the sketch it snapped to shown");
|
||||
let d = run(&mut s, "document.inspect", json!({}));
|
||||
let visible = |id: u64| d["sketches"].as_array().unwrap().iter().find(|x| x["id"] == id).unwrap()["visible"].clone();
|
||||
assert_eq!((visible(pts), visible(spot)), (json!(false), json!(true)), "{d}");
|
||||
// While the Hole is edited it is drawn, then hidden again; shown on its own, it stays drawn.
|
||||
s.feature_edit_sketch = Some(pts);
|
||||
assert!(crate::view::sketch_shown(&s, pts));
|
||||
s.feature_edit_sketch = None;
|
||||
assert!(!crate::view::sketch_shown(&s, pts));
|
||||
run(&mut s, "browser.visibility", json!({"items": [pts], "visible": true}));
|
||||
assert!(crate::view::sketch_shown(&s, pts) && !crate::view::sketch_shown(&s, plate));
|
||||
run(&mut s, "browser.visibility", json!({"items": [pts], "visible": false}));
|
||||
assert!(!crate::view::sketch_shown(&s, pts));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn helper_sketches_hide_and_show() {
|
||||
let mut s = Session::default();
|
||||
|
||||
@@ -39,7 +39,7 @@ fn copy(s: &mut Session, p: &Value) -> Result<Value> {
|
||||
}
|
||||
|
||||
/// Origin planes become explicit planes so a translation can move them.
|
||||
fn explicit_planes(p: &mut PlaneRef) {
|
||||
pub(in crate::cmd) fn explicit_planes(p: &mut PlaneRef) {
|
||||
match p {
|
||||
PlaneRef::Origin { name } => {
|
||||
if let Some(plane) = solidcraft_geom::Plane::named(name) {
|
||||
|
||||
@@ -12,26 +12,35 @@ use solidcraft_geom::Vec3;
|
||||
use super::CommandSpec;
|
||||
use crate::params::{bad, bool_, str_, string_list, vec3};
|
||||
use crate::schema::component::{
|
||||
EditInPlaceParams, EditInPlaceResult, FinishEditParams, FinishEditResult, OccurrenceAlignParams, OccurrenceAlignResult,
|
||||
EditInPlaceParams, EditInPlaceResult, FinishEditParams, FinishEditResult, MoveFeaturesParams, MoveFeaturesResult, OccurrenceAlignParams,
|
||||
OccurrenceAlignResult, ReparentItemsParams, ReparentItemsResult,
|
||||
};
|
||||
use crate::schema::{TypedContract, output_schema_for};
|
||||
use crate::{Result, Session};
|
||||
|
||||
const EDIT_IN_PLACE_CONTRACT: TypedContract<EditInPlaceParams> = TypedContract::new();
|
||||
const FINISH_EDIT_CONTRACT: TypedContract<FinishEditParams> = TypedContract::new();
|
||||
const MOVE_FEATURES_CONTRACT: TypedContract<MoveFeaturesParams> = TypedContract::new();
|
||||
const REPARENT_ITEMS_CONTRACT: TypedContract<ReparentItemsParams> = TypedContract::new();
|
||||
|
||||
#[path = "component_align.rs"]
|
||||
mod align;
|
||||
#[path = "component_drag.rs"]
|
||||
mod drag;
|
||||
#[path = "component_foreign.rs"]
|
||||
mod foreign;
|
||||
#[path = "component_matrix.rs"]
|
||||
pub(super) mod matrix;
|
||||
#[path = "component_move_features.rs"]
|
||||
mod move_features;
|
||||
#[path = "component_placing.rs"]
|
||||
pub(super) mod placing;
|
||||
#[path = "component_properties.rs"]
|
||||
pub(super) mod properties;
|
||||
#[path = "component_reparent.rs"]
|
||||
mod reparent;
|
||||
#[path = "component_reparent_items.rs"]
|
||||
mod reparent_items;
|
||||
#[path = "component_transfer.rs"]
|
||||
mod transfer;
|
||||
|
||||
@@ -103,7 +112,37 @@ pub static COMMANDS: &[CommandSpec] = &[
|
||||
by (default: its only one, else the active one; a component placed more than once gets them in every instance). Each \
|
||||
copy stays where its body is in the world; the copies' names come back as `bodies`",
|
||||
),
|
||||
CommandSpec::new("component.move_sketches", "Move Sketches to Component", move_sketches).icon("move").params("sketches: [ids or names], component"),
|
||||
CommandSpec::new("component.paste_from_design", "Paste from Another Design", foreign::paste_from_design).icon("paste").params(
|
||||
"component?: where it goes (default: the active one); component_path?: its placement (default: the active one, else its \
|
||||
only one). Pastes what was copied in another design, at the same world coordinates: its bodies as imported bodies \
|
||||
(no history) in one Import feature, or its components as independent copies with their history, appearances, \
|
||||
joints and motion (as `component.paste_new`); the user parameters they use come along, renamed `w_2` when taken. \
|
||||
A component that uses what isn't in it (another body, sketch or parameter) is refused, saying what. Returns \
|
||||
`bodies` and `feature`, or the pasted components' `paths`",
|
||||
),
|
||||
CommandSpec::new("component.move_sketches", "Move Sketches to Component", move_sketches)
|
||||
.icon("move")
|
||||
.params("sketches: [ids or names], component; the sketches keep their own coordinates (component.move_features keeps them where they are in the world)"),
|
||||
CommandSpec::new("component.move_features", "Move Features to Component", crate::checked!("component.move_features", move_features::move_features))
|
||||
.icon("move")
|
||||
.contract(&MOVE_FEATURES_CONTRACT)
|
||||
.output(output_schema_for::<MoveFeaturesResult>)
|
||||
.params(
|
||||
"features: [ids or names] (sketches too); component?: where they go (default: the active one) → moved, component, bodies. \
|
||||
Ids, names and timeline order stay; the geometry stays where it is in the world; the bodies the features made move with \
|
||||
them. Refused while the timeline is rolled back, for a component placed more than once, and for a move that would break \
|
||||
a feature (nothing changes)",
|
||||
),
|
||||
CommandSpec::new("browser.reparent", "Move to Component", crate::checked!("browser.reparent", reparent_items::reparent_items))
|
||||
.icon("move")
|
||||
.contract(&REPARENT_ITEMS_CONTRACT)
|
||||
.output(output_schema_for::<ReparentItemsResult>)
|
||||
.params(
|
||||
"Moves placements, features and bodies into a component. occurrences?: [ids or paths], features?: [ids or names], bodies?: [names], component?: where they go (default: the active \
|
||||
one), component_path?: its placement → component, occurrences, features, bodies (what moved). One undo step, all or \
|
||||
nothing: placements move first (taking what they hold), then features (taking the bodies they made), then the bodies \
|
||||
still elsewhere (a body transfer, which leaves its features behind)",
|
||||
),
|
||||
CommandSpec::new("occurrence.copy", "Paste (Instance)", copy_occurrence).icon("copy")
|
||||
.params("component (or occurrence): what to place again; path?: validates selected occurrence; parent?: component (default: the same parent); translate?: [x,y,z]; in_place?: bool (default false: the selected transform within the parent; true: where the selected placement is in the world, translate in world axes; a parent placed more than once is placed by parent_path?, else the active placement, and every instance gets the copy). Copies the selected effective transform, including pending moves"),
|
||||
CommandSpec::new("component.paste_new", "Paste New", paste_new).icon("paste").params("component: independently copy its nested definition graph and history, materials and styles; occurrence?, path?: selected source placement; parent?: component the copy goes in (default: the source placement's; not the component or one inside it); in_place?, parent_path?: as occurrence.copy; translate?: [x,y,z]. Reassigned external bodies become base geometry; retained external links and omitted boundary joints are reported"),
|
||||
|
||||
@@ -83,8 +83,10 @@ fn cloned_path(source: &Document, path: &[u64], root: u64, destination: &[u64],
|
||||
Ok(mapped)
|
||||
}
|
||||
|
||||
fn unique(base: &str, used: &mut BTreeSet<String>) -> String {
|
||||
let name = solidcraft_doc::copy_name(base, |n| used.contains(n));
|
||||
/// A name for a copy of `base` that isn't in `used` (and then is): numbered, or with `keep`
|
||||
/// (pasting into another design, where the original isn't) `base` itself while it is free.
|
||||
fn unique(base: &str, used: &mut BTreeSet<String>, keep: bool) -> String {
|
||||
let name = if keep && !used.contains(base.trim()) { base.trim().to_string() } else { solidcraft_doc::copy_name(base, |n| used.contains(n)) };
|
||||
used.insert(name.clone());
|
||||
name
|
||||
}
|
||||
@@ -182,6 +184,32 @@ fn graph(doc: &Document, root: u64) -> Result<Vec<u64>> {
|
||||
Ok(sorted)
|
||||
}
|
||||
|
||||
/// The design Paste New copies from: its document, its evaluated model and its placements moved
|
||||
/// but not yet applied. The session pasted into is the target; they are the same design for a
|
||||
/// paste within one design.
|
||||
pub(super) struct Source<'a> {
|
||||
pub doc: &'a Document,
|
||||
pub model: &'a solidcraft_doc::Model,
|
||||
pub pending_moves: &'a BTreeMap<u64, Mat>,
|
||||
/// Another design than the target: the copy can't point at anything outside it (it is
|
||||
/// refused, saying what), and the user parameters it uses come along.
|
||||
pub other_design: bool,
|
||||
}
|
||||
|
||||
impl<'a> Source<'a> {
|
||||
/// The session's own design.
|
||||
pub fn of(s: &'a Session) -> Source<'a> {
|
||||
Source { doc: &s.doc, model: &s.model, pending_moves: &s.pending_moves, other_design: false }
|
||||
}
|
||||
|
||||
/// What was copied in another design.
|
||||
pub fn copied(copy: &'a crate::ForeignCopy) -> Source<'a> {
|
||||
Source { doc: ©.doc, model: ©.model, pending_moves: ©.pending_moves, other_design: true }
|
||||
}
|
||||
}
|
||||
|
||||
/// An independent copy of `component` (and what it holds), from the session's own design, into
|
||||
/// `parent`.
|
||||
pub(super) fn paste(
|
||||
s: &mut Session,
|
||||
component: u64,
|
||||
@@ -190,7 +218,26 @@ pub(super) fn paste(
|
||||
parent: u64,
|
||||
params: &Value,
|
||||
) -> Result<Value> {
|
||||
let source = s.doc.clone();
|
||||
let (scratch, out) = build(s, &Source::of(s), component, source_occurrence, transform, parent, None, params)?;
|
||||
s.accept_computed(scratch);
|
||||
Ok(out)
|
||||
}
|
||||
|
||||
/// [`paste`] from `origin` into `s`: the computed session to accept, and what the paste made.
|
||||
/// `parent_path`: the placement of `parent` the copy is placed by (default: the source
|
||||
/// placement's parent's).
|
||||
#[allow(clippy::too_many_arguments)]
|
||||
pub(super) fn build(
|
||||
s: &Session,
|
||||
origin: &Source<'_>,
|
||||
component: u64,
|
||||
source_occurrence: Option<Occurrence>,
|
||||
transform: Mat,
|
||||
parent: u64,
|
||||
parent_path: Option<Vec<u64>>,
|
||||
params: &Value,
|
||||
) -> Result<(Session, Value)> {
|
||||
let source = origin.doc;
|
||||
let source_parameters: BTreeMap<_, _> = source.params.iter().map(|p| (p.name.as_str(), p)).collect();
|
||||
let generated_parameters: BTreeSet<_> = source
|
||||
.params
|
||||
@@ -199,22 +246,25 @@ pub(super) fn paste(
|
||||
.map(|p| p.name.as_str())
|
||||
.chain(source.features.iter().flat_map(|f| f.param_names.iter().map(String::as_str)))
|
||||
.collect();
|
||||
let definitions = graph(&source, component)?;
|
||||
let definitions = graph(source, component)?;
|
||||
let definition_records: BTreeMap<_, _> = source.components.iter().map(|c| (c.id, c)).collect();
|
||||
let selected: BTreeSet<_> = definitions.iter().copied().collect();
|
||||
if source.marker.is_some_and(|m| m < source.features.len()) {
|
||||
return Err(bad(CMD, "move the timeline marker to the end before Paste New"));
|
||||
}
|
||||
if origin.other_design && s.doc.marker.is_some_and(|m| m < s.doc.features.len()) {
|
||||
return Err(bad(CMD, "move the timeline marker to the end in this design before pasting"));
|
||||
}
|
||||
let feats: Vec<Feature> = source.features.iter().filter(|f| selected.contains(&f.component)).cloned().collect();
|
||||
if feats.len() + source.features.len() > MAX_WORK {
|
||||
return Err(bad(CMD, "too many features to copy"));
|
||||
}
|
||||
for f in &feats {
|
||||
if s.model.result(f.id).is_some_and(|r| r.error.is_some()) {
|
||||
if origin.model.result(f.id).is_some_and(|r| r.error.is_some()) {
|
||||
return Err(bad(CMD, format!("source feature {} has an evaluation error", f.name)));
|
||||
}
|
||||
}
|
||||
let state = s.model.state();
|
||||
let state = origin.model.state();
|
||||
if state.bodies.len() > MAX_WORK {
|
||||
return Err(bad(CMD, "body set exceeds copy work limit"));
|
||||
}
|
||||
@@ -228,11 +278,12 @@ pub(super) fn paste(
|
||||
let mut names = BTreeMap::new();
|
||||
let mut bodies = BTreeMap::new();
|
||||
let mut parameters = BTreeMap::new();
|
||||
// Names are numbered among their own kind: a component named after its body takes the same
|
||||
// number as the body's copy, and neither skips one the other took.
|
||||
let mut used_components: BTreeSet<String> = source.components.iter().map(|c| c.name.clone()).collect();
|
||||
let mut used_features: BTreeSet<String> = source.features.iter().map(|f| f.name.clone()).collect();
|
||||
let mut used_bodies: BTreeSet<String> = state.bodies.iter().map(|b| b.name.clone()).collect();
|
||||
// Names are numbered among their own kind, against the names the target has: a component
|
||||
// named after its body takes the same number as the body's copy, and neither skips one the
|
||||
// other took.
|
||||
let mut used_components: BTreeSet<String> = s.doc.components.iter().map(|c| c.name.clone()).collect();
|
||||
let mut used_features: BTreeSet<String> = s.doc.features.iter().map(|f| f.name.clone()).collect();
|
||||
let mut used_bodies: BTreeSet<String> = s.model.state().bodies.iter().map(|b| b.name.clone()).collect();
|
||||
let mut new_ids = Vec::new();
|
||||
let mut frozen = Vec::new();
|
||||
// Allocate definitions, discarding their automatic placeholder occurrence except root.
|
||||
@@ -243,7 +294,7 @@ pub(super) fn paste(
|
||||
} else {
|
||||
components.get(&c.parent).copied().unwrap_or(*components.get(&component).ok_or_else(|| bad(CMD, "missing clone root"))?)
|
||||
};
|
||||
let name = unique(&c.name, &mut used_components);
|
||||
let name = unique(&c.name, &mut used_components, origin.other_design);
|
||||
let new = scratch.doc_mut().add_component(Some(&name), mapped_parent)?;
|
||||
// A copy keeps the definition's part properties.
|
||||
if let Some(added) = scratch.doc_mut().components.iter_mut().find(|x| x.id == new) {
|
||||
@@ -258,12 +309,14 @@ pub(super) fn paste(
|
||||
}
|
||||
let root = *components.get(&component).ok_or_else(|| bad(CMD, "missing clone root"))?;
|
||||
let root_occurrence = scratch.doc.occurrence_of(root).map(|o| o.id).ok_or_else(|| bad(CMD, "missing cloned placement"))?;
|
||||
let mut clone_path = if let Some(o) = &source_occurrence {
|
||||
let mut clone_path = if let Some(path) = parent_path {
|
||||
path
|
||||
} else if let Some(o) = &source_occurrence {
|
||||
let mut path = super::component::occurrence_path(s, params, o.id, CMD)?;
|
||||
path.pop();
|
||||
path
|
||||
} else {
|
||||
source.first_path(parent)
|
||||
s.doc.first_path(parent)
|
||||
};
|
||||
clone_path.push(root_occurrence);
|
||||
if let Some(o) = scratch.doc_mut().occurrences.iter_mut().find(|o| o.id == root_occurrence) {
|
||||
@@ -277,7 +330,7 @@ pub(super) fn paste(
|
||||
for old in source.occurrences.iter().filter(|o| selected.contains(&o.parent)) {
|
||||
let child = *components.get(&old.component).ok_or_else(|| bad(CMD, "missing child definition"))?;
|
||||
let owner = *components.get(&old.parent).ok_or_else(|| bad(CMD, "missing parent definition"))?;
|
||||
let pose = s.pending_moves.get(&old.id).copied().unwrap_or(old.transform);
|
||||
let pose = origin.pending_moves.get(&old.id).copied().unwrap_or(old.transform);
|
||||
if !super::component::valid_position(&pose) {
|
||||
return Err(bad(CMD, "invalid internal pending occurrence transform"));
|
||||
}
|
||||
@@ -292,10 +345,10 @@ pub(super) fn paste(
|
||||
// The names the bodies of a feature have in the model, where they are its stored names, numbered.
|
||||
let mut shown: BTreeMap<u64, Vec<String>> = BTreeMap::new();
|
||||
for f in &feats {
|
||||
if let Some(result) = s.model.result(f.id) {
|
||||
if let Some(result) = origin.model.result(f.id) {
|
||||
let created: Vec<_> = result.state.bodies.iter().filter(|b| b.feature == f.id).map(|b| b.name.clone()).collect();
|
||||
for name in &created {
|
||||
bodies.entry(name.clone()).or_insert_with(|| unique(name, &mut used_bodies));
|
||||
bodies.entry(name.clone()).or_insert_with(|| unique(name, &mut used_bodies, origin.other_design));
|
||||
}
|
||||
if named_by(&f.body_names, &created) {
|
||||
shown.insert(f.id, created.clone());
|
||||
@@ -307,7 +360,7 @@ pub(super) fn paste(
|
||||
if !shown.contains_key(&f.id) {
|
||||
for name in &f.body_names {
|
||||
if !name.is_empty() {
|
||||
bodies.entry(name.clone()).or_insert_with(|| unique(name, &mut used_bodies));
|
||||
bodies.entry(name.clone()).or_insert_with(|| unique(name, &mut used_bodies, origin.other_design));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -328,23 +381,32 @@ pub(super) fn paste(
|
||||
!f.suppressed
|
||||
&& matches!(&f.kind, FeatureKind::BodyTransfer { bodies, from, to, .. }
|
||||
if !selected.contains(from) && bodies.iter().any(|b| *b == body.name)
|
||||
&& s.model.result(f.id).is_some_and(|result| !result.skipped && result.error.is_none()
|
||||
&& origin.model.result(f.id).is_some_and(|result| !result.skipped && result.error.is_none()
|
||||
&& result.state.body(&body.name).is_some_and(|entered| source.model_body_component(entered) == *to)))
|
||||
});
|
||||
let before = feats.iter().find_map(|f| {
|
||||
let before = s.model.state_before(f.id);
|
||||
let before = origin.model.state_before(f.id);
|
||||
let prior = before.body(&body.name)?;
|
||||
let after = s.model.result(f.id)?.state.body(&body.name);
|
||||
let after = origin.model.result(f.id)?.state.body(&body.name);
|
||||
if after.is_none_or(|after| !prior.body.same(&after.body)) { Some(before) } else { None }
|
||||
});
|
||||
let entered = entry.and_then(|f| s.model.result(f.id)).map(|r| r.state.clone());
|
||||
let entered = entry.and_then(|f| origin.model.result(f.id)).map(|r| r.state.clone());
|
||||
let base = entered.as_ref().and_then(|st| st.body(&body.name)).or_else(|| before.as_ref().and_then(|st| st.body(&body.name))).unwrap_or(body);
|
||||
let baseline_component = source.model_body_component(base);
|
||||
let geometry = solidcraft_kernel::transform_matrix(&base.body, offset)?;
|
||||
let step = solidcraft_kernel::step_export(&[&geometry], "SolidCraft independent reassigned body")?;
|
||||
let new_name = unique(&body.name, &mut used_bodies);
|
||||
let new_name = unique(&body.name, &mut used_bodies, origin.other_design);
|
||||
bodies.insert(body.name.clone(), new_name.clone());
|
||||
let feature_name = unique(&format!("{} Base", body.name), &mut used_features);
|
||||
// From another design it is named as what it is there, an imported body, numbered as
|
||||
// the timeline numbers its features ("BodyImport1").
|
||||
let feature_name = if origin.other_design {
|
||||
let name =
|
||||
(1..=MAX_WORK + 1).map(|n| format!("BodyImport{n}")).find(|n| !used_features.contains(n)).unwrap_or_else(|| "BodyImport".into());
|
||||
used_features.insert(name.clone());
|
||||
name
|
||||
} else {
|
||||
unique(&format!("{} Base", body.name), &mut used_features, false)
|
||||
};
|
||||
let id = scratch.doc_mut().add_feature(
|
||||
FeatureKind::Import { file: format!("{} independent base", body.name), step: step.into(), components: Vec::new(), skip: Vec::new() },
|
||||
Some(&feature_name),
|
||||
@@ -358,8 +420,12 @@ pub(super) fn paste(
|
||||
}
|
||||
// Allocate all history IDs before rewriting any forward reference.
|
||||
for f in &feats {
|
||||
let name = unique(&f.name, &mut used_features);
|
||||
let id = scratch.doc_mut().add_feature(f.kind.clone(), Some(&name))?;
|
||||
let name = unique(&f.name, &mut used_features, origin.other_design);
|
||||
// A transfer is checked as it is added: it names the copy's components (another design
|
||||
// has none of the original ones).
|
||||
let mut kind = f.kind.clone();
|
||||
transfer_into_copy(&mut kind, &components)?;
|
||||
let id = scratch.doc_mut().add_feature(kind, Some(&name))?;
|
||||
if let Some(new) = scratch.doc.feature(id) {
|
||||
for (old, pn) in f.param_names.iter().zip(&new.param_names) {
|
||||
parameters.insert(old.clone(), pn.clone());
|
||||
@@ -387,6 +453,11 @@ pub(super) fn paste(
|
||||
}
|
||||
}
|
||||
}
|
||||
// From another design, the user parameters the copy uses come along (and the ones they use),
|
||||
// renamed `w_2` where this design has a `w` already.
|
||||
if origin.other_design {
|
||||
copy_user_parameters(&mut scratch, source, &feats, &mut parameters)?;
|
||||
}
|
||||
for (old, new) in ¶meters {
|
||||
if let Some(comment) = source.param_comments.get(old) {
|
||||
scratch.doc_mut().param_comments.insert(new.clone(), comment.clone());
|
||||
@@ -414,26 +485,18 @@ pub(super) fn paste(
|
||||
f.body_names = outputs.get(&old.id).cloned().unwrap_or_default();
|
||||
}
|
||||
f.remap_clone(&features, &names, &bodies, ¶meters)?;
|
||||
if let FeatureKind::BodyTransfer { from, to, transform, .. } = &mut f.kind {
|
||||
*to = *components.get(to).ok_or_else(|| bad(CMD, "transfer destination is outside the copied graph"))?;
|
||||
if let Some(mapped) = components.get(from) {
|
||||
*from = *mapped;
|
||||
} else {
|
||||
*from = *to;
|
||||
*transform = solidcraft_doc::IDENTITY;
|
||||
}
|
||||
}
|
||||
transfer_into_copy(&mut f.kind, &components)?;
|
||||
if let FeatureKind::Emboss { face: Some(face), .. } = &mut f.kind
|
||||
&& !face.path.is_empty()
|
||||
&& let FeatureKind::Emboss { face: Some(old_face), .. } = &old.kind
|
||||
&& bodies.contains_key(old_face.body.as_ref())
|
||||
{
|
||||
face.path = cloned_path(&source, &old_face.path, component, &clone_path, &occurrences)?;
|
||||
face.path = cloned_path(source, &old_face.path, component, &clone_path, &occurrences)?;
|
||||
}
|
||||
if let FeatureKind::Emboss { face: Some(face), .. } = &mut f.kind
|
||||
&& !face.author_path.is_empty()
|
||||
{
|
||||
face.author_path = cloned_path(&source, &face.author_path, component, &clone_path, &occurrences)?;
|
||||
face.author_path = cloned_path(source, &face.author_path, component, &clone_path, &occurrences)?;
|
||||
}
|
||||
if let (FeatureKind::Sketch { plane, .. }, FeatureKind::Sketch { plane: old_plane, .. }) = (&mut f.kind, &old.kind)
|
||||
&& let (Some(anchor), Some(original)) = (super::sketch::face::anchor_mut(plane), super::sketch::face::anchor(old_plane))
|
||||
@@ -441,9 +504,9 @@ pub(super) fn paste(
|
||||
if bodies.contains_key(&original.target.body) {
|
||||
anchor.component =
|
||||
*components.get(&original.component).ok_or_else(|| bad(CMD, "anchored source component is outside copied graph"))?;
|
||||
anchor.path = cloned_path(&source, &original.path, component, &clone_path, &occurrences)?;
|
||||
anchor.path = cloned_path(source, &original.path, component, &clone_path, &occurrences)?;
|
||||
}
|
||||
anchor.author_path = cloned_path(&source, &original.author_path, component, &clone_path, &occurrences)?;
|
||||
anchor.author_path = cloned_path(source, &original.author_path, component, &clone_path, &occurrences)?;
|
||||
}
|
||||
if let Some(slot) = scratch.doc_mut().feature_mut(f.id) {
|
||||
*slot = f;
|
||||
@@ -482,7 +545,7 @@ pub(super) fn paste(
|
||||
.filter_map(|b| bodies.get(&b.name).cloned())
|
||||
.collect();
|
||||
if !moved_out.is_empty() {
|
||||
let name = unique("Assigned-out bodies", &mut used_features);
|
||||
let name = unique("Assigned-out bodies", &mut used_features, origin.other_design);
|
||||
let id = scratch.doc_mut().add_feature(FeatureKind::Remove { bodies: moved_out.into_iter().map(BodyName).collect() }, Some(&name))?;
|
||||
if let Some(f) = scratch.doc_mut().feature_mut(id) {
|
||||
f.component = root;
|
||||
@@ -514,14 +577,20 @@ pub(super) fn paste(
|
||||
scratch.doc_mut().appearances.faces.push(face);
|
||||
}
|
||||
}
|
||||
// Typed configuration and assembly helpers preserve original targets.
|
||||
scratch.doc_mut().configs.clone_targets(&solidcraft_doc::config::ConfigCloneMaps {
|
||||
features: features.clone(),
|
||||
components: components.clone(),
|
||||
bodies: bodies.clone(),
|
||||
parameters: parameters.clone(),
|
||||
})?;
|
||||
let mut notices = super::component_clone_assembly::clone_assembly(scratch.doc_mut(), &source, &occurrences, &features, &bodies)?;
|
||||
// Typed configuration and assembly helpers preserve original targets (another design's
|
||||
// configurations stay with it: this design's table has its own targets).
|
||||
if !origin.other_design {
|
||||
scratch.doc_mut().configs.clone_targets(&solidcraft_doc::config::ConfigCloneMaps {
|
||||
features: features.clone(),
|
||||
components: components.clone(),
|
||||
bodies: bodies.clone(),
|
||||
parameters: parameters.clone(),
|
||||
})?;
|
||||
}
|
||||
let mut notices = super::component_clone_assembly::clone_assembly(scratch.doc_mut(), source, &occurrences, &features, &bodies)?;
|
||||
// Joints and motion to the outside are left behind (those notices); what follows is what
|
||||
// the copied features point at outside it.
|
||||
let assembly_notices = notices.len();
|
||||
let mut reference_work = 0usize;
|
||||
for feature in &feats {
|
||||
if let FeatureKind::Emboss { face: Some(face), .. } = &feature.kind
|
||||
@@ -605,12 +674,22 @@ pub(super) fn paste(
|
||||
}
|
||||
}
|
||||
}
|
||||
if origin.other_design {
|
||||
// What the copy points at outside itself isn't in this design.
|
||||
let mut outside = outside_references(notices.get(assembly_notices..).unwrap_or_default(), &feats, &bodies);
|
||||
if !outside.is_empty() {
|
||||
outside.sort();
|
||||
outside.dedup();
|
||||
let name = definition_records.get(&component).map(|c| c.name.clone()).unwrap_or_default();
|
||||
return Err(bad(CMD, format!("{name} uses what isn't in it, so it can't be pasted into another design: {}", outside.join("; "))));
|
||||
}
|
||||
}
|
||||
notices.sort();
|
||||
notices.dedup();
|
||||
scratch.refresh();
|
||||
let original_errors: BTreeMap<_, _> = s.model.results.iter().map(|result| (result.id, result.error.as_ref())).collect();
|
||||
let refreshed_errors: BTreeMap<_, _> = scratch.model.results.iter().map(|result| (result.id, result.error.as_ref())).collect();
|
||||
if source.features.iter().any(|feature| original_errors.get(&feature.id) != refreshed_errors.get(&feature.id)) {
|
||||
if s.doc.features.iter().any(|feature| original_errors.get(&feature.id) != refreshed_errors.get(&feature.id)) {
|
||||
return Err(bad(CMD, "copy would change an original feature's error state"));
|
||||
}
|
||||
// Base imports acquire new face identities. Resolve copied face overrides against the
|
||||
@@ -640,14 +719,14 @@ pub(super) fn paste(
|
||||
let copied_bodies: BTreeMap<_, _> = copied.bodies.iter().map(|body| (body.name.as_str(), body)).collect();
|
||||
// Adding placements can invalidate cached source evaluation. Compare clone effects
|
||||
// against that same evaluation's source prefix, not older shared B-rep pointers.
|
||||
if scratch.doc.features.get(..source.features.len()) != Some(source.features.as_slice())
|
||||
|| scratch.doc.params.get(..source.params.len()) != Some(source.params.as_slice())
|
||||
if scratch.doc.features.get(..s.doc.features.len()) != Some(s.doc.features.as_slice())
|
||||
|| scratch.doc.params.get(..s.doc.params.len()) != Some(s.doc.params.as_slice())
|
||||
{
|
||||
return Err(bad(CMD, "copy would change original feature history or parameters"));
|
||||
}
|
||||
let original_state = new_ids.first().map(|id| scratch.model.state_before(*id)).unwrap_or_else(|| copied.clone());
|
||||
let all_columns = std::mem::take(&mut scratch.doc_mut().configs.columns);
|
||||
scratch.doc_mut().configs.columns = all_columns.iter().skip(source.configs.columns.len()).cloned().collect();
|
||||
scratch.doc_mut().configs.columns = all_columns.iter().skip(s.doc.configs.columns.len()).cloned().collect();
|
||||
let style_validation = scratch.doc.configuration_style_status(&copied);
|
||||
scratch.doc_mut().configs.columns = all_columns;
|
||||
style_validation?;
|
||||
@@ -714,10 +793,86 @@ pub(super) fn paste(
|
||||
}
|
||||
}
|
||||
scratch.selection = vec![Sel::Occurrence { path: clone_path }];
|
||||
s.accept_computed(scratch);
|
||||
Ok(
|
||||
json!({"component":root,"occurrence":root_occurrence,"features":new_ids,"components":components.len(),"bodies":expected_count,"frozen_bodies":frozen,"notices":notices}),
|
||||
)
|
||||
let out = json!({"component":root,"occurrence":root_occurrence,"features":new_ids,"components":components.len(),"bodies":expected_count,"frozen_bodies":frozen,"notices":notices});
|
||||
Ok((scratch, out))
|
||||
}
|
||||
|
||||
/// A copied body transfer moves its bodies between the copies of its components; one from
|
||||
/// outside the copy is where the copy starts (it stays in place, in its destination).
|
||||
fn transfer_into_copy(kind: &mut FeatureKind, components: &BTreeMap<u64, u64>) -> Result<()> {
|
||||
if let FeatureKind::BodyTransfer { from, to, transform, .. } = kind {
|
||||
*to = *components.get(to).ok_or_else(|| bad(CMD, "transfer destination is outside the copied graph"))?;
|
||||
if let Some(mapped) = components.get(from) {
|
||||
*from = *mapped;
|
||||
} else {
|
||||
*from = *to;
|
||||
*transform = solidcraft_doc::IDENTITY;
|
||||
}
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// What copied features point at outside the copy, in words: the external references Paste New
|
||||
/// keeps within one design (`notices`), and the bodies they work on that aren't copied.
|
||||
fn outside_references(notices: &[String], feats: &[Feature], bodies: &BTreeMap<String, String>) -> Vec<String> {
|
||||
let mut out: Vec<String> =
|
||||
notices.iter().map(|n| n.replace(" retains an external ", " uses a ").replace(" retains external ", " uses ")).collect();
|
||||
for f in feats {
|
||||
for body in f.kind.input_bodies() {
|
||||
if !bodies.contains_key(&body) {
|
||||
out.push(format!("{} uses body {body}", f.name));
|
||||
}
|
||||
}
|
||||
}
|
||||
out
|
||||
}
|
||||
|
||||
/// The user parameters copied features use (their expressions and their dimensions'), and the
|
||||
/// ones those use, copied from `source` into `scratch`: named as they were where that name is
|
||||
/// free, else `w_2`, `w_3`…; `parameters` maps each to its copy.
|
||||
fn copy_user_parameters(scratch: &mut Session, source: &Document, feats: &[Feature], parameters: &mut BTreeMap<String, String>) -> Result<()> {
|
||||
let user: BTreeMap<&str, &solidcraft_doc::Param> = source.params.iter().filter(|p| !p.model).map(|p| (p.name.as_str(), p)).collect();
|
||||
let mut pending: Vec<String> = feats.iter().flat_map(|f| f.kind.expressions()).map(str::to_string).collect();
|
||||
pending.extend(parameters.keys().filter_map(|old| source.params.iter().find(|p| p.model && p.name == *old)).map(|p| p.expr.clone()));
|
||||
let mut used: BTreeSet<&str> = BTreeSet::new();
|
||||
let mut work = 0usize;
|
||||
while let Some(expr) = pending.pop() {
|
||||
for name in solidcraft_doc::expr::references(&expr) {
|
||||
work += 1;
|
||||
if work > 100_000 {
|
||||
return Err(bad(CMD, "parameter references exceed copy work limit"));
|
||||
}
|
||||
if let Some((key, p)) = user.get_key_value(name.as_str())
|
||||
&& used.insert(key)
|
||||
{
|
||||
pending.push(p.expr.clone());
|
||||
}
|
||||
}
|
||||
}
|
||||
let copied: Vec<&solidcraft_doc::Param> = source.params.iter().filter(|p| used.contains(p.name.as_str())).collect();
|
||||
if scratch.doc.params.len() + copied.len() > solidcraft_doc::MAX_PARAMS {
|
||||
return Err(bad(CMD, "too many copied parameters"));
|
||||
}
|
||||
let mut taken: BTreeSet<String> = scratch.doc.params.iter().map(|p| p.name.clone()).collect();
|
||||
for p in &copied {
|
||||
let mut name = p.name.clone();
|
||||
let mut n = 2;
|
||||
while taken.contains(&name) || Document::param_name_problem(&name).is_some() {
|
||||
name = format!("{}_{n}", p.name);
|
||||
n += 1;
|
||||
if n > 10_000 {
|
||||
return Err(bad(CMD, format!("no free name for parameter {}", p.name)));
|
||||
}
|
||||
}
|
||||
taken.insert(name.clone());
|
||||
parameters.insert(p.name.clone(), name);
|
||||
}
|
||||
for p in copied {
|
||||
let name = parameters.get(&p.name).cloned().unwrap_or_default();
|
||||
let expr = solidcraft_doc::clone_expression(&p.expr, parameters);
|
||||
scratch.doc_mut().params.push(solidcraft_doc::Param { name, expr, unit: p.unit.clone(), comment: p.comment.clone(), model: false });
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
|
||||
@@ -0,0 +1,107 @@
|
||||
//! Pasting what was copied in another design (`Session::foreign_copy`). Bodies come as an
|
||||
//! imported body each, without their history (that stays with the design they were made in), at
|
||||
//! the same world coordinates as in their design, in one Import base feature in the target
|
||||
//! component. Components come as a Paste New does: an independent copy of each with what it
|
||||
//! holds, its history, appearances, joints and motion, where it is in the world.
|
||||
|
||||
use super::*;
|
||||
|
||||
pub(super) fn paste_from_design(s: &mut Session, p: &Value) -> Result<Value> {
|
||||
let cmd = "component.paste_from_design";
|
||||
let copy = s.foreign_copy.clone().ok_or_else(|| bad(cmd, "nothing was copied in another design"))?;
|
||||
if copy.bodies.is_empty() && copy.placed.is_empty() {
|
||||
return Err(bad(cmd, "nothing was copied in another design"));
|
||||
}
|
||||
let to = if p.get("component").is_some() { component(s, p, "component", cmd)? } else { s.active_component };
|
||||
let given = match p.get("component_path") {
|
||||
None => None,
|
||||
Some(v) => Some(
|
||||
v.as_array()
|
||||
.filter(|a| a.len() <= 64)
|
||||
.and_then(|a| a.iter().map(Value::as_u64).collect::<Option<Vec<_>>>())
|
||||
.ok_or_else(|| bad(cmd, "`component_path` must list 0..64 occurrence ids"))?,
|
||||
),
|
||||
};
|
||||
let path = match given {
|
||||
Some(path) => path,
|
||||
None if to == s.active_component => s.active_occurrence_path.clone().unwrap_or_else(|| s.doc.first_path(to)),
|
||||
None => placing::placement_of(s, &s.placed_document(), to, None, "component_path", cmd)?.0,
|
||||
};
|
||||
let frame = s.placed_document().path_transform(to, &path).ok_or_else(|| bad(cmd, "that path is not a placement of the target"))?;
|
||||
let into_target = solidcraft_doc::mat_inverse(&frame).ok_or_else(|| bad(cmd, "the target's frame is not invertible"))?;
|
||||
if copy.bodies.is_empty() {
|
||||
return paste_components(s, ©, to, path, into_target, p);
|
||||
}
|
||||
// Each body at its world coordinates in its design, in the target's frame, named as in its
|
||||
// component (a body seen in another placement without that placement) where that name is
|
||||
// free here, else numbered.
|
||||
let state = s.model.state();
|
||||
let mut names: Vec<String> = Vec::new();
|
||||
let mut shapes = Vec::new();
|
||||
for (i, seen) in copy.bodies.iter().enumerate() {
|
||||
let body = copy.world.body(seen).ok_or_else(|| bad(cmd, format!("no body `{seen}` in {}", copy.design)))?;
|
||||
let name = copy.names.get(i).unwrap_or(seen);
|
||||
let taken = |n: &str| state.body(n).is_some() || names.iter().any(|x| x == n);
|
||||
let new = if taken(name) { solidcraft_doc::copy_name(name, taken) } else { name.clone() };
|
||||
shapes.push(solidcraft_kernel::transform_matrix(&body.body, into_target)?);
|
||||
names.push(new);
|
||||
}
|
||||
drop(state);
|
||||
let list: Vec<solidcraft_kernel::ExportBody> =
|
||||
names.iter().zip(&shapes).map(|(name, body)| solidcraft_kernel::ExportBody { name: name.clone(), body, color: body.color() }).collect();
|
||||
let header = solidcraft_kernel::StepHeader { organization: "SolidCraft".into(), ..Default::default() };
|
||||
let step = solidcraft_kernel::step_export_bodies(&list, &header)?;
|
||||
let mut scratch = s.scratch();
|
||||
let kind = FeatureKind::Import { file: format!("{} (pasted)", copy.design), step: step.into(), components: Vec::new(), skip: Vec::new() };
|
||||
// Named as any import is ("Import1"); the design they came from stays on it as its file.
|
||||
let id = scratch.doc_mut().add_feature(kind, None)?;
|
||||
let feature = scratch.doc.feature(id).map(|f| f.name.clone()).unwrap_or_default();
|
||||
if let Some(f) = scratch.doc_mut().feature_mut(id) {
|
||||
f.component = to;
|
||||
f.body_names = names.clone();
|
||||
}
|
||||
scratch.refresh();
|
||||
if let Some(error) = scratch.model.result(id).and_then(|r| r.error.as_ref()) {
|
||||
return Err(bad(cmd, format!("the pasted bodies didn't import: {error}")));
|
||||
}
|
||||
scratch.selection = names.iter().map(|name| crate::Sel::Body { name: name.clone() }).collect();
|
||||
s.accept_computed(scratch);
|
||||
Ok(json!({"bodies": names, "feature": feature, "component": to}))
|
||||
}
|
||||
|
||||
/// Independent copies of the components copied in another design, each with what it holds, in
|
||||
/// `to` (placed by `path`; `into_target` takes world coordinates into it), where each is in the
|
||||
/// world; one step to undo. They are selected.
|
||||
fn paste_components(
|
||||
s: &mut Session,
|
||||
copy: &crate::ForeignCopy,
|
||||
to: u64,
|
||||
path: Vec<u64>,
|
||||
into_target: solidcraft_doc::Mat,
|
||||
p: &Value,
|
||||
) -> Result<Value> {
|
||||
let origin = crate::cmd::component_clone::Source::copied(copy);
|
||||
let mut computed: Option<Session> = None;
|
||||
let mut made = Vec::new();
|
||||
for (component, occurrence, world) in ©.placed {
|
||||
let source_occurrence = copy.doc.occurrences.iter().find(|o| o.id == *occurrence).cloned();
|
||||
let transform = solidcraft_doc::mat_mul(&into_target, world);
|
||||
if !super::valid_position(&transform) {
|
||||
return Err(bad("component.paste_from_design", "copy transform exceeds supported numeric range"));
|
||||
}
|
||||
let target = computed.as_ref().unwrap_or(s);
|
||||
let (next, out) = crate::cmd::component_clone::build(target, &origin, *component, source_occurrence, transform, to, Some(path.clone()), p)?;
|
||||
if let Some(id) = out.get("occurrence").and_then(Value::as_u64) {
|
||||
made.push(path.iter().copied().chain([id]).collect::<Vec<u64>>());
|
||||
}
|
||||
computed = Some(next);
|
||||
}
|
||||
let Some(mut scratch) = computed else { return Err(bad("component.paste_from_design", "the copied components are gone")) };
|
||||
scratch.selection = made.iter().map(|path| crate::Sel::Occurrence { path: path.clone() }).collect();
|
||||
s.accept_computed(scratch);
|
||||
Ok(json!({"paths": made, "component": to}))
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
#[path = "component_foreign_tests.rs"]
|
||||
mod tests;
|
||||
@@ -0,0 +1,134 @@
|
||||
#![allow(clippy::unwrap_used)]
|
||||
use crate::{ForeignCopy, Session};
|
||||
use serde_json::{Value, json};
|
||||
use std::sync::Arc;
|
||||
|
||||
fn run(s: &mut Session, cmd: &str, p: Value) -> Value {
|
||||
s.execute(cmd, &p).unwrap()
|
||||
}
|
||||
fn created(s: &mut Session, name: &str) -> (u64, u64) {
|
||||
let c = run(s, "component.create", json!({"name": name}));
|
||||
(c["component"].as_u64().unwrap(), c["occurrence"].as_u64().unwrap())
|
||||
}
|
||||
fn volume(s: &mut Session, id: u64) -> f64 {
|
||||
run(s, "component.properties", json!({"component": id}))["total"]["volume_mm3"].as_f64().unwrap()
|
||||
}
|
||||
fn design(name: &str) -> Session {
|
||||
let mut s = Session::default();
|
||||
s.doc_mut().name = name.into();
|
||||
s
|
||||
}
|
||||
/// `s` copies its placement `path` for another design.
|
||||
fn copied(s: &Session, path: Vec<u64>) -> Option<Arc<ForeignCopy>> {
|
||||
Some(Arc::new(ForeignCopy::of(s, Vec::new(), vec![path])))
|
||||
}
|
||||
|
||||
/// A component copied in another design pastes as an independent copy of it and what it holds:
|
||||
/// its history, its appearances, a part placed twice in it still one component placed twice,
|
||||
/// where it is in the world, named "(2)" where the name is taken, as one step to undo.
|
||||
#[test]
|
||||
fn a_component_from_another_design_pastes_with_its_history() {
|
||||
let mut source = design("Bracket");
|
||||
let (assembly, at) = created(&mut source, "Assembly");
|
||||
let (child, _) = created(&mut source, "Child");
|
||||
run(&mut source, "solid.box", json!({"length": 2, "width": 2, "height": 2, "body_name": "Cube"}));
|
||||
run(&mut source, "appearance.assign", json!({"bodies": ["Cube"], "color": "#abcdef"}));
|
||||
run(&mut source, "occurrence.copy", json!({"component": child}));
|
||||
run(&mut source, "component.activate", json!({"component": 0}));
|
||||
run(&mut source, "occurrence.ground", json!({"occurrence": at, "grounded": false}));
|
||||
run(&mut source, "occurrence.move", json!({"occurrence": at, "translate": [0, 30, 0]}));
|
||||
let was = source.world_state().body("Cube").unwrap().mesh().bounds();
|
||||
let box_features = source.doc.features.len();
|
||||
|
||||
let mut s = design("Frame");
|
||||
created(&mut s, "Assembly");
|
||||
run(&mut s, "component.activate", json!({"component": 0}));
|
||||
s.foreign_copy = copied(&source, vec![at]);
|
||||
let undo = s.undo.len();
|
||||
let out = run(&mut s, "component.paste_from_design", json!({}));
|
||||
assert_eq!(s.undo.len(), undo + 1);
|
||||
let new = s.doc.components.iter().find(|c| c.name == "Assembly (2)").expect("named (2)").id;
|
||||
assert_eq!(out["paths"], json!([[s.doc.occurrence_of(new).unwrap().id]]));
|
||||
let kids: Vec<_> = s.doc.occurrences.iter().filter(|o| o.parent == new).collect();
|
||||
assert_eq!(kids.len(), 2);
|
||||
assert_eq!(kids[0].component, kids[1].component, "still one component placed twice");
|
||||
assert_eq!(s.doc.features.len(), box_features, "the box's history came along");
|
||||
assert!((volume(&mut s, new) - 16.0).abs() < 1e-6);
|
||||
assert_eq!(s.doc.appearances.bodies["Cube"].color, [0xab, 0xcd, 0xef]);
|
||||
let is = s.world_state().body("Cube").unwrap().mesh().bounds();
|
||||
assert!(was.min.dist(is.min) < 1e-6 && was.max.dist(is.max) < 1e-6, "{was:?} vs {is:?}");
|
||||
// Its history is its own: changing it here leaves the original as it was.
|
||||
let copy = s.doc.features.iter().find(|f| matches!(f.kind, solidcraft_doc::FeatureKind::Box { .. })).unwrap();
|
||||
let parameter = copy.param_names[0].clone();
|
||||
run(&mut s, "parameters.change", json!({"name": parameter, "expression": "3 mm"}));
|
||||
assert!((volume(&mut s, new) - 24.0).abs() < 1e-6);
|
||||
assert!((volume(&mut source, assembly) - 16.0).abs() < 1e-6);
|
||||
let reopened = solidcraft_doc::Document::from_json(&s.doc.to_json()).unwrap();
|
||||
assert_eq!(reopened.occurrences.iter().filter(|o| o.parent == new).count(), 2);
|
||||
run(&mut s, "edit.undo", json!({}));
|
||||
run(&mut s, "edit.undo", json!({}));
|
||||
assert!(s.doc.components.iter().all(|c| c.name != "Assembly (2)"));
|
||||
}
|
||||
|
||||
/// The user parameters a pasted component uses come along: as they were where the name is
|
||||
/// free, else renamed `w_2`, its features following; this design's own `w` stays as it is.
|
||||
#[test]
|
||||
fn user_parameters_come_along_renamed_where_taken() {
|
||||
let mut source = design("Bracket");
|
||||
run(&mut source, "parameters.add", json!({"name": "w", "expression": "4 mm"}));
|
||||
let (_, at) = created(&mut source, "Part");
|
||||
let feature = run(&mut source, "solid.box", json!({"length": 2, "width": 2, "height": 2, "body_name": "Cube"}))["feature"].as_u64().unwrap();
|
||||
let length = source.doc.feature(feature).unwrap().param_names[0].clone();
|
||||
run(&mut source, "parameters.change", json!({"name": length, "expression": "w"}));
|
||||
|
||||
let mut s = design("Frame");
|
||||
run(&mut s, "parameters.add", json!({"name": "w", "expression": "10 mm"}));
|
||||
s.foreign_copy = copied(&source, vec![at]);
|
||||
run(&mut s, "component.paste_from_design", json!({}));
|
||||
let w2 = s.doc.params.iter().find(|p| p.name == "w_2").expect("w came along as w_2");
|
||||
assert_eq!(w2.expr, "4 mm");
|
||||
assert_eq!(s.doc.params.iter().find(|p| p.name == "w").unwrap().expr, "10 mm");
|
||||
let part = s.doc.components.iter().find(|c| c.name == "Part").unwrap().id;
|
||||
assert!((volume(&mut s, part) - 16.0).abs() < 1e-6);
|
||||
run(&mut s, "parameters.change", json!({"name": "w_2", "expression": "1 mm"}));
|
||||
assert!((volume(&mut s, part) - 4.0).abs() < 1e-6, "the copy follows w_2");
|
||||
}
|
||||
|
||||
/// A component whose features use what isn't in it (here a body outside it) isn't pasted into
|
||||
/// another design: it is refused, saying what, and the design is left as it was.
|
||||
#[test]
|
||||
fn a_component_using_what_is_outside_it_is_refused_saying_what() {
|
||||
let mut source = design("Bracket");
|
||||
run(&mut source, "solid.box", json!({"length": 2, "width": 2, "height": 2, "body_name": "Cube"}));
|
||||
let (_, at) = created(&mut source, "Part");
|
||||
run(&mut source, "solid.box", json!({"length": 1, "width": 1, "height": 1, "body_name": "Pin"}));
|
||||
run(&mut source, "solid.move", json!({"bodies": ["Cube"], "translate": [10, 0, 0]}));
|
||||
|
||||
let mut s = design("Frame");
|
||||
s.foreign_copy = copied(&source, vec![at]);
|
||||
let saved = s.doc.to_json();
|
||||
let error = s.execute("component.paste_from_design", &json!({})).unwrap_err().to_string();
|
||||
assert!(error.contains("uses body Cube"), "{error}");
|
||||
assert_eq!(s.doc.to_json(), saved);
|
||||
}
|
||||
|
||||
/// A component that bodies were moved into (a body transfer, as Create Components from Bodies
|
||||
/// makes) pastes into another design, which has none of the components the transfer names.
|
||||
#[test]
|
||||
fn a_component_bodies_were_moved_into_pastes_into_another_design() {
|
||||
let mut source = design("Bracket");
|
||||
run(&mut source, "solid.box", json!({"length": 2, "width": 2, "height": 2, "body_name": "Cube"}));
|
||||
let (part, at) = created(&mut source, "Part");
|
||||
run(&mut source, "component.move_bodies", json!({"bodies": ["Cube"], "component": part}));
|
||||
run(&mut source, "solid.box", json!({"length": 1, "width": 1, "height": 1, "body_name": "Pin"}));
|
||||
|
||||
let mut s = design("Frame");
|
||||
s.foreign_copy = copied(&source, vec![at]);
|
||||
run(&mut s, "component.paste_from_design", json!({}));
|
||||
let new = s.doc.components.iter().find(|c| c.name == "Part").unwrap().id;
|
||||
let state = s.model.state();
|
||||
assert_eq!(s.doc.model_body_component(state.body("Cube").unwrap()), new);
|
||||
assert_eq!(s.doc.model_body_component(state.body("Pin").unwrap()), new);
|
||||
// The body moved in from outside comes as an imported body.
|
||||
assert!(s.doc.find_feature("BodyImport1").is_some_and(|f| f.component == new));
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
//! Moving timeline features (sketches included) into another component.
|
||||
//!
|
||||
//! It is an organisational change: ids, names and timeline positions stay, nothing is copied, and
|
||||
//! the geometry stays where it is in the world (a moved feature's picks, planes and directions are
|
||||
//! re-expressed in the new component's frame). Bodies follow the feature that made them. The move
|
||||
//! is made on a scratch copy and the whole timeline is evaluated; the result is adopted only when
|
||||
//! no feature, moved or left behind, gained an error. Otherwise nothing changes.
|
||||
|
||||
use std::collections::{BTreeMap, BTreeSet};
|
||||
|
||||
use solidcraft_doc::{Feature, FeatureKind, is_identity, mat_inverse, mat_mul};
|
||||
|
||||
use super::super::clipboard::explicit_planes;
|
||||
use super::*;
|
||||
use crate::params::name_or_id_list;
|
||||
|
||||
pub(super) fn move_features(s: &mut Session, p: &Value) -> Result<Value> {
|
||||
let cmd = "component.move_features";
|
||||
let dest = if p.get("component").is_some() { component(s, p, "component", cmd)? } else { s.active_component };
|
||||
let keys = name_or_id_list(cmd, p, "features")?;
|
||||
if keys.is_empty() || keys.len() > 1000 {
|
||||
return Err(bad(cmd, "`features` must list 1…1000 features"));
|
||||
}
|
||||
if s.doc.marker.is_some() {
|
||||
return Err(bad(cmd, "finish timeline rollback before moving features"));
|
||||
}
|
||||
if !s.pending_moves.is_empty() {
|
||||
return Err(bad(cmd, "finish the component move in progress first"));
|
||||
}
|
||||
let mut ids = BTreeSet::new();
|
||||
for k in &keys {
|
||||
ids.insert(s.doc.find_feature(k).map(|f| f.id).ok_or_else(|| bad(cmd, format!("no feature `{k}`")))?);
|
||||
}
|
||||
let moving: BTreeSet<u64> = ids.into_iter().filter(|id| s.doc.feature(*id).is_some_and(|f| f.component != dest)).collect();
|
||||
if moving.is_empty() {
|
||||
return Err(bad(cmd, "already in that component"));
|
||||
}
|
||||
let moved: Vec<Feature> = s.doc.features.iter().filter(|f| moving.contains(&f.id)).cloned().collect();
|
||||
// One placement each: a component placed twice has no single frame to keep the geometry in.
|
||||
let placements = |c: u64| s.doc.occurrences.iter().filter(|o| o.component == c).count();
|
||||
let sources: BTreeSet<u64> = moved.iter().map(|f| f.component).collect();
|
||||
if sources.iter().chain([&dest]).any(|c| *c != 0 && placements(*c) > 1) {
|
||||
return Err(bad(cmd, "a component placed more than once can't take part in this move"));
|
||||
}
|
||||
if moved.iter().any(|f| matches!(f.kind, FeatureKind::BodyTransfer { .. })) {
|
||||
return Err(bad(cmd, "a recorded body transfer can't be moved"));
|
||||
}
|
||||
// The bodies that move with the features: those they are the origin of.
|
||||
let moved_bodies: BTreeSet<String> = s.body_origins().into_iter().filter(|(_, f)| moving.contains(f)).map(|(body, _)| body).collect();
|
||||
if moved_bodies.iter().any(|b| s.doc.body_components.contains_key(b) || s.doc.body_offsets.contains_key(b)) {
|
||||
return Err(bad(cmd, "a body that was transferred between components can't be moved with its features"));
|
||||
}
|
||||
// A join or boolean whose inputs would end up in two components.
|
||||
for f in &s.doc.features {
|
||||
let mut inputs: BTreeSet<String> = f.kind.input_bodies().into_iter().collect();
|
||||
inputs.extend(f.participants.iter().cloned());
|
||||
let (inside, outside) =
|
||||
(inputs.iter().filter(|b| moved_bodies.contains(*b)).count(), inputs.iter().filter(|b| !moved_bodies.contains(*b)).count());
|
||||
if inside > 0 && outside > 0 && inputs.len() > 1 {
|
||||
return Err(bad(cmd, format!("{} works on bodies that would be split between components", f.name)));
|
||||
}
|
||||
}
|
||||
let to_dest = mat_inverse(&s.doc.component_transform(dest)).ok_or_else(|| bad(cmd, "the target component's frame is not invertible"))?;
|
||||
let dest_path = s.doc.first_path(dest);
|
||||
let before_errors: BTreeMap<u64, bool> = s.doc.features.iter().map(|f| (f.id, s.model.result(f.id).is_some_and(|r| r.error.is_some()))).collect();
|
||||
|
||||
let mut scratch = s.scratch();
|
||||
let doc = scratch.doc_mut();
|
||||
for old in &moved {
|
||||
let delta = mat_mul(&to_dest, &s.doc.component_transform(old.component));
|
||||
let Some(f) = doc.feature_mut(old.id) else { continue };
|
||||
f.component = dest;
|
||||
if !is_identity(&delta) {
|
||||
if let FeatureKind::Sketch { plane, .. } | FeatureKind::ConstructionPlane { plane } = &mut f.kind {
|
||||
explicit_planes(plane);
|
||||
}
|
||||
f.kind.transform_geometry(&delta);
|
||||
}
|
||||
}
|
||||
// Attached sketches and embossed faces carry the placement of the body they sit on and of
|
||||
// the component they were authored in: those that moved are rewritten, nothing else changes.
|
||||
for f in &mut doc.features {
|
||||
let authored_here = moving.contains(&f.id);
|
||||
let rewrite = |body: &str, path: &mut Vec<u64>, author_path: &mut Vec<u64>| {
|
||||
if moved_bodies.contains(body) {
|
||||
*path = dest_path.clone();
|
||||
}
|
||||
if authored_here {
|
||||
*author_path = dest_path.clone();
|
||||
}
|
||||
};
|
||||
match &mut f.kind {
|
||||
FeatureKind::Sketch { plane, .. } => {
|
||||
if let Some(anchor) = crate::cmd::sketch::face::anchor_mut(plane) {
|
||||
let moved_body = moved_bodies.contains(&anchor.target.body);
|
||||
rewrite(&anchor.target.body, &mut anchor.path, &mut anchor.author_path);
|
||||
if moved_body {
|
||||
anchor.component = dest;
|
||||
}
|
||||
}
|
||||
}
|
||||
FeatureKind::Emboss { face: Some(face), .. } => {
|
||||
let body = face.body.as_ref().to_string();
|
||||
rewrite(&body, &mut face.path, &mut face.author_path);
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
scratch.refresh();
|
||||
// Any feature that gains an error, moved or left behind, stops the move.
|
||||
let broken = scratch
|
||||
.doc
|
||||
.features
|
||||
.iter()
|
||||
.filter(|f| !before_errors.get(&f.id).copied().unwrap_or(false))
|
||||
.find_map(|f| scratch.model.result(f.id).and_then(|r| r.error.clone()).map(|e| (f.name.clone(), e)));
|
||||
if let Some((name, error)) = broken {
|
||||
return Err(bad(cmd, format!("moving would break {name}: {error}")));
|
||||
}
|
||||
s.accept_computed(scratch);
|
||||
let names: Vec<&str> = moved.iter().map(|f| f.name.as_str()).collect();
|
||||
Ok(json!({"moved": names, "component": dest, "bodies": moved_bodies}))
|
||||
}
|
||||
|
||||
impl Session {
|
||||
/// The feature each body depends on first, by body name: the earliest feature whose own result
|
||||
/// holds a body of that name (a converted mesh keeps its import), else the creator the body
|
||||
/// carries (the pieces of a split). Moving that feature moves the body.
|
||||
pub fn body_origins(&self) -> BTreeMap<String, u64> {
|
||||
let mut origins = BTreeMap::new();
|
||||
for f in &self.doc.features {
|
||||
if let Some(r) = self.model.result(f.id) {
|
||||
for b in r.state.bodies.iter().filter(|b| b.feature == f.id) {
|
||||
origins.entry(b.name.clone()).or_insert(f.id);
|
||||
}
|
||||
}
|
||||
}
|
||||
for b in &self.model.state().bodies {
|
||||
origins.entry(b.name.clone()).or_insert(b.feature);
|
||||
}
|
||||
origins
|
||||
}
|
||||
}
|
||||
@@ -92,16 +92,22 @@ pub(super) fn reparent(s: &mut Session, p: &Value) -> Result<Value> {
|
||||
}
|
||||
}
|
||||
s.accept_computed(scratch);
|
||||
follow_visibility(s, &old_path, &new_path);
|
||||
Ok(json!({"occurrence": id, "parent": to, "path": new_path, "transform": transform}))
|
||||
}
|
||||
|
||||
/// Hidden placements and folders under `old_path` follow it to `new_path`. `accept_computed` does
|
||||
/// not carry them, so whoever accepts a computed move into a session does this after.
|
||||
pub(super) fn follow_visibility(s: &mut Session, old_path: &[u64], new_path: &[u64]) {
|
||||
for hidden in &mut s.visibility.hidden_occurrences {
|
||||
if let Some(moved) = rebased(hidden, &old_path, &new_path) {
|
||||
if let Some(moved) = rebased(hidden, old_path, new_path) {
|
||||
*hidden = moved;
|
||||
}
|
||||
}
|
||||
let (old_scope, new_scope) = (Session::folder_scope(&old_path), Session::folder_scope(&new_path));
|
||||
let (old_scope, new_scope) = (Session::folder_scope(old_path), Session::folder_scope(new_path));
|
||||
for key in &mut s.visibility.hidden_folders {
|
||||
if let Some(rest) = key.strip_prefix(&old_scope).filter(|rest| rest.starts_with('/')) {
|
||||
*key = format!("{new_scope}{rest}");
|
||||
}
|
||||
}
|
||||
Ok(json!({"occurrence": id, "parent": to, "path": new_path, "transform": transform}))
|
||||
}
|
||||
|
||||
@@ -0,0 +1,151 @@
|
||||
//! Moving placements, timeline features and bodies into a component in one undo step
|
||||
//! (`browser.reparent`: the owner of each changes, whatever its kind).
|
||||
//!
|
||||
//! What Paste does after Cut. Each kind moves by its own command (`occurrence.reparent`,
|
||||
//! `component.move_features`, `component.move_bodies`), in that order, on a scratch copy, so what
|
||||
//! an earlier step carried along is left alone by a later one: a moved component takes its
|
||||
//! features and bodies with it, moved features take the bodies they made. The result is adopted
|
||||
//! only when every step succeeds, as one undo step; otherwise nothing changes.
|
||||
|
||||
use std::collections::BTreeSet;
|
||||
|
||||
use super::move_features::move_features;
|
||||
use super::reparent::{follow_visibility, reparent};
|
||||
use super::transfer;
|
||||
use super::*;
|
||||
use crate::params::{name_or_id_list, string_list};
|
||||
|
||||
/// Most items of each kind in one move.
|
||||
const MAX_ITEMS: usize = 1000;
|
||||
|
||||
/// A placement named by its occurrence id, or by its path from the top of the design.
|
||||
fn placements(s: &Session, p: &Value, cmd: &str) -> Result<Vec<(u64, Option<Vec<u64>>)>> {
|
||||
let list = match p.get("occurrences") {
|
||||
None | Some(Value::Null) => return Ok(Vec::new()),
|
||||
Some(Value::Array(a)) if a.len() <= MAX_ITEMS => a,
|
||||
Some(_) => return Err(bad(cmd, format!("`occurrences` must list at most {MAX_ITEMS} placements"))),
|
||||
};
|
||||
let mut out: Vec<(u64, Option<Vec<u64>>)> = Vec::new();
|
||||
for entry in list {
|
||||
let found = match entry {
|
||||
Value::Number(n) => n.as_u64().map(|id| (id, None)),
|
||||
Value::Array(a) if !a.is_empty() && a.len() <= 64 => {
|
||||
a.iter().map(Value::as_u64).collect::<Option<Vec<_>>>().and_then(|path| path.last().copied().map(|id| (id, Some(path))))
|
||||
}
|
||||
_ => None,
|
||||
};
|
||||
let (id, path) = found.ok_or_else(|| bad(cmd, "`occurrences` must list occurrence ids or paths of 1..64 occurrence ids"))?;
|
||||
if !s.doc.occurrences.iter().any(|o| o.id == id) {
|
||||
return Err(bad(cmd, format!("no occurrence {id}")));
|
||||
}
|
||||
if !out.iter().any(|(seen, _)| *seen == id) {
|
||||
out.push((id, path));
|
||||
}
|
||||
}
|
||||
Ok(out)
|
||||
}
|
||||
|
||||
pub(super) fn reparent_items(s: &mut Session, p: &Value) -> Result<Value> {
|
||||
let cmd = "browser.reparent";
|
||||
let dest = if p.get("component").is_some() { component(s, p, "component", cmd)? } else { s.active_component };
|
||||
let dest_path = p.get("component_path").cloned();
|
||||
let occurrences = placements(s, p, cmd)?;
|
||||
let features = name_or_id_list(cmd, p, "features")?;
|
||||
let bodies = string_list(cmd, p, "bodies")?;
|
||||
if features.len() > MAX_ITEMS || bodies.len() > MAX_ITEMS {
|
||||
return Err(bad(cmd, format!("`features` and `bodies` must list at most {MAX_ITEMS} items each")));
|
||||
}
|
||||
if occurrences.is_empty() && features.is_empty() && bodies.is_empty() {
|
||||
return Err(bad(cmd, "give `occurrences`, `features` or `bodies` to move"));
|
||||
}
|
||||
if s.doc.marker.is_some() {
|
||||
return Err(bad(cmd, "finish timeline rollback before moving"));
|
||||
}
|
||||
let mut feature_ids = BTreeSet::new();
|
||||
for k in &features {
|
||||
feature_ids.insert(s.doc.find_feature(k).map(|f| f.id).ok_or_else(|| bad(cmd, format!("no feature `{k}`")))?);
|
||||
}
|
||||
{
|
||||
let state = s.model.state();
|
||||
if let Some(missing) = bodies.iter().find(|b| state.body(b).is_none()) {
|
||||
return Err(bad(cmd, format!("no body `{missing}`")));
|
||||
}
|
||||
}
|
||||
|
||||
let mut sc = s.scratch();
|
||||
sc.active_component = s.active_component;
|
||||
sc.active_occurrence_path = s.active_occurrence_path.clone();
|
||||
|
||||
// Components first: each takes everything it holds.
|
||||
let mut moved_placements = Vec::new();
|
||||
let mut moved_components = Vec::new();
|
||||
let mut followed: Vec<(Vec<u64>, Vec<u64>)> = Vec::new();
|
||||
for (id, path) in &occurrences {
|
||||
let Some(o) = sc.doc.occurrences.iter().find(|o| o.id == *id).cloned() else { continue };
|
||||
if o.parent == dest {
|
||||
continue;
|
||||
}
|
||||
let mut params = json!({"occurrence": id, "parent": dest});
|
||||
if let Some(path) = path {
|
||||
params["path"] = json!(path);
|
||||
}
|
||||
if let Some(parent_path) = &dest_path {
|
||||
params["parent_path"] = parent_path.clone();
|
||||
}
|
||||
let old_path = occurrence_path(&sc, ¶ms, *id, cmd)?;
|
||||
let out = reparent(&mut sc, ¶ms)?;
|
||||
let new_path = out.get("path").and_then(Value::as_array).map(|a| a.iter().filter_map(Value::as_u64).collect::<Vec<_>>());
|
||||
followed.extend(new_path.map(|new| (old_path, new)));
|
||||
moved_placements.push(*id);
|
||||
moved_components.push(o.component);
|
||||
}
|
||||
// What a moved component holds travels with it.
|
||||
let travels = |sc: &Session, component: u64| moved_components.iter().any(|c| sc.doc.inside_component(component, *c));
|
||||
|
||||
// Then features, which take the bodies they made.
|
||||
let features_to_move: Vec<u64> =
|
||||
feature_ids.iter().copied().filter(|id| sc.doc.feature(*id).is_some_and(|f| f.component != dest && !travels(&sc, f.component))).collect();
|
||||
let mut moved_features = Vec::new();
|
||||
if !features_to_move.is_empty() {
|
||||
let mut params = json!({"features": features_to_move, "component": dest});
|
||||
if let Some(path) = &dest_path {
|
||||
params["component_path"] = path.clone();
|
||||
}
|
||||
let out = move_features(&mut sc, ¶ms)?;
|
||||
moved_features =
|
||||
out.get("moved").and_then(Value::as_array).map(|a| a.iter().filter_map(Value::as_str).map(str::to_string).collect()).unwrap_or_default();
|
||||
}
|
||||
|
||||
// Last the bodies still elsewhere: one a moved component or feature carried is already there.
|
||||
let bodies_to_move: Vec<String> = {
|
||||
let state = sc.model.state();
|
||||
bodies
|
||||
.iter()
|
||||
.filter(|b| {
|
||||
state.body(b).is_some_and(|body| {
|
||||
let at = sc.doc.model_body_component(body);
|
||||
at != dest && !travels(&sc, at)
|
||||
})
|
||||
})
|
||||
.cloned()
|
||||
.collect()
|
||||
};
|
||||
if !bodies_to_move.is_empty() {
|
||||
let mut params = json!({"bodies": bodies_to_move, "component": dest});
|
||||
if let Some(path) = &dest_path {
|
||||
params["component_path"] = path.clone();
|
||||
}
|
||||
transfer::move_bodies(&mut sc, ¶ms)?;
|
||||
}
|
||||
|
||||
if moved_placements.is_empty() && moved_features.is_empty() && bodies_to_move.is_empty() {
|
||||
return Err(bad(cmd, "already in that component"));
|
||||
}
|
||||
// The steps above are this command's one undo step.
|
||||
sc.undo.clear();
|
||||
s.accept_computed(sc);
|
||||
for (old, new) in &followed {
|
||||
follow_visibility(s, old, new);
|
||||
}
|
||||
Ok(json!({"component": dest, "occurrences": moved_placements, "features": moved_features, "bodies": bodies_to_move}))
|
||||
}
|
||||
@@ -290,3 +290,205 @@ fn edited_transfer_destination_updates_history_owner_copy_and_reopen() {
|
||||
assert_eq!(reopened.model.state().body("Block").unwrap().component, b);
|
||||
assert_eq!(reopened.model.state().body("Block (2)").unwrap().component, copied);
|
||||
}
|
||||
|
||||
/// A 10 × 10 × 5 block (sketch `S`, extrude `Extrude1`, body `Block`) in the design with a sketch
|
||||
/// `Top` on its top face, and a component `Part` placed 100 mm along X. The design is active.
|
||||
fn block_and_part() -> (Session, u64) {
|
||||
let mut s = Session::default();
|
||||
run(&mut s, "sketch.create", json!({"plane": "XY", "name": "S"}));
|
||||
run(&mut s, "sketch.rectangle.two_point", json!({"p0": [0, 0], "p1": [10, 10]}));
|
||||
run(&mut s, "sketch.finish", json!({}));
|
||||
run(&mut s, "solid.extrude", json!({"sketch": "S", "distance": 5, "body_name": "Block"}));
|
||||
run(&mut s, "sketch.create", json!({"plane": {"face": [5, 5, 5]}, "name": "Top"}));
|
||||
run(&mut s, "sketch.rectangle.two_point", json!({"p0": [2, 2], "p1": [4, 4]}));
|
||||
run(&mut s, "sketch.finish", json!({}));
|
||||
let part = run(&mut s, "component.create", json!({"name": "Part"}))["component"].as_u64().unwrap();
|
||||
let first = s.doc.occurrence_of(part).map(|o| o.id).unwrap();
|
||||
run(&mut s, "occurrence.move", json!({"occurrence": first, "translate": [100, 0, 0], "capture": true, "move_grounded": true}));
|
||||
run(&mut s, "component.activate", json!({"component": 0}));
|
||||
(s, part)
|
||||
}
|
||||
|
||||
/// The lowest corner of every body in the world, rounded.
|
||||
fn world_corners(s: &Session) -> Vec<Vec<f64>> {
|
||||
s.world_state()
|
||||
.bodies
|
||||
.iter()
|
||||
.map(|b| {
|
||||
let min = b.mesh().bounds().min;
|
||||
vec![min.x.round(), min.y.round(), min.z.round()]
|
||||
})
|
||||
.collect()
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn move_features_keeps_the_world_and_the_attachment_in_the_active_component() {
|
||||
let (mut s, part) = block_and_part();
|
||||
let ids: Vec<u64> = s.doc.features.iter().map(|f| f.id).collect();
|
||||
let names: Vec<String> = s.doc.features.iter().map(|f| f.name.clone()).collect();
|
||||
let corners = world_corners(&s);
|
||||
// No `component`: the features go to the active one.
|
||||
run(&mut s, "component.activate", json!({"component": part}));
|
||||
let r = run(&mut s, "component.move_features", json!({"features": ["S", "Extrude1"]}));
|
||||
assert_eq!(r["moved"], json!(["S", "Extrude1"]), "{r}");
|
||||
// Nothing was added or renamed.
|
||||
assert_eq!(s.doc.features.iter().map(|f| f.id).collect::<Vec<_>>(), ids);
|
||||
assert_eq!(s.doc.features.iter().map(|f| f.name.clone()).collect::<Vec<_>>(), names);
|
||||
for name in ["S", "Extrude1"] {
|
||||
assert_eq!(s.doc.find_feature(name).map(|f| f.component), Some(part));
|
||||
}
|
||||
assert_eq!(s.doc.find_feature("Top").map(|f| f.component), Some(0));
|
||||
assert_eq!(world_corners(&s), corners, "the block is where it was in the world");
|
||||
// The sketch left behind follows the body into its new component and still evaluates.
|
||||
let top = s.doc.find_feature("Top").unwrap();
|
||||
assert!(s.model.result(top.id).is_some_and(|r| r.error.is_none()));
|
||||
let anchor = match top.kind.clone() {
|
||||
FeatureKind::Sketch { mut plane, .. } => crate::cmd::sketch::face::anchor_mut(&mut plane).cloned(),
|
||||
_ => None,
|
||||
};
|
||||
assert_eq!(anchor.map(|a| (a.component, a.path)), Some((part, s.doc.first_path(part))));
|
||||
}
|
||||
|
||||
/// Moved without its body, or with the body moved from under it, a feature would break: the move
|
||||
/// is refused and nothing changes.
|
||||
#[test]
|
||||
fn move_features_refuses_a_move_that_would_break_a_feature() {
|
||||
for moves in [["S2", "Cut1"], ["S1", "Extrude1"]] {
|
||||
let mut s = Session::default();
|
||||
run(&mut s, "sketch.create", json!({"plane": "XY", "name": "S1"}));
|
||||
run(&mut s, "sketch.rectangle.two_point", json!({"p0": [0, 0], "p1": [20, 20]}));
|
||||
run(&mut s, "sketch.finish", json!({}));
|
||||
run(&mut s, "solid.extrude", json!({"sketch": "S1", "distance": 10, "body_name": "Block"}));
|
||||
run(&mut s, "sketch.create", json!({"plane": "XY", "name": "S2"}));
|
||||
run(&mut s, "sketch.rectangle.two_point", json!({"p0": [5, 5], "p1": [10, 10]}));
|
||||
run(&mut s, "sketch.finish", json!({}));
|
||||
run(&mut s, "solid.extrude", json!({"sketch": "S2", "distance": 4, "operation": "cut", "name": "Cut1"}));
|
||||
let part = run(&mut s, "component.create", json!({"name": "Part", "activate": false}))["component"].as_u64().unwrap();
|
||||
let (before, steps) = (s.doc.to_json(), s.undo.len());
|
||||
let e = s.execute("component.move_features", &json!({"features": moves, "component": part})).unwrap_err().to_string();
|
||||
assert!(e.contains("moving would"), "{moves:?}: {e}");
|
||||
assert_eq!((s.doc.to_json(), s.undo.len()), (before, steps), "{moves:?}");
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn move_features_refusals_change_nothing() {
|
||||
let (mut s, part) = block_and_part();
|
||||
let refused = |s: &mut Session, params: Value, why: &str| {
|
||||
let (before, steps) = (s.doc.to_json(), s.undo.len());
|
||||
let e = s.execute("component.move_features", ¶ms).unwrap_err().to_string();
|
||||
assert!(e.contains(why), "{e}");
|
||||
assert_eq!((s.doc.to_json(), s.undo.len()), (before, steps));
|
||||
};
|
||||
refused(&mut s, json!({"features": ["S"], "component": 0}), "already in that component");
|
||||
refused(&mut s, json!({"features": ["Nope"], "component": part}), "no feature");
|
||||
refused(&mut s, json!({"features": [], "component": part}), "1…1000");
|
||||
refused(&mut s, json!({"features": ["S"], "component": "Nowhere"}), "no component");
|
||||
// A component placed twice.
|
||||
run(&mut s, "occurrence.copy", json!({"component": part}));
|
||||
refused(&mut s, json!({"features": ["S", "Extrude1"], "component": part}), "more than once");
|
||||
// Rolled back.
|
||||
run(&mut s, "timeline.roll_to", json!({"position": 1}));
|
||||
refused(&mut s, json!({"features": ["S"], "component": part}), "rollback");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn move_features_refuses_a_boolean_whose_inputs_would_be_split() {
|
||||
let mut s = Session::default();
|
||||
run(&mut s, "solid.box", json!({"length": 10, "width": 10, "height": 10, "body_name": "A", "name": "BoxA"}));
|
||||
run(
|
||||
&mut s,
|
||||
"solid.box",
|
||||
json!({"length": 10, "width": 10, "height": 10, "corner": [10, 0, 0], "operation": "new_body", "body_name": "B", "name": "BoxB"}),
|
||||
);
|
||||
run(&mut s, "solid.combine", json!({"target": "A", "tools": ["B"], "operation": "join", "name": "Joined"}));
|
||||
let part = run(&mut s, "component.create", json!({"name": "Part", "activate": false}))["component"].as_u64().unwrap();
|
||||
let before = s.doc.to_json();
|
||||
let e = s.execute("component.move_features", &json!({"features": ["BoxA"], "component": part})).unwrap_err().to_string();
|
||||
assert!(e.contains("split between components"), "{e}");
|
||||
assert_eq!(s.doc.to_json(), before);
|
||||
}
|
||||
|
||||
/// Each kind moves by its own step, all or nothing, as one undo step: a block's features without
|
||||
/// the cut that works on it break, so the first call changes nothing; with it, the second moves
|
||||
/// the placement, the features and the body that is not made by them, and skips the block they carry.
|
||||
#[test]
|
||||
fn reparent_items_moves_each_kind_all_or_nothing() {
|
||||
let (mut s, part) = block_and_part();
|
||||
run(&mut s, "sketch.create", json!({"plane": "XY", "name": "S2"}));
|
||||
run(&mut s, "sketch.rectangle.two_point", json!({"p0": [5, 5], "p1": [10, 10]}));
|
||||
run(&mut s, "sketch.finish", json!({}));
|
||||
run(&mut s, "solid.extrude", json!({"sketch": "S2", "distance": 4, "operation": "cut", "name": "Cut1"}));
|
||||
run(
|
||||
&mut s,
|
||||
"solid.box",
|
||||
json!({"length": 10, "width": 10, "height": 10, "corner": [50, 0, 0], "operation": "new_body", "body_name": "Plate", "name": "PlateBox"}),
|
||||
);
|
||||
let sub = run(&mut s, "component.create", json!({"name": "Sub", "activate": false}));
|
||||
let sub_occurrence = sub["occurrence"].as_u64().unwrap();
|
||||
let (before, steps, corners) = (s.doc.to_json(), s.undo.len(), world_corners(&s));
|
||||
let moves = |features: Value| json!({"occurrences": [sub_occurrence], "features": features, "bodies": ["Block", "Plate"], "component": part});
|
||||
// Cut1 would be left without its body: nothing moves, the placement included.
|
||||
let e = s.execute("browser.reparent", &moves(json!(["S", "Extrude1"]))).unwrap_err().to_string();
|
||||
assert!(e.contains("moving would"), "{e}");
|
||||
assert_eq!((s.doc.to_json(), s.undo.len()), (before, steps));
|
||||
let r = run(&mut s, "browser.reparent", moves(json!(["S", "Extrude1", "S2", "Cut1"])));
|
||||
assert_eq!(r["occurrences"], json!([sub_occurrence]), "{r}");
|
||||
assert_eq!(r["features"], json!(["S", "Extrude1", "S2", "Cut1"]), "{r}");
|
||||
assert_eq!(r["bodies"], json!(["Plate"]), "Block went with its features: {r}");
|
||||
assert_eq!(s.undo.len(), steps + 1, "one undo step");
|
||||
assert_eq!(s.doc.occurrences.iter().find(|o| o.id == sub_occurrence).map(|o| o.parent), Some(part));
|
||||
assert_eq!(world_corners(&s), corners, "everything is where it was in the world");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn reparent_items_leaves_the_contents_of_a_moved_component_alone() {
|
||||
let (mut s, part) = block_and_part();
|
||||
let dest = run(&mut s, "component.create", json!({"name": "Dest", "activate": false}))["component"].as_u64().unwrap();
|
||||
let occurrence = s.doc.occurrence_of(part).map(|o| o.id).unwrap();
|
||||
// A feature inside Part is named as well as Part: it travels with Part, not on its own.
|
||||
run(&mut s, "component.activate", json!({"component": part}));
|
||||
run(&mut s, "solid.box", json!({"length": 5, "width": 5, "height": 5, "body_name": "Inner", "name": "InnerBox"}));
|
||||
run(&mut s, "component.activate", json!({"component": 0}));
|
||||
let r = run(&mut s, "browser.reparent", json!({"occurrences": [occurrence], "features": ["InnerBox"], "bodies": ["Inner"], "component": dest}));
|
||||
assert_eq!(r["features"], json!([]), "{r}");
|
||||
assert_eq!(r["bodies"], json!([]), "{r}");
|
||||
assert_eq!(s.doc.find_feature("InnerBox").map(|f| f.component), Some(part));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn reparent_items_refusals_change_nothing() {
|
||||
let (mut s, part) = block_and_part();
|
||||
let refused = |s: &mut Session, params: Value, why: &str| {
|
||||
let (before, steps) = (s.doc.to_json(), s.undo.len());
|
||||
let e = s.execute("browser.reparent", ¶ms).unwrap_err().to_string();
|
||||
assert!(e.contains(why), "{e}");
|
||||
assert_eq!((s.doc.to_json(), s.undo.len()), (before, steps));
|
||||
};
|
||||
refused(&mut s, json!({"component": part}), "give `occurrences`");
|
||||
refused(&mut s, json!({"features": ["S"], "component": 0}), "already in that component");
|
||||
refused(&mut s, json!({"bodies": ["Nope"], "component": part}), "no body");
|
||||
refused(&mut s, json!({"occurrences": [9999], "component": part}), "no occurrence");
|
||||
refused(&mut s, json!({"occurrences": ["x"], "component": part}), "occurrence ids");
|
||||
let many: Vec<u64> = (0..1001).collect();
|
||||
refused(&mut s, json!({"occurrences": many, "component": part}), "at most 1000");
|
||||
run(&mut s, "timeline.roll_to", json!({"position": 1}));
|
||||
refused(&mut s, json!({"features": ["S"], "component": part}), "rollback");
|
||||
}
|
||||
|
||||
/// Placements hidden inside a moved component are still hidden under their new path.
|
||||
#[test]
|
||||
fn reparent_items_keeps_hidden_placements_hidden() {
|
||||
let (mut s, part) = block_and_part();
|
||||
let made = run(&mut s, "component.create", json!({"name": "Dest", "activate": false}));
|
||||
let (dest, dest_occurrence) = (made["component"].as_u64().unwrap(), made["occurrence"].as_u64().unwrap());
|
||||
let outer = run(&mut s, "component.create", json!({"name": "Outer", "activate": false}));
|
||||
let (outer_component, outer_occurrence) = (outer["component"].as_u64().unwrap(), outer["occurrence"].as_u64().unwrap());
|
||||
let inner =
|
||||
run(&mut s, "component.create", json!({"name": "Inner", "parent": outer_component, "activate": false}))["occurrence"].as_u64().unwrap();
|
||||
s.visibility.hidden_occurrences.push(vec![outer_occurrence, inner]);
|
||||
run(&mut s, "browser.reparent", json!({"occurrences": [outer_occurrence], "component": dest}));
|
||||
assert_eq!(s.visibility.hidden_occurrences, vec![vec![dest_occurrence, outer_occurrence, inner]]);
|
||||
assert_eq!(s.doc.occurrences.iter().find(|o| o.id == outer_occurrence).map(|o| o.parent), Some(dest));
|
||||
let _ = part;
|
||||
}
|
||||
|
||||
@@ -14,135 +14,267 @@ use solidcraft_geom::Vec3;
|
||||
use super::CommandSpec;
|
||||
use super::features::{add_feature, check_expr, plane_param, sketch_id};
|
||||
use crate::params::{bad, req_expr, str_, vec3};
|
||||
use crate::schema::construct::{
|
||||
AxisEdgeParams, AxisNormalToFaceParams, AxisThroughCylinderParams, AxisTwoPlanesParams, AxisTwoPointsParams, MidplaneParams,
|
||||
PlaneAlongPathParams, PlanePerpendicularParams, PlaneTangentParams, PlaneThreePointsParams, PlaneTwoEdgesParams, PointAlongPathParams,
|
||||
PointCenterParams, PointEdgePlaneParams, PointThreePlanesParams, PointTwoEdgesParams, PointVertexParams,
|
||||
};
|
||||
use crate::schema::features::FeatureResult;
|
||||
use crate::schema::{TypedContract, output_schema_for};
|
||||
use crate::{Result, Session};
|
||||
|
||||
const REF: &str =
|
||||
pub(crate) const REF: &str =
|
||||
"{face|edge|vertex|point: [x,y,z]} | {plane: XY|name|{origin, normal}} | {axis: X|Y|Z|name} | {construct_point: name} | {sketch, point|curve}";
|
||||
|
||||
const AXIS_THROUGH_CYLINDER_CONTRACT: TypedContract<AxisThroughCylinderParams> = TypedContract::new();
|
||||
const AXIS_NORMAL_TO_FACE_CONTRACT: TypedContract<AxisNormalToFaceParams> = TypedContract::new();
|
||||
const AXIS_TWO_PLANES_CONTRACT: TypedContract<AxisTwoPlanesParams> = TypedContract::new();
|
||||
const AXIS_TWO_POINTS_CONTRACT: TypedContract<AxisTwoPointsParams> = TypedContract::new();
|
||||
const AXIS_EDGE_CONTRACT: TypedContract<AxisEdgeParams> = TypedContract::new();
|
||||
const POINT_VERTEX_CONTRACT: TypedContract<PointVertexParams> = TypedContract::new();
|
||||
const POINT_TWO_EDGES_CONTRACT: TypedContract<PointTwoEdgesParams> = TypedContract::new();
|
||||
const POINT_THREE_PLANES_CONTRACT: TypedContract<PointThreePlanesParams> = TypedContract::new();
|
||||
const POINT_CENTER_CONTRACT: TypedContract<PointCenterParams> = TypedContract::new();
|
||||
const POINT_EDGE_PLANE_CONTRACT: TypedContract<PointEdgePlaneParams> = TypedContract::new();
|
||||
const POINT_ALONG_PATH_CONTRACT: TypedContract<PointAlongPathParams> = TypedContract::new();
|
||||
const PLANE_MIDPLANE_CONTRACT: TypedContract<MidplaneParams> = TypedContract::new();
|
||||
const PLANE_TWO_EDGES_CONTRACT: TypedContract<PlaneTwoEdgesParams> = TypedContract::new();
|
||||
const PLANE_THREE_POINTS_CONTRACT: TypedContract<PlaneThreePointsParams> = TypedContract::new();
|
||||
const PLANE_TANGENT_CONTRACT: TypedContract<PlaneTangentParams> = TypedContract::new();
|
||||
const PLANE_ALONG_PATH_CONTRACT: TypedContract<PlaneAlongPathParams> = TypedContract::new();
|
||||
const PLANE_PERPENDICULAR_CONTRACT: TypedContract<PlanePerpendicularParams> = TypedContract::new();
|
||||
|
||||
pub static COMMANDS: &[CommandSpec] = &[
|
||||
CommandSpec::new("construct.axis.through_cylinder", "Axis Through Cylinder/Cone/Torus", axis_face)
|
||||
CommandSpec::new("construct.axis.through_cylinder", "Axis Through Cylinder/Cone/Torus", crate::checked!("construct.axis.through_cylinder", axis_face))
|
||||
.at("SOLID", "CONSTRUCT")
|
||||
.icon("axis_through_cylinder")
|
||||
.contract(&AXIS_THROUGH_CYLINDER_CONTRACT)
|
||||
.output(output_schema_for::<FeatureResult>)
|
||||
.params("face: ref (a cylinder, cone or torus face, or a circular edge); name?"),
|
||||
CommandSpec::new("construct.axis.normal_to_face", "Axis Perpendicular To Face", axis_normal)
|
||||
CommandSpec::new("construct.axis.normal_to_face", "Axis Perpendicular To Face", crate::checked!("construct.axis.normal_to_face", axis_normal))
|
||||
.at("SOLID", "CONSTRUCT")
|
||||
.icon("axis_normal_to_face")
|
||||
.contract(&AXIS_NORMAL_TO_FACE_CONTRACT)
|
||||
.output(output_schema_for::<FeatureResult>)
|
||||
.params("face: ref; point: ref (the axis goes through it, square to the face); name?"),
|
||||
CommandSpec::new("construct.axis.two_planes", "Axis Through Two Planes", axis_planes)
|
||||
CommandSpec::new("construct.axis.two_planes", "Axis Through Two Planes", crate::checked!("construct.axis.two_planes", axis_planes))
|
||||
.at("SOLID", "CONSTRUCT")
|
||||
.icon("axis_two_planes")
|
||||
.contract(&AXIS_TWO_PLANES_CONTRACT)
|
||||
.output(output_schema_for::<FeatureResult>)
|
||||
.params("a, b: plane or planar face refs; name?"),
|
||||
CommandSpec::new("construct.axis.two_points", "Axis Through Two Points", axis_points)
|
||||
CommandSpec::new("construct.axis.two_points", "Axis Through Two Points", crate::checked!("construct.axis.two_points", axis_points))
|
||||
.at("SOLID", "CONSTRUCT")
|
||||
.icon("axis_two_points")
|
||||
.contract(&AXIS_TWO_POINTS_CONTRACT)
|
||||
.output(output_schema_for::<FeatureResult>)
|
||||
.params("a, b: point refs (vertices, sketch points, points); name?"),
|
||||
CommandSpec::new("construct.axis.edge", "Axis Through Edge", axis_edge)
|
||||
CommandSpec::new("construct.axis.edge", "Axis Through Edge", crate::checked!("construct.axis.edge", axis_edge))
|
||||
.at("SOLID", "CONSTRUCT")
|
||||
.icon("axis_edge")
|
||||
.contract(&AXIS_EDGE_CONTRACT)
|
||||
.output(output_schema_for::<FeatureResult>)
|
||||
.params("edge: ref (a straight edge or sketch line); name?"),
|
||||
CommandSpec::new("construct.point.vertex", "Point At Vertex", point_at)
|
||||
CommandSpec::new("construct.point.vertex", "Point At Vertex", crate::checked!("construct.point.vertex", point_at))
|
||||
.at("SOLID", "CONSTRUCT")
|
||||
.icon("point_vertex")
|
||||
.contract(&POINT_VERTEX_CONTRACT)
|
||||
.output(output_schema_for::<FeatureResult>)
|
||||
.params("point: ref (vertex, sketch point, point); name?"),
|
||||
CommandSpec::new("construct.point.two_edges", "Point Through Two Edges", point_edges)
|
||||
CommandSpec::new("construct.point.two_edges", "Point Through Two Edges", crate::checked!("construct.point.two_edges", point_edges))
|
||||
.at("SOLID", "CONSTRUCT")
|
||||
.icon("point_two_edges")
|
||||
.contract(&POINT_TWO_EDGES_CONTRACT)
|
||||
.output(output_schema_for::<FeatureResult>)
|
||||
.params("a, b: edge or line refs (where they meet, or come closest); name?"),
|
||||
CommandSpec::new("construct.point.three_planes", "Point Through Three Planes", point_planes)
|
||||
CommandSpec::new("construct.point.three_planes", "Point Through Three Planes", crate::checked!("construct.point.three_planes", point_planes))
|
||||
.at("SOLID", "CONSTRUCT")
|
||||
.icon("point_three_planes")
|
||||
.contract(&POINT_THREE_PLANES_CONTRACT)
|
||||
.output(output_schema_for::<FeatureResult>)
|
||||
.params("a, b, c: plane or planar face refs; name?"),
|
||||
CommandSpec::new("construct.point.center", "Point At Center Of Circle/Sphere/Torus", point_center)
|
||||
CommandSpec::new("construct.point.center", "Point At Center Of Circle/Sphere/Torus", crate::checked!("construct.point.center", point_center))
|
||||
.at("SOLID", "CONSTRUCT")
|
||||
.icon("point_center")
|
||||
.contract(&POINT_CENTER_CONTRACT)
|
||||
.output(output_schema_for::<FeatureResult>)
|
||||
.params("of: ref (circular edge, sketch circle or arc, sphere or torus face); name?"),
|
||||
CommandSpec::new("construct.point.edge_plane", "Point At Edge And Plane", point_edge_plane)
|
||||
CommandSpec::new("construct.point.edge_plane", "Point At Edge And Plane", crate::checked!("construct.point.edge_plane", point_edge_plane))
|
||||
.at("SOLID", "CONSTRUCT")
|
||||
.icon("point_edge_plane")
|
||||
.contract(&POINT_EDGE_PLANE_CONTRACT)
|
||||
.output(output_schema_for::<FeatureResult>)
|
||||
.params("edge: edge or line ref; plane: plane or planar face ref; name?"),
|
||||
CommandSpec::new("construct.point.along_path", "Point Along Path", point_along)
|
||||
CommandSpec::new("construct.point.along_path", "Point Along Path", crate::checked!("construct.point.along_path", point_along))
|
||||
.at("SOLID", "CONSTRUCT")
|
||||
.icon("point_along_path")
|
||||
.contract(&POINT_ALONG_PATH_CONTRACT)
|
||||
.output(output_schema_for::<FeatureResult>)
|
||||
.params("path: edge or sketch curve ref; t: expr, 0…1 along it (default 0.5); name?"),
|
||||
CommandSpec::new("construct.plane.midplane", "Midplane", plane_mid)
|
||||
CommandSpec::new("construct.plane.midplane", "Midplane", crate::checked!("construct.plane.midplane", plane_mid))
|
||||
.at("SOLID", "CONSTRUCT")
|
||||
.icon("plane_midplane")
|
||||
.contract(&PLANE_MIDPLANE_CONTRACT)
|
||||
.output(output_schema_for::<FeatureResult>)
|
||||
.params("a, b: plane or planar face refs (halfway between; bisecting when they meet at an angle); name?"),
|
||||
CommandSpec::new("construct.plane.two_edges", "Plane Through Two Edges", plane_edges)
|
||||
CommandSpec::new("construct.plane.two_edges", "Plane Through Two Edges", crate::checked!("construct.plane.two_edges", plane_edges))
|
||||
.at("SOLID", "CONSTRUCT")
|
||||
.icon("plane_two_edges")
|
||||
.contract(&PLANE_TWO_EDGES_CONTRACT)
|
||||
.output(output_schema_for::<FeatureResult>)
|
||||
.params("a, b: straight edge or line refs in one plane; name?"),
|
||||
CommandSpec::new("construct.plane.three_points", "Plane Through Three Points", plane_points)
|
||||
CommandSpec::new("construct.plane.three_points", "Plane Through Three Points", crate::checked!("construct.plane.three_points", plane_points))
|
||||
.at("SOLID", "CONSTRUCT")
|
||||
.icon("plane_three_points")
|
||||
.contract(&PLANE_THREE_POINTS_CONTRACT)
|
||||
.output(output_schema_for::<FeatureResult>)
|
||||
.params("a, b, c: point refs; name?"),
|
||||
CommandSpec::new("construct.plane.tangent", "Tangent Plane", plane_tangent)
|
||||
CommandSpec::new("construct.plane.tangent", "Tangent Plane", crate::checked!("construct.plane.tangent", plane_tangent))
|
||||
.at("SOLID", "CONSTRUCT")
|
||||
.icon("plane_tangent")
|
||||
.contract(&PLANE_TANGENT_CONTRACT)
|
||||
.output(output_schema_for::<FeatureResult>)
|
||||
.params("face: ref (cylinder, cone, sphere or torus); at?: [x,y,z] where it touches (default: the face pick); name?"),
|
||||
CommandSpec::new("construct.plane.along_path", "Plane Along Path", plane_along)
|
||||
CommandSpec::new("construct.plane.along_path", "Plane Along Path", crate::checked!("construct.plane.along_path", plane_along))
|
||||
.at("SOLID", "CONSTRUCT")
|
||||
.icon("plane_along_path")
|
||||
.contract(&PLANE_ALONG_PATH_CONTRACT)
|
||||
.output(output_schema_for::<FeatureResult>)
|
||||
.params("path: edge or sketch curve ref; t: expr, 0…1 along it (default 0.5); name? The plane is square to the path there"),
|
||||
CommandSpec::new("construct.plane.perpendicular", "Perpendicular Plane", plane_perpendicular).at("SOLID", "CONSTRUCT").icon("plane_perpendicular").params(
|
||||
"plane: plane or planar face ref; line: straight edge, sketch line or axis ref; name? The plane holds the line and is square to the plane",
|
||||
),
|
||||
CommandSpec::new("construct.plane.perpendicular", "Perpendicular Plane", crate::checked!("construct.plane.perpendicular", plane_perpendicular))
|
||||
.at("SOLID", "CONSTRUCT")
|
||||
.icon("plane_perpendicular")
|
||||
.contract(&PLANE_PERPENDICULAR_CONTRACT)
|
||||
.output(output_schema_for::<FeatureResult>)
|
||||
.params(
|
||||
"plane: plane or planar face ref; line: straight edge, sketch line or axis ref; name? The plane holds the line and is square to the plane",
|
||||
),
|
||||
];
|
||||
|
||||
/// Whether [`model_axis_param`] reads `v` as an edge or face of the model: `{edge: …}`,
|
||||
/// `{face: …}`, or as saved (`{type: edge|face, at, name?}`), as an edit dialog gives back one it
|
||||
/// kept.
|
||||
pub(crate) fn is_model_axis(v: &Value) -> bool {
|
||||
v.get("edge").is_some() || v.get("face").is_some() || matches!(v.get("type").and_then(Value::as_str), Some("edge" | "face"))
|
||||
}
|
||||
|
||||
/// An axis on an edge or round face of the model (`{edge: [x,y,z]}` or `{face: [x,y,z]}`, the
|
||||
/// point on it), with the line it gives now (`solidcraft_doc::construct::model_axis`); `None`
|
||||
/// for any other form of `axis`.
|
||||
pub(super) fn model_axis_param(s: &Session, v: Option<&Value>, cmd: &str) -> Result<Option<(GeoRef, Vec3, Vec3)>> {
|
||||
// Also as saved (`{type: edge|face, at, name?}`), as an edit dialog gives back one it kept.
|
||||
let saved = |v: &Value| matches!(v.get("type").and_then(Value::as_str), Some("edge" | "face"));
|
||||
let Some(v) = v.filter(|v| v.get("edge").is_some() || v.get("face").is_some() || saved(v)) else { return Ok(None) };
|
||||
let Some(v) = v.filter(|v| is_model_axis(v)) else { return Ok(None) };
|
||||
let g = geo(s, Some(v), cmd, "axis")?;
|
||||
let (o, d) = solidcraft_doc::construct::model_axis(&s.world_state(), &g).map_err(|e| bad(cmd, format!("`axis`: {e}")))?;
|
||||
Ok(Some((g, o, d)))
|
||||
}
|
||||
|
||||
/// A reference as [`geo`] reads it before looking anything up in the design: which form it has.
|
||||
pub(crate) enum GeoForm<'a> {
|
||||
/// As saved (`{type, …}`), read whole.
|
||||
Saved(GeoRef),
|
||||
Face(Vec3),
|
||||
Edge(Vec3),
|
||||
Vertex(Vec3),
|
||||
/// `{sketch, point|curve}`: the sketch as given, and the point or curve, when one is given.
|
||||
Sketch {
|
||||
sketch: &'a Value,
|
||||
part: Option<SketchPart<'a>>,
|
||||
},
|
||||
Point(Vec3),
|
||||
/// `{plane: …}`'s value, or a bare string: a plane, as `plane_param` reads it.
|
||||
Plane(&'a Value),
|
||||
/// `{axis: X|Y|Z|name}`.
|
||||
Axis(&'a str),
|
||||
/// `{construct_point: name}`.
|
||||
ConstructPoint(&'a str),
|
||||
}
|
||||
|
||||
/// A sketch reference's point or curve id.
|
||||
pub(crate) enum SketchPart<'a> {
|
||||
Point(&'a str),
|
||||
Curve(&'a str),
|
||||
}
|
||||
|
||||
/// Why [`geo_form`] refuses a reference.
|
||||
pub(crate) enum GeoFormError {
|
||||
/// A saved form serde refuses, with its message.
|
||||
Saved(String),
|
||||
/// None of the forms.
|
||||
Unknown,
|
||||
}
|
||||
|
||||
/// What [`geo`] says when a sketch reference has neither `point` nor `curve`.
|
||||
pub(crate) const SKETCH_PART: &str = "a sketch reference needs `point` or `curve`";
|
||||
|
||||
/// The form [`geo`] reads `v` as. The first that fits wins, in this order: `type` (read whole), a
|
||||
/// point at `face`, `edge` or `vertex`, `sketch` (whatever else it has), a point at `point`,
|
||||
/// `plane` (whatever it holds), `axis` and `construct_point` as text, and a bare string.
|
||||
pub(crate) fn geo_form(v: &Value) -> std::result::Result<GeoForm<'_>, GeoFormError> {
|
||||
let p3 = |k: &str| v.get(k).and_then(vec3);
|
||||
Ok(if v.get("type").is_some() {
|
||||
GeoForm::Saved(serde_json::from_value::<GeoRef>(v.clone()).map_err(|e| GeoFormError::Saved(e.to_string()))?)
|
||||
} else if let Some(at) = p3("face") {
|
||||
GeoForm::Face(at)
|
||||
} else if let Some(at) = p3("edge") {
|
||||
GeoForm::Edge(at)
|
||||
} else if let Some(at) = p3("vertex") {
|
||||
GeoForm::Vertex(at)
|
||||
} else if let Some(sketch) = v.get("sketch") {
|
||||
let part = match (str_(v, "point"), str_(v, "curve")) {
|
||||
(Some(point), _) => Some(SketchPart::Point(point)),
|
||||
(None, Some(curve)) => Some(SketchPart::Curve(curve)),
|
||||
_ => None,
|
||||
};
|
||||
GeoForm::Sketch { sketch, part }
|
||||
} else if let Some(p) = p3("point") {
|
||||
GeoForm::Point(p)
|
||||
} else if let Some(plane) = v.get("plane") {
|
||||
GeoForm::Plane(plane)
|
||||
} else if let Some(a) = str_(v, "axis") {
|
||||
GeoForm::Axis(a)
|
||||
} else if let Some(n) = str_(v, "construct_point") {
|
||||
GeoForm::ConstructPoint(n)
|
||||
} else if v.is_string() {
|
||||
GeoForm::Plane(v)
|
||||
} else {
|
||||
return Err(GeoFormError::Unknown);
|
||||
})
|
||||
}
|
||||
|
||||
/// A reference from its JSON form.
|
||||
pub(super) fn geo(s: &Session, v: Option<&Value>, cmd: &str, what: &str) -> Result<GeoRef> {
|
||||
let v = v.ok_or_else(|| bad(cmd, format!("`{what}` is required: {REF}")))?;
|
||||
let p3 = |k: &str| v.get(k).and_then(vec3);
|
||||
let mut g = if v.get("type").is_some() {
|
||||
serde_json::from_value::<GeoRef>(v.clone()).map_err(|e| bad(cmd, format!("`{what}`: {e}")))?
|
||||
} else if let Some(at) = p3("face") {
|
||||
GeoRef::Face { at, name: None }
|
||||
} else if let Some(at) = p3("edge") {
|
||||
GeoRef::Edge { at, name: None }
|
||||
} else if let Some(at) = p3("vertex") {
|
||||
GeoRef::Vertex { at, edges: None }
|
||||
} else if let Some(sk) = v.get("sketch") {
|
||||
let sketch = sketch_id(s, Some(sk), cmd, what)?;
|
||||
match (str_(v, "point"), str_(v, "curve")) {
|
||||
(Some(point), _) => GeoRef::SketchPoint { sketch, point: point.to_string() },
|
||||
(None, Some(curve)) => GeoRef::SketchCurve { sketch, curve: curve.to_string() },
|
||||
_ => return Err(bad(cmd, format!("`{what}`: a sketch reference needs `point` or `curve`"))),
|
||||
}
|
||||
} else if let Some(p) = p3("point") {
|
||||
GeoRef::Point { p }
|
||||
} else if v.get("plane").is_some() {
|
||||
GeoRef::Plane { plane: plane_param(s, v.get("plane"), cmd)? }
|
||||
} else if let Some(a) = str_(v, "axis") {
|
||||
if ["x", "y", "z"].contains(&a.to_ascii_lowercase().as_str()) {
|
||||
GeoRef::World { axis: a.to_ascii_uppercase() }
|
||||
} else {
|
||||
match s.doc.find_feature(a).map(|f| &f.kind) {
|
||||
Some(FeatureKind::ConstructionAxis { .. }) => GeoRef::Axis { name: a.into() },
|
||||
_ => return Err(bad(cmd, format!("no axis `{a}`"))),
|
||||
let mut g = match geo_form(v) {
|
||||
Ok(GeoForm::Saved(g)) => g,
|
||||
Ok(GeoForm::Face(at)) => GeoRef::Face { at, name: None },
|
||||
Ok(GeoForm::Edge(at)) => GeoRef::Edge { at, name: None },
|
||||
Ok(GeoForm::Vertex(at)) => GeoRef::Vertex { at, edges: None },
|
||||
Ok(GeoForm::Sketch { sketch, part }) => {
|
||||
let sketch = sketch_id(s, Some(sketch), cmd, what)?;
|
||||
match part {
|
||||
Some(SketchPart::Point(point)) => GeoRef::SketchPoint { sketch, point: point.to_string() },
|
||||
Some(SketchPart::Curve(curve)) => GeoRef::SketchCurve { sketch, curve: curve.to_string() },
|
||||
None => return Err(bad(cmd, format!("`{what}`: {SKETCH_PART}"))),
|
||||
}
|
||||
}
|
||||
} else if let Some(n) = str_(v, "construct_point") {
|
||||
match s.doc.find_feature(n).map(|f| &f.kind) {
|
||||
Ok(GeoForm::Point(p)) => GeoRef::Point { p },
|
||||
Ok(GeoForm::Plane(plane)) => GeoRef::Plane { plane: plane_param(s, Some(plane), cmd)? },
|
||||
Ok(GeoForm::Axis(a)) => {
|
||||
if ["x", "y", "z"].contains(&a.to_ascii_lowercase().as_str()) {
|
||||
GeoRef::World { axis: a.to_ascii_uppercase() }
|
||||
} else {
|
||||
match s.doc.find_feature(a).map(|f| &f.kind) {
|
||||
Some(FeatureKind::ConstructionAxis { .. }) => GeoRef::Axis { name: a.into() },
|
||||
_ => return Err(bad(cmd, format!("no axis `{a}`"))),
|
||||
}
|
||||
}
|
||||
}
|
||||
Ok(GeoForm::ConstructPoint(n)) => match s.doc.find_feature(n).map(|f| &f.kind) {
|
||||
Some(FeatureKind::ConstructionPoint { .. }) => GeoRef::ConstructPoint { name: n.into() },
|
||||
_ => return Err(bad(cmd, format!("no construction point `{n}`"))),
|
||||
}
|
||||
} else if v.as_str().is_some() {
|
||||
// A bare string: a plane.
|
||||
GeoRef::Plane { plane: plane_param(s, Some(v), cmd)? }
|
||||
} else {
|
||||
return Err(bad(cmd, format!("`{what}` must be {REF}")));
|
||||
},
|
||||
Err(GeoFormError::Saved(e)) => return Err(bad(cmd, format!("`{what}`: {e}"))),
|
||||
Err(GeoFormError::Unknown) => return Err(bad(cmd, format!("`{what}` must be {REF}"))),
|
||||
};
|
||||
g.name_picks(&s.model.state());
|
||||
Ok(g)
|
||||
|
||||
@@ -67,7 +67,7 @@ pub static COMMANDS: &[CommandSpec] = &[
|
||||
"features: [id|name], position: insertion slot in the current history; selected features keep their relative order; active?: bool (as timeline.reorder's); refused when a feature that worked would fail, unless allow_errors?: bool (default false): then made, and broken: [{feature, error}] lists the features it broke",
|
||||
),
|
||||
CommandSpec::new("timeline.redefine", "Edit Feature", redefine).icon("edit")
|
||||
.params("feature: id|name, command: the feature's command id, params: its parameters (the feature is rebuilt in place)"),
|
||||
.params("feature: id|name, command: the feature's command id, params: its parameters (the feature is rebuilt in place) → feature, recomputed, restored, rolled_back: bool (the feature is after the history marker, so the edit is not built yet; `note` then says so), warning?"),
|
||||
CommandSpec::new("timeline.dependents", "Feature Dependents", dependents).icon("graph")
|
||||
.noundo()
|
||||
.params("feature: id|name → features deleted with it, and features that would fail without it"),
|
||||
@@ -1773,9 +1773,23 @@ fn redefine(s: &mut Session, p: &Value) -> Result<Value> {
|
||||
if let Some(e) = s.model.result(id).and_then(|r| r.error.clone()) {
|
||||
return Err(EngineError::Other(e));
|
||||
}
|
||||
// A feature behind the history marker is not built, so the edit changes nothing in the model
|
||||
// yet: the reply says so, or the edit would look as if it had silently failed (#8100). Its
|
||||
// warning is the one the constructor met building it in the trial, at its place.
|
||||
let rolled_back = s.doc.marker.is_some_and(|marker| s.doc.feature_index(id).is_some_and(|index| index >= marker));
|
||||
let warning =
|
||||
if rolled_back { r.get("warning").and_then(Value::as_str).map(str::to_string) } else { s.model.result(id).and_then(|r| r.warning.clone()) };
|
||||
// Report the trial's rebuild, plus anything the session still had to compute itself (a kept
|
||||
// result its budget dropped); `s.model`'s own counters would only report the reuse (#5694).
|
||||
Ok(json!({"feature": id, "recomputed": rebuilt + s.model.last_recomputed, "restored": reused}))
|
||||
let mut reply = json!({"feature": id, "recomputed": rebuilt + s.model.last_recomputed, "restored": reused, "rolled_back": rolled_back});
|
||||
if let Some(warning) = warning {
|
||||
reply["warning"] = json!(warning);
|
||||
}
|
||||
if rolled_back {
|
||||
let name = s.doc.feature(id).map(|f| f.name.clone()).unwrap_or_default();
|
||||
reply["note"] = json!(format!("{name} is after the history marker, so it is not built: move the marker past it to build it"));
|
||||
}
|
||||
Ok(reply)
|
||||
}
|
||||
|
||||
fn dependents(s: &mut Session, p: &Value) -> Result<Value> {
|
||||
|
||||
@@ -12,7 +12,8 @@ use solidcraft_geom::Vec3;
|
||||
use super::{CommandSpec, not_in_sketch};
|
||||
use crate::params::{UNKNOWN_COMMAND, bad, bool_, expr, expr_problem, req_expr, str_, string_list, string_list_or_default, vec2, vec3};
|
||||
use crate::schema::features::{
|
||||
BoundingSolidParams, BoxParams, ConeParams, CylinderParams, ExtrudeParams, FeatureResult, PipeParams, ScaleParams, SphereParams, TorusParams,
|
||||
BoundingSolidParams, BoxParams, ConeParams, CylinderParams, ExtrudeParams, FeatureResult, OffsetPlaneParams, PipeParams, PlaneAtAngleParams,
|
||||
ScaleParams, SphereParams, TorusParams,
|
||||
};
|
||||
use crate::schema::{TypedContract, output_schema_for};
|
||||
use crate::{EngineError, Result, Session};
|
||||
@@ -26,6 +27,8 @@ const CONE_CONTRACT: TypedContract<ConeParams> = TypedContract::new();
|
||||
const PIPE_CONTRACT: TypedContract<PipeParams> = TypedContract::new();
|
||||
const BOUNDING_SOLID_CONTRACT: TypedContract<BoundingSolidParams> = TypedContract::new();
|
||||
const SCALE_CONTRACT: TypedContract<ScaleParams> = TypedContract::new();
|
||||
const OFFSET_PLANE_CONTRACT: TypedContract<OffsetPlaneParams> = TypedContract::new();
|
||||
const PLANE_AT_ANGLE_CONTRACT: TypedContract<PlaneAtAngleParams> = TypedContract::new();
|
||||
|
||||
pub static COMMANDS: &[CommandSpec] = &[
|
||||
CommandSpec::new("solid.extrude", "Extrude", crate::checked!("solid.extrude", extrude))
|
||||
@@ -137,13 +140,17 @@ pub static COMMANDS: &[CommandSpec] = &[
|
||||
.at("SOLID", "MODIFY")
|
||||
.icon("draft")
|
||||
.params("faces: [[x,y,z] points, or face names from model.faces]; angle: expr; neutral: XY|XZ|YZ|plane name|{origin, normal}; pull?: [x,y,z] (default: neutral plane normal); body?"),
|
||||
CommandSpec::new("construct.plane.offset", "Offset Plane", plane_offset)
|
||||
CommandSpec::new("construct.plane.offset", "Offset Plane", crate::checked!("construct.plane.offset", plane_offset))
|
||||
.at("SOLID", "CONSTRUCT")
|
||||
.icon("plane")
|
||||
.contract(&OFFSET_PLANE_CONTRACT)
|
||||
.output(output_schema_for::<FeatureResult>)
|
||||
.params("base: XY|XZ|YZ|plane name, or a planar face {face: [x,y,z], body?, index?, path?}; offset: expr, or through: a point ref (vertex, sketch point, construction point) the plane goes through, parallel to base; name?"),
|
||||
CommandSpec::new("construct.plane.at_angle", "Plane at Angle", plane_angle)
|
||||
CommandSpec::new("construct.plane.at_angle", "Plane at Angle", crate::checked!("construct.plane.at_angle", plane_angle))
|
||||
.at("SOLID", "CONSTRUCT")
|
||||
.icon("plane_angle")
|
||||
.contract(&PLANE_AT_ANGLE_CONTRACT)
|
||||
.output(output_schema_for::<FeatureResult>)
|
||||
.params("base: XY|XZ|YZ|plane name, or a planar face {face: [x,y,z], body?, index?, path?}; axis: X|Y|Z|construction axis name (where it is now)|{origin, dir} | {edge|face: [x,y,z]} (a straight or circular edge, or a cylinder, cone or torus face: about its axis, followed as the model changes); angle: expr; name?"),
|
||||
CommandSpec::new("solid.split_face", "Split Face", split_face)
|
||||
.at("SOLID", "MODIFY")
|
||||
@@ -1946,19 +1953,24 @@ fn named_axis_line(s: &Session, p: &Value, cmd: &str) -> Result<(Vec3, Vec3, Opt
|
||||
_ => Err(bad(cmd, "axis must be X, Y, Z, a construction axis, {origin, dir} or {edge|face: [x,y,z]}")),
|
||||
},
|
||||
Some(o @ Value::Object(_)) => {
|
||||
let origin = match o.get("origin") {
|
||||
None => Vec3::ZERO,
|
||||
Some(v) => vec3(v).ok_or_else(|| {
|
||||
bad(cmd, "axis.origin must contain three finite numeric coordinates in millimetres; expressions are not supported")
|
||||
})?,
|
||||
};
|
||||
let dir = o.get("dir").and_then(vec3).and_then(|d| d.normalized()).ok_or_else(|| bad(cmd, "axis needs a non-zero `dir`"))?;
|
||||
let (origin, dir) = axis_line_object(o).map_err(|why| bad(cmd, why))?;
|
||||
Ok((origin, dir, None))
|
||||
}
|
||||
_ => Err(bad(cmd, "`axis` is required")),
|
||||
}
|
||||
}
|
||||
|
||||
/// An axis line `{origin?, dir}` as [`named_axis_line`] reads it: the origin (default: the
|
||||
/// origin) and the unit direction.
|
||||
pub(crate) fn axis_line_object(o: &Value) -> std::result::Result<(Vec3, Vec3), &'static str> {
|
||||
let origin = match o.get("origin") {
|
||||
None => Vec3::ZERO,
|
||||
Some(v) => vec3(v).ok_or("axis.origin must contain three finite numeric coordinates in millimetres; expressions are not supported")?,
|
||||
};
|
||||
let dir = o.get("dir").and_then(vec3).and_then(|d| d.normalized()).ok_or("axis needs a non-zero `dir`")?;
|
||||
Ok((origin, dir))
|
||||
}
|
||||
|
||||
/// A pattern feature, or for `components`, new occurrences of them at each placement.
|
||||
fn finish_pattern(
|
||||
s: &mut Session,
|
||||
@@ -2129,13 +2141,31 @@ pub(super) fn origin_plane_alias(name: &str) -> Option<&'static str> {
|
||||
/// A construction plane may not take an origin plane's name (`XY`, `Top`...): a plane
|
||||
/// parameter could then mean either.
|
||||
pub(super) fn check_plane_name(name: &str, cmd: &str) -> Result<()> {
|
||||
if solidcraft_geom::Plane::named(name.trim()).is_some() {
|
||||
return Err(bad(
|
||||
cmd,
|
||||
format!("`{}` is reserved for an origin plane (XY, XZ, YZ, Top, Front, Right); give the construction plane another name", name.trim()),
|
||||
));
|
||||
match plane_name_problem(name) {
|
||||
Some(why) => Err(bad(cmd, why)),
|
||||
None => Ok(()),
|
||||
}
|
||||
}
|
||||
|
||||
/// What [`check_plane_name`] says about `name`, or `None` when a construction plane may take it.
|
||||
pub(crate) fn plane_name_problem(name: &str) -> Option<String> {
|
||||
solidcraft_geom::Plane::named(name.trim()).map(|_| {
|
||||
format!("`{}` is reserved for an origin plane (XY, XZ, YZ, Top, Front, Right); give the construction plane another name", name.trim())
|
||||
})
|
||||
}
|
||||
|
||||
/// The forms [`plane_param`] takes, for its messages.
|
||||
pub(crate) const PLANE_FORMS: &str =
|
||||
"XY, XZ, YZ, a construction plane name or id, or {origin, normal} (origin coordinates may be length expressions)";
|
||||
|
||||
/// The plane an explicit plane object gives through `origin`, as [`plane_param`] reads it: from
|
||||
/// `x_dir` and `y_dir` when both are points, else from `normal`; `None` when they don't make one.
|
||||
pub(crate) fn explicit_plane(o: &Value, origin: Vec3) -> Option<solidcraft_geom::Plane> {
|
||||
match (o.get("x_dir").and_then(vec3), o.get("y_dir").and_then(vec3), o.get("normal").and_then(vec3)) {
|
||||
(Some(x), Some(y), _) => solidcraft_geom::Plane::new(origin, x, y),
|
||||
(_, _, Some(n)) => solidcraft_geom::Plane::from_normal(origin, n),
|
||||
_ => None,
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// A plane reference from a parameter: an origin plane, a construction plane (by name or
|
||||
@@ -2144,7 +2174,7 @@ pub(super) fn check_plane_name(name: &str, cmd: &str) -> Result<()> {
|
||||
/// plane reads it here.
|
||||
pub(super) fn plane_param(s: &Session, v: Option<&Value>, cmd: &str) -> Result<solidcraft_doc::PlaneRef> {
|
||||
use solidcraft_doc::PlaneRef;
|
||||
const WANT: &str = "XY, XZ, YZ, a construction plane name or id, or {origin, normal} (origin coordinates may be length expressions)";
|
||||
const WANT: &str = PLANE_FORMS;
|
||||
let construction = |r: &str| match s.doc.find_feature(r) {
|
||||
Some(f) if matches!(f.kind, FeatureKind::ConstructionPlane { .. }) => Ok(PlaneRef::Construction { feature: f.id.into() }),
|
||||
Some(f) => Err(bad(cmd, format!("`{}` is not a construction plane (a plane is {WANT})", f.name))),
|
||||
@@ -2181,12 +2211,7 @@ pub(super) fn plane_param(s: &Session, v: Option<&Value>, cmd: &str) -> Result<s
|
||||
};
|
||||
let at = |e: &str| s.doc.eval(e, Kind::Length).unwrap_or(0.0);
|
||||
let here = Vec3::new(at(&origin[0]), at(&origin[1]), at(&origin[2]));
|
||||
let pl = match (o.get("x_dir").and_then(vec3), o.get("y_dir").and_then(vec3), o.get("normal").and_then(vec3)) {
|
||||
(Some(x), Some(y), _) => solidcraft_geom::Plane::new(here, x, y),
|
||||
(_, _, Some(n)) => solidcraft_geom::Plane::from_normal(here, n),
|
||||
_ => None,
|
||||
};
|
||||
let plane = pl.ok_or_else(|| bad(cmd, "plane needs x_dir and y_dir, or normal"))?;
|
||||
let plane = explicit_plane(o, here).ok_or_else(|| bad(cmd, "plane needs x_dir and y_dir, or normal"))?;
|
||||
if origin.iter().all(|e| solidcraft_doc::expr::is_literal(e)) {
|
||||
return Ok(PlaneRef::Custom { plane });
|
||||
}
|
||||
|
||||
@@ -469,6 +469,14 @@ impl Session {
|
||||
super::component_link::resolve_design_links(&mut doc, path);
|
||||
let mut session = Self::opened(doc, saved);
|
||||
session.path = path.map(str::to_owned);
|
||||
// A design saved before body names were pinned (#6403) is pinned now, as its first
|
||||
// command would pin it: that command pinned them as part of itself, so undoing it went
|
||||
// back to the unpinned design, whose fingerprints no evaluated result matched, and the
|
||||
// first undo after opening evaluated the whole timeline again (82-93 s in a
|
||||
// 5,484-feature design). The pinned names are the ones the file's bodies have, so
|
||||
// opening is no change: the pinned design is the saved one.
|
||||
session.pin_body_names();
|
||||
session.saved = session.doc.clone();
|
||||
session
|
||||
}
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ pub static COMMANDS: &[CommandSpec] = &[
|
||||
.params("target: appearance.chain target. Copies its resolved look to a transient session clipboard. No document change or dialogs."),
|
||||
CommandSpec::new("appearance.paste", "Paste Look", appearance_gestures::paste).icon("paste").key("Ctrl+Alt+V")
|
||||
.params("bodies/faces/components: appearance.assign targets. Applies the copied look atomically in one undo step; no dialogs."),
|
||||
CommandSpec::new("appearance.favorite", "Favourite Look", appearance_gestures::favorite).icon("star").noundo().doc_only()
|
||||
CommandSpec::new("appearance.favorite", "Favorite Look", appearance_gestures::favorite).icon("star").noundo().doc_only()
|
||||
.params("look: appearance.assign look; favorite: bool → validated look and preference request; UI library preference only, no document change or dialogs."),
|
||||
CommandSpec::new("appearance.chain", "Appearance Chain", appearance_chain::chain).icon("inspect").noundo().params(
|
||||
"target: {body: name} | {body: name, face: zero-based model.faces index} | {component: name or id}. Returns steps [{step: face|body|component|material, look: {name,color,opacity,pbr?} or null}] in precedence order and active (step or null). Component material is the common default look of its directly owned bodies, null if mixed/empty. Imported paint is a display fallback outside the four steps. Read-only; no dialogs",
|
||||
@@ -240,7 +240,12 @@ fn sketch_json(s: &Session, id: u64) -> Option<Value> {
|
||||
.profiles
|
||||
.iter()
|
||||
.enumerate()
|
||||
.map(|(i, p)| json!({"index": i, "area_mm2": p.area, "centroid_sketch": p.centroid, "curves": p.outer_curves, "holes": p.hole_curves}))
|
||||
// A loop records one entry per piece it walks, and a conic or spline is walked as many
|
||||
// short pieces: each loop names a curve once, in loop order.
|
||||
.map(|(i, p)| {
|
||||
let holes: Vec<Vec<String>> = p.hole_curves.iter().map(|h| solidcraft_sketch::distinct_curves(h)).collect();
|
||||
json!({"index": i, "area_mm2": p.area, "centroid_sketch": p.centroid, "curves": solidcraft_sketch::distinct_curves(&p.outer_curves), "holes": holes})
|
||||
})
|
||||
.collect();
|
||||
Some(json!({
|
||||
"id": id,
|
||||
|
||||
@@ -188,6 +188,22 @@ fn a_screw_advances_its_pitch_per_turn() {
|
||||
assert!(close_to(shown(&mut s, "Lift"), 10.0), "{}", shown(&mut s, "Lift"));
|
||||
}
|
||||
|
||||
/// A coupling's length reads a bare number as millimetres in any design, so a parameter defined
|
||||
/// in it (`lead = 1.5`) keeps that millimetre, while `parameters.add` without a unit takes the
|
||||
/// design's units (#8865): the screw advances 1.5 mm a turn in an inch design too.
|
||||
#[test]
|
||||
fn a_pitch_defined_in_an_inch_design_reads_as_the_screw_does() {
|
||||
let mut s = Session::default();
|
||||
run(&mut s, "document.units", json!({"units": "in"}));
|
||||
base(&mut s);
|
||||
part(&mut s, "Nut", [-1.0, -1.0, 0.0]);
|
||||
pin(&mut s, "cylindrical", "Thread", "Base", "Nut", Vec3::ZERO, Vec3::Z);
|
||||
run(&mut s, "joint.screw", json!({"joint": "Thread", "pitch": "lead = 1.5"}));
|
||||
assert_eq!(s.doc.param("lead").map(|p| (p.expr.as_str(), p.unit.as_str())), Some(("1.5", "mm")));
|
||||
let r = run(&mut s, "joint.drive", json!({"joint": "Thread", "values": [720]}));
|
||||
assert!(close_to(r["values"][1]["value"].as_f64().unwrap_or(f64::NAN), 3.0), "{r}");
|
||||
}
|
||||
|
||||
/// A motor gear turns the four-bar's crank: half as fast, the other way round, and the loop
|
||||
/// follows.
|
||||
#[test]
|
||||
|
||||
@@ -104,8 +104,9 @@ fn fit_circle(pts: &[Vec3], tol: f64) -> Option<(Vec3, UnitVec3, f64)> {
|
||||
}
|
||||
|
||||
/// The round shape of mesh edge `index` of body `b`: from the kernel's exact curve when it
|
||||
/// is the same edge (its ends on the polyline), else fitted to the polyline's points.
|
||||
fn edge_round(b: &solidcraft_doc::ModelBody, m: &Mesh, index: usize, whole: bool) -> Option<Shape> {
|
||||
/// is the same edge (its ends on the polyline), else fitted to the polyline's points; and
|
||||
/// whether it is the exact one.
|
||||
fn edge_round(b: &solidcraft_doc::ModelBody, m: &Mesh, index: usize, whole: bool) -> Option<(Shape, bool)> {
|
||||
let pts = m.edges.get(index)?;
|
||||
let tol = (m.bounds().diagonal().max(1.0) * 1e-6).max(1e-9);
|
||||
let exact = solidcraft_kernel::edge_circle(&b.body, index).filter(|c| {
|
||||
@@ -113,6 +114,7 @@ fn edge_round(b: &solidcraft_doc::ModelBody, m: &Mesh, index: usize, whole: bool
|
||||
let on = pts.iter().all(|p| (p.dist(c.center) - c.radius).abs() <= tol * 10.0);
|
||||
ends && on
|
||||
});
|
||||
let is_exact = exact.is_some();
|
||||
let (center, axis, radius, angle) = match exact {
|
||||
Some(c) => (c.center, c.axis, c.radius, if whole { std::f64::consts::TAU } else { c.angle }),
|
||||
None => {
|
||||
@@ -123,7 +125,17 @@ fn edge_round(b: &solidcraft_doc::ModelBody, m: &Mesh, index: usize, whole: bool
|
||||
(center, axis, radius, angle)
|
||||
}
|
||||
};
|
||||
Some(Shape::Round { center, axis, radius, angle, planar: true, lo: 0.0, hi: 0.0 })
|
||||
Some((Shape::Round { center, axis, radius, angle, planar: true, lo: 0.0, hi: 0.0 }, is_exact))
|
||||
}
|
||||
|
||||
/// The length of a measured curve: an exact circle's or arc's own (radius times angle, as its
|
||||
/// circumference and arc length are), else that of the polyline drawn for it, which runs inside
|
||||
/// a curve (#9086).
|
||||
fn curve_len(shape: &Shape, exact: bool, polyline: f64) -> f64 {
|
||||
match *shape {
|
||||
Shape::Round { radius, angle, .. } if exact => radius * angle,
|
||||
_ => polyline,
|
||||
}
|
||||
}
|
||||
|
||||
/// Points along a circle or arc (`angle` from `start` about `axis`).
|
||||
@@ -192,7 +204,8 @@ fn sketch_curve(ss: &solidcraft_doc::SolvedSketch, id: &str) -> Option<Item> {
|
||||
(b - a).normalized()
|
||||
}
|
||||
_ => {
|
||||
json["length_mm"] = json!(polyline_len(&pts));
|
||||
// A sketch's circle or arc is exact.
|
||||
json["length_mm"] = json!(curve_len(&shape, true, polyline_len(&pts)));
|
||||
add_round(&mut json, &shape);
|
||||
None
|
||||
}
|
||||
@@ -290,19 +303,18 @@ fn describe(s: &Session, sel: &Sel) -> Option<Item> {
|
||||
let pieces: Vec<&Vec<Vec3>> = rim.iter().filter_map(|&i| m.edges.get(i)).collect();
|
||||
let len: f64 = pieces.iter().map(|p| polyline_len(p)).sum();
|
||||
let points = pieces.iter().flat_map(|p| densify(p)).collect();
|
||||
let mut json = json!({"type": "edge", "length_mm": len});
|
||||
let shape = edge_round(b, &m, index, true).unwrap_or(Shape::Other);
|
||||
let (shape, exact) = edge_round(b, &m, index, true).unwrap_or((Shape::Other, false));
|
||||
let mut json = json!({"type": "edge", "length_mm": curve_len(&shape, exact, len)});
|
||||
add_round(&mut json, &shape);
|
||||
return Some(Item { geo: Geo::Points(points), dir: None, json, shape, slot: None });
|
||||
}
|
||||
let (a, z) = (*pts.first()?, *pts.last()?);
|
||||
let straight = (z - a).normalized().filter(|d| pts.iter().all(|p| (*p - a).cross(*d).len() < 1e-6 * (1.0 + a.dist(z))));
|
||||
let len = polyline_len(pts);
|
||||
let mut json = json!({"type": "edge", "length_mm": len});
|
||||
let shape = match straight {
|
||||
Some(_) => Shape::Line { a, b: z },
|
||||
None => edge_round(b, &m, index, false).unwrap_or(Shape::Other),
|
||||
let (shape, exact) = match straight {
|
||||
Some(_) => (Shape::Line { a, b: z }, false),
|
||||
None => edge_round(b, &m, index, false).unwrap_or((Shape::Other, false)),
|
||||
};
|
||||
let mut json = json!({"type": "edge", "length_mm": curve_len(&shape, exact, polyline_len(pts))});
|
||||
add_round(&mut json, &shape);
|
||||
Some(Item { geo: Geo::Points(densify(pts)), dir: straight, json, shape, slot: None })
|
||||
}
|
||||
|
||||
@@ -36,12 +36,15 @@ mod face;
|
||||
mod features;
|
||||
mod features_more;
|
||||
mod join_pieces;
|
||||
pub(crate) use construct::{GeoForm, GeoFormError, REF as GEO_REF_FORMS, SKETCH_PART, geo_form, is_model_axis};
|
||||
pub(crate) use face::{FaceRefForm, face_ref_form};
|
||||
pub(crate) use features::profiles as feature_profiles;
|
||||
pub(crate) use features::{EdgeRefForm, axis_dir_form, edge_ref_form, sketch_key};
|
||||
pub(crate) use features::{EdgeRefForm, PLANE_FORMS, axis_dir_form, axis_line_object, edge_ref_form, explicit_plane, plane_name_problem, sketch_key};
|
||||
pub use features::{auto_operation, extrude_reach, shown_scope};
|
||||
pub use join_pieces::{Addition, addition};
|
||||
pub use sketch::dimension_roles;
|
||||
pub(crate) use sketch::face::face_pick_form;
|
||||
pub use sketch_construction::{ConstructionLine, construction_line_choice, construction_line_mode, construction_line_solutions};
|
||||
pub use sketch_import::drawing_import_command;
|
||||
pub use sketch_modify::{extend_arc_preview, extend_preview, trim_piece};
|
||||
pub use view_dxf::sketch::exportable as view_dxf_exportable;
|
||||
@@ -67,6 +70,7 @@ mod parts;
|
||||
mod point_cloud;
|
||||
mod script;
|
||||
mod section;
|
||||
pub mod settings;
|
||||
pub(crate) use measure_sel::{measure_items, shape_of};
|
||||
pub(crate) use measure_shape::Shape;
|
||||
#[cfg(test)]
|
||||
@@ -92,8 +96,10 @@ mod sketch_3d;
|
||||
mod sketch_canvas;
|
||||
pub mod sketch_clipboard;
|
||||
mod sketch_constraints;
|
||||
mod sketch_construction;
|
||||
mod sketch_create;
|
||||
mod sketch_ends;
|
||||
mod sketch_equation;
|
||||
mod sketch_freeform;
|
||||
mod sketch_import;
|
||||
mod sketch_inspect;
|
||||
@@ -286,6 +292,8 @@ pub fn command_specs() -> Vec<&'static CommandSpec> {
|
||||
let mut v: Vec<&'static CommandSpec> = Vec::new();
|
||||
v.extend(sketch::COMMANDS.iter());
|
||||
v.extend(sketch_create::COMMANDS.iter());
|
||||
v.extend(sketch_construction::COMMANDS.iter());
|
||||
v.extend(sketch_equation::COMMANDS.iter());
|
||||
v.extend(sketch_constraints::COMMANDS.iter());
|
||||
v.extend(sketch_import::COMMANDS.iter());
|
||||
v.extend(sketch_inspect::COMMANDS.iter());
|
||||
@@ -334,6 +342,7 @@ pub fn command_specs() -> Vec<&'static CommandSpec> {
|
||||
v.extend(section::COMMANDS.iter());
|
||||
v.extend(view_navigation::COMMANDS.iter());
|
||||
v.extend(view_dxf::COMMANDS.iter());
|
||||
v.extend(settings::COMMANDS.iter());
|
||||
v.extend(diagnostics::COMMANDS.iter());
|
||||
v.extend(render::COMMANDS.iter());
|
||||
v.extend(render_ui::COMMANDS.iter());
|
||||
|
||||
@@ -1638,3 +1638,59 @@ fn occurrence_align_keeps_every_pick_and_reports_shared_definitions() {
|
||||
let r = run(&mut s, "occurrence.align", json!({"paths": [[b]], "from": [0, 0, 0], "to": [1, 0, 0]}));
|
||||
assert!(r.get("shared").is_none(), "{r}");
|
||||
}
|
||||
|
||||
/// A body copied in another design pastes here as an imported body: at the world coordinates it
|
||||
/// had there, into the component asked for (placed elsewhere), named as it was or numbered when
|
||||
/// that name is taken, from one Import feature named as any import is, as one step to undo.
|
||||
#[test]
|
||||
fn a_body_copied_in_another_design_pastes_as_an_imported_body() {
|
||||
let mut source = Session::default();
|
||||
source.doc_mut().name = "Bracket".into();
|
||||
let (_, holder) = created(&mut source, "Holder");
|
||||
run(&mut source, "occurrence.move", json!({"occurrence": holder, "translate": [0,50,0]}));
|
||||
run(&mut source, "solid.box", json!({"length": 2, "width": 2, "height": 2, "body_name": "Cube"}));
|
||||
let was = source.world_state().body("Cube").unwrap().mesh().bounds();
|
||||
let copy = crate::ForeignCopy::of(&source, vec!["Cube".into()], Vec::new());
|
||||
|
||||
let mut s = Session::default();
|
||||
run(&mut s, "solid.box", json!({"length": 1, "width": 1, "height": 1, "body_name": "Cube"}));
|
||||
let (a, a_at) = created(&mut s, "A");
|
||||
run(&mut s, "occurrence.move", json!({"occurrence": a_at, "translate": [100,0,0]}));
|
||||
s.foreign_copy = Some(std::sync::Arc::new(copy));
|
||||
let undo = s.undo.len();
|
||||
let out = run(&mut s, "component.paste_from_design", json!({"component": a, "component_path": [a_at]}));
|
||||
assert_eq!(out["bodies"], json!(["Cube (2)"]));
|
||||
assert_eq!(out["feature"], "Import1");
|
||||
assert_eq!(s.undo.len(), undo + 1);
|
||||
let is = s.world_state().body("Cube (2)").unwrap().mesh().bounds();
|
||||
assert!(was.min.dist(is.min) < 1e-6 && was.max.dist(is.max) < 1e-6, "{was:?} vs {is:?}");
|
||||
let state = s.model.state();
|
||||
assert_eq!(s.doc.model_body_component(state.body("Cube (2)").unwrap()), a);
|
||||
assert!(matches!(&s.doc.find_feature("Import1").unwrap().kind, solidcraft_doc::FeatureKind::Import { file, .. } if file == "Bracket (pasted)"));
|
||||
run(&mut s, "edit.undo", json!({}));
|
||||
assert!(s.model.state().body("Cube (2)").is_none());
|
||||
}
|
||||
|
||||
/// A body seen in another placement of its component ("Cube (Holder:2)") pastes into another
|
||||
/// design under its own name, at that placement's position.
|
||||
#[test]
|
||||
fn a_body_seen_in_another_placement_pastes_into_another_design_under_its_own_name() {
|
||||
let mut source = Session::default();
|
||||
source.doc_mut().name = "Bracket".into();
|
||||
let (holder, first) = created(&mut source, "Holder");
|
||||
run(&mut source, "solid.box", json!({"length": 2, "width": 2, "height": 2, "body_name": "Cube"}));
|
||||
run(&mut source, "component.activate", json!({"component": 0}));
|
||||
let second = run(&mut source, "occurrence.copy", json!({"occurrence": first}))["occurrence"].as_u64().unwrap();
|
||||
run(&mut source, "occurrence.move", json!({"occurrence": second, "translate": [0,40,0]}));
|
||||
let seen = source.placed_document().world_body_name(&source.model.state(), "Cube", holder, &[second]);
|
||||
assert_ne!(seen, "Cube");
|
||||
let was = source.world_state().body(&seen).unwrap().mesh().bounds();
|
||||
let copy = crate::ForeignCopy::of(&source, vec![seen], Vec::new());
|
||||
assert_eq!(copy.names, vec!["Cube".to_string()]);
|
||||
|
||||
let mut s = Session { foreign_copy: Some(std::sync::Arc::new(copy)), ..Default::default() };
|
||||
let out = run(&mut s, "component.paste_from_design", json!({}));
|
||||
assert_eq!(out["bodies"], json!(["Cube"]));
|
||||
let is = s.world_state().body("Cube").unwrap().mesh().bounds();
|
||||
assert!(was.min.dist(is.min) < 1e-6 && was.max.dist(is.max) < 1e-6, "{was:?} vs {is:?}");
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ use crate::{EngineError, Result, Session};
|
||||
|
||||
pub static COMMANDS: &[CommandSpec] = &[
|
||||
CommandSpec::new("parameters.change", "Change Parameters", change_param).at("SOLID", "MODIFY").icon("params").params(
|
||||
"name, expression (number or text), unit?: mm|cm|m|in|ft|deg|rad|\"\"|text (new parameters default to their value's unit; \
|
||||
"name, expression (number or text), unit?: mm|cm|m|in|ft|deg|rad|\"\"|text (new parameters default to their value's unit, a length the design's units; \
|
||||
a text parameter's expression is its text, quotes round it optional: sketch texts' words are built from it), comment?, \
|
||||
favorite?: bool, new_name?: rename (references follow; an expression `new = value` renames to `new` and sets value, \
|
||||
or sets `new` when the expression is just `new`); or delete: name; or changes: {name: expression, …} (existing \
|
||||
@@ -35,7 +35,7 @@ pub static COMMANDS: &[CommandSpec] = &[
|
||||
CommandSpec::new("parameters.delete", "Delete Parameter", delete)
|
||||
.icon("delete")
|
||||
.params("name (refused while something uses it; the error lists the users)"),
|
||||
CommandSpec::new("parameters.favorite", "Favourite Parameter", favorite).icon("star").params("name, favorite?: bool (default true)"),
|
||||
CommandSpec::new("parameters.favorite", "Favorite Parameter", favorite).icon("star").params("name, favorite?: bool (default true)"),
|
||||
CommandSpec::new("parameters.move", "Move Parameter", move_param)
|
||||
.icon("reorder")
|
||||
.params("name, before | after: another user parameter; the user parameter is listed just before or after it"),
|
||||
@@ -467,7 +467,9 @@ fn evaluate(s: &mut Session, p: &Value) -> Result<Value> {
|
||||
(None, None) => None,
|
||||
};
|
||||
let (vals, _) = s.doc.param_values();
|
||||
let defaults = expr::Defaults::for_unit(unit.unwrap_or(""), 1.0);
|
||||
// Bare numbers follow the asked-for unit when given, else the design's length unit (#9015).
|
||||
let doc_len = expr::unit_info(s.doc.units.trim()).filter(|(k, _)| *k == Kind::Length).map(|(_, s)| s).unwrap_or(1.0);
|
||||
let defaults = expr::Defaults::for_unit(unit.unwrap_or(""), doc_len);
|
||||
let refs = expr::references(&e);
|
||||
let lookup = |n: &str| vals.get(n).copied().ok_or_else(|| solidcraft_doc::DocError::Expr(format!("unknown parameter `{n}`")));
|
||||
let r = expr::eval_with_defaults(&e, &lookup, defaults).and_then(|v| match kind {
|
||||
|
||||
@@ -326,6 +326,81 @@ fn csv_and_json_round_trip() {
|
||||
let _ = std::fs::remove_dir_all(&dir);
|
||||
}
|
||||
|
||||
/// #8960: the text marker accepts ASCII case variants without changing numeric units.
|
||||
#[test]
|
||||
fn text_parameter_imports_accept_mixed_case_units() {
|
||||
for unit in ["text", "Text", "TEXT", "tExT", " Text "] {
|
||||
let csv = format!("name,unit,expression,comment\nwidth,in,1,numeric control\nverID,{unit},\"\"\"REV-A\"\"\",quoted label\n");
|
||||
let json_text = json!([
|
||||
{"name": "width", "unit": "in", "expression": "1", "comment": "numeric control"},
|
||||
{"name": "verID", "unit": unit, "expression": "\"REV-A\"", "comment": "quoted label"}
|
||||
])
|
||||
.to_string();
|
||||
for text in [csv, json_text] {
|
||||
let mut s = Session::default();
|
||||
// Check both adding and updating a text parameter through the import command.
|
||||
for expected in ["REV-A", "REV-B"] {
|
||||
let r = run(&mut s, "parameters.import", json!({"text": text.replace("REV-A", expected)}));
|
||||
assert_eq!(r["imported"], json!(["width", "verID"]));
|
||||
assert_eq!(r["errors"], json!([]));
|
||||
let list = run(&mut s, "parameters.list", json!({}));
|
||||
assert_eq!(list["count"], 2);
|
||||
let label = row(&list, "verID");
|
||||
assert_eq!(label["unit"], "text");
|
||||
assert_eq!(label["text"], expected);
|
||||
assert_eq!(label["expression"], expected);
|
||||
assert_eq!(label["comment"], "quoted label");
|
||||
assert!(label["value"].is_null());
|
||||
assert_eq!(row(&list, "width")["unit"], "in");
|
||||
assert_eq!(row(&list, "width")["value"], 1.0);
|
||||
assert_eq!(s.doc.param_values().0["width"].v, 25.4);
|
||||
}
|
||||
// Export still uses the canonical marker and round-trips the unquoted text.
|
||||
let exported = run(&mut s, "parameters.export", json!({"format": "csv"}));
|
||||
assert!(exported["text"].as_str().unwrap().contains("verID,text,REV-B,,quoted label,"), "{exported}");
|
||||
let mut reopened = Session::default();
|
||||
run(&mut reopened, "parameters.import", json!({"text": exported["text"]}));
|
||||
assert_eq!(reopened.doc.text_param("verID").unwrap().text, "REV-B");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn text_parameter_imports_keep_unknown_units_atomic() {
|
||||
let mut s = Session::default();
|
||||
run(&mut s, "parameters.add", json!({"name": "verID", "unit": "text", "expression": "original"}));
|
||||
run(&mut s, "parameters.add", json!({"name": "width", "unit": "mm", "expression": "20"}));
|
||||
let before = s.doc.to_json();
|
||||
for unit in ["Textual", "MM"] {
|
||||
let csv = format!("name,unit,expression\nverID,Text,replacement\nwidth,mm,30\nbad,{unit},1\n");
|
||||
let json_text = json!([
|
||||
{"name": "verID", "unit": "Text", "expression": "replacement"},
|
||||
{"name": "width", "unit": "mm", "expression": "30"},
|
||||
{"name": "bad", "unit": unit, "expression": "1"}
|
||||
])
|
||||
.to_string();
|
||||
for text in [csv, json_text] {
|
||||
let why = err(&mut s, "parameters.import", json!({"text": text}));
|
||||
assert!(why.contains(&format!("unknown unit `{unit}`")), "{why}");
|
||||
assert_eq!(s.doc.to_json(), before, "a rejected row must roll back the entire import");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn text_parameter_commands_accept_mixed_case_units() {
|
||||
let mut s = Session::default();
|
||||
let r = run(&mut s, "parameters.add", json!({"name": "Label", "unit": "Text", "expression": "\"TAG-A\""}));
|
||||
assert_eq!(r["unit"], "text");
|
||||
assert_eq!(r["text"], "TAG-A");
|
||||
run(&mut s, "parameters.change", json!({"name": "Label", "unit": "TEXT", "expression": "'TAG-B'"}));
|
||||
assert_eq!(s.doc.text_param("Label").unwrap().text, "TAG-B");
|
||||
let r = run(&mut s, "expr.evaluate", json!({"unit": " tExT ", "expression": "\"TAG-C\""}));
|
||||
assert_eq!(r["ok"], true);
|
||||
assert_eq!(r["kind"], "text");
|
||||
assert_eq!(r["text"], "TAG-C");
|
||||
}
|
||||
|
||||
/// Two triangles joined by three links (a b c, d e f; links a–d, b–e, c–f), a on the origin,
|
||||
/// a–b horizontal, every distance a dimension: the construction leaves it to the iteration.
|
||||
/// Returns the session, the sketch feature and the nine dimensions' parameters.
|
||||
@@ -812,6 +887,69 @@ fn a_defined_length_takes_the_design_unit() {
|
||||
assert!(rel(volume(&mut s), 50.8 * 25.4 * 25.4) < 1e-9);
|
||||
}
|
||||
|
||||
/// A parameter added without a unit takes the unit of its value, a length in the design's units
|
||||
/// as a typed length would be (#8865): `40/2` in an inch design is 20 in, as the Parameters
|
||||
/// dialog makes it. A unit given, an angle and a unit-less value keep their own.
|
||||
#[test]
|
||||
fn a_parameter_added_without_a_unit_takes_the_design_unit() {
|
||||
let added = |s: &mut Session, p: Value| {
|
||||
let r = run(s, "parameters.add", p);
|
||||
(r["unit"].as_str().unwrap_or("?").to_string(), r["value"].as_f64().unwrap_or(f64::NAN), r["display_value"].as_f64().unwrap_or(f64::NAN))
|
||||
};
|
||||
let close = |got: (String, f64, f64), unit: &str, mm: f64, shown: f64| {
|
||||
assert!(got.0 == unit && rel(got.1, mm) < 1e-9 && rel(got.2, shown) < 1e-9, "{got:?}, expected {unit} {mm} mm ({shown})");
|
||||
};
|
||||
// A millimetre design is as it was.
|
||||
let mut s = Session::default();
|
||||
close(added(&mut s, json!({"name": "v", "expression": "40/2"})), "mm", 20.0, 20.0);
|
||||
close(added(&mut s, json!({"name": "w", "expression": "v + 1"})), "mm", 21.0, 21.0);
|
||||
|
||||
let mut s = Session::default();
|
||||
run(&mut s, "document.units", json!({"units": "in"}));
|
||||
close(added(&mut s, json!({"name": "v", "expression": "40/2"})), "in", 508.0, 20.0);
|
||||
close(added(&mut s, json!({"name": "given", "expression": "40/2", "unit": "in"})), "in", 508.0, 20.0);
|
||||
close(added(&mut s, json!({"name": "metric", "expression": "40/2", "unit": "mm"})), "mm", 20.0, 20.0);
|
||||
// A value with a unit keeps its size and shows in the design's units.
|
||||
close(added(&mut s, json!({"name": "plate", "expression": "25.4 mm"})), "in", 25.4, 1.0);
|
||||
// One that refers to another parameter: its bare number is an inch too.
|
||||
close(added(&mut s, json!({"name": "more", "expression": "v + 1"})), "in", 533.4, 21.0);
|
||||
close(added(&mut s, json!({"name": "half", "expression": "v / 2"})), "in", 254.0, 10.0);
|
||||
// An angle stays in degrees, a unit-less count stays unit-less.
|
||||
close(added(&mut s, json!({"name": "turn", "expression": "30 deg"})), "deg", 30f64.to_radians(), 30.0);
|
||||
close(added(&mut s, json!({"name": "n", "expression": "4", "unit": ""})), "", 4.0, 4.0);
|
||||
close(added(&mut s, json!({"name": "twice", "expression": "n * 2"})), "", 8.0, 8.0);
|
||||
// parameters.change and parameters.import make a new parameter the same way.
|
||||
run(&mut s, "parameters.change", json!({"name": "c", "expression": "3"}));
|
||||
assert_eq!(s.doc.param("c").map(|p| p.unit.as_str()), Some("in"));
|
||||
run(&mut s, "parameters.import", json!({"text": "name,expression\nimported,2\n"}));
|
||||
assert_eq!(s.doc.param("imported").map(|p| p.unit.as_str()), Some("in"));
|
||||
let (vals, _) = s.doc.param_values();
|
||||
assert!(vals.get("imported").is_some_and(|v| rel(v.v, 50.8) < 1e-9), "{:?}", vals.get("imported"));
|
||||
// An existing parameter changed without a unit keeps its own.
|
||||
run(&mut s, "parameters.change", json!({"name": "metric", "expression": "30"}));
|
||||
assert_eq!(s.doc.param("metric").map(|p| p.unit.as_str()), Some("mm"));
|
||||
// A centimetre design works the same way.
|
||||
let mut s = Session::default();
|
||||
run(&mut s, "document.units", json!({"units": "cm"}));
|
||||
close(added(&mut s, json!({"name": "v", "expression": "3"})), "cm", 30.0, 3.0);
|
||||
}
|
||||
|
||||
/// Hostile parameters.add input in an inch design is refused with a reason and adds nothing.
|
||||
#[test]
|
||||
fn a_hostile_parameter_in_an_inch_design_is_refused() {
|
||||
let mut s = Session::default();
|
||||
run(&mut s, "document.units", json!({"units": "in"}));
|
||||
// 1e308 inches is past any finite millimetre value.
|
||||
for (name, e) in [("huge", "1e308"), ("inf", "1e308 * 1e308"), ("nan", "0/0"), ("bad", "2 furlong"), ("empty", " "), ("self_ref", "self_ref + 1")]
|
||||
{
|
||||
let why = err(&mut s, "parameters.add", json!({"name": name, "expression": e}));
|
||||
assert!(!why.is_empty() && s.doc.param(name).is_none(), "{name}: {why}");
|
||||
}
|
||||
let why = err(&mut s, "parameters.add", json!({"name": "u", "expression": "1", "unit": "furlong"}));
|
||||
assert!(why.contains("unknown unit"), "{why}");
|
||||
assert!(s.doc.params.is_empty());
|
||||
}
|
||||
|
||||
/// A definition that cannot be made fails the command and leaves the design as it was: a taken,
|
||||
/// reserved or malformed name, no value, a value that names itself, two different values for one
|
||||
/// name, and a parameter's or configuration cell's own expression.
|
||||
@@ -895,6 +1033,18 @@ fn expr_of_now(s: &Session, name: &str) -> String {
|
||||
s.doc.param(name).map(|p| p.expr.clone()).unwrap_or_default()
|
||||
}
|
||||
|
||||
/// #9015: `expr.evaluate` of a length with a bare offset uses the design's units.
|
||||
#[test]
|
||||
fn expr_evaluate_bare_offsets_follow_design_units() {
|
||||
let mut s = Session::default();
|
||||
run(&mut s, "document.units", json!({"units": "in"}));
|
||||
run(&mut s, "parameters.add", json!({"name": "baseLength", "expression": "76"}));
|
||||
let r = run(&mut s, "expr.evaluate", json!({"expression": "baseLength - 1", "kind": "length"}));
|
||||
assert_eq!(r["ok"], true, "{r}");
|
||||
// 75 in in millimetres (without the fix this was 76 in − 1 mm).
|
||||
assert!((r["value"].as_f64().unwrap_or(0.0) - 75.0 * 25.4).abs() < 1e-9, "{r}");
|
||||
}
|
||||
|
||||
/// A dimension made as `w = 20` shows `w`; typing `w = 30` over it sets `w` rather than being
|
||||
/// refused as a taken name (#4071).
|
||||
#[test]
|
||||
@@ -910,3 +1060,51 @@ fn a_definition_of_the_parameter_a_value_names_changes_it() {
|
||||
let r = run(&mut s, "expr.evaluate", json!({"expression": "q = w * 2", "kind": "length"}));
|
||||
assert_eq!((r["ok"].as_bool(), r["value"].as_f64(), r["defines"].as_str()), (Some(true), Some(60.0), Some("q")), "{r}");
|
||||
}
|
||||
|
||||
/// The error of the feature named `name` in the last evaluation.
|
||||
fn feature_error(s: &Session, name: &str) -> Option<String> {
|
||||
s.model.results.iter().find(|r| r.name == name).and_then(|r| r.error.clone())
|
||||
}
|
||||
|
||||
/// A sketch dimension set negative fails its sketch; the features built from it fail naming that
|
||||
/// sketch, not as a sketch that must come earlier in the timeline (#9075). Their errors follow
|
||||
/// the sketch's own (never an earlier one from the cache) and clear when the value is set back.
|
||||
#[test]
|
||||
fn a_feature_on_a_failed_sketch_names_the_sketch() {
|
||||
let mut s = Session::default();
|
||||
run(&mut s, "sketch.create", json!({"plane": "XY"}));
|
||||
let out = run(
|
||||
&mut s,
|
||||
"sketch.draw.dimensioned",
|
||||
json!({"command": "sketch.rectangle.center", "params": {"center": [0, 0], "corner": [20, 10]}, "dimensions": {"width": 40, "height": 20}}),
|
||||
);
|
||||
let width = out["dimensions"]["width"]["param"].as_str().unwrap_or_default().to_string();
|
||||
run(&mut s, "sketch.finish", json!({}));
|
||||
run(&mut s, "solid.extrude", json!({"distance": 5}));
|
||||
// A healthy sketch and its extrude after them.
|
||||
run(&mut s, "sketch.create", json!({"plane": "XY"}));
|
||||
run(&mut s, "sketch.rectangle.two_point", json!({"p0": [50, 0], "p1": [60, 10]}));
|
||||
run(&mut s, "sketch.finish", json!({}));
|
||||
run(&mut s, "solid.extrude", json!({"sketch": "Sketch2", "distance": 5, "operation": "new"}));
|
||||
assert!(rel(volume(&mut s), 40.0 * 20.0 * 5.0 + 500.0) < 1e-9);
|
||||
|
||||
let r = run(&mut s, "parameters.change", json!({"name": width, "expression": "-10"}));
|
||||
let sketch = feature_error(&s, "Sketch1").unwrap_or_default();
|
||||
assert!(sketch.contains("dimension value -10"), "{sketch}");
|
||||
let extrude = feature_error(&s, "Extrude1").unwrap_or_default();
|
||||
assert!(extrude.contains("`Sketch1`") && extrude.contains("dimension value -10"), "{extrude}");
|
||||
assert!(!extrude.contains("earlier in the timeline"), "{extrude}");
|
||||
assert_eq!((feature_error(&s, "Sketch2"), feature_error(&s, "Extrude2")), (None, None), "{r}");
|
||||
// Another failing value: its own error, not the earlier one from the cache.
|
||||
run(&mut s, "parameters.change", json!({"name": width, "expression": "-5"}));
|
||||
let extrude = feature_error(&s, "Extrude1").unwrap_or_default();
|
||||
assert!(extrude.contains("dimension value -5"), "{extrude}");
|
||||
// The failed sketch renamed: its new name.
|
||||
run(&mut s, "timeline.rename", json!({"feature": "Sketch1", "name": "Outline"}));
|
||||
let extrude = feature_error(&s, "Extrude1").unwrap_or_default();
|
||||
assert!(extrude.contains("`Outline`") && !extrude.contains("Sketch1"), "{extrude}");
|
||||
// Set back: both build again.
|
||||
let r = run(&mut s, "parameters.change", json!({"name": width, "expression": "40"}));
|
||||
assert_eq!(r["errors"], json!([]), "{r}");
|
||||
assert!(rel(volume(&mut s), 40.0 * 20.0 * 5.0 + 500.0) < 1e-9);
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ pub static COMMANDS: &[CommandSpec] = &[
|
||||
"the Insert Part dialog's command (same as parts.insert): family, size, length?, at?|point?+direction?, name?",
|
||||
),
|
||||
CommandSpec::new("parts.insert", "Insert Part", insert).icon("fastener").params(
|
||||
"family (socket_head_cap_screw | hex_bolt | hex_nut | washer | set_screw | dowel_pin | bearing); size (\"M6\", or \"608\" for bearings); \
|
||||
"family (socket_head_cap_screw | button_head_cap_screw | hex_bolt | hex_nut | washer | set_screw | dowel_pin | bearing); size (\"M6\", or \"608\" for bearings); \
|
||||
length? (mm; screws, bolts, set screws, pins; default a standard length near 2.5 d); \
|
||||
at?: [x,y,z] on a hole's rim or wall (the part seats on the hole's face with a rigid joint) | point?: [x,y,z] with direction?: [x,y,z] (no joint); name?",
|
||||
),
|
||||
@@ -33,6 +33,7 @@ pub static COMMANDS: &[CommandSpec] = &[
|
||||
/// A family: (id, name, standard).
|
||||
const FAMILIES: &[(&str, &str, &str)] = &[
|
||||
("socket_head_cap_screw", "Socket head cap screw", "ISO 4762"),
|
||||
("button_head_cap_screw", "Button head cap screw", "ISO 7380-1"),
|
||||
("hex_bolt", "Hex head bolt / screw", "ISO 4014 / ISO 4017"),
|
||||
("hex_nut", "Hex nut", "ISO 4032"),
|
||||
("washer", "Plain washer", "ISO 7089"),
|
||||
@@ -77,6 +78,33 @@ const SHCS: [(&str, f64, f64, f64, f64); 14] = [
|
||||
("M30", 45.0, 30.0, 22.0, 15.5),
|
||||
];
|
||||
|
||||
/// ISO 7380-1: (size, head diameter dk, head height k, socket s, socket depth t, the last being
|
||||
/// the key engagement depth, which is 0.59 to 0.63 k throughout). The standard runs M3 to M16:
|
||||
/// the M2.5 and M14 some suppliers list are not in it.
|
||||
const BHCS: [(&str, f64, f64, f64, f64); 8] = [
|
||||
("M3", 5.7, 1.65, 2.0, 1.04),
|
||||
("M4", 7.6, 2.2, 2.5, 1.3),
|
||||
("M5", 9.5, 2.75, 3.0, 1.56),
|
||||
("M6", 10.5, 3.3, 4.0, 2.08),
|
||||
("M8", 14.0, 4.4, 5.0, 2.6),
|
||||
("M10", 17.5, 5.5, 6.0, 3.12),
|
||||
("M12", 21.0, 6.6, 8.0, 4.16),
|
||||
("M16", 28.0, 8.8, 10.0, 5.2),
|
||||
];
|
||||
|
||||
/// A button head's cylindrical flank, as a fraction of the head height k, and the flat top it
|
||||
/// keeps around its socket, as a fraction of the socket's across-flats s. The flat clears the
|
||||
/// socket's corners (0.577 s) at every size.
|
||||
///
|
||||
/// ISO 7380-1 draws neither, and a real button head has no flat at all: its crown curves on and
|
||||
/// the socket's corners break through it. The flat is ours, so that the socket is a plain cut on
|
||||
/// a plane. It costs us the standard's crown radius r1, which the head's own dk and k then fix:
|
||||
/// the result is inside r1's tolerance at six of the eight sizes, 0.08 under it at M3 and 0.12
|
||||
/// over it at M12. No one pair of fractions is inside it at all eight, and taking r1 as given
|
||||
/// instead leaves no flat clear of the socket below M10, so dk, k, s and t are what we keep exact.
|
||||
const BUTTON_FLANK: f64 = 0.15;
|
||||
const BUTTON_FLAT: f64 = 0.7;
|
||||
|
||||
/// ISO 4014/4017 hex head: (size, across flats s, head height k).
|
||||
const HEX_BOLT: [(&str, f64, f64); 14] = [
|
||||
("M2", 4.0, 1.4),
|
||||
@@ -170,7 +198,7 @@ fn default_length(d: f64) -> f64 {
|
||||
/// One part's shape, in its own frame.
|
||||
#[derive(Clone, Debug, PartialEq)]
|
||||
enum Shape {
|
||||
/// A head (round or hex), a shank down −z, an optional hex socket in the head's top.
|
||||
/// A head (round, domed or hex), a shank down −z, an optional hex socket in the head's top.
|
||||
Screw { d: f64, pitch: f64, len: f64, head: Head, socket: Option<(f64, f64)> },
|
||||
/// A hex prism with a through hole (nut), z 0…m.
|
||||
Nut { d: f64, pitch: f64, s: f64, m: f64 },
|
||||
@@ -182,8 +210,21 @@ enum Shape {
|
||||
|
||||
#[derive(Clone, Copy, Debug, PartialEq)]
|
||||
enum Head {
|
||||
Round { dk: f64, k: f64 },
|
||||
Hex { s: f64, k: f64 },
|
||||
Round {
|
||||
dk: f64,
|
||||
k: f64,
|
||||
},
|
||||
/// A button head: a short cylindrical flank, a crown domed over it, and a flat top of
|
||||
/// radius `flat` around the socket, at z = k.
|
||||
Dome {
|
||||
dk: f64,
|
||||
k: f64,
|
||||
flat: f64,
|
||||
},
|
||||
Hex {
|
||||
s: f64,
|
||||
k: f64,
|
||||
},
|
||||
}
|
||||
|
||||
fn shape(family: &str, size: &str, length: Option<f64>) -> std::result::Result<Shape, String> {
|
||||
@@ -195,6 +236,11 @@ fn shape(family: &str, size: &str, length: Option<f64>) -> std::result::Result<S
|
||||
let (_, dk, k, s, t) = SHCS.iter().find(|r| r.0.eq_ignore_ascii_case(size)).copied().ok_or_else(|| need("ISO 4762"))?;
|
||||
Shape::Screw { d, pitch, len: len(d), head: Head::Round { dk, k }, socket: Some((s, t)) }
|
||||
}
|
||||
"button_head_cap_screw" => {
|
||||
let (d, pitch) = metric(size).ok_or_else(|| need("metric"))?;
|
||||
let (_, dk, k, s, t) = BHCS.iter().find(|r| r.0.eq_ignore_ascii_case(size)).copied().ok_or_else(|| need("ISO 7380-1"))?;
|
||||
Shape::Screw { d, pitch, len: len(d), head: Head::Dome { dk, k, flat: BUTTON_FLAT * s }, socket: Some((s, t)) }
|
||||
}
|
||||
"hex_bolt" => {
|
||||
let (d, pitch) = metric(size).ok_or_else(|| need("metric"))?;
|
||||
let (_, s, k) = HEX_BOLT.iter().find(|r| r.0.eq_ignore_ascii_case(size)).copied().ok_or_else(|| need("ISO 4014"))?;
|
||||
@@ -260,15 +306,41 @@ fn cyl(s: &mut Session, d: f64, z0: f64, z1: f64, op: &str) -> Result<()> {
|
||||
|
||||
/// A solid of revolution about z from a closed (r, z) outline, as one body or joined.
|
||||
fn revolve(s: &mut Session, pts: &[(f64, f64)], op: &str) -> Result<()> {
|
||||
revolve_outline(s, pts, None, op)
|
||||
}
|
||||
|
||||
/// The same, with the outline closed from its last point back to its first by an arc through
|
||||
/// `through`: a button head's domed crown.
|
||||
fn revolve_domed(s: &mut Session, pts: &[(f64, f64)], through: (f64, f64), op: &str) -> Result<()> {
|
||||
revolve_outline(s, pts, Some(through), op)
|
||||
}
|
||||
|
||||
fn revolve_outline(s: &mut Session, pts: &[(f64, f64)], arc: Option<(f64, f64)>, op: &str) -> Result<()> {
|
||||
run(s, "sketch.create", json!({"plane": "XZ"}))?;
|
||||
let points: Vec<[f64; 2]> = pts.iter().map(|(r, z)| [*r, -*z]).collect();
|
||||
run(s, "sketch.line", json!({"points": points, "closed": true}))?;
|
||||
let xz = |(r, z): &(f64, f64)| [*r, -*z];
|
||||
let points: Vec<[f64; 2]> = pts.iter().map(xz).collect();
|
||||
run(s, "sketch.line", json!({"points": points, "closed": arc.is_none()}))?;
|
||||
if let (Some(through), Some(first), Some(last)) = (arc, pts.first(), pts.last()) {
|
||||
run(s, "sketch.arc.three_point", json!({"start": xz(last), "through": xz(&through), "end": xz(first)}))?;
|
||||
}
|
||||
fix_all(s)?;
|
||||
run(s, "sketch.finish", json!({}))?;
|
||||
run(s, "solid.revolve", json!({"axis": "y", "operation": op}))?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// A point halfway along a button head's crown: on the circle centred on the axis that runs
|
||||
/// from the top of the flank (a, c) to the rim of the flat top (b, k).
|
||||
fn crown(a: f64, c: f64, b: f64, k: f64) -> (f64, f64) {
|
||||
// The centre on the axis, equidistant from both, and the radius from it.
|
||||
let zc = (b * b + k * k - a * a - c * c) / (2.0 * (k - c));
|
||||
let r = (b * b + (k - zc) * (k - zc)).sqrt();
|
||||
// Halfway between the directions to the two ends.
|
||||
let (x, z) = ((a + b) / r, (c - zc + k - zc) / r);
|
||||
let n = x.hypot(z);
|
||||
if n.is_finite() && n > 0.0 { (r * x / n, zc + r * z / n) } else { ((a + b) / 2.0, (c + k) / 2.0) }
|
||||
}
|
||||
|
||||
/// Fix every point and curve of the sketch being drawn: a standard part's outline is its size, so
|
||||
/// its sketches are fully defined and a check of the design finds nothing left free in them.
|
||||
fn fix_all(s: &mut Session) -> Result<()> {
|
||||
@@ -297,6 +369,14 @@ fn build(s: &mut Session, sh: &Shape) -> Result<()> {
|
||||
revolve(s, &[(0.0, -len), (d / 2.0, -len), (d / 2.0, 0.0), (dk / 2.0, 0.0), (dk / 2.0, k), (0.0, k)], "new")?;
|
||||
k
|
||||
}
|
||||
// The same outline up to the head's rim, then a short flank, and the arc of the
|
||||
// crown closing it back to the flat top.
|
||||
Head::Dome { dk, k, flat } => {
|
||||
let (a, c) = (dk / 2.0, BUTTON_FLANK * k);
|
||||
let outline = [(flat, k), (0.0, k), (0.0, -len), (d / 2.0, -len), (d / 2.0, 0.0), (a, 0.0), (a, c)];
|
||||
revolve_domed(s, &outline, crown(a, c, flat, k), "new")?;
|
||||
k
|
||||
}
|
||||
// A hex head joined over a shank that runs up into it.
|
||||
Head::Hex { s: af, k } => {
|
||||
hex(s, af, 0.0, k, "new")?;
|
||||
@@ -334,6 +414,7 @@ fn library(_s: &mut Session, p: &Value) -> Result<Value> {
|
||||
let fam = |id: &str| -> Value {
|
||||
let mut sizes: Vec<Value> = match id {
|
||||
"socket_head_cap_screw" => SHCS.iter().map(|r| json!({"size": r.0, "d": metric(r.0).map(|m| m.0), "pitch": metric(r.0).map(|m| m.1), "head_diameter": r.1, "head_height": r.2, "socket": r.3, "socket_depth": r.4})).collect(),
|
||||
"button_head_cap_screw" => BHCS.iter().map(|r| json!({"size": r.0, "d": metric(r.0).map(|m| m.0), "pitch": metric(r.0).map(|m| m.1), "head_diameter": r.1, "head_height": r.2, "socket": r.3, "socket_depth": r.4})).collect(),
|
||||
"hex_bolt" => HEX_BOLT.iter().map(|r| json!({"size": r.0, "d": metric(r.0).map(|m| m.0), "pitch": metric(r.0).map(|m| m.1), "across_flats": r.1, "head_height": r.2})).collect(),
|
||||
"hex_nut" => HEX_NUT.iter().map(|r| json!({"size": r.0, "d": metric(r.0).map(|m| m.0), "pitch": metric(r.0).map(|m| m.1), "across_flats": r.1, "height": r.2})).collect(),
|
||||
"washer" => WASHER.iter().map(|r| json!({"size": r.0, "inner": r.1, "outer": r.2, "thickness": r.3})).collect(),
|
||||
@@ -343,7 +424,8 @@ fn library(_s: &mut Session, p: &Value) -> Result<Value> {
|
||||
_ => Vec::new(),
|
||||
};
|
||||
let (_, name, standard) = FAMILIES.iter().find(|f| f.0 == id).copied().unwrap_or(("", "", ""));
|
||||
let lengths = matches!(id, "socket_head_cap_screw" | "hex_bolt" | "set_screw" | "dowel_pin").then_some(LENGTHS.to_vec());
|
||||
let lengths =
|
||||
matches!(id, "socket_head_cap_screw" | "button_head_cap_screw" | "hex_bolt" | "set_screw" | "dowel_pin").then_some(LENGTHS.to_vec());
|
||||
if lengths.is_some() {
|
||||
for row in &mut sizes {
|
||||
let Some(size) = row.get("size").and_then(Value::as_str).map(str::to_string) else { continue };
|
||||
@@ -378,6 +460,7 @@ fn identity(family: &str, size: &str, sh: &Shape) -> (String, String) {
|
||||
};
|
||||
let standard = match family {
|
||||
"socket_head_cap_screw" => "ISO 4762",
|
||||
"button_head_cap_screw" => "ISO 7380-1",
|
||||
"hex_bolt" => "ISO 4017",
|
||||
"hex_nut" => "ISO 4032",
|
||||
"washer" => "ISO 7089",
|
||||
@@ -411,6 +494,7 @@ fn set_identity(s: &mut Session, comp: u64, now: (String, String), was: Option<(
|
||||
fn label(family: &str) -> &'static str {
|
||||
match family {
|
||||
"socket_head_cap_screw" => "SHCS",
|
||||
"button_head_cap_screw" => "BHCS",
|
||||
"hex_bolt" => "Hex Bolt",
|
||||
"hex_nut" => "Hex Nut",
|
||||
"washer" => "Washer",
|
||||
@@ -633,6 +717,40 @@ mod tests {
|
||||
}
|
||||
}
|
||||
|
||||
/// #7692: a button head cap screw (ISO 7380-1) takes the same parameters as a socket head
|
||||
/// cap screw, with a domed crown in place of the cylindrical head.
|
||||
#[test]
|
||||
fn a_button_head_is_domed_over_the_shank() {
|
||||
let l = run(&mut Session::default(), "parts.library", json!({"family": "button_head_cap_screw"}));
|
||||
let m6 = l["sizes"].as_array().and_then(|a| a.iter().find(|x| x["size"] == "M6")).cloned().unwrap_or_default();
|
||||
assert_eq!((m6["head_diameter"].as_f64(), m6["head_height"].as_f64(), m6["socket"].as_f64()), (Some(10.5), Some(3.3), Some(4.0)));
|
||||
// ISO 7380-1 has no M2, M2.5, M14 or larger than M16; the lengths are a screw's.
|
||||
let sizes: Vec<&str> = l["sizes"].as_array().map(|a| a.iter().filter_map(|x| x["size"].as_str()).collect()).unwrap_or_default();
|
||||
assert_eq!(sizes, ["M3", "M4", "M5", "M6", "M8", "M10", "M12", "M16"]);
|
||||
assert!(l["lengths"].as_array().is_some_and(|a| !a.is_empty()), "{l}");
|
||||
// An M6 x 20 button head: head Ø10.5, 3.3 high over the seating plane, shank 20 long.
|
||||
let mut s = Session::default();
|
||||
run(&mut s, "parts.insert", json!({"family": "button_head_cap_screw", "size": "M6", "length": 20}));
|
||||
let (lo, hi) = bbox(&s, "BHCS M6x20");
|
||||
assert!((hi.x - lo.x - 10.5).abs() < 1e-3 && (lo.z + 20.0).abs() < 1e-6 && (hi.z - 3.3).abs() < 1e-3, "{lo:?} {hi:?}");
|
||||
assert!(s.model.state().threads.iter().any(|t| t.designation.starts_with("M6")), "{:?}", s.model.state().threads);
|
||||
// The profile: full width at the rim and up the flank (0.15 k = 0.50 high), drawing in
|
||||
// over the crown (r = 4.62 halfway up the head), and a flat top of 0.7 s = 2.8, which
|
||||
// leaves a ring of material around the socket's corners at r = 2.31.
|
||||
let st = s.world_state();
|
||||
let widest = |above: f64| {
|
||||
st.bodies.iter().flat_map(|b| b.mesh().positions.clone()).filter(|p| p.z > above).map(|p| p.x.hypot(p.y)).fold(0.0, f64::max)
|
||||
};
|
||||
assert!((5.2..5.26).contains(&widest(-0.1)), "the rim: {}", widest(-0.1));
|
||||
assert!((5.2..5.26).contains(&widest(0.3)), "the flank: {}", widest(0.3));
|
||||
assert!((3.5..4.7).contains(&widest(1.65)), "the crown halfway up: {}", widest(1.65));
|
||||
assert!((2.6..2.9).contains(&widest(3.29)), "the flat top: {}", widest(3.29));
|
||||
// Its part number is the standard and size, as the other families' are.
|
||||
let comp = s.doc.components.iter().find(|c| c.name.starts_with("BHCS")).map(|c| c.id).unwrap_or(0);
|
||||
let number = s.doc.components.iter().find(|c| c.id == comp).and_then(|c| c.metadata.text(solidcraft_doc::metadata::PART_NUMBER));
|
||||
assert_eq!(number, Some("ISO 7380-1 M6x20"));
|
||||
}
|
||||
|
||||
/// #2091: the second and larger ISO sizes, M2, M2.5, M14, M24 and M30, are in the screw, bolt,
|
||||
/// nut and washer tables (they stopped at M3 and M20).
|
||||
#[test]
|
||||
@@ -686,6 +804,7 @@ mod tests {
|
||||
fn every_sketch_of_a_standard_part_is_fully_defined() {
|
||||
for (family, size, resized) in [
|
||||
("socket_head_cap_screw", "M6", "M8"),
|
||||
("button_head_cap_screw", "M6", "M8"),
|
||||
("hex_bolt", "M6", "M8"),
|
||||
("hex_nut", "M6", "M8"),
|
||||
("washer", "M6", "M8"),
|
||||
@@ -710,6 +829,7 @@ mod tests {
|
||||
fn resizing_placed_parts_uses_local_geometry_and_millimetres_in_every_design_unit() {
|
||||
for (family, initial, resized, prefix) in [
|
||||
("socket_head_cap_screw", "M6", "M8", "SHCS"),
|
||||
("button_head_cap_screw", "M6", "M8", "BHCS"),
|
||||
("hex_bolt", "M6", "M8", "Hex Bolt"),
|
||||
("hex_nut", "M6", "M8", "Hex Nut"),
|
||||
("washer", "M6", "M8", "Washer"),
|
||||
@@ -726,7 +846,7 @@ mod tests {
|
||||
assert!(s.model.results.iter().all(|r| r.error.is_none()), "{family} {units}");
|
||||
let b = bbox(&s, prefix);
|
||||
assert!(b.0.x < b.1.x && b.0.y < b.1.y && b.0.z < b.1.z, "{family} {units}: {b:?}");
|
||||
if matches!(family, "socket_head_cap_screw" | "hex_bolt" | "hex_nut" | "set_screw") {
|
||||
if matches!(family, "socket_head_cap_screw" | "button_head_cap_screw" | "hex_bolt" | "hex_nut" | "set_screw") {
|
||||
assert!(s.model.state().threads.iter().any(|t| t.designation == "M8" && (t.pitch - 1.25).abs() < 1e-9), "{family} {units}");
|
||||
}
|
||||
if family == "dowel_pin" {
|
||||
|
||||
@@ -1006,6 +1006,22 @@ fn pattern_count_units_explain_how_to_use_a_parameter() -> Result<(), Box<dyn st
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// #9015: in an inch design, pattern spacing `baseLength - 1` subtracts one inch, not one mm.
|
||||
#[test]
|
||||
fn pattern_spacing_bare_offsets_follow_design_units() {
|
||||
let mut s = Session::default();
|
||||
run(&mut s, "document.units", json!({"units": "in"}));
|
||||
run(&mut s, "parameters.add", json!({"name": "baseLength", "expression": "4"}));
|
||||
run(&mut s, "solid.box", json!({"length": 10, "width": 10, "height": 10, "body_name": "Seed"}));
|
||||
run(&mut s, "solid.pattern.rectangular", json!({"bodies": ["Seed"], "dir1": [1, 0, 0], "count1": 2, "spacing1": "baseLength - 1"}));
|
||||
assert_eq!(s.model.state().bodies.len(), 2);
|
||||
// Spacing is 3 in = 76.2 mm (not 3 mm): the seed is 10 in, so the copy starts at x = 76.2.
|
||||
let m = run(&mut s, "inspect.measure", json!({}));
|
||||
let bodies = m["bodies"].as_array().expect("bodies");
|
||||
let xmin = |b: &Value| b["bbox"]["min"][0].as_f64().unwrap_or(0.0);
|
||||
assert!(bodies.iter().any(|b| (xmin(b) - 76.2).abs() < 1e-6), "expected a copy spaced 3 in apart, got {m}");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn pattern_count_fractions_are_refused() -> Result<(), Box<dyn std::error::Error>> {
|
||||
let mut s = Session::default();
|
||||
@@ -1049,3 +1065,41 @@ fn pattern_count_integer_parameters_survive_save_and_reject_fractional_edits() -
|
||||
assert!(invalid.model.results.iter().any(|r| r.error.as_ref().is_some_and(|e| e.contains("a count must be a whole number;"))));
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// Editing a pattern behind the history marker (double-clicking its greyed-out item and pressing
|
||||
/// OK) changes nothing in the model: the reply says so, where the edit used to look as if it had
|
||||
/// silently failed, and it still carries what building the copies met (#8100).
|
||||
#[test]
|
||||
fn editing_a_rolled_back_pattern_says_it_is_not_built() {
|
||||
let mut s = Session::default();
|
||||
run(&mut s, "solid.box", json!({"length":40,"width":30,"height":10,"corner":[0,0,0],"body_name":"Plate"}));
|
||||
run(&mut s, "solid.cylinder", json!({"radius":2,"height":20,"base":[10,15,-5],"operation":"cut","targets":["Plate"],"name":"Cut"}));
|
||||
let pattern = |count: u32, origin: [f64; 3]| json!({"features":["Cut"],"axis":{"origin":origin,"dir":[0,0,1]},"count":count});
|
||||
let redefine = |count, origin| json!({"feature":"Pattern","command":"solid.pattern.circular","params":pattern(count, origin)});
|
||||
let centre = [20.0, 15.0, 0.0];
|
||||
let hole = PI * 4.0 * 10.0;
|
||||
let mut first = pattern(2, centre);
|
||||
first["name"] = json!("Pattern");
|
||||
let id = run(&mut s, "solid.pattern.circular", first)["feature"].as_u64().unwrap();
|
||||
assert!(rel(volume(&mut s), 12000.0 - 2.0 * hole) < 1e-4);
|
||||
// A pattern that is built: the edit is built at once, with nothing to say.
|
||||
let reply = run(&mut s, "timeline.redefine", redefine(3, centre));
|
||||
assert_eq!(reply["rolled_back"], json!(false), "{reply}");
|
||||
assert!(reply.get("note").is_none(), "{reply}");
|
||||
assert!(rel(volume(&mut s), 12000.0 - 3.0 * hole) < 1e-4);
|
||||
// Behind the marker: the edit is kept but not built, and the reply says why nothing changed.
|
||||
run(&mut s, "timeline.roll_to", json!({"position": 2}));
|
||||
let reply = run(&mut s, "timeline.redefine", redefine(4, centre));
|
||||
assert_eq!(reply["rolled_back"], json!(true), "{reply}");
|
||||
assert_eq!(reply["note"], "Pattern is after the history marker, so it is not built: move the marker past it to build it");
|
||||
assert!(reply.get("warning").is_none(), "{reply}");
|
||||
assert!(rel(volume(&mut s), 12000.0 - hole) < 1e-4);
|
||||
assert!(s.model.result(id).is_some_and(|r| r.skipped && r.error.is_none()));
|
||||
run(&mut s, "timeline.roll_to", json!({}));
|
||||
assert!(rel(volume(&mut s), 12000.0 - 4.0 * hole) < 1e-4);
|
||||
// What building the rolled-back copies met still reaches the reply: here a copy that misses.
|
||||
run(&mut s, "timeline.roll_to", json!({"position": 2}));
|
||||
let reply = run(&mut s, "timeline.redefine", redefine(2, [0.0, 0.0, 0.0]));
|
||||
assert_eq!(reply["rolled_back"], json!(true), "{reply}");
|
||||
assert_eq!(reply["warning"], "1 of 1 cut copies remove no material", "{reply}");
|
||||
}
|
||||
|
||||
@@ -480,6 +480,60 @@ fn compiled_out_raytrace_is_rejected_before_scene_capture() {
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn preflight_and_start_reject_excessive_pixel_work_without_reserving_a_job() {
|
||||
let (mut s, host) = session();
|
||||
for _ in 0..8 {
|
||||
s.execute("solid.box", &json!({"length":20,"width":20,"height":20,"corner":[-10,-10,-10]})).unwrap();
|
||||
}
|
||||
let mut camera = solidcraft_render::Camera { distance: 1.0, fov: 0.0, ..Default::default() };
|
||||
camera.set_view(solidcraft_render::StandardView::Front);
|
||||
let params = json!({"settings":{"width":1024,"height":1024,"camera":camera}});
|
||||
let doc = s.doc.clone();
|
||||
let before = (s.revision, s.evaluations, s.is_dirty(), s.undo.len(), s.redo.len());
|
||||
for command in ["render.preflight", "render.start"] {
|
||||
let error = s.execute(command, ¶ms).unwrap_err().to_string();
|
||||
assert!(error.contains("128000000 pixel tests"), "{error}");
|
||||
assert_eq!(host.admitted_bytes(), 0);
|
||||
}
|
||||
assert!(Arc::ptr_eq(&doc, &s.doc));
|
||||
assert_eq!(before, (s.revision, s.evaluations, s.is_dirty(), s.undo.len(), s.redo.len()));
|
||||
|
||||
#[cfg(all(feature = "raytrace-cpu", not(target_arch = "wasm32")))]
|
||||
{
|
||||
let raytrace_host = CpuHost::for_platform().unwrap();
|
||||
s.set_render_job_host(Some(raytrace_host.clone())).unwrap();
|
||||
let params = json!({"settings":{"width":1024,"height":1024,"camera":camera},
|
||||
"integrator":"raytrace","transparent_background":false});
|
||||
let preflight = s.execute("render.preflight", ¶ms).unwrap();
|
||||
assert_eq!(preflight["resolved"]["executor"], "cpu-raytrace");
|
||||
assert!(preflight["admission"].get("projected_pixel_tests").is_none());
|
||||
assert_eq!(raytrace_host.admitted_bytes(), 0);
|
||||
let started = s.execute("render.start", ¶ms).unwrap();
|
||||
let id: JobId = serde_json::from_value(started["job"].clone()).unwrap();
|
||||
s.execute("render.cancel", &json!({"job":id})).unwrap();
|
||||
let status = s.render_job_handle(id).unwrap().wait_timeout(std::time::Duration::from_secs(10)).unwrap();
|
||||
assert_eq!(status.progress.phase, solidcraft_render::job::Phase::Cancelled);
|
||||
// The worker drops its reservation just after the job turns terminal.
|
||||
let deadline = std::time::Instant::now() + std::time::Duration::from_secs(10);
|
||||
while raytrace_host.admitted_bytes() != 0 {
|
||||
assert!(std::time::Instant::now() < deadline, "worker did not release the cancelled job's reservation");
|
||||
std::thread::yield_now();
|
||||
}
|
||||
assert!(Arc::ptr_eq(&doc, &s.doc));
|
||||
assert_eq!(before, (s.revision, s.evaluations, s.is_dirty(), s.undo.len(), s.redo.len()));
|
||||
s.set_render_job_host(Some(host.clone())).unwrap();
|
||||
}
|
||||
|
||||
let params = json!({"settings":{"width":16,"height":16,"camera":camera}});
|
||||
let preflight = s.execute("render.preflight", ¶ms).unwrap();
|
||||
assert!(preflight["admission"]["projected_pixel_tests"].as_u64().unwrap() > 0);
|
||||
assert_eq!(host.admitted_bytes(), 0);
|
||||
let id = s.execute("render.start", ¶ms).unwrap()["job"].clone();
|
||||
finish(&host);
|
||||
assert_eq!(s.execute("render.status", &json!({"job":id})).unwrap()["progress"]["phase"], "completed");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn identities_are_isolated_across_documents_scratch_and_new() {
|
||||
let (mut a, host) = session();
|
||||
|
||||
@@ -625,7 +625,7 @@ fn embedded_hdr_capture_rejects_parameters_scope_and_cpu_primaries_without_mutat
|
||||
assert_eq!(state, (s.revision, s.undo.len(), s.redo.len()));
|
||||
}
|
||||
let nonce = std::time::SystemTime::now().duration_since(std::time::UNIX_EPOCH).unwrap().as_nanos();
|
||||
let dir = std::env::temp_dir().join(format!("solidcraft-hdr-scope-{}-{nonce}", std::process::id()));
|
||||
let dir = solidcraft_io::vfs::temp_dir().join(format!("solidcraft-hdr-scope-{}-{nonce}", std::process::id()));
|
||||
std::fs::create_dir(&dir).unwrap();
|
||||
let allowed = dir.join("allowed");
|
||||
std::fs::create_dir(&allowed).unwrap();
|
||||
|
||||
@@ -19,6 +19,7 @@ fn section(s: &mut Session, p: &Value) -> Result<Value> {
|
||||
let cmd = "inspect.section";
|
||||
if bool_(p, "clear").unwrap_or(false) {
|
||||
s.section = None;
|
||||
s.status_slot(crate::status_items::StatusId::Section, false);
|
||||
s.revision += 1;
|
||||
return Ok(json!({"section": null}));
|
||||
}
|
||||
@@ -75,6 +76,7 @@ fn section(s: &mut Session, p: &Value) -> Result<Value> {
|
||||
let origin = origin + normal * offset * if bool_(p, "flip").unwrap_or(false) { -1.0 } else { 1.0 };
|
||||
s.section = Some((origin, normal));
|
||||
s.section_hatch = bool_(p, "hatch").unwrap_or(true);
|
||||
s.status_slot(crate::status_items::StatusId::Section, true);
|
||||
s.revision += 1;
|
||||
let mut section = json!({"origin": origin, "normal": normal, "hatch": s.section_hatch});
|
||||
if let Some(i) = axis {
|
||||
|
||||
@@ -0,0 +1,166 @@
|
||||
//! Settings profiles (#6237): named sets of the input and interface preferences, kept by the
|
||||
//! app. The engine holds no preferences, so these commands only check and echo their
|
||||
//! parameters; the desktop and web apps act on the echo (`settings_profiles` in the UI crate).
|
||||
//! Run without an app (CLI, scripts), they do nothing else.
|
||||
|
||||
use serde_json::{Map, Value, json};
|
||||
|
||||
use super::CommandSpec;
|
||||
use crate::params::{bad, str_};
|
||||
use crate::{Result, Session};
|
||||
|
||||
/// Most characters in a profile's name.
|
||||
pub const MAX_PROFILE_NAME: usize = 64;
|
||||
/// Most bytes in a path given to Export or Import.
|
||||
const MAX_PATH: usize = 4096;
|
||||
|
||||
pub static COMMANDS: &[CommandSpec] = &[
|
||||
CommandSpec::new("settings.profile.list", "Settings Profiles", list)
|
||||
.icon("list")
|
||||
.noundo()
|
||||
.doc_only()
|
||||
.params("→ profiles: [name], active: name|null; handled by the app"),
|
||||
CommandSpec::new("settings.profile.save", "Save Settings Profile", save)
|
||||
.icon("save")
|
||||
.noundo()
|
||||
.doc_only()
|
||||
.params("name: 1..64 characters → name; keeps the current input and interface settings under `name` (replacing a profile of that name) and makes it the active one"),
|
||||
CommandSpec::new("settings.profile.apply", "Apply Settings Profile", apply)
|
||||
.icon("settings")
|
||||
.noundo()
|
||||
.doc_only()
|
||||
.params("name → name, applied, skipped: [preference]; switches every setting the profile holds at once"),
|
||||
CommandSpec::new("settings.profile.rename", "Rename Settings Profile", rename)
|
||||
.icon("rename")
|
||||
.noundo()
|
||||
.doc_only()
|
||||
.params("name, to: 1..64 characters → name"),
|
||||
CommandSpec::new("settings.profile.delete", "Delete Settings Profile", delete)
|
||||
.icon("delete")
|
||||
.noundo()
|
||||
.doc_only()
|
||||
.params("name → deleted"),
|
||||
CommandSpec::new("settings.profile.export", "Export Settings Profile", export)
|
||||
.icon("export")
|
||||
.noundo()
|
||||
.doc_only()
|
||||
.params("name, path?: file → profile (a `solidcraft-profile/1` document), written to `path` when given; never opens a dialog"),
|
||||
CommandSpec::new("settings.profile.import", "Import Settings Profile", import)
|
||||
.icon("import")
|
||||
.noundo()
|
||||
.doc_only()
|
||||
.params("path: file | profile: `solidcraft-profile/1` document, name?: 1..64 characters → name; adds the profile without switching to it"),
|
||||
];
|
||||
|
||||
/// A profile name as given: trimmed, 1 to [`MAX_PROFILE_NAME`] characters, no control characters.
|
||||
pub fn profile_name(name: &str) -> Option<&str> {
|
||||
let name = name.trim();
|
||||
(!name.is_empty() && name.chars().count() <= MAX_PROFILE_NAME && !name.chars().any(char::is_control)).then_some(name)
|
||||
}
|
||||
|
||||
fn name_param<'a>(cmd: &str, p: &'a Value, key: &str) -> Result<&'a str> {
|
||||
str_(p, key)
|
||||
.and_then(profile_name)
|
||||
.ok_or_else(|| bad(cmd, format!("`{key}` must be 1 to {MAX_PROFILE_NAME} characters, without control characters")))
|
||||
}
|
||||
|
||||
fn path_param<'a>(cmd: &str, p: &'a Value) -> Result<Option<&'a str>> {
|
||||
match p.get("path") {
|
||||
None | Some(Value::Null) => Ok(None),
|
||||
Some(Value::String(path)) if !path.trim().is_empty() && path.len() <= MAX_PATH => Ok(Some(path)),
|
||||
Some(_) => Err(bad(cmd, format!("`path` must be a file path of at most {MAX_PATH} bytes"))),
|
||||
}
|
||||
}
|
||||
|
||||
fn list(_s: &mut Session, _p: &Value) -> Result<Value> {
|
||||
Ok(json!({}))
|
||||
}
|
||||
|
||||
fn save(_s: &mut Session, p: &Value) -> Result<Value> {
|
||||
Ok(json!({ "name": name_param("settings.profile.save", p, "name")? }))
|
||||
}
|
||||
|
||||
fn apply(_s: &mut Session, p: &Value) -> Result<Value> {
|
||||
Ok(json!({ "name": name_param("settings.profile.apply", p, "name")? }))
|
||||
}
|
||||
|
||||
fn rename(_s: &mut Session, p: &Value) -> Result<Value> {
|
||||
let cmd = "settings.profile.rename";
|
||||
Ok(json!({ "name": name_param(cmd, p, "name")?, "to": name_param(cmd, p, "to")? }))
|
||||
}
|
||||
|
||||
fn delete(_s: &mut Session, p: &Value) -> Result<Value> {
|
||||
Ok(json!({ "name": name_param("settings.profile.delete", p, "name")? }))
|
||||
}
|
||||
|
||||
fn export(_s: &mut Session, p: &Value) -> Result<Value> {
|
||||
let cmd = "settings.profile.export";
|
||||
let mut out = Map::new();
|
||||
out.insert("name".into(), json!(name_param(cmd, p, "name")?));
|
||||
if let Some(path) = path_param(cmd, p)? {
|
||||
out.insert("path".into(), json!(path));
|
||||
}
|
||||
Ok(Value::Object(out))
|
||||
}
|
||||
|
||||
fn import(_s: &mut Session, p: &Value) -> Result<Value> {
|
||||
let cmd = "settings.profile.import";
|
||||
let mut out = Map::new();
|
||||
let (key, value) = match (path_param(cmd, p)?, p.get("profile")) {
|
||||
(Some(path), None) => ("path", json!(path)),
|
||||
(None, Some(profile)) if profile.is_object() => ("profile", profile.clone()),
|
||||
_ => return Err(bad(cmd, "give either `path` or `profile` (a `solidcraft-profile/1` document)")),
|
||||
};
|
||||
out.insert(key.into(), value);
|
||||
if p.get("name").is_some_and(|name| !name.is_null()) {
|
||||
out.insert("name".into(), json!(name_param(cmd, p, "name")?));
|
||||
}
|
||||
Ok(Value::Object(out))
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
fn run(id: &str, p: Value) -> std::result::Result<Value, String> {
|
||||
let mut s = Session::default();
|
||||
s.execute(id, &p).map_err(|e| e.to_string())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn names_are_trimmed_and_bounded() {
|
||||
assert_eq!(run("settings.profile.save", json!({"name":" Laptop "})).unwrap(), json!({"name":"Laptop"}));
|
||||
for name in [json!(""), json!(" "), json!("a\nb"), json!("x".repeat(65)), json!(3), Value::Null] {
|
||||
assert!(run("settings.profile.save", json!({ "name": name })).is_err(), "{name}");
|
||||
}
|
||||
assert!(run("settings.profile.save", json!({"name":"é".repeat(64)})).is_ok());
|
||||
assert!(run("settings.profile.rename", json!({"name":"A"})).is_err());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn import_takes_a_path_or_a_document_but_not_both() {
|
||||
assert_eq!(run("settings.profile.import", json!({"path":"/tmp/p.json"})).unwrap(), json!({"path":"/tmp/p.json"}));
|
||||
let doc = json!({"format":"solidcraft-profile/1"});
|
||||
assert_eq!(run("settings.profile.import", json!({"profile":doc, "name":"B"})).unwrap(), json!({"profile":doc, "name":"B"}));
|
||||
assert!(run("settings.profile.import", json!({"path":"/tmp/p.json", "profile":doc})).is_err());
|
||||
assert!(run("settings.profile.import", json!({"profile":"text"})).is_err());
|
||||
assert!(run("settings.profile.import", json!({})).is_err());
|
||||
assert!(run("settings.profile.export", json!({"name":"A", "path":"x".repeat(5000)})).is_err());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn profile_commands_leave_the_design_and_its_history_alone() {
|
||||
let mut s = Session::default();
|
||||
let doc = s.doc.to_json();
|
||||
for (id, p) in [
|
||||
("settings.profile.save", json!({"name":"A"})),
|
||||
("settings.profile.apply", json!({"name":"A"})),
|
||||
("settings.profile.list", json!({})),
|
||||
("settings.profile.delete", json!({"name":"A"})),
|
||||
] {
|
||||
s.execute(id, &p).unwrap();
|
||||
}
|
||||
assert_eq!(s.doc.to_json(), doc);
|
||||
assert!(s.undo.is_empty());
|
||||
}
|
||||
}
|
||||
@@ -128,7 +128,7 @@ pub static COMMANDS: &[CommandSpec] = &[
|
||||
.params(concat!("p0, p1: overall ends, width", connect_doc!(), created_doc!())),
|
||||
CommandSpec::new("sketch.point", "Point", draw_point).at("SKETCH", "CREATE").icon("point").enabled(in_sketch).params(concat!("point: [x,y] (each a number or an expression over the design's parameters: the point is then fixed where it comes to and follows them) or a snap: \"mid:<line>\" (held at the line's midpoint), \"on:<curve>:x,y\" (on the curve near x,y), {vertex: [x,y,z]} or {on_edge: [x,y,z]} of the model; id?", connect_doc!(), created_doc!())),
|
||||
CommandSpec::new("sketch.dimension", "Sketch Dimension", dimension).at("SKETCH", "CREATE").icon("dimension").key("D").enabled(in_sketch).params(
|
||||
"entities: [refs] (a line midpoint is \"mid:line_id\"), type?: auto|distance|horizontal|distance_x|vertical|distance_y|length|radius|diameter|angle, value?: number or expression (default: current; a bare number is in the design's units, e.g. 2 means 2 in in an inch design; give a unit such as \"50 mm\" to override), or `name = expression` (e.g. \"width = 40\"; also `#name = expression`), which adds the user parameter `name` with that expression and dimensions with `name` (refused when the name is taken or reserved; the reply's `defined` names it); text_at?: [x, y]. Two points, two midpoints or a line off the axes: with auto, text_at inside the box they span (as opposite corners) or in its outer corners is the distance between them, above or below the box horizontal, beside it vertical. Two lines: the angle between them (acute, or 180° − it when the value is nearer that) unless text_at picks a sector. A line and a circle or arc: the distance from the line to its edge (the gap, or how far the edge reaches past a line that cuts it; 0 is tangent); dimension the centre point for the distance to the centre. A point and a circle or arc: the distance from the point to its edge (or how far within it a point inside lies). Two circles or arcs: the gap between their edges (or how far they overlap when they cross, or the narrowest gap between them when one lies inside the other), or the centre-to-centre distance when they are the two caps of a slot. An arc and one of its end points: the arc's length (type arc_length does it from the arc alone). A dimension the sketch already determines is refused (naming what determines it); if_redundant?: \"driven\" places it as a driven (reference) dimension instead. scale_sketch?: bool (the dimension tool sends true): when this is the sketch's first length dimension and nothing in the sketch fixes a size (no other driving length dimension, nothing fixed or projected), the whole sketch scales about its origin to the value instead of distorting. Returns measured in unit (mm or deg), and scaled: the factor when the sketch was scaled",
|
||||
"entities: [refs] (a line midpoint is \"mid:line_id\"; a model edge or vertex, {edge: [x,y,z], body?} or {vertex: [x,y,z], body?}, is projected into the sketch first and measured there: a point against the projected edge measures the distance to it), type?: auto|distance|horizontal|distance_x|vertical|distance_y|length|radius|diameter|angle, value?: number or expression (default: current; a bare number is in the design's units, e.g. 2 means 2 in in an inch design; give a unit such as \"50 mm\" to override), or `name = expression` (e.g. \"width = 40\"; also `#name = expression`), which adds the user parameter `name` with that expression and dimensions with `name` (refused when the name is taken or reserved; the reply's `defined` names it); text_at?: [x, y]. Two points, two midpoints or a line off the axes: with auto, text_at inside the box they span (as opposite corners) or in its outer corners is the distance between them, above or below the box horizontal, beside it vertical. Two lines: the angle between them (acute, or 180° − it when the value is nearer that) unless text_at picks a sector. A line and a circle or arc: the distance from the line to its edge (the gap, or how far the edge reaches past a line that cuts it; 0 is tangent); dimension the centre point for the distance to the centre. A point and a circle or arc: the distance from the point to its edge (or how far within it a point inside lies). Two circles or arcs: the gap between their edges (or how far they overlap when they cross, or the narrowest gap between them when one lies inside the other), or the centre-to-centre distance when they are the two caps of a slot. An arc and one of its end points: the arc's length (type arc_length does it from the arc alone). A dimension the sketch already determines is refused (naming what determines it); if_redundant?: \"driven\" places it as a driven (reference) dimension instead. scale_sketch?: bool (the dimension tool sends true): when this is the sketch's first length dimension and nothing in the sketch fixes a size (no other driving length dimension, nothing fixed or projected), the whole sketch scales about its origin to the value instead of distorting. Returns measured in unit (mm or deg), and scaled: the factor when the sketch was scaled",
|
||||
),
|
||||
CommandSpec::new("sketch.constraint.horizontal_vertical", "Horizontal/Vertical", c_horizontal_vertical)
|
||||
.at("SKETCH", "CONSTRAINTS")
|
||||
@@ -333,12 +333,63 @@ fn settle(strict: bool, rep: SolveReport, sk: &mut Sketch, unsolved: Sketch) ->
|
||||
if strict && !rep.keeps_orientation() {
|
||||
return Err(EngineError::Other(rep.failure(|f| format!("that would over-constrain the sketch (conflicts with {f})"))));
|
||||
}
|
||||
if !rep.keeps_orientation() {
|
||||
// A solve that throws points far beyond the sketch found a far solution of its constraints,
|
||||
// not the one the edit means (a line squeezed to a point under a direction constraint, an
|
||||
// angle between sides that can't take it): it counts as one that fails.
|
||||
let far = flung(&unsolved, sk);
|
||||
if strict && far {
|
||||
return Err(EngineError::Other(
|
||||
"that would throw points of the sketch far away: its constraints have no solution near the sketch as it is".into(),
|
||||
));
|
||||
}
|
||||
// A solve that shrinks a line or circle to a point met its constraints only by squeezing
|
||||
// that curve away (a corner made the midpoint of the opposite side of its rectangle).
|
||||
let gone = shrunk(&unsolved, sk);
|
||||
if strict && let Some(curve) = &gone {
|
||||
return Err(EngineError::Other(format!("that would shrink {curve} to a point: its constraints can only be met without it")));
|
||||
}
|
||||
if !rep.keeps_orientation() || far || gone.is_some() {
|
||||
*sk = unsolved;
|
||||
}
|
||||
Ok(rep)
|
||||
}
|
||||
|
||||
/// The first line or circle that solving `before` into `after` shrank to a point: longer (or
|
||||
/// wider) than 1e-3 before and shorter than 1e-5 after. A length a dimension asks for is never
|
||||
/// that short. 1e-6 let a side squeezed to 1.2e-6 by one solve through, and the next solve
|
||||
/// took it the rest of the way.
|
||||
fn shrunk(before: &Sketch, after: &Sketch) -> Option<String> {
|
||||
let size = |sk: &Sketch, i: usize| match sk.curves.get(i).map(|c| &c.kind) {
|
||||
Some(CurveKind::Line { .. }) => line_pts(sk, i).map(|(a, b)| a.dist(b)),
|
||||
Some(CurveKind::Arc { .. } | CurveKind::Circle { .. }) => sk.radius(i),
|
||||
_ => None,
|
||||
};
|
||||
(0..before.curves.len().min(after.curves.len()))
|
||||
.find(|&i| matches!((size(before, i), size(after, i)), (Some(b), Some(a)) if b > 1e-3 && a < 1e-5))
|
||||
.and_then(|i| after.curves.get(i).map(|c| c.id.clone()))
|
||||
}
|
||||
|
||||
/// A solve moving some point further than this many times the sketch's size (and its largest
|
||||
/// dimension value) has thrown the geometry to a far solution.
|
||||
const FLUNG: f64 = 1000.0;
|
||||
|
||||
/// Did solving `before` into `after` throw some point further than [`FLUNG`] times the sketch's
|
||||
/// size, or to no number at all?
|
||||
fn flung(before: &Sketch, after: &Sketch) -> bool {
|
||||
let (lo, hi) = before
|
||||
.points
|
||||
.iter()
|
||||
.map(|p| p.pos)
|
||||
.filter(|p| p.x.is_finite() && p.y.is_finite())
|
||||
.fold((Vec2::new(f64::INFINITY, f64::INFINITY), Vec2::new(f64::NEG_INFINITY, f64::NEG_INFINITY)), |(lo, hi), p| {
|
||||
(Vec2::new(lo.x.min(p.x), lo.y.min(p.y)), Vec2::new(hi.x.max(p.x), hi.y.max(p.y)))
|
||||
});
|
||||
let size = if lo.x <= hi.x { lo.dist(hi) } else { 0.0 };
|
||||
let longest = after.driving_values().values().map(|v| v.abs()).filter(|v| v.is_finite()).fold(0.0, f64::max);
|
||||
let reach = FLUNG * (size + longest).max(1.0);
|
||||
after.points.iter().zip(&before.points).any(|(a, b)| !(a.pos.dist(b.pos) <= reach))
|
||||
}
|
||||
|
||||
/// The sketch solves of `edit` and drags, counted in tests (see [`solve_with`]).
|
||||
pub(super) fn counted_solve(
|
||||
sk: &mut Sketch,
|
||||
@@ -1736,7 +1787,7 @@ pub(super) fn apply_in_order(sk: &mut Sketch, rep: &SolveReport, first: &[Ent],
|
||||
}));
|
||||
let ok = solve_with(&mut trial, &h, None, Analysis::StatusOnly, None).ok();
|
||||
trial.constraints.retain(|c| c.id != TEMP);
|
||||
if ok && !collapsed(sk, &trial) {
|
||||
if ok && !collapsed(sk, &trial) && !flung(sk, &trial) {
|
||||
*sk = trial;
|
||||
return Ok(());
|
||||
}
|
||||
@@ -1748,6 +1799,12 @@ pub(super) fn apply_in_order(sk: &mut Sketch, rep: &SolveReport, first: &[Ent],
|
||||
if first_movable && !second_locked {
|
||||
let mut trial = sk.clone();
|
||||
if solve_with(&mut trial, &Hold::default(), None, Analysis::StatusOnly, None).ok() {
|
||||
if flung(sk, &trial) {
|
||||
return Err(bad(cmd, "that would throw points of the sketch far away: its constraints have no solution near the sketch as it is"));
|
||||
}
|
||||
if let Some(curve) = shrunk(sk, &trial) {
|
||||
return Err(bad(cmd, format!("that would shrink {curve} to a point: its constraints can only be met without it")));
|
||||
}
|
||||
*sk = trial;
|
||||
return Ok(());
|
||||
}
|
||||
@@ -2435,6 +2492,10 @@ pub(super) fn line_pts(sk: &Sketch, l: usize) -> Option<(Vec2, Vec2)> {
|
||||
|
||||
fn dimension(s: &mut Session, p: &Value) -> Result<Value> {
|
||||
let cmd = "sketch.dimension";
|
||||
// A dimension may measure model geometry (#7912): an `{edge: [x,y,z], body?}` or a
|
||||
// `{vertex: [x,y,z], body?}` among its entities is projected into the sketch first, as
|
||||
// `sketch.project` does, and stands for the projected curve (or point) there.
|
||||
let p = &super::sketch_project::project_entities(s, p, cmd)?;
|
||||
let ents = string_list(cmd, p, "entities")?;
|
||||
if ents.is_empty() || ents.len() > 2 {
|
||||
return Err(bad(cmd, "`entities` must list one or two sketch entities"));
|
||||
|
||||