@ -57,4 +57,5 @@ Generated-in-code assets are original and have no file to list:
| Asset | Author | Source | Licence | Notes |
|---|---|---|---|---|
| `crates/ui-egui/src/i18n/uk.tsv` | @dmatviichuk | Original Ukrainian translations of CADCraft English strings | MIT OR Apache-2.0 (`LICENSE-MIT`, `LICENSE-APACHE`) | No proprietary localization resources copied |
| `crates/ui-egui/src/i18n/de.tsv` | the CADCraft contributors | Original German translations of CADCraft English strings | MIT OR Apache-2.0 (`LICENSE-MIT`, `LICENSE-APACHE`) | No proprietary localization resources copied |
| `crates/ui-egui/src/i18n/pt_br.tsv` | @WladmirJunior | Original Brazilian Portuguese translations of CADCraft English strings | MIT OR Apache-2.0 (`LICENSE-MIT`, `LICENSE-APACHE`) | No proprietary localization resources copied |
| Parametric | Geometric and dimensional constraints, AUTOCONSTRAIN, PARAMETERS with expressions, conflict detection; constraints re-solve after every edit |
| Grips | Hot grips with Space to cycle Stretch, Move, Rotate, Scale and Mirror |
| Interface languages | English and Ukrainian (Українська), live switching and a remembered Auto/system-language choice; [details](docs/localization.md) |
| Interface languages | English, Ukrainian (Українська) and German (Deutsch), live switching and a remembered Auto/system-language choice; [details](docs/localization.md) |
Change to Current Layer Auf aktuellen Layer ändern
Circle Kreis
Circumference Umfang
Clear Leeren
Clipboard Zwischenablage
Close Schließen
Close All Alle schließen
Closed Geschlossen
Coincident Koinzident
Collapse Tool Sets Werkzeuggruppen einklappen
Collinear Kollinear
Color Farbe
Color 8 Farbe 8
Color 9 Farbe 9
Color Index Farbindex
Color... Farbe...
Command History Befehlsprotokoll
Command Line Befehlszeile
Command Line History Lines Protokollzeilen der Befehlszeile
Command Reference Befehlsreferenz
Commits Commits
Company Firma
Computer-aided design and drafting: an open-source, clean-room CAD application written in pure Rust. Rechnergestütztes Konstruieren und Zeichnen: eine quelloffene, unabhängig entwickelte CAD-Anwendung in reinem Rust.
Paste to Original Coordinates In Originalkoordinaten einfügen
Path Array Pfadreihe
Pattern Muster
Perpendicular Senkrecht
Plot Plotten
Plot (click: do not plot) Plotten (Klick: nicht plotten)
Plot Preview Plotvorschau
Plot style Plotstil
Plot style attached to Plotstil zugeordnet zu
Plot style table Plotstiltabelle
Plot Style... Plotstil...
Plot Style Manager Plotstil-Manager
Plot Style Manager... Plotstil-Manager...
Plot Styles... Plotstile...
New CTB Neue CTB
New STB Neue STB
New style Neuer Stil
Reset Panel Layout Panel-Anordnung zurücksetzen
Use for this layout Für dieses Layout verwenden
Display plot styles Plotstile anzeigen
No plot style tables. Keine Plotstiltabellen.
A built-in table: editing it keeps an edited copy in the drawing. Eine integrierte Tabelle: Beim Bearbeiten wird eine bearbeitete Kopie in der Zeichnung gespeichert.
Keep an editable copy of this table in the drawing Eine bearbeitbare Kopie dieser Tabelle in der Zeichnung behalten
Layout {name}: {table} Layout {name}: {table}
Grayscale Graustufen
Screening Rasterung
Use object linetype Linientyp des Objekts verwenden
Use object lineweight Linienstärke des Objekts verwenden
Remove Entfernen
Add Hinzufügen
Open a drawing first. Öffnen Sie zuerst eine Zeichnung.
Remove the viewport override Ansichtsfenster-Übersteuerung entfernen
Rename Dimension Style Bemaßungsstil umbenennen
Rename Layer Layer umbenennen
Rename Layer State Layerstatus umbenennen
Rename Layout Layout umbenennen
Rename Text Style Textstil umbenennen
Rename... Umbenennen...
Repeat {command} {command} wiederholen
Requires a point (x,y, @dx,dy or @d<a). Erfordert einen Punkt (x,y, @dx,dy oder @d<a).
Reset Palettes Paletten zurücksetzen
Restore Wiederherstellen
Restore Layer State Layerstatus wiederherstellen
Reverse Umkehren
Reverse the order Reihenfolge umkehren
Revision Cloud Revisionswolke
Revolve Rotieren
Right Rechts
Rotate Drehen
Rotation Drehwinkel
S S
Save Speichern
Save (⌘S) Speichern (⌘S)
Save As Speichern unter
Save As... Speichern unter...
Save Layer State Layerstatus speichern
Save State Status speichern
Scale Skalieren
Search for layer Layer suchen
Search for parameter Parameter suchen
Second and next points: Zweiter und nächste Punkte:
Select Auswählen
Select 2D polyline 2D-Polylinie wählen
Select All Alle auswählen
Select Objects Objekte wählen
Select a 2D polyline. Wählen Sie eine 2D-Polylinie.
Select a block reference. Wählen Sie eine Blockreferenz.
Select a circle or arc. Wählen Sie einen Kreis oder Bogen.
Select a closed polyline Wählen Sie eine geschlossene Polylinie
Select a closed polyline, circle, ellipse or closed spline. Wählen Sie eine geschlossene Polylinie, einen Kreis, eine Ellipse oder einen geschlossenen Spline.
Select a closed polyline. Wählen Sie eine geschlossene Polylinie.
Select a curve as the path. Wählen Sie eine Kurve als Pfad.
Select a dimension constraint type Wählen Sie einen Bemaßungsabhängigkeitstyp
Select a line object Wählen Sie ein Linienobjekt
Select a line object. Wählen Sie ein Linienobjekt.
Select a line or an arc. Wählen Sie eine Linie oder einen Bogen.
Select a line or polyline segment Wählen Sie eine Linie oder ein Polyliniensegment
Select a line, arc or open polyline. Wählen Sie eine Linie, einen Bogen oder eine offene Polylinie.
Select a line, arc, circle, polyline, ellipse or spline as the path. Wählen Sie eine Linie, einen Bogen, einen Kreis, eine Polylinie, eine Ellipse oder einen Spline als Pfad.
Select a line, circle, arc or polyline segment. Wählen Sie eine Linie, einen Kreis, einen Bogen oder ein Polyliniensegment.
Select a line. Wählen Sie eine Linie.
Select a polyline. Wählen Sie eine Polylinie.
Select a text, mtext, attribute definition or dimension. Wählen Sie einen Text, MText, eine Attributdefinition oder eine Bemaßung.
Select an annotation object Wählen Sie ein Beschriftungsobjekt
Select an arc or circle Wählen Sie einen Bogen oder Kreis
Select an arc. Wählen Sie einen Bogen.
Select an object Wählen Sie ein Objekt
Select an object to change or Wählen Sie ein zu änderndes Objekt oder
Select an object to measure or Wählen Sie ein zu messendes Objekt oder
Select an object. Wählen Sie ein Objekt.
Select an open curve. Wählen Sie eine offene Kurve.
Select an open line, arc, polyline, ellipse arc or spline. Wählen Sie eine offene Linie, einen Bogen, eine Polylinie, einen Ellipsenbogen oder einen Spline.
Select arc or circle Wählen Sie einen Bogen oder Kreis
Select arc or polyline arc segment Wählen Sie einen Bogen oder ein Polylinienbogensegment
Select arc style Wählen Sie einen Bogenstil
Select arc, circle, line Wählen Sie Bogen, Kreis oder Linie
Select at least two objects to join. Wählen Sie mindestens zwei zu verbindende Objekte.
Select circle or arc to add center mark Wählen Sie einen Kreis oder Bogen für die Zentrumsmarke
Select first line or arc Wählen Sie die erste Linie oder den ersten Bogen
Select first object Wählen Sie das erste Objekt
Select first object or Wählen Sie das erste Objekt oder
Select first point Wählen Sie den ersten Punkt
Select nested objects to copy or Wählen Sie zu kopierende verschachtelte Objekte oder
Select object Wählen Sie ein Objekt
Select object to dimension Wählen Sie das zu bemaßende Objekt
Select object to divide Wählen Sie das zu teilende Objekt
Select object to extend or shift-select to trim Wählen Sie das zu dehnende Objekt oder wählen Sie mit der Umschalttaste zum Stutzen
Select object to measure Wählen Sie das zu messende Objekt
Select object to offset Wählen Sie das Objekt für den Versatz
Select object to trim or shift-select to extend Wählen Sie das zu stutzende Objekt oder wählen Sie mit der Umschalttaste zum Dehnen
Select objects Wählen Sie Objekte
Select objects (crossing window first corner) Wählen Sie Objekte (erste Ecke des Kreuzungsfensters)
Select objects to array. Wählen Sie die Objekte für die Reihe.
Select objects to stretch by crossing-window or crossing-polygon... Wählen Sie die zu streckenden Objekte mit einem Kreuzungsfenster oder Kreuzungspolygon...
Select objects: Objekte wählen:
Select one polyline (Multiple is available through the JSON form). Wählen Sie eine Polylinie (Multiple ist über die JSON-Form verfügbar).
Select path curve Wählen Sie die Pfadkurve
Select point or object Wählen Sie einen Punkt oder ein Objekt
Select polyline or Wählen Sie eine Polylinie oder
Select second line Wählen Sie die zweite Linie
Select second line or shift-select to apply corner Wählen Sie die zweite Linie oder wählen Sie mit der Umschalttaste, um eine Ecke anzuwenden
Select second object Wählen Sie das zweite Objekt
Select second object or shift-select to apply corner Wählen Sie das zweite Objekt oder wählen Sie mit der Umschalttaste, um eine Ecke anzuwenden
Select second point Wählen Sie den zweiten Punkt
Select spline Wählen Sie einen Spline
Select symmetry line Wählen Sie die Symmetrielinie
Select two points Wählen Sie zwei Punkte
Selection Cycling Auswahlzyklus
Send to Back In den Hintergrund
Set Current Als aktuell festlegen
Set Current Dimension Style Bemaßungsstil als aktuell festlegen
Set Current Text Style Textstil als aktuell festlegen
Set Layer Properties Layer-Eigenschaften festlegen
Set Properties Eigenschaften festlegen
Set Table Cell Tabellenzelle festlegen
Set Variable Variable festlegen
Set View Ansicht festlegen
Share Teilen
Show Anzeigen
Show All Alle anzeigen
Show All Constraint Bars Alle Abhängigkeitsleisten anzeigen
Show All Dynamic Dimensions Alle dynamischen Bemaßungen anzeigen
Specify a scale for the hatch pattern Geben Sie einen Maßstab für das Schraffurmuster an
Specify a second extension line origin Geben Sie den Ursprung der zweiten Hilfslinie an
Specify an angle for the hatch pattern Geben Sie einen Winkel für das Schraffurmuster an
Specify angle end point Geben Sie den Endpunkt des Winkels an
Specify angle of dimension line Geben Sie den Winkel der Bemaßungslinie an
Specify angle of dimension text Geben Sie den Winkel des Bemaßungstexts an
Specify angle start point Geben Sie den Startpunkt des Winkels an
Specify angle vertex Geben Sie den Winkelscheitel an
Specify angle vertex point Geben Sie den Winkelscheitelpunkt an
Specify arc length dimension location Geben Sie die Position der Bogenlängenbemaßung an
Specify axis endpoint of ellipse Geben Sie den Achsenendpunkt der Ellipse an
Specify base diameter Geben Sie den Basisdurchmesser an
Specify base point Geben Sie den Basispunkt an
Specify base point or Geben Sie den Basispunkt an oder
Specify base point or displacement (drag with the middle mouse button for realtime pan) Geben Sie den Basispunkt oder die Verschiebung an (ziehen Sie mit der mittleren Maustaste zum Schwenken in Echtzeit)
Specify base radius or Geben Sie den Basisradius an oder
Specify center of donut Geben Sie den Mittelpunkt des Rings an
Specify center of ellipse Geben Sie den Mittelpunkt der Ellipse an
Specify center of polygon Geben Sie den Mittelpunkt des Polygons an
Specify center point for circle Geben Sie den Mittelpunkt des Kreises an
Specify center point of arc Geben Sie den Mittelpunkt des Bogens an
Specify center point of array Geben Sie den Mittelpunkt der Reihe an
Specify center point of base Geben Sie den Mittelpunkt der Basis an
Specify corner of viewport Geben Sie die Ecke des Ansichtsfensters an
Specify corner of window, enter a scale factor (nX or nXP) Geben Sie die Ecke des Fensters an, geben Sie einen Skalierfaktor ein (nX oder nXP)
Specify diameter of circle Geben Sie den Durchmesser des Kreises an
Specify dimension arc line location Geben Sie die Position der Bemaßungsbogenlinie an
Specify dimension line location Geben Sie die Position der Bemaßungslinie an
Specify distance between turns Geben Sie den Abstand zwischen den Windungen an
Specify distance to other axis Geben Sie den Abstand zur anderen Achse an
Specify end angle Geben Sie den Endwinkel an
Specify end point of arc Geben Sie den Endpunkt des Bogens an
Specify end point of arc (hold Ctrl to switch direction) Geben Sie den Endpunkt des Bogens an (Strg halten, um die Richtung zu wechseln)
Specify ending width Geben Sie die Endbreite an
Specify ending width for next segment Geben Sie die Endbreite des nächsten Segments an
Specify endpoint of arc Geben Sie den Endpunkt des Bogens an
Specify endpoint of axis Geben Sie den Endpunkt der Achse an
Specify endpoint of line Geben Sie den Endpunkt der Linie an
Specify feature location Geben Sie die Position des Elements an
Specify fillet radius Geben Sie den Abrundungsradius an
Specify fillet radius for rectangles Geben Sie den Abrundungsradius für Rechtecke an
Specify first angle endpoint Geben Sie den ersten Endpunkt des Winkels an
Specify first chamfer distance Geben Sie den ersten Fasenabstand an
Specify first chamfer distance for rectangles Geben Sie den ersten Fasenabstand für Rechtecke an
Specify first constraint point Geben Sie den ersten Abhängigkeitspunkt an
Specify first corner Geben Sie die erste Ecke an
Specify first corner point Geben Sie den ersten Eckpunkt an
Specify first destination point Geben Sie den ersten Zielpunkt an
Specify first end point of circle's diameter Geben Sie den ersten Endpunkt des Kreisdurchmessers an
Specify first endpoint of edge Geben Sie den ersten Endpunkt der Kante an
Specify first extension line origin Geben Sie den Ursprung der ersten Hilfslinie an
Specify first point Geben Sie den ersten Punkt an
Specify first point of mirror line Geben Sie den ersten Punkt der Spiegellinie an
Specify first point on circle Geben Sie den ersten Punkt auf dem Kreis an
Specify first point on circle: _tan to Geben Sie den ersten Punkt auf dem Kreis an: _tan zu
Specify first source point Geben Sie den ersten Quellpunkt an
Specify height Geben Sie die Höhe an
Specify helix height or Geben Sie die Höhe der Helix an oder
Specify included angle Geben Sie den eingeschlossenen Winkel an
Specify insertion base point Geben Sie den Einfügebasispunkt an
Specify insertion point Geben Sie den Einfügepunkt an
Specify inside diameter of donut Geben Sie den Innendurchmesser des Rings an
Specify leader arrowhead location Geben Sie die Position der Pfeilspitze der Führungslinie an
Specify leader endpoint Geben Sie den Endpunkt der Führungslinie an
Specify leader landing location Geben Sie die Position des Führungslinienabsatzes an
Specify length for rectangles Geben Sie die Länge für Rechtecke an
Specify length of chord Geben Sie die Länge der Sehne an
Specify length of segment Geben Sie die Länge des Segments an
Specify line width for rectangles Geben Sie die Linienbreite für Rechtecke an
Specify location for new vertex Geben Sie die Position des neuen Scheitelpunkts an
Specify minimum length of arc Geben Sie die minimale Länge des Bogens an
Specify new end point Geben Sie den neuen Endpunkt an
Specify new location for marked vertex Geben Sie die neue Position des markierten Scheitelpunkts an
Specify new width for all segments Geben Sie die neue Breite für alle Segmente an
Specify next point Geben Sie den nächsten Punkt an
Specify offset distance Geben Sie den Versatzabstand an
Specify offset distance or Geben Sie den Versatzabstand an oder
Specify opposite corner Geben Sie die gegenüberliegende Ecke an
Specify other corner point Geben Sie den anderen Eckpunkt an
Specify other endpoint of axis Geben Sie den anderen Endpunkt der Achse an
Specify outside diameter of donut Geben Sie den Außendurchmesser des Rings an
Specify point Geben Sie einen Punkt an
Specify point on object for first tangent of circle Geben Sie einen Punkt auf dem Objekt für die erste Tangente des Kreises an
Specify point on object for second tangent of circle Geben Sie einen Punkt auf dem Objekt für die zweite Tangente des Kreises an
Specify point on side to offset Geben Sie einen Punkt auf der Seite des Versatzes an
Specify radius of arc Geben Sie den Radius des Bogens an
Specify radius of circle Geben Sie den Radius des Kreises an
Specify rotation angle Geben Sie den Drehwinkel an
Specify rotation angle of text Geben Sie den Drehwinkel des Textes an
Specify rotation angle or Geben Sie den Drehwinkel an oder
Specify scale factor Geben Sie den Skalierfaktor an
Specify second angle endpoint Geben Sie den zweiten Endpunkt des Winkels an
Specify second break point Geben Sie den zweiten Unterbrechungspunkt an
Specify second chamfer distance for rectangles Geben Sie den zweiten Fasenabstand für Rechtecke an
Specify second constraint point Geben Sie den zweiten Abhängigkeitspunkt an
Specify second destination point Geben Sie den zweiten Zielpunkt an
Specify second end point of circle's diameter Geben Sie den zweiten Endpunkt des Kreisdurchmessers an
Specify second endpoint of edge Geben Sie den zweiten Endpunkt der Kante an
Specify second extension line origin Geben Sie den Ursprung der zweiten Hilfslinie an
Specify second point Geben Sie den zweiten Punkt an
Specify second point of arc Geben Sie den zweiten Punkt des Bogens an
Specify second point of mirror line Geben Sie den zweiten Punkt der Spiegellinie an
Specify second point on circle Geben Sie den zweiten Punkt auf dem Kreis an
Specify second point on circle: _tan to Geben Sie den zweiten Punkt auf dem Kreis an: _tan zu
Specify second point or <use first point as displacement> Geben Sie den zweiten Punkt an oder <ersten Punkt als Verschiebung verwenden>
Specify second source point Geben Sie den zweiten Quellpunkt an
Specify side to offset Geben Sie die Seite für den Versatz an
Specify start angle Geben Sie den Startwinkel an
Specify start point Geben Sie den Startpunkt an
Specify start point of arc Geben Sie den Startpunkt des Bogens an
Specify start point of polyline Geben Sie den Startpunkt der Polylinie an
Specify start point of text Geben Sie den Startpunkt des Textes an
Specify starting width Geben Sie die Startbreite an
Specify starting width for next segment Geben Sie die Startbreite des nächsten Segments an
Specify tangent direction for the start point of arc Geben Sie die Tangentenrichtung für den Startpunkt des Bogens an
Specify the elevation for rectangles Geben Sie die Höhenlage für Rechtecke an
Specify thickness for rectangles Geben Sie die Stärke für Rechtecke an
Specify third point on circle Geben Sie den dritten Punkt auf dem Kreis an
Specify third point on circle: _tan to Geben Sie den dritten Punkt auf dem Kreis an: _tan zu
Specify third source point or <continue> Geben Sie den dritten Quellpunkt an oder <fortfahren>
Specify through point Geben Sie den Durchgangspunkt an
Specify top diameter Geben Sie den oberen Durchmesser an
Specify top radius or Geben Sie den oberen Radius an oder
Specify total angle Geben Sie den Gesamtwinkel an
Specify total length or Geben Sie die Gesamtlänge an oder
Specify width for rectangles Geben Sie die Breite für Rechtecke an
Sphere Kugel
Spline Spline
Stack (type 1/2 then select) Bruch (1/2 eingeben, dann auswählen)
Standard Standard
Start Start
Start Width Startbreite
Start X Start X
Start Y Start Y
Start angle Startwinkel
Start, Center, Angle Start, Zentrum, Winkel
Start, Center, End Start, Zentrum, Ende
Start, Center, Length Start, Zentrum, Länge
Start, End, Angle Start, Ende, Winkel
Start, End, Direction Start, Ende, Richtung
Start, End, Radius Start, Ende, Radius
Status Status
Status Bar Statusleiste
Stretch Strecken
Style: Standard Stil: Standard
Subtract Subtrahieren
Sweep Sweep
Switch Drawing Zeichnung wechseln
Switch Layout Layout wechseln
Switch between model space in a viewport and paper space Zwischen Modellbereich in einem Ansichtsfenster und Papierbereich wechseln
Symmetric Symmetrisch
Synchronize Attributes Attribute synchronisieren
Toggle PICKADD (off: each pick replaces the selection) PICKADD umschalten (aus: jede Auswahl ersetzt die bisherige Auswahl)
Toggle PICKADD (on: picks add to the selection) PICKADD umschalten (ein: Auswahl wird zur bisherigen Auswahl hinzugefügt)
TOP OBEN
Table Tabelle
Table Style... Tabellenstil...
Table style Tabellenstil
Table... Tabelle...
Tan, Tan, Radius Tan, Tan, Radius
Tan, Tan, Tan Tan, Tan, Tan
Tangent Tangente
Text Text
Text Editor Texteditor
Text Height Texthöhe
Text Style... Textstil...
Text height Texthöhe
Text override Textübersteuerung
Text style Textstil
Thaw All Layers Alle Layer tauen
There is nothing here yet. Hier gibt es noch nichts.
Thickness Stärke
Time Zeit
To get started, create or open a drawing. Erstellen oder öffnen Sie eine Zeichnung, um zu beginnen.
Tool Bar Werkzeugleiste
Tool Sets Werkzeuggruppen
Tools Werkzeuge
Torus Torus
Trace Spur
Transparency Transparenz
Trim Stutzen
True Color True Color
Turn All Layers On Alle Layer einschalten
Turn Off Layer Layer ausschalten
Turn Quick Properties off (QPMODE) Schnelleigenschaften ausschalten (QPMODE)
Type Typ
Type a command Befehl eingeben
Type text; Enter starts a new paragraph Text eingeben; Eingabetaste beginnt einen neuen Absatz
UCS Icon BKS-Symbol
Undo Rückgängig
Undo (⌘Z) Rückgängig (⌘Z)
Ungroup Gruppierung aufheben
Union Vereinigungsmenge
Unisolate Layer Layer-Isolierung aufheben
Units... Einheiten...
Unlock Layer Layer entsperren
Unmerge Cells Zellen trennen
Unsaved Layer State Ungespeicherter Layerstatus
Up Nach oben
Update Aktualisieren
Use System Setting Systemeinstellung verwenden
User Benutzer
User Parameters Benutzerparameter
Username Benutzername
VP Color AF-Farbe
VP Freeze AF-Frieren
Value Wert
Value: Wert:
Version Version
Version {version} Version {version}
Vertical Vertikal
VerticalDistance Vertikaler Abstand
View Ansicht
ViewCube ViewCube
Viewport Ansichtsfenster
Viewport Layer Freeze Layer im Ansichtsfenster frieren
@ -22,7 +22,7 @@ About 57,000 lines of Rust in 12 library crates, 3 apps and `xtask` (counted 202
| L3 | `io` | 5,124 | DXF ⇄ document mapping (`dxf_read.rs`, `dxf_write.rs`, CADCraft xdata in `dxf_ext.rs`), PDF plotting, SVG and PNG export |
| L3 | `dwg` | 149 | DWG through a DXF bridge: the `acadrust` crate (MPL-2.0, unmodified) converts DWG ⇄ DXF bytes; nothing else sees its types. Native only |
| L4 | `engine` | 25,090 | `Session`, the command registry (`cmd/*`), command-line parser and prompt machines, object snaps and polar/ortho (`snap.rs`), selection (`select.rs`), grips (`grips.rs`), associativity (`assoc.rs`), system variables, units, undo, R-tree spatial index (`spatial.rs`) |
| L5 | `ui-egui` | 9,849 | The swappable egui front end: GPU canvas (`gpu.rs`, wgpu), menus and shortcuts (`menus.rs`), command line, palettes, Layer Properties Manager and other dialogs, ViewCube, icons drawn in code, themes, the interface string catalog (`i18n/`, English and Ukrainian), JSON control channel (`control.rs`) |
| L5 | `ui-egui` | 9,849 | The swappable egui front end: GPU canvas (`gpu.rs`, wgpu), menus and shortcuts (`menus.rs`), command line, palettes, Layer Properties Manager and other dialogs, ViewCube, icons drawn in code, themes, the interface string catalog (`i18n/`, English, Ukrainian and German), JSON control channel (`control.rs`) |
| L5 | `mcp` | 559 | MCP server (JSON-RPC 2.0 over stdio) on a headless session or bridged to a running app |
| app | `cadcraft` | 1,102 | Desktop app (eframe/wgpu; DirectX 12 by default on Windows) |
| L1 | Catalog covers the UI (936 rows, #36) but not engine diagnostics, CLI/MCP replies or command history | 4–6 |
| L2 | AutoCAD for Mac's 7 other languages (zh-Hans, es, fr, ja, de, ko, it) plus pt, hi, ar, id, vi from the standard's list | 40–60 + native review |
| L1 | Catalog covers the UI (989 rows, #36) but not engine diagnostics, CLI/MCP replies or command history | 4–6 |
| L2 | AutoCAD for Mac's other languages (zh-Hans, es, fr, ja, ko, it; de landed 2026-10-11) plus pt, hi, ar, id, vi from the standard's list | 35–55 + native review |
| L3 | Complex-script shaping for Devanagari and other Indic scripts in drawing text; RTL (mirrored) UI. Arabic-script shaping and bidi in drawing text landed (#287) | 20–30 |
| L4 | IME fixes on every platform (PRs #110–#119); vertical text styles | 6–10 |
CLI/MCP responses and command history stay English, and uncatalogued text falls back to
@ -44,7 +45,7 @@ shaping and right-to-left text through TrueType, vertical SHX text styles.
Order and columns from craftrules' progress-docs standard. Every UI percentage is **measured**
from the catalogs (0 rows for every language without a catalog file). Hours are **estimated**:
about 3–5 h per language for an Opus 5.5 agent to translate the ~940 catalog rows and fix layout,
about 3–5 h per language for an Opus 5.5 agent to translate the ~990 catalog rows and fix layout,
plus native review by a human; extending the catalog to the remaining English-only strings
(engine diagnostics, uncatalogued text) is about 4–6 h, counted once in the first row.
@ -59,23 +60,24 @@ plus native review by a human; extending the catalog to the remaining English-on
| Portuguese | pt | 0 (0%) | 0% | Latin: yes | no | none | 3–5 h |
| Indonesian | id | 0 (0%) | 0% | Latin: yes | no | none | 3–5 h |
| Japanese | ja | 0 (0%) | 0% | CJK glyphs render; IME pending; no vertical text | no | none | 4–6 h |
| German | de | 0 (0%) | 0% | Latin: yes (long strings will need layout checks) | no | none | 3–5 h |
| German | de | 989 catalog rows (≈ 100% of the catalog; ≈ 80% of all UI strings, estimated: engine diagnostics and uncatalogued text stay English) | dialogs and tooltips yes; command reference searchable in German | Latin: yes (bundled egui fonts cover ä ö ü Ä Ö Ü ß; long strings will need layout checks) | no native review | partial | 1–2 h |
| Korean | ko | 0 (0%) | 0% | Hangul renders; macOS Korean IME fixes pending (#118, #119) | no | none | 4–6 h |
| Vietnamese | vi | 0 (0%) | 0% | Latin with stacked diacritics: renders per code point, untested | no | none | 3–5 h |
| Ukrainian | uk | 936 catalog rows (≈ 100% of the catalog; ≈ 80% of all UI strings, estimated: engine diagnostics and uncatalogued text stay English) | dialogs and tooltips yes; command reference searchable in Ukrainian | Cyrillic: yes (bundled egui fonts) | translated by a contributor; no second review | partial | 2–4 h |
| Ukrainian | uk | 989 catalog rows (≈ 100% of the catalog; ≈ 80% of all UI strings, estimated: engine diagnostics and uncatalogued text stay English) | dialogs and tooltips yes; command reference searchable in Ukrainian | Cyrillic: yes (bundled egui fonts) | translated by a contributor; no second review | partial | 2–4 h |
Other languages shipped: Ukrainian (partial). AutoCAD for Mac ships 7 non-English languages
(zh-Hans, es, fr, ja, de, ko, it); CADCraft ships none of those, and Ukrainian, which AutoCAD
for Mac doesn't ship.
Other languages shipped: Ukrainian, Brazilian Portuguese and German (all partial). AutoCAD for Mac ships 7
non-English languages (zh-Hans, es, fr, ja, de, ko, it); of those, CADCraft now ships German,
and additionally Ukrainian, which AutoCAD for Mac doesn't ship.
**Total to put all twelve at `full`:** about 60–100 Opus 5.5 hours (catalog extension 4–6 h,
eleven translations 35–55 h, complex-script shaping and RTL 30–45 h), plus native-speaker review for
**Total to put all twelve at `full`:** about 55–95 Opus 5.5 hours (catalog extension 4–6 h,
ten translations 30–50 h, complex-script shaping and RTL 30–45 h), plus native-speaker review for
each language, which needs humans. Translations parallelise fully once the catalog exists.
## Revision history
| Date | Change | Summary |
|---|---|---|
| 2026-10-11 | minor | German catalog landed: `de` preference and catalog, per-language plural rules; non-English languages 1 → 2; total hours 60–100 → 55–95 |
| 2026-10-10 | minor | Right-to-left drawing text: bidi and Arabic-script shaping in TEXT and MTEXT (#287) |
| 2026-10-10 | minor | Ukrainian catalog landed on main (#36): catalog infrastructure exists, Ukrainian partial; total hours 70–110 → 60–100 |
| 2026-10-10 | major | First localization measurement against AutoCAD 2027 for Mac's bundle localizations |