Commit Graph
36 Commits
Author SHA1 Message Date
vangel76andClaude Sonnet 5.5 5ece420543 docs: XCLIP, existing-MTEXT editing and Vietnamese are shipped; date the 245/491 and 233/491 references
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 18:18:39 +01:00
vangel76 bd37c89ca1 Merge upstream/main into docs/gaps-audit-2026-10-12 2026-11-07 18:17:35 +01:00
Tanish Manku befb9b6f61 Merge branch 'pr-2016' into land/2016 2026-11-05 14:36:35 -07:00
vangel76andClaude Sonnet 5.5 35545af16d Merge upstream/main into docs/gaps-audit-2026-10-12
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-05 02:58:56 +01:00
Davit MatchakhelidzeandClaude Opus 5.5 f9cb70500d docs: Georgian font fallback in the Georgian section
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 11:17:59 +04:00
Davit MatchakhelidzeandClaude Opus 5.5 e8408851cd docs: the Georgian face paragraph describes glyph support only
Choosing ka, its English fallback and the picker name come with the
language PR (#2016), which registers ka; this PR alone doesn't.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 11:17:59 +04:00
Davit MatchakhelidzeandClaude Opus 5.5 4b532f6c24 i18n(ka): translate the strings added upstream; prompts without the trailing "or"
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 08:01:13 +04:00
Davit MatchakhelidzeandClaude Opus 5.5 891e87a7db Merge upstream main into ka-language
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 08:01:13 +04:00
Davit MatchakhelidzeandClaude Opus 5.5 e931787a64 Merge upstream main into fonts-georgian
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 08:00:05 +04:00
RicSchonfelder 6660d88785 i18n(pt-BR): translate the rows the sibling catalogs cover (#2581)
* i18n(pt-BR): translate the rows the sibling catalogs cover

The Brazilian Portuguese catalog covered the reference catalog and every marked UI literal, but 191
strings that the German, French, Swedish and Ukrainian catalogs already translate still fell back to
English: the Hatch and Gradient dialog, the Block Editor and dynamic-block grips, the plot and drawing
units dialogs, multileader editing, selection preview settings and the unit names.

Rows follow the catalog's vocabulary (dimension = cota, hatch = hachura, grip = pinça, layout =
apresentação, multileader = multilinha, xref = referência externa), keep the prompt keywords, SPDX
tokens and technology names in English, and are appended after the existing entries.

* docs: leave localization parity updates to maintainers
2026-11-02 14:36:48 -07:00
Davit MatchakhelidzeandClaude Opus 5.5 5f6dbede5c docs: Georgian row count after the block-editor prompt
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YMTAbGNRxnMEzRvYnQGphF
2026-10-31 06:00:43 +04:00
Davit MatchakhelidzeandClaude Opus 5.5 651615e5c2 docs: Greek and Bosnian in the language lists; Georgian on the web comes with #1971
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YMTAbGNRxnMEzRvYnQGphF
2026-10-31 05:00:18 +04:00
Davit MatchakhelidzeandClaude Opus 5.5 66f65b763e docs: list bs beside ka in the supported interface languages
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YMTAbGNRxnMEzRvYnQGphF
2026-10-31 04:38:42 +04:00
Davit Matchakhelidze 90fd1329e9 Merge upstream main into fonts-georgian
# Conflicts:
#	.github/workflows/freebsd.yml
#	.github/workflows/release.yml
2026-10-25 19:00:51 +04:00
vangel76andClaude Sonnet 5.5 609148a444 Merge upstream/main into docs/gaps-audit-2026-10-12 and re-audit against main 41d9b5e95
Conflicts in file-format-parity, localization-parity, target-app-parity and
ui-parity resolved by starting from upstream and keeping only the audit
claims that still hold on main. Re-measured: catalog row counts and English
fallback counts for all fifteen catalogs, io test count (86), geometry test
counts, open PR and issue counts, acadrust version (0.6.5). Corrected rows
that main has overtaken: CI gate on pull requests (#1987), MVIEW Restore
(#633), PDF plot margins, selection cycling, Korean/Greek/Hungarian/Turkish
catalogs in the language table. Regenerated docs/parity-checklist.md with
cargo xtask parity.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-24 14:49:55 +02:00
Davit Matchakhelidze 4c2d228d89 Merge remote-tracking branch 'origin/main' into ka-language
# Conflicts:
#	docs/localization-parity.md
2026-10-24 13:58:32 +04:00
b517e0749d i18n(pt-BR): native-speaker terminology review (#1665)
* i18n(pt-BR): native-speaker terminology review

Fix mistranslations (Thaw Layer read "Ativar camada", Snap type and the
snap settings label were translated as object snap, Revolve read
"Revolucionar", "Sobre-restrito" spelling) and make the CAD vocabulary
consistent with Brazilian usage: "snap" for every snap mode, "viewport"
and "grip" kept as loanwords, "Multilinha", "Explodir".

Update the Portuguese row in localization-parity.md (it still read 0%)
and the pt-BR note in localization.md.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QcdyVcguHgMao2p9C7rVf2

* i18n(pt-BR): align offset and layer on/off wording with Brazilian usage

Brazilian university AutoCAD handouts (UFSC, UFSCar, UFRGS) keep
Offset as a loanword and describe layers as ligar/desligar.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QcdyVcguHgMao2p9C7rVf2

* i18n(pt-BR): fix Bind, keep prompt keywords and SPDX in English

Bind merges an xref into the drawing, so Integrar, not Vincular.
Prompt keywords (Top/Zero/Bottom, Multiple) stay in English because
the command line only accepts the English keywords.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QcdyVcguHgMao2p9C7rVf2

---------

Co-authored-by: Rodrigo Gressler <20211677+ffishman@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-24 01:48:25 -04:00
Davit MatchakhelidzeandClaude Opus 5.5 c8c160a4b6 Merge upstream main into ka
Georgian joins the shared i18n tests #2013 introduced (locale table, look-alike codes,
font coverage for scripts egui's bundled faces lack) in place of its own copies. The
can_show gate and the language command's no-font message for ka match #1971, so this
branch alone keeps the interface in English without a Georgian face.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YMTAbGNRxnMEzRvYnQGphF
2026-10-23 23:47:03 +04:00
aiongg dd1f0531ac i18n: missing translations never fail; cargo xtask i18n reports them (#2013) 2026-10-23 15:40:12 -04:00
Davit MatchakhelidzeandClaude Opus 5.5 096e20629e i18n(ka): apply the native speaker's terminology review
Draw = ხატვა, Bind = მიბმა, Elevation = დონე, zoom In/Out = მოახლოება/დაშორება,
Latin ViewCube compass letters, and the other decided terms; credit the review.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YMTAbGNRxnMEzRvYnQGphF
2026-10-23 12:28:32 +04:00
Davit MatchakhelidzeandClaude Opus 5.5 93e4ff10c4 fonts: draw the Georgian interface with the craft-fonts Georgian face
Bump craft-fonts-ref to a71c20e3, which adds Noto Sans Georgian (`Geor`),
and build the web release with craft-fonts (`web-craft-fonts: true`).
The interface loads the embedded `Geor` face after the CJK faces in every
language (the picker names ქართული), and the web build embeds it too
(232 KB). Without it `can_show("ka")` is false: the saved choice is kept,
the interface stays English and the language command says why.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YMTAbGNRxnMEzRvYnQGphF
2026-10-23 04:39:13 +04:00
Davit MatchakhelidzeandClaude Opus 5.5 6c72999361 i18n: add Georgian (ka) interface language
Add a Georgian catalog (ka.tsv, 1,383 rows): the union of the existing
catalogs, four menu headings (ზომების დატანა for the Dimension menu, ზომა
for the object) and single-form counts, since a Georgian noun stays
singular after a numeral. No marked UI literal falls back to English.
Prompts read "მიუთითეთ …" for Specify and "შეიყვანეთ …" for Enter;
clickable keywords keep the spelling the engine accepts. No Mtavruli.

Register the language (Preference::Georgian, `ka`, ქართული) and add
locale, preference, count, menu-heading, live-switch, dialog and
no-Mtavruli tests. Docs, README and ATTRIBUTION list it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YMTAbGNRxnMEzRvYnQGphF
2026-10-23 04:39:13 +04:00
vangel76andClaude Sonnet 5.5 6549b97b6c Merge upstream/main into docs/gaps-audit-2026-10-12
Resolve doc conflicts in favour of upstream's newer rows; refresh open-PR count, file test count and catalog list.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 01:05:12 +02:00
323f4629eb Add Greek (el) interface localization (#1307)
Co-authored-by: Camthalion77 <2944375+Camthalion77@users.noreply.github.com>
Co-authored-by: Brandon Thomas <echelon@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 03:02:49 -04:00
a0aa0863bf Turkish interface (Türkçe) (#1529)
Add a Turkish catalog (tr.tsv, 1,330 rows): the union of the existing
catalogs, four menu headings (Ölçülendirme for the Dimension menu, Ölçü for
the object) and single-form counts, since a Turkish noun stays singular after
a number. No marked UI literal falls back to English. Prompts read "… girin"
for Enter and "… belirtin" for Specify; clickable keywords (Top, Zero, Bottom,
_tan to, nX/nXP) keep the spelling the engine accepts.

Register the language (Preference::Turkish, `tr`, Türkçe) and add locale,
preference, count, menu-heading, live-switch, dialog and font tests. Docs,
README and ATTRIBUTION list it; the translation is AI-assisted, the running
app was reviewed by a native speaker, and line-by-line proofreading is still
to do.

Co-authored-by: Brandon Thomas <echelon@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 02:57:28 -04:00
Bihacsy László 38fdfa4ac4 i18n: add Hungarian (hu) interface translation (#1027)
A complete 1,326-entry Hungarian catalog: every key of the Ukrainian reference catalog and the
four menu headings (Méretezés, Rajzolás, Módosítás, Nézet). Written from the meaning of
CADCraft's English strings in general technical drawing vocabulary; no other product's
localization and no other catalog was used. The interface addresses the user informally;
command-line keywords, system variables and osnap tokens stay English.

- Preference::Hungarian (hu); hu-HU and hu_HU.UTF-8 select it. Counts take one form, as a
  Hungarian numeral is followed by the singular (plural_ko, plural_forms: 1).
- hu in REPORTED; tests for locales, saved preference and plurals, menu headings, a live
  switch, dialogs and the Hungarian letters (ő, ű) in the bundled fonts. No gaps are reported
  for Hungarian.
- ATTRIBUTION, README, docs/localization.md, docs/localization-parity.md,
  docs/control-protocol.md and the options doc comment.
2026-10-19 02:28:35 -04:00
vangel76andClaude Sonnet 5.5 950453c7fd docs: re-audit gaps.md and the parity docs against main e707ab4d
Redo of the earlier audit after ~100 PRs landed on 2026-10-13. Every change
cites a merged PR, a file or a count taken from the code; claims that could
not be verified are left as they were. Percentages and hours are not
re-scored (listed in the PR description).

Corrected: REFEDIT (#818), dynamic block references (#838-#883), Block
Editor, MLEADEREDIT/ALIGN/COLLECT (#816), in-place MTEXT editor (#792),
AutoLISP (#855), MVIEW Restore and model-space PDF margins (#633),
SpaceMouse 2D navigation (#650), ACIS data kept on save (#781),
attribute modes (#876), polyline offset bulges (#825), acadrust 0.6.4
(#859), twelve interface catalogs with re-measured row counts, closed
winit PRs #110-#119, PR/issue counts and test counts, and ui-parity rows
that earlier work had already closed.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-13 20:15:38 +02:00
1e075f76c5 Arabic (العربية) UI translation: language switching + font fallback (#798)
* Show Thai file names and text in the interface with an installed Thai font

A drawing whose file name is Thai showed boxes in its file tab and in the
window title: the interface loaded one Latin system font (plus a CJK font for
the Chinese interface), and neither has Thai.

install_fonts now also adds an installed Thai font (Thonburi, Leelawadee UI,
Noto Sans Thai, Loma...) after the Latin one, in any interface language, since
file names and drawing text are Thai whatever the interface is in. No font is
bundled; without one installed nothing changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Add Korean interface localization and Hangul font support

* Add Arabic (العربية) interface translation

A full ar.tsv catalog for the CAD interface — every menu label, tool,
palette, dialog and status message in the repo's three-column TSV
format, written from the plain meaning of the English with the
Arabic AutoCAD vocabulary its users know (أمر، إزاحة، تدوير، قص،
استدارة، طبقة…), with the six CLDR plural forms for the counts.
Registers ar in LANGUAGES with plural_arabic and the font chain
(Noto Sans Arabic first on Linux, Segoe UI/Tahoma on Windows, Geeza
Pro on macOS) so the UI families paint Arabic.

The shell itself still lays out left-to-right: egui 0.36 has no
global direction switch and no bidi, so mirroring is left for a
later pass; this PR is the catalog, the registry entry and the
fonts.

* i18n: start the Swedish (sv) interface catalog

Header only, not registered yet: the catalog is filled and the language registered in this
branch, translated from the meaning of CADCraft's English strings and reviewed by a native
Swedish speaker.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* i18n: add Swedish (sv) interface translation

A complete 1,235-entry Swedish catalog: every key of the Spanish catalog, Run Script... and the
four menu headings (Visa, Rita, Måttsättning, Ändra). Written from the meaning of CADCraft's
English strings; no other product's localisation and no other catalog was used. AI-assisted; the
terminology and the running app were reviewed by a native speaker. Command-line keywords, system
variables and osnap tokens stay English.

- Preference::Swedish (sv); sv-SE, sv-FI and sv_SE.UTF-8 select it; one|other plurals (the
  English rule).
- sv in REPORTED; tests for locales, saved preference and plurals, menu headings, a live switch,
  dialogs and the Swedish letters in the bundled fonts. No gaps are reported for Swedish.
- ATTRIBUTION, README, docs/localization.md, docs/localization-parity.md,
  docs/control-protocol.md, the options doc comment and a contributors/people.toml entry for
  @holmbom.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Chanthawat Kiriyadee <enwuft@icloud.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: huk082 <89136256+huk082@users.noreply.github.com>
Co-authored-by: hasan-sdaif <306196098+hasan-sdaif@users.noreply.github.com>
Co-authored-by: Erik Holmbom <erik.holmbom@icloud.com>
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-13 06:54:40 -04:00
7fc29b056e i18n: add Swedish (sv) interface translation (#882)
* Show Thai file names and text in the interface with an installed Thai font

A drawing whose file name is Thai showed boxes in its file tab and in the
window title: the interface loaded one Latin system font (plus a CJK font for
the Chinese interface), and neither has Thai.

install_fonts now also adds an installed Thai font (Thonburi, Leelawadee UI,
Noto Sans Thai, Loma...) after the Latin one, in any interface language, since
file names and drawing text are Thai whatever the interface is in. No font is
bundled; without one installed nothing changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Add Korean interface localization and Hangul font support

* i18n: start the Swedish (sv) interface catalog

Header only, not registered yet: the catalog is filled and the language registered in this
branch, translated from the meaning of CADCraft's English strings and reviewed by a native
Swedish speaker.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* i18n: add Swedish (sv) interface translation

A complete 1,235-entry Swedish catalog: every key of the Spanish catalog, Run Script... and the
four menu headings (Visa, Rita, Måttsättning, Ändra). Written from the meaning of CADCraft's
English strings; no other product's localisation and no other catalog was used. AI-assisted; the
terminology and the running app were reviewed by a native speaker. Command-line keywords, system
variables and osnap tokens stay English.

- Preference::Swedish (sv); sv-SE, sv-FI and sv_SE.UTF-8 select it; one|other plurals (the
  English rule).
- sv in REPORTED; tests for locales, saved preference and plurals, menu headings, a live switch,
  dialogs and the Swedish letters in the bundled fonts. No gaps are reported for Swedish.
- ATTRIBUTION, README, docs/localization.md, docs/localization-parity.md,
  docs/control-protocol.md, the options doc comment and a contributors/people.toml entry for
  @holmbom.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Chanthawat Kiriyadee <enwuft@icloud.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: huk082 <89136256+huk082@users.noreply.github.com>
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-13 06:53:31 -04:00
aed2ae9615 Add Korean interface localization and Hangul font support (#857)
* Show Thai file names and text in the interface with an installed Thai font

A drawing whose file name is Thai showed boxes in its file tab and in the
window title: the interface loaded one Latin system font (plus a CJK font for
the Chinese interface), and neither has Thai.

install_fonts now also adds an installed Thai font (Thonburi, Leelawadee UI,
Noto Sans Thai, Loma...) after the Latin one, in any interface language, since
file names and drawing text are Thai whatever the interface is in. No font is
bundled; without one installed nothing changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Add Korean interface localization and Hangul font support

---------

Co-authored-by: Chanthawat Kiriyadee <enwuft@icloud.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Brandon Thomas <echelon@gmail.com>
2026-10-13 06:52:26 -04:00
a6200fa34f i18n(pt-BR): complete the Brazilian Portuguese catalog (#791)
Add the 238 rows that still fell back to English, taking the catalog to
1,231 rows: it now covers the reference catalog and every marked UI
literal (commands, menus, tool groups and tooltips, object snaps,
drafting prompts, dialogs and Preferences), so the i18n tests report no
remaining gaps for pt-BR.

The translations follow the terminology already used in the catalog
(cota, hachura, camada, pinça, janela gráfica, referência a objetos) and
preserve placeholders ({n}, {name}) and trailing ellipses exactly.

Also add a bundled-font glyph test for the catalog's accented letters,
mirroring the German and Ukrainian ones, and record the completion in
docs/localization-parity.md (status line and revision history) and
docs/localization.md.

Written from CADCraft's English strings; no proprietary localization
resources were copied.

Co-authored-by: Brandon Thomas <echelon@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 04:45:43 -04:00
bottelliemanuele-makerandClaude Fable 5.1 ecdb8f96b2 i18n: Italian interface catalog (it.tsv) (#789)
Adds Italian as an interface language: 1,227 rows written from the
English strings with Italian desktop-CAD vocabulary (Disegna,
Tratteggio, Quota, Direttrice, layer, spazio modello/carta). Two
`menu` entries keep the menu-bar headings apart from the command and
tool-group labels: View → Visualizza (object label: Vista) and
Modify → Edita (tool group: Modifica). Italian integer plurals follow
the English rule (one, other).

Registered in i18n::LANGUAGES and Preference (code `it`), reported in
the catalog tests, with a locale/preference/plural/menu/font test;
attributed in ATTRIBUTION.md; README, ROADMAP, docs/localization.md,
docs/localization-parity.md, docs/control-protocol.md and the Options
doc comment list the language.

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-13 04:36:40 -04:00
Daniel LošákandClaude Opus 5.5 6d7c652b65 i18n: add Czech (cs) interface language (#639)
Squash of PR #639 by @Losminek.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 20:11:51 -04:00
arekownandClaude Opus 5.5 d7f3e48362 Add German (de) interface language (#573)
Squash of PR #573 by @arekown.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 14:36:40 -04:00
Wladmir JúniorandClaude Opus 5.5 235ef4f9ab Add Brazilian Portuguese (pt-BR) interface language (#539)
Squash of PR #539 by @WladmirJunior.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 12:34:47 -04:00
DmytroandClaude Opus 5.5 659d0fa125 i18n: add Ukrainian interface translation (#36)
Rebase onto main: the interface language is saved with main's other
preferences (cadcraft.prefs, beside the theme) instead of its own storage
key, on desktop and web; strings main added or changed in the touched
places (Dynamic Input settings, Properties header and current-property
rows, block picker, theme and command-history menu items, open/save
filters) are wrapped and translated; main's native-menu poll order is kept.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 13:48:44 -04:00