diff --git a/locales/ar-SA/opencadstudio.ftl b/locales/ar-SA/opencadstudio.ftl index b5088c6f6..7bf85c705 100644 --- a/locales/ar-SA/opencadstudio.ftl +++ b/locales/ar-SA/opencadstudio.ftl @@ -3897,13 +3897,24 @@ insert = .sweep-select-sweep-path-or-alignment-base-point-scale-twist = SWEEP { draw.select }: { model.sweep } · { common.path } [{ common.alignment-title-case }/{ styles.basepoint }/{ common.scale }/{ properties.twist }]: .sweep-align-sweep-object-perpendicular-to-path-yes-no = SWEEP { common.alignment-title-case }: { model.sweep } ⟂ { common.path } [{ common.yes }/{ common.no }] .sweep-specify-base-point = SWEEP حدد نقطة الأساس: - .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }]: + .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }/{ common.expression }] .sweep-specify-reference-length-or-first-point = SWEEP { common.specify }: { common.reference-length } · { draw.first-point }: .sweep-specify-second-reference-point = SWEEP حدد نقطة المرجع الثانية: .sweep-specify-new-length-or-points = SWEEP { common.specify }: { common.new-length } [{ common.points }]: .sweep-specify-first-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { draw.first-point }: .sweep-specify-second-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { model.second-point }: - .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }]: + .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }/{ common.expression }] + .sweep-enter-expression = SWEEP أدخل التعبير: + .sweep-specify-start-reference-length = SWEEP حدد طول المرجع الابتدائي + .sweep-specify-end-reference-length = SWEEP حدد طول المرجع النهائي + .sweep-specify-second-point = SWEEP حدد النقطة الثانية: + .sweep-expression-invalid = الصيغة غير صحيحة أو أن متغيرًا غير معرّف. أعد إدخال التعبير أو القيمة. + .sweep-modeling-operation-error = خطأ في عملية النمذجة: + .sweep-error-code-number = رقم رمز الخطأ: __ocs_fmt_0__ + .sweep-unable-to-sweep-selected-objects = تعذر مسح __ocs_fmt_0__ من الكائنات المحددة. + .sweep-scale-closed-path = لا يمكن استخدام خيار المقياس عندما يكون منحنى المسار مغلقًا. + .sweep-scale-smooth-path = يجب أن يكون منحنى المسار سلسًا عند استخدام خيار المقياس. + .sweep-path-curve-not-valid = منحنى المسار المحدد غير صالح. .point-cross-sections-are-allowed-only-at-the-first-or-last-end-with-a-curve-between-p = تُسمح المقاطع النقطية عند البداية أو النهاية فقط، مع وجود منحنى بين الطرفين النقطيين. .loft-requires-at-least-two-cross-sections = يتطلب LOFT مقطعين على الأقل. .a-closed-loft-requires-at-least-three-curve-cross-sections-and-no-point-ends = يتطلب التشكيل المغلق ثلاثة مقاطع منحنية على الأقل دون أطراف نقطية. diff --git a/locales/bg-BG/opencadstudio.ftl b/locales/bg-BG/opencadstudio.ftl index 1d0073369..67c205ccc 100644 --- a/locales/bg-BG/opencadstudio.ftl +++ b/locales/bg-BG/opencadstudio.ftl @@ -3884,13 +3884,24 @@ insert = .sweep-select-sweep-path-or-alignment-base-point-scale-twist = SWEEP { draw.select }: { model.sweep } · { common.path } [{ common.alignment-title-case }/{ styles.basepoint }/{ common.scale }/{ properties.twist }]: .sweep-align-sweep-object-perpendicular-to-path-yes-no = SWEEP { common.alignment-title-case }: { model.sweep } ⟂ { common.path } [{ common.yes }/{ common.no }] .sweep-specify-base-point = SWEEP Посочи базова точка: - .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }]: + .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }/{ common.expression }] .sweep-specify-reference-length-or-first-point = SWEEP { common.specify }: { common.reference-length } · { draw.first-point }: .sweep-specify-second-reference-point = SWEEP Посочи втора референтна точка: .sweep-specify-new-length-or-points = SWEEP { common.specify }: { common.new-length } [{ common.points }]: .sweep-specify-first-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { draw.first-point }: .sweep-specify-second-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { model.second-point }: - .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }]: + .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }/{ common.expression }] + .sweep-enter-expression = SWEEP Въведете израз: + .sweep-specify-start-reference-length = SWEEP Задайте начална референтна дължина + .sweep-specify-end-reference-length = SWEEP Задайте крайна референтна дължина + .sweep-specify-second-point = SWEEP Задайте втора точка: + .sweep-expression-invalid = Синтаксисът е грешен или променлива не е дефинирана. Въведете отново израза или стойността. + .sweep-modeling-operation-error = Грешка при моделираща операция: + .sweep-error-code-number = Номер на кода на грешката: __ocs_fmt_0__ + .sweep-unable-to-sweep-selected-objects = __ocs_fmt_0__ избрани обекта не могат да бъдат изтеглени. + .sweep-scale-closed-path = Опцията за мащаб не може да се използва при затворена крива на траекторията. + .sweep-scale-smooth-path = Кривата на траекторията трябва да е гладка при опцията за мащаб. + .sweep-path-curve-not-valid = Избраната крива на траекторията е невалидна. .point-cross-sections-are-allowed-only-at-the-first-or-last-end-with-a-curve-between-p = Точкови сечения са разрешени само в началото или края, с крива между точковите краища. .loft-requires-at-least-two-cross-sections = LOFT изисква поне две сечения. .a-closed-loft-requires-at-least-three-curve-cross-sections-and-no-point-ends = Затвореният лофт изисква поне три криви сечения и никакви точкови краища. diff --git a/locales/cs-CZ/opencadstudio.ftl b/locales/cs-CZ/opencadstudio.ftl index ff14acdee..7bc87fc95 100644 --- a/locales/cs-CZ/opencadstudio.ftl +++ b/locales/cs-CZ/opencadstudio.ftl @@ -3882,13 +3882,24 @@ insert = .sweep-select-sweep-path-or-alignment-base-point-scale-twist = SWEEP { draw.select }: { model.sweep } · { common.path } [{ common.alignment-title-case }/{ styles.basepoint }/{ common.scale }/{ properties.twist }]: .sweep-align-sweep-object-perpendicular-to-path-yes-no = SWEEP { common.alignment-title-case }: { model.sweep } ⟂ { common.path } [{ common.yes }/{ common.no }] .sweep-specify-base-point = SWEEP Určete základní bod: - .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }]: + .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }/{ common.expression }] .sweep-specify-reference-length-or-first-point = SWEEP { common.specify }: { common.reference-length } · { draw.first-point }: .sweep-specify-second-reference-point = SWEEP Zadejte druhý referenční bod: .sweep-specify-new-length-or-points = SWEEP { common.specify }: { common.new-length } [{ common.points }]: .sweep-specify-first-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { draw.first-point }: .sweep-specify-second-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { model.second-point }: - .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }]: + .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }/{ common.expression }] + .sweep-enter-expression = SWEEP Zadejte výraz: + .sweep-specify-start-reference-length = SWEEP Zadejte počáteční referenční délku + .sweep-specify-end-reference-length = SWEEP Zadejte koncovou referenční délku + .sweep-specify-second-point = SWEEP Zadejte druhý bod: + .sweep-expression-invalid = Syntaxe je nesprávná nebo proměnná není definována. Zadejte znovu výraz nebo hodnotu. + .sweep-modeling-operation-error = Chyba operace modelování: + .sweep-error-code-number = Číslo kódu chyby: __ocs_fmt_0__ + .sweep-unable-to-sweep-selected-objects = Nelze tažením vytvořit __ocs_fmt_0__ vybraných objektů. + .sweep-scale-closed-path = Volbu měřítka nelze použít, je-li křivka trajektorie uzavřená. + .sweep-scale-smooth-path = Při použití volby měřítka musí být křivka trajektorie hladká. + .sweep-path-curve-not-valid = Vybraná křivka trajektorie není platná. .point-cross-sections-are-allowed-only-at-the-first-or-last-end-with-a-curve-between-p = Bodové průřezy jsou povoleny jen na začátku nebo konci, s křivkou mezi bodovými konci. .loft-requires-at-least-two-cross-sections = LOFT vyžaduje alespoň dva průřezy. .a-closed-loft-requires-at-least-three-curve-cross-sections-and-no-point-ends = Uzavřené šablonování vyžaduje alespoň tři křivkové průřezy a žádné bodové konce. diff --git a/locales/de-DE/opencadstudio.ftl b/locales/de-DE/opencadstudio.ftl index f18f5edc7..f9b2c93dd 100644 --- a/locales/de-DE/opencadstudio.ftl +++ b/locales/de-DE/opencadstudio.ftl @@ -3883,13 +3883,24 @@ insert = .sweep-select-sweep-path-or-alignment-base-point-scale-twist = SWEEP { draw.select }: { model.sweep } · { common.path } [{ common.alignment-title-case }/{ styles.basepoint }/{ common.scale }/{ properties.twist }]: .sweep-align-sweep-object-perpendicular-to-path-yes-no = SWEEP { common.alignment-title-case }: { model.sweep } ⟂ { common.path } [{ common.yes }/{ common.no }] .sweep-specify-base-point = SWEEP Basispunkt angeben: - .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }]: + .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }/{ common.expression }] .sweep-specify-reference-length-or-first-point = SWEEP { common.specify }: { common.reference-length } · { draw.first-point }: .sweep-specify-second-reference-point = SWEEP Zweiter Bezugspunkt angeben: .sweep-specify-new-length-or-points = SWEEP { common.specify }: { common.new-length } [{ common.points }]: .sweep-specify-first-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { draw.first-point }: .sweep-specify-second-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { model.second-point }: - .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }]: + .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }/{ common.expression }] + .sweep-enter-expression = SWEEP Ausdruck eingeben: + .sweep-specify-start-reference-length = SWEEP Anfängliche Referenzlänge angeben + .sweep-specify-end-reference-length = SWEEP End-Referenzlänge angeben + .sweep-specify-second-point = SWEEP Zweiten Punkt angeben: + .sweep-expression-invalid = Die Syntax ist falsch oder eine Variable ist nicht definiert. Ausdruck oder Wert erneut eingeben. + .sweep-modeling-operation-error = Modellierungsfehler: + .sweep-error-code-number = Fehlercode-Nummer: __ocs_fmt_0__ + .sweep-unable-to-sweep-selected-objects = __ocs_fmt_0__ gewählte Objekte konnten nicht gesweept werden. + .sweep-scale-closed-path = Die Skalierungsoption kann bei geschlossener Pfadkurve nicht verwendet werden. + .sweep-scale-smooth-path = Die Pfadkurve muss bei Verwendung der Skalierungsoption glatt sein. + .sweep-path-curve-not-valid = Die gewählte Pfadkurve ist ungültig. .point-cross-sections-are-allowed-only-at-the-first-or-last-end-with-a-curve-between-p = Punktquerschnitte sind nur am Anfang oder Ende zulässig; zwischen Punktenden muss eine Kurve liegen. .loft-requires-at-least-two-cross-sections = LOFT erfordert mindestens zwei Querschnitte. .a-closed-loft-requires-at-least-three-curve-cross-sections-and-no-point-ends = Ein geschlossener Loft erfordert mindestens drei Kurvenquerschnitte und keine Punktenden. diff --git a/locales/el-GR/opencadstudio.ftl b/locales/el-GR/opencadstudio.ftl index d2ab60b7d..5421c23c6 100644 --- a/locales/el-GR/opencadstudio.ftl +++ b/locales/el-GR/opencadstudio.ftl @@ -3894,13 +3894,24 @@ insert = .sweep-select-sweep-path-or-alignment-base-point-scale-twist = SWEEP { draw.select }: { model.sweep } · { common.path } [{ common.alignment-title-case }/{ styles.basepoint }/{ common.scale }/{ properties.twist }]: .sweep-align-sweep-object-perpendicular-to-path-yes-no = SWEEP { common.alignment-title-case }: { model.sweep } ⟂ { common.path } [{ common.yes }/{ common.no }] .sweep-specify-base-point = SWEEP Ορίστε σημείο βάσης: - .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }]: + .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }/{ common.expression }] .sweep-specify-reference-length-or-first-point = SWEEP { common.specify }: { common.reference-length } · { draw.first-point }: .sweep-specify-second-reference-point = SWEEP Ορίστε δεύτερο σημείο αναφοράς: .sweep-specify-new-length-or-points = SWEEP { common.specify }: { common.new-length } [{ common.points }]: .sweep-specify-first-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { draw.first-point }: .sweep-specify-second-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { model.second-point }: - .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }]: + .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }/{ common.expression }] + .sweep-enter-expression = SWEEP Εισαγάγετε έκφραση: + .sweep-specify-start-reference-length = SWEEP Καθορίστε το αρχικό μήκος αναφοράς + .sweep-specify-end-reference-length = SWEEP Καθορίστε το τελικό μήκος αναφοράς + .sweep-specify-second-point = SWEEP Καθορίστε το δεύτερο σημείο: + .sweep-expression-invalid = Η σύνταξη είναι λανθασμένη ή μια μεταβλητή δεν έχει οριστεί. Εισαγάγετε ξανά την έκφραση ή την τιμή. + .sweep-modeling-operation-error = Σφάλμα λειτουργίας μοντελοποίησης: + .sweep-error-code-number = Αριθμός κωδικού σφάλματος: __ocs_fmt_0__ + .sweep-unable-to-sweep-selected-objects = Δεν είναι δυνατή η σάρωση __ocs_fmt_0__ επιλεγμένων αντικειμένων. + .sweep-scale-closed-path = Η επιλογή κλίμακας δεν μπορεί να χρησιμοποιηθεί όταν η καμπύλη διαδρομής είναι κλειστή. + .sweep-scale-smooth-path = Η καμπύλη διαδρομής πρέπει να είναι ομαλή όταν χρησιμοποιείται η επιλογή κλίμακας. + .sweep-path-curve-not-valid = Η επιλεγμένη καμπύλη διαδρομής δεν είναι έγκυρη. .point-cross-sections-are-allowed-only-at-the-first-or-last-end-with-a-curve-between-p = Οι σημειακές διατομές επιτρέπονται μόνο στα άκρα, με καμπύλη ανάμεσα σε σημειακά άκρα. .loft-requires-at-least-two-cross-sections = Το LOFT απαιτεί τουλάχιστον δύο διατομές. .a-closed-loft-requires-at-least-three-curve-cross-sections-and-no-point-ends = Κλειστή διαμόρφωση απαιτεί τουλάχιστον τρεις καμπύλες διατομές και κανένα σημειακό άκρο. diff --git a/locales/en-US/opencadstudio.ftl b/locales/en-US/opencadstudio.ftl index 1df12baa1..546979706 100644 --- a/locales/en-US/opencadstudio.ftl +++ b/locales/en-US/opencadstudio.ftl @@ -3895,13 +3895,24 @@ insert = .sweep-select-sweep-path-or-alignment-base-point-scale-twist = SWEEP Select sweep path or [Alignment/Base point/Scale/Twist]: .sweep-align-sweep-object-perpendicular-to-path-yes-no = SWEEP Align sweep object perpendicular to path [Yes/No] .sweep-specify-base-point = SWEEP Specify base point: - .sweep-enter-scale-factor-or-reference = SWEEP Enter scale factor or [Reference] + .sweep-enter-scale-factor-or-reference = SWEEP Enter scale factor or [Reference/Expression] .sweep-specify-reference-length-or-first-point = SWEEP Specify reference length or first point .sweep-specify-second-reference-point = SWEEP Specify second reference point: .sweep-specify-new-length-or-points = SWEEP Specify new length or [Points] .sweep-specify-first-point-of-new-length = SWEEP Specify first point of new length: .sweep-specify-second-point-of-new-length = SWEEP Specify second point of new length: - .sweep-specify-twist-angle-or-bank = SWEEP Specify twist angle or [Bank] + .sweep-specify-twist-angle-or-bank = SWEEP Enter twist angle or allow banking for a non-planar sweep path [Bank/EXpression] + .sweep-enter-expression = SWEEP Enter expression: + .sweep-specify-start-reference-length = SWEEP Specify start reference length + .sweep-specify-end-reference-length = SWEEP Specify end reference length + .sweep-specify-second-point = SWEEP Specify second point: + .sweep-expression-invalid = The syntax is incorrect or a variable is not defined. Reenter the expression or value. + .sweep-modeling-operation-error = Modeling Operation Error: + .sweep-error-code-number = Error Code Number is __ocs_fmt_0__ + .sweep-unable-to-sweep-selected-objects = Unable to sweep __ocs_fmt_0__ selected objects. + .sweep-scale-closed-path = Cannot use scale option when path curve is closed. + .sweep-scale-smooth-path = Path curve must be smooth when using scale option. + .sweep-path-curve-not-valid = The selected path curve is not valid. .point-cross-sections-are-allowed-only-at-the-first-or-last-end-with-a-curve-between-p = Point cross-sections are allowed only at the first or last end, with a curve between point ends. .loft-requires-at-least-two-cross-sections = LOFT requires at least two cross-sections. .a-closed-loft-requires-at-least-three-curve-cross-sections-and-no-point-ends = A closed loft requires at least three curve cross-sections and no point ends. diff --git a/locales/es-ES/opencadstudio.ftl b/locales/es-ES/opencadstudio.ftl index 8c6199d4d..51a2066a9 100644 --- a/locales/es-ES/opencadstudio.ftl +++ b/locales/es-ES/opencadstudio.ftl @@ -3885,13 +3885,24 @@ insert = .sweep-select-sweep-path-or-alignment-base-point-scale-twist = SWEEP { draw.select }: { model.sweep } · { common.path } [{ common.alignment-title-case }/{ styles.basepoint }/{ common.scale }/{ properties.twist }]: .sweep-align-sweep-object-perpendicular-to-path-yes-no = SWEEP { common.alignment-title-case }: { model.sweep } ⟂ { common.path } [{ common.yes }/{ common.no }] .sweep-specify-base-point = SWEEP Especifique el punto base: - .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }]: + .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }/{ common.expression }] .sweep-specify-reference-length-or-first-point = SWEEP { common.specify }: { common.reference-length } · { draw.first-point }: .sweep-specify-second-reference-point = SWEEP Precise el segundo punto de referencia: .sweep-specify-new-length-or-points = SWEEP { common.specify }: { common.new-length } [{ common.points }]: .sweep-specify-first-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { draw.first-point }: .sweep-specify-second-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { model.second-point }: - .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }]: + .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }/{ common.expression }] + .sweep-enter-expression = SWEEP Introduzca la expresión: + .sweep-specify-start-reference-length = SWEEP Precise la longitud de referencia inicial + .sweep-specify-end-reference-length = SWEEP Precise la longitud de referencia final + .sweep-specify-second-point = SWEEP Precise el segundo punto: + .sweep-expression-invalid = La sintaxis es incorrecta o una variable no está definida. Vuelva a introducir la expresión o el valor. + .sweep-modeling-operation-error = Error de operación de modelado: + .sweep-error-code-number = Número de código de error: __ocs_fmt_0__ + .sweep-unable-to-sweep-selected-objects = No se pueden barrer __ocs_fmt_0__ objetos seleccionados. + .sweep-scale-closed-path = No se puede usar la opción de escala si la curva de trayectoria está cerrada. + .sweep-scale-smooth-path = La curva de trayectoria debe ser suave al usar la opción de escala. + .sweep-path-curve-not-valid = La curva de trayectoria seleccionada no es válida. .point-cross-sections-are-allowed-only-at-the-first-or-last-end-with-a-curve-between-p = Las secciones de punto solo se permiten en los extremos, con una curva entre extremos de punto. .loft-requires-at-least-two-cross-sections = LOFT requiere al menos dos secciones. .a-closed-loft-requires-at-least-three-curve-cross-sections-and-no-point-ends = Un solevado cerrado requiere al menos tres secciones de curva y ningún extremo de punto. diff --git a/locales/fi-FI/opencadstudio.ftl b/locales/fi-FI/opencadstudio.ftl index 777353a31..428d3eb07 100644 --- a/locales/fi-FI/opencadstudio.ftl +++ b/locales/fi-FI/opencadstudio.ftl @@ -3884,13 +3884,24 @@ insert = .sweep-select-sweep-path-or-alignment-base-point-scale-twist = SWEEP { draw.select }: { model.sweep } · { common.path } [{ common.alignment-title-case }/{ styles.basepoint }/{ common.scale }/{ properties.twist }]: .sweep-align-sweep-object-perpendicular-to-path-yes-no = SWEEP { common.alignment-title-case }: { model.sweep } ⟂ { common.path } [{ common.yes }/{ common.no }] .sweep-specify-base-point = SWEEP Määritä peruspiste: - .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }]: + .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }/{ common.expression }] .sweep-specify-reference-length-or-first-point = SWEEP { common.specify }: { common.reference-length } · { draw.first-point }: .sweep-specify-second-reference-point = SWEEP Määritä toinen vertailupiste: .sweep-specify-new-length-or-points = SWEEP { common.specify }: { common.new-length } [{ common.points }]: .sweep-specify-first-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { draw.first-point }: .sweep-specify-second-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { model.second-point }: - .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }]: + .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }/{ common.expression }] + .sweep-enter-expression = SWEEP Anna lauseke: + .sweep-specify-start-reference-length = SWEEP Määritä alkuviitepituus + .sweep-specify-end-reference-length = SWEEP Määritä loppuviitepituus + .sweep-specify-second-point = SWEEP Määritä toinen piste: + .sweep-expression-invalid = Syntaksi on virheellinen tai muuttujaa ei ole määritetty. Anna lauseke tai arvo uudelleen. + .sweep-modeling-operation-error = Mallinnustoiminnon virhe: + .sweep-error-code-number = Virhekoodin numero: __ocs_fmt_0__ + .sweep-unable-to-sweep-selected-objects = __ocs_fmt_0__ valittua objektia ei voitu pyyhkäistä. + .sweep-scale-closed-path = Skaalausasetusta ei voi käyttää, kun polkukäyrä on suljettu. + .sweep-scale-smooth-path = Polkukäyrän on oltava sileä skaalausasetusta käytettäessä. + .sweep-path-curve-not-valid = Valittu polkukäyrä ei kelpaa. .point-cross-sections-are-allowed-only-at-the-first-or-last-end-with-a-curve-between-p = Pistepoikkileikkaukset sallitaan vain alku- tai loppupäässä, ja pistepäiden välissä on oltava käyrä. .loft-requires-at-least-two-cross-sections = LOFT vaatii vähintään kaksi poikkileikkausta. .a-closed-loft-requires-at-least-three-curve-cross-sections-and-no-point-ends = Suljettu loft vaatii vähintään kolme käyräpoikkileikkausta ilman pistepäitä. diff --git a/locales/fr-FR/opencadstudio.ftl b/locales/fr-FR/opencadstudio.ftl index e9f4f0cb4..821ddf507 100644 --- a/locales/fr-FR/opencadstudio.ftl +++ b/locales/fr-FR/opencadstudio.ftl @@ -3885,13 +3885,24 @@ insert = .sweep-select-sweep-path-or-alignment-base-point-scale-twist = SWEEP { draw.select }: { model.sweep } · { common.path } [{ common.alignment-title-case }/{ styles.basepoint }/{ common.scale }/{ properties.twist }]: .sweep-align-sweep-object-perpendicular-to-path-yes-no = SWEEP { common.alignment-title-case }: { model.sweep } ⟂ { common.path } [{ common.yes }/{ common.no }] .sweep-specify-base-point = SWEEP Spécifier le point de base: - .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }]: + .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }/{ common.expression }] .sweep-specify-reference-length-or-first-point = SWEEP { common.specify }: { common.reference-length } · { draw.first-point }: .sweep-specify-second-reference-point = SWEEP Préciser le deuxième point de référence: .sweep-specify-new-length-or-points = SWEEP { common.specify }: { common.new-length } [{ common.points }]: .sweep-specify-first-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { draw.first-point }: .sweep-specify-second-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { model.second-point }: - .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }]: + .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }/{ common.expression }] + .sweep-enter-expression = SWEEP Entrez l'expression : + .sweep-specify-start-reference-length = SWEEP Spécifiez la longueur de référence de départ + .sweep-specify-end-reference-length = SWEEP Spécifiez la longueur de référence de fin + .sweep-specify-second-point = SWEEP Spécifiez le deuxième point : + .sweep-expression-invalid = La syntaxe est incorrecte ou une variable n'est pas définie. Entrez de nouveau l'expression ou la valeur. + .sweep-modeling-operation-error = Erreur d'opération de modélisation : + .sweep-error-code-number = Numéro du code d'erreur : __ocs_fmt_0__ + .sweep-unable-to-sweep-selected-objects = Impossible de balayer __ocs_fmt_0__ objets sélectionnés. + .sweep-scale-closed-path = Impossible d'utiliser l'option d'échelle lorsque la courbe de trajectoire est fermée. + .sweep-scale-smooth-path = La courbe de trajectoire doit être lisse avec l'option d'échelle. + .sweep-path-curve-not-valid = La courbe de trajectoire sélectionnée n'est pas valide. .point-cross-sections-are-allowed-only-at-the-first-or-last-end-with-a-curve-between-p = Les sections ponctuelles ne sont autorisées qu’aux extrémités, avec une courbe entre deux extrémités ponctuelles. .loft-requires-at-least-two-cross-sections = LOFT nécessite au moins deux sections. .a-closed-loft-requires-at-least-three-curve-cross-sections-and-no-point-ends = Un lissage fermé nécessite au moins trois sections courbes et aucune extrémité ponctuelle. diff --git a/locales/hi-IN/opencadstudio.ftl b/locales/hi-IN/opencadstudio.ftl index e13ced65d..6f0b1ea31 100644 --- a/locales/hi-IN/opencadstudio.ftl +++ b/locales/hi-IN/opencadstudio.ftl @@ -3873,13 +3873,24 @@ insert = .sweep-select-sweep-path-or-alignment-base-point-scale-twist = SWEEP { draw.select }: { model.sweep } · { common.path } [{ common.alignment-title-case }/{ styles.basepoint }/{ common.scale }/{ properties.twist }]: .sweep-align-sweep-object-perpendicular-to-path-yes-no = SWEEP { common.alignment-title-case }: { model.sweep } ⟂ { common.path } [{ common.yes }/{ common.no }] .sweep-specify-base-point = SWEEP आधार बिंदु निर्दिष्ट करें: - .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }]: + .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }/{ common.expression }] .sweep-specify-reference-length-or-first-point = SWEEP { common.specify }: { common.reference-length } · { draw.first-point }: .sweep-specify-second-reference-point = SWEEP दूसरे संदर्भ बिंदु को निर्दिष्ट करें: .sweep-specify-new-length-or-points = SWEEP { common.specify }: { common.new-length } [{ common.points }]: .sweep-specify-first-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { draw.first-point }: .sweep-specify-second-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { model.second-point }: - .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }]: + .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }/{ common.expression }] + .sweep-enter-expression = SWEEP व्यंजक दर्ज करें: + .sweep-specify-start-reference-length = SWEEP प्रारंभिक संदर्भ लंबाई निर्दिष्ट करें + .sweep-specify-end-reference-length = SWEEP अंतिम संदर्भ लंबाई निर्दिष्ट करें + .sweep-specify-second-point = SWEEP दूसरा बिंदु निर्दिष्ट करें: + .sweep-expression-invalid = सिंटैक्स गलत है या कोई चर परिभाषित नहीं है। व्यंजक या मान फिर से दर्ज करें। + .sweep-modeling-operation-error = मॉडलिंग ऑपरेशन त्रुटि: + .sweep-error-code-number = त्रुटि कोड संख्या: __ocs_fmt_0__ + .sweep-unable-to-sweep-selected-objects = __ocs_fmt_0__ चयनित ऑब्जेक्ट स्वीप नहीं किए जा सके। + .sweep-scale-closed-path = पथ वक्र बंद होने पर स्केल विकल्प का उपयोग नहीं किया जा सकता। + .sweep-scale-smooth-path = स्केल विकल्प का उपयोग करते समय पथ वक्र चिकना होना चाहिए। + .sweep-path-curve-not-valid = चयनित पथ वक्र मान्य नहीं है। .point-cross-sections-are-allowed-only-at-the-first-or-last-end-with-a-curve-between-p = बिंदु अनुप्रस्थ काट केवल पहले या अंतिम सिरे पर हो सकते हैं; बिंदु सिरों के बीच एक वक्र होना चाहिए। .loft-requires-at-least-two-cross-sections = LOFT के लिए कम से कम दो अनुप्रस्थ काट आवश्यक हैं। .a-closed-loft-requires-at-least-three-curve-cross-sections-and-no-point-ends = बंद लॉफ्ट के लिए कम से कम तीन वक्र अनुप्रस्थ काट चाहिए और कोई बिंदु सिरा नहीं होना चाहिए। diff --git a/locales/hu-HU/opencadstudio.ftl b/locales/hu-HU/opencadstudio.ftl index ca1abb88d..c4b130d38 100644 --- a/locales/hu-HU/opencadstudio.ftl +++ b/locales/hu-HU/opencadstudio.ftl @@ -3884,13 +3884,24 @@ insert = .sweep-select-sweep-path-or-alignment-base-point-scale-twist = SWEEP { draw.select }: { model.sweep } · { common.path } [{ common.alignment-title-case }/{ styles.basepoint }/{ common.scale }/{ properties.twist }]: .sweep-align-sweep-object-perpendicular-to-path-yes-no = SWEEP { common.alignment-title-case }: { model.sweep } ⟂ { common.path } [{ common.yes }/{ common.no }] .sweep-specify-base-point = SWEEP Adja meg a bázispontot: - .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }]: + .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }/{ common.expression }] .sweep-specify-reference-length-or-first-point = SWEEP { common.specify }: { common.reference-length } · { draw.first-point }: .sweep-specify-second-reference-point = SWEEP Második referenciapont megadása: .sweep-specify-new-length-or-points = SWEEP { common.specify }: { common.new-length } [{ common.points }]: .sweep-specify-first-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { draw.first-point }: .sweep-specify-second-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { model.second-point }: - .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }]: + .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }/{ common.expression }] + .sweep-enter-expression = SWEEP Adja meg a kifejezést: + .sweep-specify-start-reference-length = SWEEP Adja meg a kezdő referenciahosszt + .sweep-specify-end-reference-length = SWEEP Adja meg a záró referenciahosszt + .sweep-specify-second-point = SWEEP Adja meg a második pontot: + .sweep-expression-invalid = A szintaxis hibás, vagy egy változó nincs definiálva. Adja meg újra a kifejezést vagy az értéket. + .sweep-modeling-operation-error = Modellezési művelet hiba: + .sweep-error-code-number = Hibakód száma: __ocs_fmt_0__ + .sweep-unable-to-sweep-selected-objects = __ocs_fmt_0__ kijelölt objektum nem söpörhető. + .sweep-scale-closed-path = A méretezés lehetőség nem használható zárt pályagörbénél. + .sweep-scale-smooth-path = A méretezés lehetőség használatakor a pályagörbének simának kell lennie. + .sweep-path-curve-not-valid = A kijelölt pályagörbe érvénytelen. .point-cross-sections-are-allowed-only-at-the-first-or-last-end-with-a-curve-between-p = Pontkeresztmetszet csak a kezdő- vagy végponton lehet, a pontvégek között görbének kell lennie. .loft-requires-at-least-two-cross-sections = A LOFT legalább két keresztmetszetet igényel. .a-closed-loft-requires-at-least-three-curve-cross-sections-and-no-point-ends = A zárt pásztázás legalább három görbekeresztmetszetet igényel pontvégek nélkül. diff --git a/locales/it-IT/opencadstudio.ftl b/locales/it-IT/opencadstudio.ftl index b5cc454e9..79036c6a7 100644 --- a/locales/it-IT/opencadstudio.ftl +++ b/locales/it-IT/opencadstudio.ftl @@ -3884,13 +3884,24 @@ insert = .sweep-select-sweep-path-or-alignment-base-point-scale-twist = SWEEP { draw.select }: { model.sweep } · { common.path } [{ common.alignment-title-case }/{ styles.basepoint }/{ common.scale }/{ properties.twist }]: .sweep-align-sweep-object-perpendicular-to-path-yes-no = SWEEP { common.alignment-title-case }: { model.sweep } ⟂ { common.path } [{ common.yes }/{ common.no }] .sweep-specify-base-point = SWEEP Specificare il punto base: - .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }]: + .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }/{ common.expression }] .sweep-specify-reference-length-or-first-point = SWEEP { common.specify }: { common.reference-length } · { draw.first-point }: .sweep-specify-second-reference-point = SWEEP Specificare il secondo punto di riferimento: .sweep-specify-new-length-or-points = SWEEP { common.specify }: { common.new-length } [{ common.points }]: .sweep-specify-first-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { draw.first-point }: .sweep-specify-second-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { model.second-point }: - .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }]: + .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }/{ common.expression }] + .sweep-enter-expression = SWEEP Immettere l'espressione: + .sweep-specify-start-reference-length = SWEEP Specificare la lunghezza di riferimento iniziale + .sweep-specify-end-reference-length = SWEEP Specificare la lunghezza di riferimento finale + .sweep-specify-second-point = SWEEP Specificare il secondo punto: + .sweep-expression-invalid = La sintassi non è corretta o una variabile non è definita. Immettere di nuovo l'espressione o il valore. + .sweep-modeling-operation-error = Errore operazione di modellazione: + .sweep-error-code-number = Numero codice errore: __ocs_fmt_0__ + .sweep-unable-to-sweep-selected-objects = Impossibile eseguire lo sweep di __ocs_fmt_0__ oggetti selezionati. + .sweep-scale-closed-path = Impossibile usare l'opzione di scala se la curva del percorso è chiusa. + .sweep-scale-smooth-path = La curva del percorso deve essere continua quando si usa l'opzione di scala. + .sweep-path-curve-not-valid = La curva del percorso selezionata non è valida. .point-cross-sections-are-allowed-only-at-the-first-or-last-end-with-a-curve-between-p = Le sezioni puntiformi sono ammesse solo alle estremità, con una curva tra estremità puntiformi. .loft-requires-at-least-two-cross-sections = LOFT richiede almeno due sezioni. .a-closed-loft-requires-at-least-three-curve-cross-sections-and-no-point-ends = Un loft chiuso richiede almeno tre sezioni curve e nessuna estremità puntiforme. diff --git a/locales/ja-JP/opencadstudio.ftl b/locales/ja-JP/opencadstudio.ftl index 7d02e9959..928c35788 100644 --- a/locales/ja-JP/opencadstudio.ftl +++ b/locales/ja-JP/opencadstudio.ftl @@ -3873,13 +3873,24 @@ insert = .sweep-select-sweep-path-or-alignment-base-point-scale-twist = SWEEP { draw.select }: { model.sweep } · { common.path } [{ common.alignment-title-case }/{ styles.basepoint }/{ common.scale }/{ properties.twist }]: .sweep-align-sweep-object-perpendicular-to-path-yes-no = SWEEP { common.alignment-title-case }: { model.sweep } ⟂ { common.path } [{ common.yes }/{ common.no }] .sweep-specify-base-point = SWEEP 基点を指定: - .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }]: + .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }/{ common.expression }] .sweep-specify-reference-length-or-first-point = SWEEP { common.specify }: { common.reference-length } · { draw.first-point }: .sweep-specify-second-reference-point = SWEEP 2 番目の参照点を指定: .sweep-specify-new-length-or-points = SWEEP { common.specify }: { common.new-length } [{ common.points }]: .sweep-specify-first-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { draw.first-point }: .sweep-specify-second-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { model.second-point }: - .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }]: + .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }/{ common.expression }] + .sweep-enter-expression = SWEEP 式を入力: + .sweep-specify-start-reference-length = SWEEP 開始参照長さを指定 + .sweep-specify-end-reference-length = SWEEP 終了参照長さを指定 + .sweep-specify-second-point = SWEEP 2 点目を指定: + .sweep-expression-invalid = 構文が正しくないか、変数が定義されていません。 式または値を再入力してください。 + .sweep-modeling-operation-error = モデリング操作エラー: + .sweep-error-code-number = エラー コード番号: __ocs_fmt_0__ + .sweep-unable-to-sweep-selected-objects = 選択した __ocs_fmt_0__ 個のオブジェクトをスイープできません。 + .sweep-scale-closed-path = パス曲線が閉じている場合、尺度オプションは使用できません。 + .sweep-scale-smooth-path = 尺度オプションを使用する場合、パス曲線は滑らかである必要があります。 + .sweep-path-curve-not-valid = 選択したパス曲線は無効です。 .point-cross-sections-are-allowed-only-at-the-first-or-last-end-with-a-curve-between-p = 点の断面は始端または終端にのみ使用でき、点の端部の間には曲線が必要です。 .loft-requires-at-least-two-cross-sections = LOFTには少なくとも2つの断面が必要です。 .a-closed-loft-requires-at-least-three-curve-cross-sections-and-no-point-ends = 閉じたロフトには少なくとも3つの曲線断面が必要で、点の端部は使用できません。 diff --git a/locales/ko-KR/opencadstudio.ftl b/locales/ko-KR/opencadstudio.ftl index 2a61aa614..ad920b2bd 100644 --- a/locales/ko-KR/opencadstudio.ftl +++ b/locales/ko-KR/opencadstudio.ftl @@ -3884,13 +3884,24 @@ insert = .sweep-select-sweep-path-or-alignment-base-point-scale-twist = SWEEP { draw.select }: { model.sweep } · { common.path } [{ common.alignment-title-case }/{ styles.basepoint }/{ common.scale }/{ properties.twist }]: .sweep-align-sweep-object-perpendicular-to-path-yes-no = SWEEP { common.alignment-title-case }: { model.sweep } ⟂ { common.path } [{ common.yes }/{ common.no }] .sweep-specify-base-point = SWEEP 기준점을 지정하세요: - .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }]: + .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }/{ common.expression }] .sweep-specify-reference-length-or-first-point = SWEEP { common.specify }: { common.reference-length } · { draw.first-point }: .sweep-specify-second-reference-point = SWEEP 두 번째 참조점 지정: .sweep-specify-new-length-or-points = SWEEP { common.specify }: { common.new-length } [{ common.points }]: .sweep-specify-first-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { draw.first-point }: .sweep-specify-second-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { model.second-point }: - .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }]: + .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }/{ common.expression }] + .sweep-enter-expression = SWEEP 식 입력: + .sweep-specify-start-reference-length = SWEEP 시작 참조 길이 지정 + .sweep-specify-end-reference-length = SWEEP 끝 참조 길이 지정 + .sweep-specify-second-point = SWEEP 두 번째 점 지정: + .sweep-expression-invalid = 구문이 잘못되었거나 변수가 정의되지 않았습니다. 식 또는 값을 다시 입력하십시오. + .sweep-modeling-operation-error = 모델링 작업 오류: + .sweep-error-code-number = 오류 코드 번호: __ocs_fmt_0__ + .sweep-unable-to-sweep-selected-objects = 선택한 객체 __ocs_fmt_0__개를 스윕할 수 없습니다. + .sweep-scale-closed-path = 경로 곡선이 닫혀 있으면 축척 옵션을 사용할 수 없습니다. + .sweep-scale-smooth-path = 축척 옵션을 사용할 때 경로 곡선은 매끄러워야 합니다. + .sweep-path-curve-not-valid = 선택한 경로 곡선이 유효하지 않습니다. .point-cross-sections-are-allowed-only-at-the-first-or-last-end-with-a-curve-between-p = 점 단면은 시작 또는 끝에만 허용되며 점 끝 사이에 곡선이 있어야 합니다. .loft-requires-at-least-two-cross-sections = LOFT에는 두 개 이상의 단면이 필요합니다. .a-closed-loft-requires-at-least-three-curve-cross-sections-and-no-point-ends = 닫힌 로프트에는 곡선 단면이 세 개 이상 필요하며 점 끝은 사용할 수 없습니다. diff --git a/locales/nl-NL/opencadstudio.ftl b/locales/nl-NL/opencadstudio.ftl index da2f69ba4..a08a664b1 100644 --- a/locales/nl-NL/opencadstudio.ftl +++ b/locales/nl-NL/opencadstudio.ftl @@ -3883,13 +3883,24 @@ insert = .sweep-select-sweep-path-or-alignment-base-point-scale-twist = SWEEP { draw.select }: { model.sweep } · { common.path } [{ common.alignment-title-case }/{ styles.basepoint }/{ common.scale }/{ properties.twist }]: .sweep-align-sweep-object-perpendicular-to-path-yes-no = SWEEP { common.alignment-title-case }: { model.sweep } ⟂ { common.path } [{ common.yes }/{ common.no }] .sweep-specify-base-point = SWEEP Basispunt specificeren: - .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }]: + .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }/{ common.expression }] .sweep-specify-reference-length-or-first-point = SWEEP { common.specify }: { common.reference-length } · { draw.first-point }: .sweep-specify-second-reference-point = SWEEP Tweede referentiepunt opgeven: .sweep-specify-new-length-or-points = SWEEP { common.specify }: { common.new-length } [{ common.points }]: .sweep-specify-first-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { draw.first-point }: .sweep-specify-second-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { model.second-point }: - .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }]: + .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }/{ common.expression }] + .sweep-enter-expression = SWEEP Voer de expressie in: + .sweep-specify-start-reference-length = SWEEP Geef de begin-referentielengte op + .sweep-specify-end-reference-length = SWEEP Geef de eind-referentielengte op + .sweep-specify-second-point = SWEEP Geef het tweede punt op: + .sweep-expression-invalid = De syntaxis is onjuist of een variabele is niet gedefinieerd. Voer de expressie of waarde opnieuw in. + .sweep-modeling-operation-error = Fout bij modelleerbewerking: + .sweep-error-code-number = Foutcodenummer: __ocs_fmt_0__ + .sweep-unable-to-sweep-selected-objects = Kan __ocs_fmt_0__ geselecteerde objecten niet sweepen. + .sweep-scale-closed-path = De schaaloptie kan niet worden gebruikt als de padcurve gesloten is. + .sweep-scale-smooth-path = De padcurve moet vloeiend zijn bij gebruik van de schaaloptie. + .sweep-path-curve-not-valid = De geselecteerde padcurve is ongeldig. .point-cross-sections-are-allowed-only-at-the-first-or-last-end-with-a-curve-between-p = Puntdoorsneden zijn alleen aan het begin of einde toegestaan, met een kromme tussen puntuiteinden. .loft-requires-at-least-two-cross-sections = LOFT vereist minstens twee doorsneden. .a-closed-loft-requires-at-least-three-curve-cross-sections-and-no-point-ends = Een gesloten loft vereist minstens drie krommedoorsneden en geen puntuiteinden. diff --git a/locales/pl-PL/opencadstudio.ftl b/locales/pl-PL/opencadstudio.ftl index fc0c483bf..1e08c259e 100644 --- a/locales/pl-PL/opencadstudio.ftl +++ b/locales/pl-PL/opencadstudio.ftl @@ -3884,13 +3884,24 @@ insert = .sweep-select-sweep-path-or-alignment-base-point-scale-twist = SWEEP { draw.select }: { model.sweep } · { common.path } [{ common.alignment-title-case }/{ styles.basepoint }/{ common.scale }/{ properties.twist }]: .sweep-align-sweep-object-perpendicular-to-path-yes-no = SWEEP { common.alignment-title-case }: { model.sweep } ⟂ { common.path } [{ common.yes }/{ common.no }] .sweep-specify-base-point = SWEEP Określ punkt bazowy: - .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }]: + .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }/{ common.expression }] .sweep-specify-reference-length-or-first-point = SWEEP { common.specify }: { common.reference-length } · { draw.first-point }: .sweep-specify-second-reference-point = SWEEP Określ drugi punkt odniesienia: .sweep-specify-new-length-or-points = SWEEP { common.specify }: { common.new-length } [{ common.points }]: .sweep-specify-first-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { draw.first-point }: .sweep-specify-second-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { model.second-point }: - .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }]: + .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }/{ common.expression }] + .sweep-enter-expression = SWEEP Wprowadź wyrażenie: + .sweep-specify-start-reference-length = SWEEP Określ początkową długość odniesienia + .sweep-specify-end-reference-length = SWEEP Określ końcową długość odniesienia + .sweep-specify-second-point = SWEEP Określ drugi punkt: + .sweep-expression-invalid = Składnia jest niepoprawna lub zmienna nie jest zdefiniowana. Wprowadź ponownie wyrażenie lub wartość. + .sweep-modeling-operation-error = Błąd operacji modelowania: + .sweep-error-code-number = Numer kodu błędu: __ocs_fmt_0__ + .sweep-unable-to-sweep-selected-objects = Nie można przeciągnąć __ocs_fmt_0__ wybranych obiektów. + .sweep-scale-closed-path = Nie można użyć opcji skali, gdy krzywa ścieżki jest zamknięta. + .sweep-scale-smooth-path = Krzywa ścieżki musi być gładka przy użyciu opcji skali. + .sweep-path-curve-not-valid = Wybrana krzywa ścieżki jest nieprawidłowa. .point-cross-sections-are-allowed-only-at-the-first-or-last-end-with-a-curve-between-p = Przekroje punktowe są dozwolone tylko na początku lub końcu, z krzywą między punktowymi końcami. .loft-requires-at-least-two-cross-sections = LOFT wymaga co najmniej dwóch przekrojów. .a-closed-loft-requires-at-least-three-curve-cross-sections-and-no-point-ends = Zamknięte wyciągnięcie po przekrojach wymaga co najmniej trzech przekrojów krzywych i braku punktowych końców. diff --git a/locales/pt-BR/opencadstudio.ftl b/locales/pt-BR/opencadstudio.ftl index b2c2d9a73..2544962e4 100644 --- a/locales/pt-BR/opencadstudio.ftl +++ b/locales/pt-BR/opencadstudio.ftl @@ -3886,13 +3886,24 @@ insert = .sweep-select-sweep-path-or-alignment-base-point-scale-twist = SWEEP { draw.select }: { model.sweep } · { common.path } [{ common.alignment-title-case }/{ styles.basepoint }/{ common.scale }/{ properties.twist }]: .sweep-align-sweep-object-perpendicular-to-path-yes-no = SWEEP { common.alignment-title-case }: { model.sweep } ⟂ { common.path } [{ common.yes }/{ common.no }] .sweep-specify-base-point = SWEEP Especifique o ponto base: - .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }]: + .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }/{ common.expression }] .sweep-specify-reference-length-or-first-point = SWEEP { common.specify }: { common.reference-length } · { draw.first-point }: .sweep-specify-second-reference-point = SWEEP Especifique o segundo ponto de referência: .sweep-specify-new-length-or-points = SWEEP { common.specify }: { common.new-length } [{ common.points }]: .sweep-specify-first-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { draw.first-point }: .sweep-specify-second-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { model.second-point }: - .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }]: + .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }/{ common.expression }] + .sweep-enter-expression = SWEEP Insira a expressão: + .sweep-specify-start-reference-length = SWEEP Especifique o comprimento de referência inicial + .sweep-specify-end-reference-length = SWEEP Especifique o comprimento de referência final + .sweep-specify-second-point = SWEEP Especifique o segundo ponto: + .sweep-expression-invalid = A sintaxe está incorreta ou uma variável não está definida. Insira novamente a expressão ou o valor. + .sweep-modeling-operation-error = Erro de operação de modelagem: + .sweep-error-code-number = Número do código de erro: __ocs_fmt_0__ + .sweep-unable-to-sweep-selected-objects = Não foi possível varrer __ocs_fmt_0__ objetos selecionados. + .sweep-scale-closed-path = Não é possível usar a opção de escala quando a curva do caminho está fechada. + .sweep-scale-smooth-path = A curva do caminho deve ser suave ao usar a opção de escala. + .sweep-path-curve-not-valid = A curva do caminho selecionada não é válida. .point-cross-sections-are-allowed-only-at-the-first-or-last-end-with-a-curve-between-p = Seções pontuais são permitidas apenas nas extremidades, com uma curva entre extremidades pontuais. .loft-requires-at-least-two-cross-sections = LOFT exige pelo menos duas seções. .a-closed-loft-requires-at-least-three-curve-cross-sections-and-no-point-ends = Uma transição fechada exige pelo menos três seções de curva e nenhuma extremidade pontual. diff --git a/locales/ru-RU/opencadstudio.ftl b/locales/ru-RU/opencadstudio.ftl index 86bc3212e..6e24f537d 100644 --- a/locales/ru-RU/opencadstudio.ftl +++ b/locales/ru-RU/opencadstudio.ftl @@ -3886,13 +3886,24 @@ insert = .sweep-select-sweep-path-or-alignment-base-point-scale-twist = SWEEP { draw.select }: { model.sweep } · { common.path } [{ common.alignment-title-case }/{ styles.basepoint }/{ common.scale }/{ properties.twist }]: .sweep-align-sweep-object-perpendicular-to-path-yes-no = SWEEP { common.alignment-title-case }: { model.sweep } ⟂ { common.path } [{ common.yes }/{ common.no }] .sweep-specify-base-point = SWEEP Укажите базовую точку: - .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }]: + .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }/{ common.expression }] .sweep-specify-reference-length-or-first-point = SWEEP { common.specify }: { common.reference-length } · { draw.first-point }: .sweep-specify-second-reference-point = SWEEP Укажите вторую точку отсчета: .sweep-specify-new-length-or-points = SWEEP { common.specify }: { common.new-length } [{ common.points }]: .sweep-specify-first-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { draw.first-point }: .sweep-specify-second-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { model.second-point }: - .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }]: + .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }/{ common.expression }] + .sweep-enter-expression = SWEEP Введите выражение: + .sweep-specify-start-reference-length = SWEEP Укажите начальную опорную длину + .sweep-specify-end-reference-length = SWEEP Укажите конечную опорную длину + .sweep-specify-second-point = SWEEP Укажите вторую точку: + .sweep-expression-invalid = Неверный синтаксис или переменная не определена. Повторите ввод выражения или значения. + .sweep-modeling-operation-error = Ошибка операции моделирования: + .sweep-error-code-number = Номер кода ошибки: __ocs_fmt_0__ + .sweep-unable-to-sweep-selected-objects = Невозможно выполнить сдвиг для выбранных объектов: __ocs_fmt_0__. + .sweep-scale-closed-path = Нельзя использовать масштаб, если кривая траектории замкнута. + .sweep-scale-smooth-path = При использовании масштаба кривая траектории должна быть гладкой. + .sweep-path-curve-not-valid = Выбранная кривая траектории недопустима. .point-cross-sections-are-allowed-only-at-the-first-or-last-end-with-a-curve-between-p = Точечные сечения допустимы только в начале или конце; между точечными концами должна быть кривая. .loft-requires-at-least-two-cross-sections = LOFT требует не менее двух сечений. .a-closed-loft-requires-at-least-three-curve-cross-sections-and-no-point-ends = Замкнутое тело по сечениям требует не менее трёх кривых сечений без точечных концов. diff --git a/locales/tr-TR/opencadstudio.ftl b/locales/tr-TR/opencadstudio.ftl index 436b5bebd..9c28c6560 100644 --- a/locales/tr-TR/opencadstudio.ftl +++ b/locales/tr-TR/opencadstudio.ftl @@ -3852,13 +3852,24 @@ insert = .sweep-select-sweep-path-or-alignment-base-point-scale-twist = SWEEP { draw.select }: { model.sweep } · { common.path } [{ common.alignment-title-case }/{ styles.basepoint }/{ common.scale }/{ properties.twist }]: .sweep-align-sweep-object-perpendicular-to-path-yes-no = SWEEP { common.alignment-title-case }: { model.sweep } ⟂ { common.path } [{ common.yes }/{ common.no }] .sweep-specify-base-point = SWEEP Temel noktayı belirtin: - .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }]: + .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }/{ common.expression }] .sweep-specify-reference-length-or-first-point = SWEEP { common.specify }: { common.reference-length } · { draw.first-point }: .sweep-specify-second-reference-point = SWEEP İkinci referans noktasını belirtin: .sweep-specify-new-length-or-points = SWEEP { common.specify }: { common.new-length } [{ common.points }]: .sweep-specify-first-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { draw.first-point }: .sweep-specify-second-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { model.second-point }: - .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }]: + .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }/{ common.expression }] + .sweep-enter-expression = SWEEP İfadeyi girin: + .sweep-specify-start-reference-length = SWEEP Başlangıç referans uzunluğunu belirtin + .sweep-specify-end-reference-length = SWEEP Bitiş referans uzunluğunu belirtin + .sweep-specify-second-point = SWEEP İkinci noktayı belirtin: + .sweep-expression-invalid = Sözdizimi hatalı veya bir değişken tanımlı değil. İfadeyi veya değeri yeniden girin. + .sweep-modeling-operation-error = Modelleme İşlemi Hatası: + .sweep-error-code-number = Hata Kodu Numarası: __ocs_fmt_0__ + .sweep-unable-to-sweep-selected-objects = Seçilen __ocs_fmt_0__ nesne süpürülemedi. + .sweep-scale-closed-path = Yol eğrisi kapalıyken ölçek seçeneği kullanılamaz. + .sweep-scale-smooth-path = Ölçek seçeneği kullanılırken yol eğrisi düzgün olmalıdır. + .sweep-path-curve-not-valid = Seçilen yol eğrisi geçerli değil. .point-cross-sections-are-allowed-only-at-the-first-or-last-end-with-a-curve-between-p = Nokta kesitleri yalnızca ilk veya son uçta olabilir; nokta uçları arasında bir eğri bulunmalıdır. .loft-requires-at-least-two-cross-sections = LOFT en az iki kesit gerektirir. .a-closed-loft-requires-at-least-three-curve-cross-sections-and-no-point-ends = Kapalı bir loft en az üç eğri kesiti gerektirir ve nokta ucu içeremez. diff --git a/locales/zh-CN/opencadstudio.ftl b/locales/zh-CN/opencadstudio.ftl index 5216b4d44..23813b25d 100644 --- a/locales/zh-CN/opencadstudio.ftl +++ b/locales/zh-CN/opencadstudio.ftl @@ -3868,13 +3868,24 @@ insert = .sweep-select-sweep-path-or-alignment-base-point-scale-twist = SWEEP { draw.select }: { model.sweep } · { common.path } [{ common.alignment-title-case }/{ styles.basepoint }/{ common.scale }/{ properties.twist }]: .sweep-align-sweep-object-perpendicular-to-path-yes-no = SWEEP { common.alignment-title-case }: { model.sweep } ⟂ { common.path } [{ common.yes }/{ common.no }] .sweep-specify-base-point = SWEEP 指定基点: - .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }]: + .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }/{ common.expression }] .sweep-specify-reference-length-or-first-point = SWEEP { common.specify }: { common.reference-length } · { draw.first-point }: .sweep-specify-second-reference-point = SWEEP 指定第二个参照点: .sweep-specify-new-length-or-points = SWEEP { common.specify }: { common.new-length } [{ common.points }]: .sweep-specify-first-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { draw.first-point }: .sweep-specify-second-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { model.second-point }: - .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }]: + .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }/{ common.expression }] + .sweep-enter-expression = SWEEP 输入表达式: + .sweep-specify-start-reference-length = SWEEP 指定起点参照长度 + .sweep-specify-end-reference-length = SWEEP 指定端点参照长度 + .sweep-specify-second-point = SWEEP 指定第二点: + .sweep-expression-invalid = 语法不正确或变量未定义。 请重新输入表达式或值。 + .sweep-modeling-operation-error = 建模操作错误: + .sweep-error-code-number = 错误代码号: __ocs_fmt_0__ + .sweep-unable-to-sweep-selected-objects = 无法扫掠 __ocs_fmt_0__ 个选定对象。 + .sweep-scale-closed-path = 路径曲线闭合时不能使用比例选项。 + .sweep-scale-smooth-path = 使用比例选项时路径曲线必须平滑。 + .sweep-path-curve-not-valid = 选定的路径曲线无效。 .point-cross-sections-are-allowed-only-at-the-first-or-last-end-with-a-curve-between-p = 点截面仅允许位于起点或终点,点端之间必须有曲线。 .loft-requires-at-least-two-cross-sections = LOFT 至少需要两个截面。 .a-closed-loft-requires-at-least-three-curve-cross-sections-and-no-point-ends = 闭合放样至少需要三个曲线截面,且不能包含点端。 diff --git a/locales/zh-TW/opencadstudio.ftl b/locales/zh-TW/opencadstudio.ftl index bf4254fed..54ac80614 100644 --- a/locales/zh-TW/opencadstudio.ftl +++ b/locales/zh-TW/opencadstudio.ftl @@ -3880,13 +3880,24 @@ insert = .sweep-select-sweep-path-or-alignment-base-point-scale-twist = SWEEP { draw.select }: { model.sweep } · { common.path } [{ common.alignment-title-case }/{ styles.basepoint }/{ common.scale }/{ properties.twist }]: .sweep-align-sweep-object-perpendicular-to-path-yes-no = SWEEP { common.alignment-title-case }: { model.sweep } ⟂ { common.path } [{ common.yes }/{ common.no }] .sweep-specify-base-point = SWEEP 指定基點: - .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }]: + .sweep-enter-scale-factor-or-reference = SWEEP { common.specify }: { style-manager.scale-factor } [{ common.reference }/{ common.expression }] .sweep-specify-reference-length-or-first-point = SWEEP { common.specify }: { common.reference-length } · { draw.first-point }: .sweep-specify-second-reference-point = SWEEP 指定第二個參照點: .sweep-specify-new-length-or-points = SWEEP { common.specify }: { common.new-length } [{ common.points }]: .sweep-specify-first-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { draw.first-point }: .sweep-specify-second-point-of-new-length = SWEEP { common.specify }: { common.new-length } · { model.second-point }: - .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }]: + .sweep-specify-twist-angle-or-bank = SWEEP { common.specify }: { properties.twist } · { common.angle } [{ common.bank }/{ common.expression }] + .sweep-enter-expression = SWEEP 輸入運算式: + .sweep-specify-start-reference-length = SWEEP 指定起點參考長度 + .sweep-specify-end-reference-length = SWEEP 指定終點參考長度 + .sweep-specify-second-point = SWEEP 指定第二點: + .sweep-expression-invalid = 語法不正確或變數未定義。 請重新輸入運算式或值。 + .sweep-modeling-operation-error = 塑型作業錯誤: + .sweep-error-code-number = 錯誤代碼編號: __ocs_fmt_0__ + .sweep-unable-to-sweep-selected-objects = 無法掃掠 __ocs_fmt_0__ 個選取的物件。 + .sweep-scale-closed-path = 路徑曲線封閉時無法使用比例選項。 + .sweep-scale-smooth-path = 使用比例選項時路徑曲線必須平滑。 + .sweep-path-curve-not-valid = 選取的路徑曲線無效。 .point-cross-sections-are-allowed-only-at-the-first-or-last-end-with-a-curve-between-p = 點斷面僅允許位於起點或終點,點端之間必須有曲線。 .loft-requires-at-least-two-cross-sections = LOFT 至少需要兩個斷面。 .a-closed-loft-requires-at-least-three-curve-cross-sections-and-no-point-ends = 封閉斷面混成至少需要三個曲線斷面,且不能包含點端。 diff --git a/src/app/command_driver/solid3d.rs b/src/app/command_driver/solid3d.rs index 958e8dea7..96999398d 100644 --- a/src/app/command_driver/solid3d.rs +++ b/src/app/command_driver/solid3d.rs @@ -519,8 +519,8 @@ impl OpenCADStudio { Ok(value) => value, Err(code) => { if let Some(code) = code { - self.command_line.push_output(&format!("Modeling Operation Error: -Error Code Number is {code}")); + self.command_line.push_output(crate::t!("Modeling Operation Error:").as_ref()); + self.command_line.push_output(crate::tf!("Error Code Number is {code}", code = code).as_ref()); } failed += 1; continue; @@ -564,7 +564,7 @@ Error Code Number is {code}")); self.tabs[i].dirty = true; } if failed > 0 { - self.command_line.push_output(&format!("Unable to sweep {failed} selected objects.")); + self.command_line.push_output(crate::tf!("Unable to sweep {failed} selected objects.", failed = failed).as_ref()); } if let Some(pending) = pending { self.commit_undo_delta(i, pending); diff --git a/src/app/commands/display.rs b/src/app/commands/display.rs index 0569f6079..b194a71f9 100644 --- a/src/app/commands/display.rs +++ b/src/app/commands/display.rs @@ -817,6 +817,7 @@ impl OpenCADStudio { let color = self.tabs[i].scene.layer_color(&self.tabs[i].active_layer); let isolines = crate::entities::solid3d::clamp_header_isolines(self.tabs[i].scene.document.header.isolines); let mut cmd = SweepCommand::new(color, isolines); + cmd.set_parameters(self.tabs[i].scene.named_parameters().clone()); let selected = self.tabs[i].scene.selected_handles_in_order() .into_iter() .filter_map(|handle| self.tabs[i].scene.document.get_entity(handle) diff --git a/src/app/update/command.rs b/src/app/update/command.rs index 2c85ace58..930f1ee1d 100644 --- a/src/app/update/command.rs +++ b/src/app/update/command.rs @@ -3947,10 +3947,10 @@ pub(super) fn on_tab_close(&mut self, idx: usize) -> Task { .scene .solid_history_property_refusal(handle, field, &val) { - self.command_line.push_output(&format!( - "Modeling Operation Error: -Error Code Number is {code}" - )); + self.command_line.push_output(crate::t!("Modeling Operation Error:").as_ref()); + self.command_line.push_output( + crate::tf!("Error Code Number is {code}", code = code).as_ref(), + ); } } } else if self.tabs[i] diff --git a/src/locale_catalog.rs b/src/locale_catalog.rs index f78d847b5..bbc4c6feb 100644 --- a/src/locale_catalog.rs +++ b/src/locale_catalog.rs @@ -4463,13 +4463,24 @@ pub(super) fn message_attribute(source: &str) -> Option<(&'static str, &'static "SWEEP Select sweep path or [Alignment/Base point/Scale/Twist]:" => Some(("insert", "sweep-select-sweep-path-or-alignment-base-point-scale-twist")), "SWEEP Align sweep object perpendicular to path [Yes/No]" => Some(("insert", "sweep-align-sweep-object-perpendicular-to-path-yes-no")), "SWEEP Specify base point:" => Some(("insert", "sweep-specify-base-point")), - "SWEEP Enter scale factor or [Reference]" => Some(("insert", "sweep-enter-scale-factor-or-reference")), + "SWEEP Enter scale factor or [Reference/Expression]" => Some(("insert", "sweep-enter-scale-factor-or-reference")), "SWEEP Specify reference length or first point" => Some(("insert", "sweep-specify-reference-length-or-first-point")), "SWEEP Specify second reference point:" => Some(("insert", "sweep-specify-second-reference-point")), "SWEEP Specify new length or [Points]" => Some(("insert", "sweep-specify-new-length-or-points")), "SWEEP Specify first point of new length:" => Some(("insert", "sweep-specify-first-point-of-new-length")), "SWEEP Specify second point of new length:" => Some(("insert", "sweep-specify-second-point-of-new-length")), - "SWEEP Specify twist angle or [Bank]" => Some(("insert", "sweep-specify-twist-angle-or-bank")), + "SWEEP Enter twist angle or allow banking for a non-planar sweep path [Bank/EXpression]" => Some(("insert", "sweep-specify-twist-angle-or-bank")), + "SWEEP Enter expression:" => Some(("insert", "sweep-enter-expression")), + "SWEEP Specify start reference length" => Some(("insert", "sweep-specify-start-reference-length")), + "SWEEP Specify end reference length" => Some(("insert", "sweep-specify-end-reference-length")), + "SWEEP Specify second point:" => Some(("insert", "sweep-specify-second-point")), + "The syntax is incorrect or a variable is not defined. Reenter the expression or value." => Some(("insert", "sweep-expression-invalid")), + "Modeling Operation Error:" => Some(("insert", "sweep-modeling-operation-error")), + "Error Code Number is {code}" => Some(("insert", "sweep-error-code-number")), + "Unable to sweep {failed} selected objects." => Some(("insert", "sweep-unable-to-sweep-selected-objects")), + "Cannot use scale option when path curve is closed." => Some(("insert", "sweep-scale-closed-path")), + "Path curve must be smooth when using scale option." => Some(("insert", "sweep-scale-smooth-path")), + "The selected path curve is not valid." => Some(("insert", "sweep-path-curve-not-valid")), "Point cross-sections are allowed only at the first or last end, with a curve between point ends." => Some(("insert", "point-cross-sections-are-allowed-only-at-the-first-or-last-end-with-a-curve-between-p")), "LOFT requires at least two cross-sections." => Some(("insert", "loft-requires-at-least-two-cross-sections")), "A closed loft requires at least three curve cross-sections and no point ends." => Some(("insert", "a-closed-loft-requires-at-least-three-curve-cross-sections-and-no-point-ends")), diff --git a/src/modules/insert/solid3d_cmds.rs b/src/modules/insert/solid3d_cmds.rs index d2aedee51..5c5b7b088 100644 --- a/src/modules/insert/solid3d_cmds.rs +++ b/src/modules/insert/solid3d_cmds.rs @@ -1623,6 +1623,8 @@ pub struct SweepCommand { reference_length: f64, new_length_start: Option, end_length: f64, + /// The drawing's named parameters, for Expression input. + parameters: crate::scene::named_parameters::ParameterTable, isolines: usize, color: [f32; 4], } @@ -1642,6 +1644,8 @@ enum SweepStep { NewLength, NewLengthEnd, Twist, + ScaleExpression, + TwistExpression, } impl SweepCommand { @@ -1662,11 +1666,23 @@ impl SweepCommand { reference_length: 1.0, new_length_start: None, end_length: 1.0, + parameters: Default::default(), isolines, color, } } + pub fn set_parameters(&mut self, parameters: crate::scene::named_parameters::ParameterTable) { + self.parameters = parameters; + } + + /// An Expression input, evaluated against the drawing's parameters. + fn evaluate(&self, text: &str) -> Option { + let mut table = self.parameters.clone(); + table.set("sweepExpression", text).ok()?; + table.resolve("sweepExpression").ok().filter(|value| value.is_finite()) + } + pub fn set_preselection(&mut self, profiles: Vec<(Handle, EntityType)>) { self.set_profiles(profiles); if !self.profiles.is_empty() { @@ -1755,8 +1771,9 @@ impl CadCommand for SweepCommand { ), SweepStep::BasePoint => t!("SWEEP Specify base point:").into_owned(), SweepStep::Scale => format!( - "{} <{}>:", t!("SWEEP Enter scale factor or [Reference]"), self.options.scale, + "{}<{:.4}>:", t!("SWEEP Enter scale factor or [Reference/Expression]"), self.options.scale, ), + SweepStep::ScaleExpression | SweepStep::TwistExpression => t!("SWEEP Enter expression:").into_owned(), SweepStep::ReferenceLength => format!( "{} <{}>:", t!("SWEEP Specify start reference length"), @@ -1769,12 +1786,12 @@ impl CadCommand for SweepCommand { crate::entities::common::format_length(self.end_length), ), SweepStep::Twist => format!( - "{} <{}>:", - t!("SWEEP Specify twist angle or [Bank]"), + "{}<{}>:", + t!("SWEEP Enter twist angle or allow banking for a non-planar sweep path [Bank/EXpression]"), if self.options.bank { "Bank".to_string() } else { - crate::entities::common::format_angle(self.options.twist_angle) + format!("{:.4}", self.options.twist_angle.to_degrees()) }, ), } @@ -1791,8 +1808,8 @@ impl CadCommand for SweepCommand { CmdOption::new("Twist", "TWIST"), ], SweepStep::Alignment => vec![CmdOption::new("Yes", "YES"), CmdOption::new("No", "NO")], - SweepStep::Scale => vec![CmdOption::new("Reference", "REFERENCE")], - SweepStep::Twist => vec![CmdOption::new("Bank", "BANK")], + SweepStep::Scale => vec![CmdOption::new("Reference", "REFERENCE"), CmdOption::new("Expression", "EXPRESSION")], + SweepStep::Twist => vec![CmdOption::new("Bank", "BANK"), CmdOption::new("EXpression", "EXPRESSION")], _ => Vec::new(), } } @@ -1820,7 +1837,10 @@ impl CadCommand for SweepCommand { }; if (self.options.scale - 1.0).abs() > 1e-12 { if let Some(message) = crate::scene::model::sweep_model::scaled_sweep_path_refusal(&path) { - return CmdResult::ReportMeasurement(message.to_string()); + return CmdResult::ReportMeasurement(format!( + "{} +{}", t!(message), t!("The selected path curve is not valid."), + )); } } self.finish(handle) @@ -1863,6 +1883,7 @@ impl CadCommand for SweepCommand { SweepStep::PickProfiles | SweepStep::Mode | SweepStep::PickPath | SweepStep::Alignment | SweepStep::Scale | SweepStep::ReferenceLength | SweepStep::NewLength | SweepStep::Twist + | SweepStep::ScaleExpression | SweepStep::TwistExpression ) } @@ -1915,7 +1936,9 @@ impl CadCommand for SweepCommand { self.step = SweepStep::PickPath; } SweepStep::Scale => { - if "REFERENCE".starts_with(&keyword) { + if "EXPRESSION".starts_with(&keyword) { + self.step = SweepStep::ScaleExpression; + } else if "REFERENCE".starts_with(&keyword) { self.reference_start = None; self.new_length_start = None; self.step = SweepStep::ReferenceLength; @@ -1937,8 +1960,25 @@ impl CadCommand for SweepCommand { return None; } } + SweepStep::ScaleExpression | SweepStep::TwistExpression => { + let Some(value) = self.evaluate(value) else { + return Some(CmdResult::ReportMeasurement(t!( + "The syntax is incorrect or a variable is not defined. Reenter the expression or value." + ).into_owned())); + }; + if self.step == SweepStep::ScaleExpression { + self.set_scale(value); + } else { + self.options.twist_angle = value.to_radians(); + self.options.bank = false; + SWEEP_BANK.store(false, std::sync::atomic::Ordering::Relaxed); + } + self.step = SweepStep::PickPath; + } SweepStep::Twist => { - if "BANK".starts_with(&keyword) { + if keyword.len() >= 2 && "EXPRESSION".starts_with(&keyword) { + self.step = SweepStep::TwistExpression; + } else if "BANK".starts_with(&keyword) { self.options.bank = true; SWEEP_BANK.store(true, std::sync::atomic::Ordering::Relaxed); self.step = SweepStep::PickPath; @@ -1963,6 +2003,7 @@ impl CadCommand for SweepCommand { } SweepStep::Mode => self.step = SweepStep::PickProfiles, SweepStep::Alignment | SweepStep::Scale | SweepStep::Twist => self.step = SweepStep::PickPath, + SweepStep::ScaleExpression | SweepStep::TwistExpression => {} SweepStep::ReferenceLength => self.step = SweepStep::NewLength, SweepStep::NewLength => { self.set_end_length(self.end_length); diff --git a/src/scene/model/sweep_command_model.rs b/src/scene/model/sweep_command_model.rs index f954561af..812dc6192 100644 --- a/src/scene/model/sweep_command_model.rs +++ b/src/scene/model/sweep_command_model.rs @@ -76,11 +76,9 @@ pub fn scaled_sweep_path_refusal(path: &EntityType) -> Option<&'static str> { }, }; if closed { - Some("Cannot use scale option when path curve is closed. -The selected path curve is not valid.") + Some("Cannot use scale option when path curve is closed.") } else if !smooth { - Some("Path curve must be smooth when using scale option. -The selected path curve is not valid.") + Some("Path curve must be smooth when using scale option.") } else { None }