diff --git a/assets/locales/pending/fillet-options-plain.json b/assets/locales/pending/fillet-options-plain.json index 6a635f9c4b..369f489329 100644 --- a/assets/locales/pending/fillet-options-plain.json +++ b/assets/locales/pending/fillet-options-plain.json @@ -4,12 +4,12 @@ "ui.copy_details_tip": "Copy the full message, to look it up or to report it.", "ui.fillet_error_corner": "The smooth corner could not be built here. Try another Setback, or Tangent corners.", "ui.fillet_error_failed": "This fillet could not be built on these edges. Try another radius, or round fewer edges at once.", - "ui.fillet_error_too_large": "The radius is too large for the faces beside these edges. Try a smaller radius, or set If too large to Largest that fits.", - "ui.fillet_fit": "If too large", - "ui.fillet_fit_exact": "Stop and say so", - "ui.fillet_fit_reduce": "Largest that fits", - "ui.fillet_fit_taper": "Narrow where needed", - "ui.fillet_fit_tip": "When the radius is larger than the faces beside an edge allow: stop with a message, round every edge with the largest radius that fits, or keep the radius and narrow the round only where the faces run out.", + "ui.fillet_error_too_large": "The radius is too large for the faces beside these edges. Try a smaller radius, or set Face limits to Largest radius.", + "ui.fillet_fit": "Face limits", + "ui.fillet_fit_exact": "Exact radius", + "ui.fillet_fit_reduce": "Largest radius", + "ui.fillet_fit_taper": "Narrowed radius", + "ui.fillet_fit_tip": "When the radius is larger than the faces beside an edge allow.\nExact radius: the radius as given, or nothing rounded and a message saying why.\nLargest radius: every edge rounded with the largest radius that fits.\nNarrowed radius: the radius kept, the round narrowed only where the faces run out.", "ui.fillet_options_tip": "Tangent chain: also round the edges that continue smoothly from the picked ones.\nPreview: show the result in the view while you edit.", "ui.fillet_type_choices_tip": "Constant radius: one radius all along the edge.\nChord length: the width across the round stays the same, whatever angle the faces meet at.\nVariable radius: a radius at each end, and more along the edge if you add them.\nCurvature continuous: a section without a kink in reflections where it meets flat faces (G2).\nSpline: the radius along the edge follows control radii you set." }, @@ -18,12 +18,12 @@ "ui.copy_details_tip": "انسخ الرسالة كاملة للبحث عنها أو للإبلاغ عنها.", "ui.fillet_error_corner": "تعذّر بناء الزاوية الناعمة هنا. جرّب مسافة إرجاع أخرى، أو زوايا مماسّة.", "ui.fillet_error_failed": "تعذّر بناء هذا التقويس على هذه الحواف. جرّب نصف قطر آخر، أو قوّس حوافّ أقل في المرة الواحدة.", - "ui.fillet_error_too_large": "نصف القطر كبير جدًا على الوجوه المجاورة لهذه الحواف. جرّب نصف قطر أصغر، أو اختر في «إذا كان كبيرًا جدًا» الخيار «استخدم أكبر ما يتّسع».", - "ui.fillet_fit": "إذا كان كبيرًا جدًا", - "ui.fillet_fit_exact": "توقّف وأخبرني", - "ui.fillet_fit_reduce": "استخدم أكبر ما يتّسع", - "ui.fillet_fit_taper": "ضيّقه حيث يلزم", - "ui.fillet_fit_tip": "عندما يكون نصف القطر أكبر مما تسمح به الوجوه المجاورة للحافة: توقّف برسالة، أو قوّس كل حافة بأكبر نصف قطر يتّسع، أو أبقِ نصف القطر وضيّق التقويس فقط حيث تنتهي الوجوه.", + "ui.fillet_error_too_large": "نصف القطر كبير جدًا على الوجوه المجاورة لهذه الحواف. جرّب نصف قطر أصغر، أو اختر في «حدود الوجوه» الخيار «أكبر نصف قطر».", + "ui.fillet_fit": "حدود الوجوه", + "ui.fillet_fit_exact": "نصف قطر دقيق", + "ui.fillet_fit_reduce": "أكبر نصف قطر", + "ui.fillet_fit_taper": "نصف قطر مُضيَّق", + "ui.fillet_fit_tip": "عندما يكون نصف القطر أكبر مما تسمح به الوجوه المجاورة للحافة.\nنصف قطر دقيق: نصف القطر كما هو، أو لا تقويس ورسالة توضّح السبب.\nأكبر نصف قطر: تُقوَّس كل حافة بأكبر نصف قطر يتّسع.\nنصف قطر مُضيَّق: يبقى نصف القطر، ويُضيَّق التقويس فقط حيث تنتهي الوجوه.", "ui.fillet_options_tip": "سلسلة مماسّة: قوّس أيضًا الحواف التي تتصل بسلاسة بالحواف المختارة.\nمعاينة: اعرض النتيجة في العرض أثناء التحرير.", "ui.fillet_type_choices_tip": "نصف قطر ثابت: نصف قطر واحد على طول الحافة.\nطول الوتر: يبقى عرض التقويس نفسه مهما كانت الزاوية بين الوجوه.\nنصف قطر متغيّر: نصف قطر عند كل طرف، ومزيد على طول الحافة إن أضفته.\nمتصل الانحناء: مقطع بلا انكسار في الانعكاسات حيث يلتقي بالوجوه المستوية (G2).\nمنحنى: يتبع نصف القطر على طول الحافة أنصاف أقطار تحكّم تحدّدها." }, @@ -32,12 +32,12 @@ "ui.copy_details_tip": "Die vollständige Meldung kopieren, um sie nachzuschlagen oder zu melden.", "ui.fillet_error_corner": "Die glatte Ecke ließ sich hier nicht bauen. Versuchen Sie einen anderen Rücksprung oder tangentiale Ecken.", "ui.fillet_error_failed": "Diese Rundung ließ sich an diesen Kanten nicht bauen. Versuchen Sie einen anderen Radius oder runden Sie weniger Kanten auf einmal.", - "ui.fillet_error_too_large": "Der Radius ist zu groß für die Flächen neben diesen Kanten. Versuchen Sie einen kleineren Radius oder stellen Sie „Wenn zu groß“ auf „Größter passender“.", - "ui.fillet_fit": "Wenn zu groß", - "ui.fillet_fit_exact": "Anhalten und melden", - "ui.fillet_fit_reduce": "Größter passender", - "ui.fillet_fit_taper": "Wo nötig verjüngen", - "ui.fillet_fit_tip": "Wenn der Radius größer ist, als die Flächen neben einer Kante zulassen: mit einer Meldung anhalten, jede Kante mit dem größten passenden Radius runden oder den Radius behalten und die Rundung nur dort verjüngen, wo die Flächen enden.", + "ui.fillet_error_too_large": "Der Radius ist zu groß für die Flächen neben diesen Kanten. Versuchen Sie einen kleineren Radius oder stellen Sie „Flächengrenzen“ auf „Größter Radius“.", + "ui.fillet_fit": "Flächengrenzen", + "ui.fillet_fit_exact": "Exakter Radius", + "ui.fillet_fit_reduce": "Größter Radius", + "ui.fillet_fit_taper": "Verjüngter Radius", + "ui.fillet_fit_tip": "Wenn der Radius größer ist, als die Flächen neben einer Kante zulassen.\nExakter Radius: der angegebene Radius, oder keine Rundung und eine Meldung mit dem Grund.\nGrößter Radius: jede Kante mit dem größten passenden Radius gerundet.\nVerjüngter Radius: der Radius bleibt, die Rundung wird nur dort verjüngt, wo die Flächen enden.", "ui.fillet_options_tip": "Tangentenkette: auch die Kanten runden, die glatt an die gewählten anschließen.\nVorschau: das Ergebnis beim Bearbeiten in der Ansicht zeigen.", "ui.fillet_type_choices_tip": "Konstanter Radius: ein Radius entlang der ganzen Kante.\nSehnenlänge: die Breite der Rundung bleibt gleich, in welchem Winkel die Flächen auch aufeinandertreffen.\nVariabler Radius: ein Radius an jedem Ende und weitere entlang der Kante, wenn Sie sie hinzufügen.\nKrümmungsstetig: ein Querschnitt ohne Knick in den Spiegelungen, wo er auf ebene Flächen trifft (G2).\nSpline: der Radius entlang der Kante folgt Steuerradien, die Sie festlegen." }, @@ -46,12 +46,12 @@ "ui.copy_details_tip": "העתקת ההודעה המלאה, כדי לחפש אותה או לדווח עליה.", "ui.fillet_error_corner": "לא ניתן היה לבנות כאן את הפינה החלקה. נסו נסיגה אחרת, או פינות משיקות.", "ui.fillet_error_failed": "לא ניתן היה לבנות את העיגול הזה על הקצוות האלה. נסו רדיוס אחר, או עגלו פחות קצוות בבת אחת.", - "ui.fillet_error_too_large": "הרדיוס גדול מדי עבור הפאות שליד הקצוות האלה. נסו רדיוס קטן יותר, או בחרו ב„אם גדול מדי” את „להשתמש בגדול ביותר שנכנס”.", - "ui.fillet_fit": "אם גדול מדי", - "ui.fillet_fit_exact": "לעצור ולהודיע", - "ui.fillet_fit_reduce": "להשתמש בגדול ביותר שנכנס", - "ui.fillet_fit_taper": "להצר היכן שצריך", - "ui.fillet_fit_tip": "כשהרדיוס גדול ממה שהפאות שליד הקצה מאפשרות: לעצור עם הודעה, לעגל כל קצה ברדיוס הגדול ביותר שנכנס, או לשמור על הרדיוס ולהצר את העיגול רק היכן שהפאות נגמרות.", + "ui.fillet_error_too_large": "הרדיוס גדול מדי עבור הפאות שליד הקצוות האלה. נסו רדיוס קטן יותר, או בחרו ב„גבולות הפאות” את „הרדיוס הגדול ביותר”.", + "ui.fillet_fit": "גבולות הפאות", + "ui.fillet_fit_exact": "רדיוס מדויק", + "ui.fillet_fit_reduce": "הרדיוס הגדול ביותר", + "ui.fillet_fit_taper": "רדיוס מוצר", + "ui.fillet_fit_tip": "כשהרדיוס גדול ממה שהפאות שליד הקצה מאפשרות.\nרדיוס מדויק: הרדיוס כפי שניתן, או ללא עיגול והודעה שמסבירה למה.\nהרדיוס הגדול ביותר: כל קצה מעוגל ברדיוס הגדול ביותר שנכנס.\nרדיוס מוצר: הרדיוס נשמר, והעיגול מוצר רק היכן שהפאות נגמרות.", "ui.fillet_options_tip": "שרשרת משיקה: לעגל גם את הקצוות שממשיכים בחלקות מהקצוות שנבחרו.\nתצוגה מקדימה: להציג את התוצאה בתצוגה בזמן העריכה.", "ui.fillet_type_choices_tip": "רדיוס קבוע: רדיוס אחד לכל אורך הקצה.\nאורך מיתר: רוחב העיגול נשאר זהה, בכל זווית שבה הפאות נפגשות.\nרדיוס משתנה: רדיוס בכל קצה, ועוד לאורך הקצה אם מוסיפים.\nרציף בעקמומיות: חתך בלי שבר בהשתקפויות היכן שהוא פוגש פאות מישוריות (G2).\nספליין: הרדיוס לאורך הקצה עוקב אחרי רדיוסי בקרה שאתם קובעים." }, @@ -60,12 +60,12 @@ "ui.copy_details_tip": "調べたり報告したりできるよう、メッセージ全文をコピーします。", "ui.fillet_error_corner": "ここではなめらかなコーナーを作れませんでした。別のセットバックか、接線のコーナーを試してください。", "ui.fillet_error_failed": "このフィレットをこれらのエッジに作れませんでした。別の半径を試すか、一度に丸めるエッジを減らしてください。", - "ui.fillet_error_too_large": "これらのエッジの隣の面に対して半径が大きすぎます。小さい半径を試すか、「大きすぎるとき」を「収まる最大の半径を使う」にしてください。", - "ui.fillet_fit": "大きすぎるとき", - "ui.fillet_fit_exact": "止めて知らせる", - "ui.fillet_fit_reduce": "収まる最大の半径を使う", - "ui.fillet_fit_taper": "必要な所だけ細くする", - "ui.fillet_fit_tip": "半径がエッジの隣の面で収まる大きさを超えるとき: メッセージを出して止める、各エッジを収まる最大の半径で丸める、または半径を保って面が足りない所だけフィレットを細くする。", + "ui.fillet_error_too_large": "これらのエッジの隣の面に対して半径が大きすぎます。小さい半径を試すか、「面の境界」を「最大半径」にしてください。", + "ui.fillet_fit": "面の境界", + "ui.fillet_fit_exact": "正確な半径", + "ui.fillet_fit_reduce": "最大半径", + "ui.fillet_fit_taper": "狭めた半径", + "ui.fillet_fit_tip": "半径がエッジの隣の面で収まる大きさを超えるとき。\n正確な半径: 指定どおりの半径。収まらなければ丸めずに理由を知らせます。\n最大半径: 各エッジを収まる最大の半径で丸めます。\n狭めた半径: 半径を保ち、面が足りない所だけフィレットを細くします。", "ui.fillet_options_tip": "正接チェーン: 選んだエッジからなめらかに続くエッジも丸めます。\nプレビュー: 編集中に結果をビューに表示します。", "ui.fillet_type_choices_tip": "一定の半径: エッジ全体で一つの半径。\n弦長: 面がどんな角度で交わっても、フィレットの幅が同じ。\n可変半径: 両端の半径と、追加すればエッジ沿いの半径。\n曲率連続: 平面と接する所で映り込みが折れない断面 (G2)。\nスプライン: エッジ沿いの半径が、設定した制御半径に従います。" }, @@ -74,12 +74,12 @@ "ui.copy_details_tip": "찾아보거나 보고할 수 있도록 전체 메시지를 복사합니다.", "ui.fillet_error_corner": "여기에서는 부드러운 코너를 만들 수 없었습니다. 다른 셋백이나 접선 코너를 시도해 보세요.", "ui.fillet_error_failed": "이 모서리들에 이 필렛을 만들 수 없었습니다. 다른 반지름을 시도하거나 한 번에 둥글게 하는 모서리 수를 줄여 보세요.", - "ui.fillet_error_too_large": "이 모서리 옆의 면에 비해 반지름이 너무 큽니다. 더 작은 반지름을 시도하거나 '너무 클 때'를 '들어가는 가장 큰 반지름 사용'으로 설정하세요.", - "ui.fillet_fit": "너무 클 때", - "ui.fillet_fit_exact": "멈추고 알리기", - "ui.fillet_fit_reduce": "들어가는 가장 큰 반지름 사용", - "ui.fillet_fit_taper": "필요한 곳만 좁히기", - "ui.fillet_fit_tip": "반지름이 모서리 옆 면이 허용하는 것보다 클 때: 메시지와 함께 멈추거나, 모든 모서리를 들어가는 가장 큰 반지름으로 둥글게 하거나, 반지름을 유지하고 면이 모자란 곳에서만 라운드를 좁힙니다.", + "ui.fillet_error_too_large": "이 모서리 옆의 면에 비해 반지름이 너무 큽니다. 더 작은 반지름을 시도하거나 '면 경계'를 '최대 반지름'으로 설정하세요.", + "ui.fillet_fit": "면 경계", + "ui.fillet_fit_exact": "정확한 반지름", + "ui.fillet_fit_reduce": "최대 반지름", + "ui.fillet_fit_taper": "좁힌 반지름", + "ui.fillet_fit_tip": "반지름이 모서리 옆 면이 허용하는 것보다 클 때.\n정확한 반지름: 지정한 반지름 그대로, 또는 둥글게 하지 않고 이유를 알리는 메시지.\n최대 반지름: 모든 모서리를 들어가는 가장 큰 반지름으로 둥글게 합니다.\n좁힌 반지름: 반지름을 유지하고 면이 모자란 곳에서만 라운드를 좁힙니다.", "ui.fillet_options_tip": "접선 체인: 선택한 모서리에서 부드럽게 이어지는 모서리도 둥글게 합니다.\n미리 보기: 편집하는 동안 결과를 뷰에 표시합니다.", "ui.fillet_type_choices_tip": "일정한 반지름: 모서리 전체에 하나의 반지름.\n현 길이: 면이 어떤 각도로 만나든 라운드의 폭이 같습니다.\n가변 반지름: 양 끝의 반지름과, 추가하면 모서리를 따라 더.\n곡률 연속: 평면과 만나는 곳에서 반사가 꺾이지 않는 단면(G2).\n스플라인: 모서리를 따라 반지름이 설정한 제어 반지름을 따릅니다." }, @@ -88,12 +88,12 @@ "ui.copy_details_tip": "复制完整消息,以便查找或报告。", "ui.fillet_error_corner": "无法在此处构建平滑角点。请尝试其他后退距离,或相切角点。", "ui.fillet_error_failed": "无法在这些边上构建此圆角。请尝试其他半径,或一次少倒几条边。", - "ui.fillet_error_too_large": "半径对这些边旁边的面来说太大。请尝试更小的半径,或将“过大时”设为“使用能容纳的最大半径”。", - "ui.fillet_fit": "过大时", - "ui.fillet_fit_exact": "停止并提示", - "ui.fillet_fit_reduce": "使用能容纳的最大半径", - "ui.fillet_fit_taper": "在需要处收窄", - "ui.fillet_fit_tip": "当半径大于边旁边的面所允许的大小时:给出提示并停止,用能容纳的最大半径倒每条边,或保持半径、只在面不够的地方收窄圆角。", + "ui.fillet_error_too_large": "半径对这些边旁边的面来说太大。请尝试更小的半径,或将“面边界”设为“最大半径”。", + "ui.fillet_fit": "面边界", + "ui.fillet_fit_exact": "精确半径", + "ui.fillet_fit_reduce": "最大半径", + "ui.fillet_fit_taper": "收窄半径", + "ui.fillet_fit_tip": "当半径大于边旁边的面所允许的大小时。\n精确半径:按给定的半径倒圆,否则不倒圆并说明原因。\n最大半径:用能容纳的最大半径倒每条边。\n收窄半径:保持半径,只在面不够的地方收窄圆角。", "ui.fillet_options_tip": "相切链:同时倒圆与所选边平滑相连的边。\n预览:编辑时在视图中显示结果。", "ui.fillet_type_choices_tip": "恒定半径:整条边一个半径。\n弦长:无论面以什么角度相交,圆角宽度都相同。\n可变半径:两端各一个半径,添加后沿边还有更多。\n曲率连续:与平面相接处反射没有折痕的截面 (G2)。\n样条:沿边的半径跟随您设置的控制半径。" } diff --git a/crates/ui-egui/src/dialogs_dense.rs b/crates/ui-egui/src/dialogs_dense.rs index 77767212c2..3814f8c029 100644 --- a/crates/ui-egui/src/dialogs_dense.rs +++ b/crates/ui-egui/src/dialogs_dense.rs @@ -134,7 +134,7 @@ const FILLET_FITS: [(&str, &str); 3] = [("ui.fillet_fit_exact", "exact"), ("ui.f /// Which fillet options apply together, exactly as `solid.fillet` takes them (`fillet` in /// crates/engine/src/cmd/features.rs): /// -/// | Type | If too large (`fit`) | Corners (`corner`) | Setback (`setbacks`) | +/// | Type | Face limits (`fit`) | Corners (`corner`) | Setback (`setbacks`) | /// |---------------|-------------------------|-------------------------------------|----------------------| /// | Constant | exact, reduce or taper | tangent; curvature with exact only | with curvature only | /// | any other | exact (not sent) | tangent (not sent) | none | @@ -229,7 +229,7 @@ fn fillet_corner_rows( enter } -/// A Constant radius fillet's "If too large" row (`fit`), with the radius a reduced fillet used. +/// A Constant radius fillet's "Face limits" row (`fit`), with the radius a reduced fillet used. fn fillet_fit_rows(app: &SolveApp, ui: &mut egui::Ui, extra: &mut serde_json::Map, setback: &mut Option) { let t = Tokens::get(); let before = extra.get("fit").cloned(); @@ -1227,7 +1227,7 @@ mod tests { let exact = p.get("fit").is_none_or(|f| f == "exact"); assert!(constant || p.get("fit").is_none(), "{what}: fit without Constant radius: {p}"); assert!(constant && exact || (p.get("corner").is_none() && p.get("setbacks").is_none()), "{what}: a curvature corner with {p}"); - assert_eq!(scenario::handle_at("dialog:ui.fillet_fit").is_some(), constant, "{what}: If too large shows exactly with Constant radius"); + assert_eq!(scenario::handle_at("dialog:ui.fillet_fit").is_some(), constant, "{what}: Face limits shows exactly with Constant radius"); assert_eq!(scenario::handle_at("dialog:ui.corners").is_some(), constant, "{what}: Corners shows exactly with Constant radius"); if !ran.borrow_mut().insert(p.to_string()) { return; @@ -1254,7 +1254,7 @@ mod tests { choose(&mut h, "ui.fillet_fit", fit); check(&h, &what); choose(&mut h, "ui.corners", Continuity::G2.label_id()); - assert!(parameters(&h).get("fit").is_none(), "{what}: a curvature corner puts If too large back to Stop"); + assert!(parameters(&h).get("fit").is_none(), "{what}: a curvature corner puts Face limits back to Exact radius"); } check(&h, &what); choose(&mut h, "Type", label);