-
-
File workflows
-
Meet drawings where they are.
-
- Native drawing formats, recovery files, survey data, meshes, plots
- and property exports fit into a practical project workflow.
-
-
-
-
-
-
Project growth
-
Built openly. Growing in public.
-
Stars and release downloads are refreshed whenever a new version is published.
-
-
+
{{growth_label}}
{{growth_title}} {{growth_text}}
-
-
-
Common questions
-
Before you open your first drawing.
-
+ {{faq_label}}
{{faq_title}}
-
- Is Open CAD Studio free?
- Yes. The project is open source and distributed under the GPL-3.0 license.
-
-
- Can I use it without installing anything?
- Yes. The web app runs in a modern browser and saves edited drawings as local downloads.
-
-
- Which desktop platforms are supported?
- Release packages are available for Windows, Linux and Apple Silicon macOS.
-
-
- Is the project ready for critical production files?
- The project is under active development. Keep backups and report reproducible problems on GitHub.
-
+
{{faq_free}} {{faq_free_answer}}
+
{{faq_web}} {{faq_web_answer}}
+
{{faq_platforms}} {{faq_platforms_answer}}
+
{{faq_production}} {{faq_production_answer}}
-
-
diff --git a/scripts/assemble-site.sh b/scripts/assemble-site.sh
index 6e1855d8f..b614e2003 100644
--- a/scripts/assemble-site.sh
+++ b/scripts/assemble-site.sh
@@ -5,13 +5,10 @@ output="${1:-dist}"
test -f "$output/app/index.html"
mkdir -p "$output/assets"
-install -m 0644 index.html "$output/index.html"
install -m 0644 site/site.css "$output/site.css"
install -m 0644 site/robots.txt "$output/robots.txt"
-install -m 0644 site/sitemap.xml "$output/sitemap.xml"
-install -m 0644 site/site.webmanifest "$output/site.webmanifest"
install -m 0644 site/CNAME "$output/CNAME"
install -m 0644 site/og.png "$output/og.png"
install -m 0644 site/workspace.png "$output/assets/workspace.png"
install -m 0644 site/modeling.png "$output/assets/modeling.png"
-install -m 0644 assets/logo.svg "$output/assets/logo.svg"
+python3 scripts/build-site.py "$output"
diff --git a/scripts/build-site.py b/scripts/build-site.py
new file mode 100644
index 000000000..6519f975b
--- /dev/null
+++ b/scripts/build-site.py
@@ -0,0 +1,112 @@
+#!/usr/bin/env python3
+"""Build the static website using the application's supported locales."""
+
+import hashlib
+import json
+import re
+import shutil
+import sys
+from html import escape
+from pathlib import Path
+
+ROOT = Path(__file__).resolve().parents[1]
+BASE = "https://www.opencadstudio.com"
+REPO = "https://github.com/HakanSeven12/OpenCADStudio"
+
+
+def locale_path(locale):
+ return f"/{locale}/"
+
+
+def load_catalogs():
+ catalogs = {p.stem: json.loads(p.read_text()) for p in sorted((ROOT / "site/locales").glob("*.json"))}
+ supported = {p.parent.name for p in (ROOT / "locales").glob("*/opencadstudio.ftl")}
+ if catalogs.keys() != supported:
+ raise ValueError(f"Website locale mismatch: {catalogs.keys() ^ supported}")
+ source = catalogs["en-US"]
+ for locale, messages in catalogs.items():
+ if messages.keys() != source.keys():
+ raise ValueError(f"{locale}: translation key mismatch: {messages.keys() ^ source.keys()}")
+ for key, value in messages.items():
+ if not isinstance(value, str) or not value.strip():
+ raise ValueError(f"{locale}: empty translation for {key}")
+ if set(re.findall(r"\{\w+\}", value)) != set(re.findall(r"\{\w+\}", source[key])):
+ raise ValueError(f"{locale}: placeholder mismatch for {key}")
+ return catalogs
+
+
+def build(output):
+ catalogs = load_catalogs()
+ template = (ROOT / "index.html").read_text()
+ (output / "assets").mkdir(parents=True, exist_ok=True)
+
+ def asset(source):
+ fingerprint = hashlib.sha256(source.read_bytes()).hexdigest()[:12]
+ path = f"/assets/{source.stem}-{fingerprint}{source.suffix}"
+ shutil.copyfile(source, output / path.lstrip("/"))
+ return path
+
+ logo = asset(ROOT / "assets/logo.svg")
+ shutil.copyfile(ROOT / "assets/logo.svg", output / "assets/logo.svg")
+ ico = asset(ROOT / "site/favicon.ico")
+ touch = asset(ROOT / "site/apple-touch-icon.png")
+ icons = (f'
\n'
+ f'
\n'
+ f'
')
+ manifest = json.loads((ROOT / "site/site.webmanifest").read_text())
+ manifest["icons"] = [{"src": logo, "sizes": "any", "type": "image/svg+xml"}]
+ for size in (192, 512):
+ manifest["icons"].append({"src": asset(ROOT / f"site/icon-{size}.png"), "sizes": f"{size}x{size}", "type": "image/png"})
+ shutil.copyfile(ROOT / "site/favicon.ico", output / "favicon.ico")
+ shutil.copyfile(ROOT / "site/apple-touch-icon.png", output / "apple-touch-icon.png")
+ css_version = hashlib.sha256((ROOT / "site/site.css").read_bytes()).hexdigest()[:12]
+ script = "const SITE_LOCALES = " + json.dumps(list(catalogs)) + ";\n" + (ROOT / "site/site.js").read_text()
+ (output / "site.js").write_text(script, encoding="utf-8")
+ js_version = hashlib.sha256(script.encode()).hexdigest()[:12]
+ alternates = '\n'.join(f'
' for lang in catalogs)
+ alternates += f'\n
'
+ for locale, messages in catalogs.items():
+ path = locale_path(locale)
+ destination = output / path.lstrip("/")
+ destination.mkdir(parents=True, exist_ok=True)
+ language_links = '\n'.join(
+ f'
{escape(labels["name"])} ' for lang, labels in catalogs.items()
+ )
+ schema = {
+ "@context": "https://schema.org", "@type": "SoftwareApplication",
+ "name": "Open CAD Studio", "url": BASE + path, "inLanguage": locale,
+ "description": messages["description"], "applicationCategory": "DesignApplication",
+ "operatingSystem": "Windows, Linux, macOS, Web", "isAccessibleForFree": True,
+ "license": "https://www.gnu.org/licenses/gpl-3.0.html", "codeRepository": REPO,
+ "downloadUrl": REPO + "/releases/latest", "installUrl": BASE + "/app/",
+ "offers": {"@type": "Offer", "price": "0", "priceCurrency": "USD"},
+ }
+ values = {key: escape(value) for key, value in messages.items()}
+ values.update(locale=locale, direction="rtl" if locale == "ar-SA" else "ltr",
+ path=path, url=BASE + path, og_locale=locale.replace("-", "_"),
+ logo=logo, icons=icons, css_version=css_version, js_version=js_version, alternates=alternates,
+ languages=escape(messages["languages"].format(count=len(catalogs))),
+ language_links=language_links,
+ schema=json.dumps(schema, ensure_ascii=False).replace("<", "\\u003c"))
+ rendered = re.sub(r"\{\{(\w+)\}\}", lambda match: values[match[1]], template)
+ (destination / "index.html").write_text(rendered, encoding="utf-8")
+ localized_manifest = {**manifest, "lang": locale, "dir": values["direction"],
+ "description": messages["description"], "start_url": path,
+ "shortcuts": [{"name": messages["launch"], "url": "/app/"}]}
+ (destination / "site.webmanifest").write_text(json.dumps(localized_manifest, ensure_ascii=False, indent=2) + '\n', encoding="utf-8")
+ for filename in ("index.html", "site.webmanifest"):
+ shutil.copyfile(output / "en-US" / filename, output / filename)
+ urls = f'
{BASE}/ \n' + ''.join(f'
{BASE}{locale_path(locale)} \n' for locale in catalogs)
+ (output / "sitemap.xml").write_text('\n
\n' + urls + ' \n')
+
+ app = output / "app/index.html"
+ if app.exists():
+ html = re.sub(r'
]*\brel=["\'](?:shortcut )?icon["\'])[^>]*>', '', app.read_text())
+ app.write_text(html.replace('', icons + '\n'), encoding="utf-8")
+ print(f"Built {len(catalogs)} website languages and current application icons")
+
+
+if __name__ == "__main__":
+ build(Path(sys.argv[1] if len(sys.argv) > 1 else "dist"))
diff --git a/scripts/generate-star-history.py b/scripts/generate-star-history.py
index 31a51752f..e0b98ebab 100644
--- a/scripts/generate-star-history.py
+++ b/scripts/generate-star-history.py
@@ -163,6 +163,7 @@ def render_svg(
releases: list[tuple[str, datetime, int]],
theme: str,
chart: str,
+ labels: dict | None = None,
) -> str:
colors = THEMES[theme]
now = datetime.now(timezone.utc)
@@ -190,6 +191,17 @@ def render_svg(
point_color = colors["download_point"]
last_label = f"{releases[-1][0]} · {releases[-1][2]}"
+ if labels:
+ title = labels["stars" if stars else "downloads"]
+ legend = title
+ axis_label = labels["stars" if stars else "chart_downloads"]
+ subtitle = labels["chart_updated"].format(date=now.strftime("%Y-%m-%d"))
+ if stars:
+ subtitle = f"{len(dates)} · {subtitle}"
+ last_label = str(len(dates))
+ else:
+ subtitle = labels["chart_totals"].format(count=f"{total_downloads:,}", releases=len(releases)) + " · " + subtitle
+
start = points[0][0] - timedelta(days=2)
end = max(now, points[-1][0]) + timedelta(days=2)
duration = max((end - start).total_seconds(), 1)
@@ -243,7 +255,9 @@ def render_svg(
for index in range(5):
moment = start + (end - start) * (index / 4)
x = x_position(moment)
- if index in (0, 4):
+ if labels:
+ label = moment.strftime("%Y-%m")
+ elif index in (0, 4):
label = moment.strftime("%b %Y")
else:
label = moment.strftime("%b")
@@ -281,8 +295,8 @@ def render_svg(
{escape(title)}
{escape(subtitle)}
-
{legend}
-
{axis_label}
+
{escape(legend)}
+
{escape(axis_label)}
{''.join(grid)}
{''.join(x_labels)}
{area}
@@ -303,6 +317,7 @@ def main() -> None:
)
parser.add_argument("--output-dir", type=Path, default=Path("dist"))
args = parser.parse_args()
+ catalogs = {path.stem: json.loads(path.read_text()) for path in (Path(__file__).resolve().parents[1] / "site/locales").glob("*.json")}
token = os.environ.get("GITHUB_TOKEN") or os.environ.get("GH_TOKEN")
dates = fetch_star_dates(args.repository, token)
@@ -315,6 +330,10 @@ def main() -> None:
render_svg(args.repository, dates, releases, theme, chart),
encoding="utf-8",
)
+ for locale, labels in catalogs.items():
+ localized = args.output_dir / locale / output.name
+ localized.parent.mkdir(parents=True, exist_ok=True)
+ localized.write_text(render_svg(args.repository, dates, releases, theme, chart, labels), encoding="utf-8")
print(
f"growth history: {len(dates)} stars, "
f"{sum(downloads for _, _, downloads in releases)} downloads"
diff --git a/scripts/test_site.cjs b/scripts/test_site.cjs
new file mode 100644
index 000000000..72ad7b554
--- /dev/null
+++ b/scripts/test_site.cjs
@@ -0,0 +1,46 @@
+// Run with node scripts/test_site.cjs dist/site.js.
+const assert = require('node:assert/strict');
+const fs = require('node:fs');
+const vm = require('node:vm');
+const source = fs.readFileSync(process.argv[2] || 'dist/site.js', 'utf8');
+
+function visit(language, pathname = '/', saved, blocked = false) {
+ let redirected, click;
+ const context = {
+ navigator: { language },
+ location: { pathname, search: '?ref=test', hash: '#formats', replace: url => { redirected = url; } },
+ document: { addEventListener: (type, listener) => { click = listener; } },
+ localStorage: {
+ getItem: () => { if (blocked) throw new Error('Storage disabled'); return saved; },
+ setItem: (key, value) => { if (blocked) throw new Error('Storage disabled'); saved = value; },
+ },
+ };
+ vm.runInNewContext(source, context);
+ return { context, redirected, choose: tag => click({ target: { closest: () => ({ hreflang: tag }) } }), saved: () => saved };
+}
+
+for (const [language, expected] of Object.entries({
+ 'tr-TR': 'tr-TR', 'tr-CY': 'tr-TR', 'TR': 'tr-TR', 'pt-PT': 'pt-BR',
+ 'zh-Hant': 'zh-TW', 'zh-Hant-HK': 'zh-TW', 'zh-HK': 'zh-TW', 'zh-MO': 'zh-TW',
+ 'zh-Hans-SG': 'zh-CN', 'en-GB': 'en-US', 'sv-SE': 'en-US', '': 'en-US',
+})) {
+ const result = visit(language);
+ assert.equal(result.context.preferredLocale(language), expected);
+ assert.equal(result.redirected, expected === 'en-US' ? undefined : `/${expected}/?ref=test#formats`);
+}
+const context = visit('en-US').context;
+for (const locale of vm.runInNewContext('SITE_LOCALES', context)) {
+ assert.equal(context.preferredLocale(locale), locale);
+}
+assert.equal(visit('tr-TR', '/', 'en-US').redirected, undefined);
+assert.equal(visit('sv-SE', '/', 'tr-TR').redirected, '/tr-TR/?ref=test#formats');
+assert.equal(visit('tr-TR', '/', '../../unsafe').redirected, '/tr-TR/?ref=test#formats');
+assert.equal(visit('tr-TR', '/en-US/', undefined, true).redirected, undefined);
+assert.equal(visit('en-US', '/tr-TR/').redirected, undefined);
+assert.equal(visit('tr-TR', '/', undefined, true).redirected, '/tr-TR/?ref=test#formats');
+assert.equal(visit('tr-TR', '/index.html').redirected, '/tr-TR/?ref=test#formats');
+const choice = visit('en-US');
+choice.choose('tr-TR');
+assert.equal(choice.saved(), 'tr-TR');
+visit('en-US', '/', undefined, true).choose('en-US');
+console.log('Website language matching, redirects, manual choices and blocked storage passed');
diff --git a/scripts/test_site.py b/scripts/test_site.py
new file mode 100644
index 000000000..2e33ea2ba
--- /dev/null
+++ b/scripts/test_site.py
@@ -0,0 +1,88 @@
+"""Run with python3 scripts/test_site.py (Python and Node standard libraries)."""
+
+from datetime import datetime, timezone
+from html.parser import HTMLParser
+import importlib.util
+import json
+from pathlib import Path
+import re
+import subprocess
+import tempfile
+from urllib.parse import urlsplit
+import xml.etree.ElementTree as ET
+
+ROOT = Path(__file__).resolve().parents[1]
+
+
+class Page(HTMLParser):
+ def __init__(self, html):
+ super().__init__()
+ self.tags = []
+ self.ids = set()
+ self.feed(html)
+
+ def handle_starttag(self, tag, attrs):
+ attrs = dict(attrs)
+ self.tags.append((tag, attrs))
+ if 'id' in attrs:
+ assert attrs['id'] not in self.ids, attrs['id']
+ self.ids.add(attrs['id'])
+
+
+with tempfile.TemporaryDirectory() as directory:
+ output = Path(directory)
+ (output / 'app').mkdir()
+ (output / 'app/index.html').write_text('
App')
+ subprocess.run(['sh', 'scripts/assemble-site.sh', str(output)], cwd=ROOT, check=True)
+ catalogs = {p.stem: json.loads(p.read_text()) for p in (ROOT / 'site/locales').glob('*.json')}
+ supported = set(re.findall(r'#\[serde\(rename = "([a-z]{2}-[A-Z]{2})"\)\]', (ROOT / 'src/i18n.rs').read_text()))
+ assert catalogs.keys() == supported
+ spec = importlib.util.spec_from_file_location('charts', ROOT / 'scripts/generate-star-history.py')
+ charts = importlib.util.module_from_spec(spec)
+ spec.loader.exec_module(charts)
+ date = datetime(2026, 1, 1, tzinfo=timezone.utc)
+ for locale, messages in catalogs.items():
+ for chart in ('stars', 'downloads'):
+ svg = charts.render_svg('HakanSeven12/OpenCADStudio', [date], [('v1', date, 10)], 'dark', chart, messages)
+ tree = ET.fromstring(svg)
+ assert tree.find('{http://www.w3.org/2000/svg}title').text == messages['stars' if chart == 'stars' else 'downloads']
+ (output / locale / f'{chart[:-1]}-history-dark.svg').write_text(svg)
+ html = (output / locale / 'index.html').read_text()
+ assert '{{' not in html and '{count}' not in html, locale
+ page = Page(html)
+ assert ('html', {'lang': locale, 'dir': 'rtl' if locale == 'ar-SA' else 'ltr'}) in page.tags
+ links = [attrs for tag, attrs in page.tags if tag == 'link']
+ assert {link['hreflang'] for link in links if link.get('rel') == 'alternate'} == supported | {'x-default'}
+ assert next(link['href'] for link in links if link.get('rel') == 'canonical') == f'https://www.opencadstudio.com/{locale}/'
+ choices = [attrs for tag, attrs in page.tags if tag == 'a' and 'hreflang' in attrs]
+ assert {choice['hreflang'] for choice in choices} == supported
+ assert [choice['hreflang'] for choice in choices if choice.get('aria-current') == 'page'] == [locale]
+ schema = json.loads(re.search(r'', html).group(1))
+ assert schema['inLanguage'] == locale and schema['description'] == messages['description']
+ for tag, attrs in page.tags:
+ if tag == 'img':
+ assert 'alt' in attrs and 'width' in attrs and 'height' in attrs
+ for attr in ('src', 'href'):
+ target = attrs.get(attr, '')
+ if target.startswith('#'):
+ assert target[1:] in page.ids, target
+ elif target.startswith('/'):
+ path = output / urlsplit(target).path.lstrip('/')
+ assert path.exists(), (locale, target)
+ manifest = json.loads((output / locale / 'site.webmanifest').read_text())
+ assert manifest['lang'] == locale and manifest['start_url'] == f'/{locale}/'
+ for icon in manifest['icons']:
+ assert (output / icon['src'].lstrip('/')).exists()
+ if locale != 'en-US':
+ for key, value in messages.items():
+ if len(catalogs['en-US'][key]) > 40:
+ assert value != catalogs['en-US'][key], (locale, key)
+ app = (output / 'app/index.html').read_text()
+ assert 'old.svg' not in app and 'integrity="old"' not in app and '>App<' in app
+ logo = next(attrs['href'] for tag, attrs in Page(app).tags if attrs.get('type') == 'image/svg+xml')
+ assert (output / logo.lstrip('/')).read_bytes() == (ROOT / 'assets/logo.svg').read_bytes()
+ sitemap = ET.parse(output / 'sitemap.xml')
+ assert len(sitemap.getroot()) == len(supported) + 1
+ assert (output / 'index.html').read_bytes() == (output / 'en-US/index.html').read_bytes()
+ subprocess.run(['node', 'scripts/test_site.cjs', str(output / 'site.js')], cwd=ROOT, check=True)
+print(f'All {len(supported)} translations, metadata, local links, charts, manifests and icons passed')
diff --git a/site/README.md b/site/README.md
new file mode 100644
index 000000000..b96725a53
--- /dev/null
+++ b/site/README.md
@@ -0,0 +1,14 @@
+# Website
+
+`index.html` is the template; `site/locales/*.json` supplies all 21 application languages.
+Run `sh scripts/assemble-site.sh` after the web build, then
+`python3 scripts/generate-star-history.py --output-dir dist` for the charts.
+Run `python3 scripts/test_site.py` to check translations, links, metadata and language selection.
+
+The root page follows the browser language, falling back to English. Language links
+use explicit locale paths and remember manual choices when browser storage is available.
+Arabic uses a right-to-left layout. Icons are exported from `assets/logo.svg`;
+update the PNG/ICO files in this directory when the logo changes.
+
+GitHub Pages publishes website changes from `main` while building the app from the
+latest release. Each deployment records both sources separately.
diff --git a/site/apple-touch-icon.png b/site/apple-touch-icon.png
new file mode 100644
index 000000000..53bc90110
Binary files /dev/null and b/site/apple-touch-icon.png differ
diff --git a/site/favicon.ico b/site/favicon.ico
new file mode 100644
index 000000000..a98da5409
Binary files /dev/null and b/site/favicon.ico differ
diff --git a/site/icon-192.png b/site/icon-192.png
new file mode 100644
index 000000000..f5f7f3bda
Binary files /dev/null and b/site/icon-192.png differ
diff --git a/site/icon-512.png b/site/icon-512.png
new file mode 100644
index 000000000..9f6393c93
Binary files /dev/null and b/site/icon-512.png differ
diff --git a/site/locales/ar-SA.json b/site/locales/ar-SA.json
new file mode 100644
index 000000000..aa4cf5567
--- /dev/null
+++ b/site/locales/ar-SA.json
@@ -0,0 +1,95 @@
+{
+ "name": "العربية",
+ "title": "Open CAD Studio — تصميم CAD مجاني لملفات DWG وDXF",
+ "description": "افتح ملفات DWG وDXF واحفظها، وارسم ثنائي الأبعاد وصمّم نماذج ثلاثية الأبعاد. برنامج CAD حر للمتصفح وWindows وLinux وmacOS.",
+ "skip": "انتقل إلى المحتوى",
+ "home": "الصفحة الرئيسية لـ Open CAD Studio",
+ "navigation": "التنقل",
+ "language": "اللغة",
+ "capabilities": "الإمكانات",
+ "desktop": "سطح المكتب",
+ "formats": "الصيغ",
+ "launch": "افتح تطبيق الويب",
+ "eyebrow": "CAD مفتوح المصدر · سطح المكتب والويب",
+ "hero_title": "دعم مباشر لـ DWG وDXF.",
+ "hero_emphasis": "استوديو CAD مفتوح.",
+ "hero_lead": "أنشئ رسومات ثنائية الأبعاد ومخططات إخراج ونماذج ثلاثية الأبعاد. افتح ملفًا من جهازك واحفظ عملك محليًا، في المتصفح أو على سطح المكتب.",
+ "download": "نزّل إصدار سطح المكتب",
+ "license": "ترخيص GPL-3.0",
+ "languages": "{count} لغة للواجهة",
+ "no_account": "مجاني · دون حساب · دون تثبيت",
+ "workspace_alt": "مخطط تقني بصيغة DWG مفتوح في Open CAD Studio",
+ "native_editing": "تحرير مباشر",
+ "read_write": "قراءة وكتابة",
+ "one_workspace": "مساحة عمل واحدة",
+ "gpu": "عرض مُسرّع",
+ "core": "نواة تحرير مشتركة",
+ "cap_eyebrow": "الرسم والتوثيق",
+ "cap_title": "من الخط الأول إلى مخطط الإخراج النهائي.",
+ "cap_lead": "أوامر وتحديد مواقع دقيق ولوحات رسم في مساحة عمل واحدة.",
+ "draft_label": "رسم دقيق",
+ "draft_title": "ابدأ بأمر.",
+ "draft_text": "ارسم وحرّر باستخدام الإكمال التلقائي للأوامر والالتقاط إلى العناصر والتتبع. نظّم الرسم بالطبقات والكتل والمراجع الخارجية.",
+ "doc_label": "التوثيق",
+ "doc_title": "جهّز لوحات رسم متكاملة.",
+ "doc_text": "أضف النصوص والأبعاد وخطوط الإشارة والتفاوتات والجداول. رتّب المخططات في مساحة الورق باستخدام منافذ العرض وأنماط الطباعة.",
+ "open_label": "سير عمل مفتوح",
+ "open_title": "رسوماتك تبقى ملكك.",
+ "open_text": "افتح ملفات DWG وDXF واحفظها مباشرة على جهازك. الشيفرة المصدرية متاحة للجميع والأدوات مجانية.",
+ "model_label": "نمذجة ثلاثية الأبعاد بنواة هندسية",
+ "model_title": "أنشئ المجسمات وشكّلها.",
+ "model_text": "أنشئ الأشكال الأساسية وعمليات البثق والدوران والسحب والانتقال بين المقاطع. ادمج المجسمات أو اطرحها بعمليات منطقية تنفذها النواة الهندسية.",
+ "camera": "عروض متعامدة ومنظورية",
+ "tessellation": "عرض مجسمات ACIS",
+ "mesh_workflow": "استيراد OBJ وتصدير الشبكات",
+ "model_alt": "نموذج ميكانيكي ثلاثي الأبعاد في منفذي عرض داخل Open CAD Studio",
+ "model_space": "مساحة النموذج",
+ "model_caption": "هندسة مجسمة · عروض تفاعلية",
+ "editions_label": "نواة واحدة وطريقتان للعمل",
+ "editions_title": "افتحه في المتصفح أو ثبّته على جهازك.",
+ "web": "الويب",
+ "web_title": "ابدأ الرسم في متصفحك.",
+ "web_text": "دون حساب أو تثبيت. اختر رسمًا محليًا وعدّله ثم نزّل النتيجة. يُنزّل التطبيق عند تشغيله للمرة الأولى.",
+ "web_limit": "للرسومات الكبيرة والتكامل مع النظام، استخدم تطبيق سطح المكتب.",
+ "desktop_title": "أكمل سير عملك على سطح المكتب.",
+ "desktop_text": "استخدم ربط الملفات والمصغرات والطباعة عبر النظام وإخراج PDF والإضافات الأصلية والبرامج النصية والأتمتة دون واجهة.",
+ "latest": "نزّل أحدث إصدار",
+ "release_notes": "ملاحظات الإصدار",
+ "formats_label": "العمل مع الملفات",
+ "formats_title": "اقرأ ملفات الرسم واكتبها مباشرة.",
+ "formats_text": "افتح DWG وDXF واحفظهما مباشرة بإصدارات من R14 إلى R2018. تعامل أيضًا مع ملفات الاسترداد والشبكات وتصدير الخصائص.",
+ "format_versions": "قراءة · كتابة · R14–R2018",
+ "recovery": "استرداد الرسومات",
+ "mesh_formats": "استيراد الشبكات وتصديرها",
+ "pdf": "الطباعة على سطح المكتب",
+ "csv": "استخراج الخصائص",
+ "growth_label": "نمو المشروع",
+ "growth_title": "تطوير مفتوح ونمو معلن.",
+ "growth_text": "تابع المشروع عبر نجوم GitHub وتنزيلات الإصدارات.",
+ "stars": "النجوم",
+ "stars_link": "عرض أصحاب النجوم",
+ "downloads": "تنزيلات الإصدارات",
+ "releases_link": "عرض الإصدارات",
+ "chart_updated": "آخر تحديث: {date}",
+ "chart_downloads": "التنزيلات لكل إصدار",
+ "chart_totals": "{count} تنزيل · {releases} إصدار · باستثناء الأحدث",
+ "faq_label": "أسئلة شائعة",
+ "faq_title": "قبل رسمك الأول.",
+ "faq_free": "هل Open CAD Studio مجاني؟",
+ "faq_free_answer": "نعم. المشروع مفتوح المصدر ويوزّع بموجب ترخيص GPL-3.0.",
+ "faq_web": "هل أحتاج إلى حساب أو تثبيت؟",
+ "faq_web_answer": "لا. افتح تطبيق الويب في متصفح حديث. تُفتح الرسومات من جهازك وتُحفظ بتنزيلها محليًا.",
+ "faq_platforms": "ما أنظمة سطح المكتب المدعومة؟",
+ "faq_platforms_answer": "تتوفر حزم لـ Windows وLinux وmacOS بمعالجات Apple Silicon.",
+ "faq_production": "هل يمكنني استخدامه لملفات إنتاج حساسة؟",
+ "faq_production_answer": "المشروع قيد التطوير النشط. احتفظ بنسخ احتياطية وأبلغ عن المشكلات القابلة للتكرار على GitHub.",
+ "community_label": "تطوير مفتوح",
+ "community_title": "ساهم في تطوير Open CAD Studio.",
+ "community_text": "أبلغ عن المشكلات أو ساهم بالشيفرة أو ادعم التطوير.",
+ "github": "عرض على GitHub",
+ "sponsor": "دعم التطوير",
+ "footer": "رسم تقني ونمذجة مجسمة مفتوحا المصدر.",
+ "web_app": "تطبيق الويب",
+ "download_nav": "التنزيلات",
+ "discussions": "المناقشات"
+}
diff --git a/site/locales/bg-BG.json b/site/locales/bg-BG.json
new file mode 100644
index 000000000..65984932c
--- /dev/null
+++ b/site/locales/bg-BG.json
@@ -0,0 +1,95 @@
+{
+ "name": "Български",
+ "title": "Open CAD Studio — Безплатен CAD за DWG и DXF",
+ "description": "Отваряйте и записвайте DWG и DXF, чертайте в 2D и моделирайте в 3D. Свободен CAD за браузър, Windows, Linux и macOS.",
+ "skip": "Към съдържанието",
+ "home": "Начало на Open CAD Studio",
+ "navigation": "Навигация",
+ "language": "Език",
+ "capabilities": "Възможности",
+ "desktop": "Настолна версия",
+ "formats": "Формати",
+ "launch": "Отворете уеб приложението",
+ "eyebrow": "CAD с отворен код · Настолен + Уеб",
+ "hero_title": "DWG и DXF директно.",
+ "hero_emphasis": "Едно отворено CAD студио.",
+ "hero_lead": "Създавайте 2D чертежи, оформления и 3D модели. Отворете файл от устройството си и запазете работата локално, в браузъра или на компютъра.",
+ "download": "Изтеглете настолната версия",
+ "license": "Лиценз GPL-3.0",
+ "languages": "{count} езика на интерфейса",
+ "no_account": "Безплатно · Без регистрация · Без инсталация",
+ "workspace_alt": "Технически DWG план, отворен в Open CAD Studio",
+ "native_editing": "Директно редактиране",
+ "read_write": "Четене и запис",
+ "one_workspace": "Едно работно пространство",
+ "gpu": "Ускорен изглед",
+ "core": "Общо ядро за редактиране",
+ "cap_eyebrow": "Чертане и документация",
+ "cap_title": "От първата линия до готовото оформление.",
+ "cap_lead": "Команди, точно позициониране и чертожни листове в едно пространство.",
+ "draft_label": "Прецизно чертане",
+ "draft_title": "Започнете с команда.",
+ "draft_text": "Чертайте и редактирайте с допълване на команди, прилепване към обекти и проследяване. Организирайте чертежа със слоеве, блокове и външни препратки.",
+ "doc_label": "Документация",
+ "doc_title": "Подгответе завършени чертожни листове.",
+ "doc_text": "Добавете текст, размери, указателни линии, допуски и таблици. Подредете оформленията в хартиеното пространство с прозорци и стилове за печат.",
+ "open_label": "Отворен работен процес",
+ "open_title": "Чертежите ви остават ваши.",
+ "open_text": "Отваряйте и записвайте DWG и DXF директно на устройството си. Изходният код е публичен, а инструментите са безплатни.",
+ "model_label": "3D с геометрично ядро",
+ "model_title": "Създавайте и оформяйте обемни модели.",
+ "model_text": "Създавайте примитиви, екструзии, ротационни тела, изтегляния по път и преходи между сечения. Обединявайте или изваждайте тела с булеви операции на геометричното ядро.",
+ "camera": "Ортографски и перспективни изгледи",
+ "tessellation": "Визуализация на ACIS тела",
+ "mesh_workflow": "Импорт на OBJ и експорт на мрежи",
+ "model_alt": "Механичен 3D модел в два прозореца на Open CAD Studio",
+ "model_space": "Моделно пространство",
+ "model_caption": "Обемна геометрия · Интерактивни изгледи",
+ "editions_label": "Едно ядро, два начина на работа",
+ "editions_title": "Отворете в браузъра или инсталирайте на компютъра.",
+ "web": "Уеб",
+ "web_title": "Започнете да чертаете в браузъра.",
+ "web_text": "Без регистрация и инсталация. Изберете локален чертеж, редактирайте го и изтеглете резултата. При първото стартиране се изтегля приложението.",
+ "web_limit": "За големи чертежи и системни интеграции използвайте настолното приложение.",
+ "desktop_title": "Допълнете настолния си работен процес.",
+ "desktop_text": "Използвайте файлови асоциации, миниатюри, системен печат, PDF изход, нативни разширения, скриптове и автоматизация без интерфейс.",
+ "latest": "Изтеглете последната версия",
+ "release_notes": "Бележки по версията",
+ "formats_label": "Работа с файлове",
+ "formats_title": "Четете и записвайте истински чертожни файлове.",
+ "formats_text": "Отваряйте и записвайте DWG и DXF директно, с целеви версии R14–R2018. Работете и с файлове за възстановяване, мрежи и експорт на свойства.",
+ "format_versions": "Четене · Запис · R14–R2018",
+ "recovery": "Възстановяване на чертежи",
+ "mesh_formats": "Импорт и експорт на мрежи",
+ "pdf": "Настолен печат",
+ "csv": "Извличане на свойства",
+ "growth_label": "Развитие на проекта",
+ "growth_title": "Отворена разработка. Публичен растеж.",
+ "growth_text": "Следете проекта чрез звездите в GitHub и изтеглянията на версиите.",
+ "stars": "Звезди",
+ "stars_link": "Вижте звездите",
+ "downloads": "Изтегляния на версии",
+ "releases_link": "Вижте версиите",
+ "chart_updated": "Обновено: {date}",
+ "chart_downloads": "Изтегляния на версия",
+ "chart_totals": "{count} изтегляния · {releases} версии · Без последната",
+ "faq_label": "Чести въпроси",
+ "faq_title": "Преди първия ви чертеж.",
+ "faq_free": "Безплатен ли е Open CAD Studio?",
+ "faq_free_answer": "Да. Проектът е с отворен код и се разпространява под лиценза GPL-3.0.",
+ "faq_web": "Необходима ли е регистрация или инсталация?",
+ "faq_web_answer": "Не. Отворете уеб приложението в съвременен браузър. Чертежите се отварят от устройството ви и се записват като локални изтегляния.",
+ "faq_platforms": "Кои настолни платформи се поддържат?",
+ "faq_platforms_answer": "Предлагат се пакети за Windows, Linux и macOS с Apple Silicon.",
+ "faq_production": "Мога ли да работя с критични производствени файлове?",
+ "faq_production_answer": "Проектът се развива активно. Пазете резервни копия и докладвайте възпроизводими проблеми в GitHub.",
+ "community_label": "Отворена разработка",
+ "community_title": "Помогнете за развитието на Open CAD Studio.",
+ "community_text": "Докладвайте проблеми, допринасяйте с код или подкрепете разработката.",
+ "github": "Вижте в GitHub",
+ "sponsor": "Подкрепете разработката",
+ "footer": "Техническо чертане и обемно моделиране с отворен код.",
+ "web_app": "Уеб приложение",
+ "download_nav": "Изтегляния",
+ "discussions": "Дискусии"
+}
diff --git a/site/locales/cs-CZ.json b/site/locales/cs-CZ.json
new file mode 100644
index 000000000..85620503a
--- /dev/null
+++ b/site/locales/cs-CZ.json
@@ -0,0 +1,95 @@
+{
+ "name": "Čeština",
+ "title": "Open CAD Studio — Bezplatný CAD pro DWG a DXF",
+ "description": "Otevírejte a ukládejte DWG a DXF, kreslete ve 2D a modelujte ve 3D. Svobodný CAD pro prohlížeč, Windows, Linux a macOS.",
+ "skip": "Přejít k obsahu",
+ "home": "Domovská stránka Open CAD Studio",
+ "navigation": "Navigace",
+ "language": "Jazyk",
+ "capabilities": "Funkce",
+ "desktop": "Desktop",
+ "formats": "Formáty",
+ "launch": "Otevřít webovou aplikaci",
+ "eyebrow": "Otevřený CAD · Desktop + Web",
+ "hero_title": "Nativní DWG a DXF.",
+ "hero_emphasis": "Jedno otevřené CAD studio.",
+ "hero_lead": "Vytvářejte 2D výkresy, rozvržení a 3D modely. Otevřete soubor ze svého zařízení a uložte práci místně, v prohlížeči nebo na desktopu.",
+ "download": "Stáhnout desktopovou verzi",
+ "license": "Licence GPL-3.0",
+ "languages": "{count} jazyků rozhraní",
+ "no_account": "Zdarma · Bez účtu · Bez instalace",
+ "workspace_alt": "Technický výkres DWG otevřený v Open CAD Studio",
+ "native_editing": "Nativní úpravy",
+ "read_write": "Čtení a zápis",
+ "one_workspace": "Jeden pracovní prostor",
+ "gpu": "Akcelerovaný pohled",
+ "core": "Společné editační jádro",
+ "cap_eyebrow": "Kreslení a dokumentace",
+ "cap_title": "Od první čáry po hotové rozvržení.",
+ "cap_lead": "Příkazy, přesné umístění a výkresové listy v jednom prostředí.",
+ "draft_label": "Přesné kreslení",
+ "draft_title": "Začněte příkazem.",
+ "draft_text": "Kreslete a upravujte s doplňováním příkazů, uchopováním objektů a trasováním. Uspořádejte výkres pomocí hladin, bloků a externích referencí.",
+ "doc_label": "Dokumentace",
+ "doc_title": "Připravte kompletní výkresové listy.",
+ "doc_text": "Přidejte texty, kóty, odkazy, tolerance a tabulky. Uspořádejte rozvržení ve výkresovém prostoru pomocí výřezů a stylů vykreslování.",
+ "open_label": "Otevřený pracovní postup",
+ "open_title": "Vaše výkresy zůstávají vaše.",
+ "open_text": "Otevírejte a ukládejte nativní DWG a DXF na svém zařízení. Zdrojový kód je veřejný a nástroje jsou zdarma.",
+ "model_label": "3D s geometrickým jádrem",
+ "model_title": "Vytvářejte a tvarujte objemová tělesa.",
+ "model_text": "Vytvářejte primitiva, vysunutí, rotace, tažení a šablonování. Sjednocujte nebo odečítejte tělesa booleovskými operacemi geometrického jádra.",
+ "camera": "Kolmé a perspektivní pohledy",
+ "tessellation": "Zobrazení těles ACIS",
+ "mesh_workflow": "Import OBJ a export sítí",
+ "model_alt": "Mechanický 3D model ve dvou výřezech Open CAD Studio",
+ "model_space": "Modelový prostor",
+ "model_caption": "Objemová geometrie · Interaktivní pohledy",
+ "editions_label": "Jedno jádro, dva způsoby práce",
+ "editions_title": "Otevřete v prohlížeči nebo nainstalujte na počítač.",
+ "web": "Web",
+ "web_title": "Začněte kreslit v prohlížeči.",
+ "web_text": "Bez účtu a instalace. Vyberte místní výkres, upravte ho a stáhněte výsledek. Při prvním spuštění se stáhne aplikace.",
+ "web_limit": "Pro velké výkresy a systémové integrace použijte desktopovou aplikaci.",
+ "desktop_title": "Doplňte pracovní postup na desktopu.",
+ "desktop_text": "Využijte asociace souborů, náhledy, systémový tisk, výstup PDF, nativní doplňky, skripty a automatizaci bez rozhraní.",
+ "latest": "Stáhnout nejnovější verzi",
+ "release_notes": "Poznámky k vydání",
+ "formats_label": "Práce se soubory",
+ "formats_title": "Čtěte a zapisujte skutečné výkresové soubory.",
+ "formats_text": "Otevírejte a ukládejte DWG a DXF přímo, s cílovými verzemi R14 až R2018. Pracujte také se soubory obnovy, sítěmi a exporty vlastností.",
+ "format_versions": "Čtení · Zápis · R14–R2018",
+ "recovery": "Obnova výkresů",
+ "mesh_formats": "Import a export sítí",
+ "pdf": "Tisk na desktopu",
+ "csv": "Extrakce vlastností",
+ "growth_label": "Růst projektu",
+ "growth_title": "Otevřený vývoj. Veřejný růst.",
+ "growth_text": "Sledujte projekt prostřednictvím hvězd na GitHubu a stahování verzí.",
+ "stars": "Hvězdy",
+ "stars_link": "Zobrazit hvězdy",
+ "downloads": "Stažení verzí",
+ "releases_link": "Zobrazit vydání",
+ "chart_updated": "Aktualizováno: {date}",
+ "chart_downloads": "Stažení na vydání",
+ "chart_totals": "{count} stažení · {releases} vydání · Bez nejnovějšího",
+ "faq_label": "Časté dotazy",
+ "faq_title": "Před prvním výkresem.",
+ "faq_free": "Je Open CAD Studio zdarma?",
+ "faq_free_answer": "Ano. Projekt má otevřený zdrojový kód a je šířen pod licencí GPL-3.0.",
+ "faq_web": "Potřebuji účet nebo instalaci?",
+ "faq_web_answer": "Ne. Otevřete webovou aplikaci v moderním prohlížeči. Výkresy se otevírají ze zařízení a ukládají jako místní stažené soubory.",
+ "faq_platforms": "Jaké desktopové platformy jsou podporovány?",
+ "faq_platforms_answer": "Balíčky jsou dostupné pro Windows, Linux a macOS s Apple Silicon.",
+ "faq_production": "Mohu pracovat s kritickými produkčními soubory?",
+ "faq_production_answer": "Projekt se aktivně vyvíjí. Uchovávejte zálohy a hlaste reprodukovatelné problémy na GitHubu.",
+ "community_label": "Otevřený vývoj",
+ "community_title": "Pomozte utvářet Open CAD Studio.",
+ "community_text": "Hlaste problémy, přispějte kódem nebo podpořte vývoj.",
+ "github": "Zobrazit na GitHubu",
+ "sponsor": "Podpořit vývoj",
+ "footer": "Otevřené technické kreslení a objemové modelování.",
+ "web_app": "Webová aplikace",
+ "download_nav": "Ke stažení",
+ "discussions": "Diskuze"
+}
diff --git a/site/locales/de-DE.json b/site/locales/de-DE.json
new file mode 100644
index 000000000..5fa7903cf
--- /dev/null
+++ b/site/locales/de-DE.json
@@ -0,0 +1,95 @@
+{
+ "name": "Deutsch",
+ "title": "Open CAD Studio — Kostenloses CAD für DWG und DXF",
+ "description": "DWG und DXF öffnen und speichern, in 2D zeichnen und in 3D modellieren. Freies CAD für Browser, Windows, Linux und macOS.",
+ "skip": "Zum Inhalt",
+ "home": "Open CAD Studio Startseite",
+ "navigation": "Navigation",
+ "language": "Sprache",
+ "capabilities": "Funktionen",
+ "desktop": "Desktop",
+ "formats": "Formate",
+ "launch": "Web-App starten",
+ "eyebrow": "Quelloffenes CAD · Desktop + Web",
+ "hero_title": "DWG und DXF direkt bearbeiten.",
+ "hero_emphasis": "Ein offenes CAD-Studio.",
+ "hero_lead": "Erstellen Sie 2D-Zeichnungen, Layouts und 3D-Modelle. Öffnen Sie eine Datei von Ihrem Gerät und speichern Sie Ihre Arbeit lokal – im Browser oder auf dem Desktop.",
+ "download": "Desktop-Version laden",
+ "license": "GPL-3.0-lizenziert",
+ "languages": "{count} Oberflächensprachen",
+ "no_account": "Kostenlos · Ohne Konto · Ohne Installation",
+ "workspace_alt": "Ein DWG-Zeichnungsplan im Arbeitsbereich von Open CAD Studio",
+ "native_editing": "Direkte Bearbeitung",
+ "read_write": "Lesen und schreiben",
+ "one_workspace": "Ein Arbeitsbereich",
+ "gpu": "Beschleunigte Ansicht",
+ "core": "Gemeinsamer Bearbeitungskern",
+ "cap_eyebrow": "Zeichnen und dokumentieren",
+ "cap_title": "Von der ersten Linie bis zum fertigen Layout.",
+ "cap_lead": "Befehle, präzise Platzierung und Zeichnungsblätter in einem Arbeitsbereich.",
+ "draft_label": "Präzises Zeichnen",
+ "draft_title": "Mit einem Befehl beginnen.",
+ "draft_text": "Zeichnen und bearbeiten Sie mit Befehlsvervollständigung, Objektfang und Spurverfolgung. Organisieren Sie Zeichnungen mit Layern, Blöcken und externen Referenzen.",
+ "doc_label": "Dokumentation",
+ "doc_title": "Vollständige Zeichnungsblätter erstellen.",
+ "doc_text": "Fügen Sie Texte, Bemaßungen, Führungslinien, Toleranzen und Tabellen hinzu. Gestalten Sie Papierbereichslayouts mit Ansichtsfenstern und Plotstilen.",
+ "open_label": "Offener Arbeitsablauf",
+ "open_title": "Ihre Zeichnungen gehören Ihnen.",
+ "open_text": "Öffnen und speichern Sie DWG- und DXF-Dateien direkt auf Ihrem Gerät. Der Quellcode ist öffentlich, die Werkzeuge sind kostenlos.",
+ "model_label": "3D mit Geometriekern",
+ "model_title": "Volumenkörper erstellen und formen.",
+ "model_text": "Erstellen Sie Grundkörper, Extrusionen, Rotationen, Sweeps und Übergänge. Vereinigen oder subtrahieren Sie Körper mit booleschen Operationen des Geometriekerns.",
+ "camera": "Orthografische und perspektivische Ansichten",
+ "tessellation": "Darstellung von ACIS-Volumenkörpern",
+ "mesh_workflow": "OBJ-Import und Netzexport",
+ "model_alt": "Ein mechanisches 3D-Modell in zwei Open CAD Studio Ansichtsfenstern",
+ "model_space": "Modellbereich",
+ "model_caption": "Volumengeometrie · Interaktive Ansichten",
+ "editions_label": "Ein Kern, zwei Arbeitsweisen",
+ "editions_title": "Im Browser öffnen oder auf dem Desktop installieren.",
+ "web": "Web",
+ "web_title": "Direkt im Browser zeichnen.",
+ "web_text": "Ohne Konto oder Installation. Wählen Sie eine lokale Zeichnung, bearbeiten Sie sie und laden Sie das Ergebnis herunter. Beim ersten Start wird die Anwendung heruntergeladen.",
+ "web_limit": "Für große Zeichnungen und Systemintegrationen nutzen Sie die Desktop-App.",
+ "desktop_title": "Den Desktop-Arbeitsablauf vervollständigen.",
+ "desktop_text": "Nutzen Sie Dateizuordnungen, Vorschaubilder, Systemdruck, PDF-Ausgabe, native Plugins, Skripte und Automatisierung ohne Oberfläche.",
+ "latest": "Neueste Version laden",
+ "release_notes": "Versionshinweise",
+ "formats_label": "Dateiverarbeitung",
+ "formats_title": "Zeichnungsdateien direkt lesen und schreiben.",
+ "formats_text": "Öffnen und speichern Sie DWG und DXF direkt, mit Zielformaten von R14 bis R2018. Nutzen Sie auch Wiederherstellungsdateien, Netze und Eigenschaftsexporte.",
+ "format_versions": "Lesen · Schreiben · R14–R2018",
+ "recovery": "Zeichnungswiederherstellung",
+ "mesh_formats": "Netzimport und -export",
+ "pdf": "Drucken auf dem Desktop",
+ "csv": "Eigenschaftsextraktion",
+ "growth_label": "Projektentwicklung",
+ "growth_title": "Offen entwickelt. Gemeinsam gewachsen.",
+ "growth_text": "Verfolgen Sie das Projekt anhand von GitHub-Sternen und Versionsdownloads.",
+ "stars": "Sterne",
+ "stars_link": "Sterne ansehen",
+ "downloads": "Versionsdownloads",
+ "releases_link": "Versionen ansehen",
+ "chart_updated": "Aktualisiert: {date}",
+ "chart_downloads": "Downloads je Version",
+ "chart_totals": "{count} Downloads · {releases} Versionen · Neueste ausgenommen",
+ "faq_label": "Häufige Fragen",
+ "faq_title": "Vor Ihrer ersten Zeichnung.",
+ "faq_free": "Ist Open CAD Studio kostenlos?",
+ "faq_free_answer": "Ja. Das Projekt ist quelloffen und wird unter der GPL-3.0-Lizenz verbreitet.",
+ "faq_web": "Brauche ich ein Konto oder eine Installation?",
+ "faq_web_answer": "Nein. Öffnen Sie die Web-App in einem aktuellen Browser. Zeichnungen werden von Ihrem Gerät geöffnet und als lokale Downloads gespeichert.",
+ "faq_platforms": "Welche Desktop-Plattformen werden unterstützt?",
+ "faq_platforms_answer": "Pakete sind für Windows, Linux und macOS auf Apple Silicon verfügbar.",
+ "faq_production": "Kann ich wichtige Produktionsdateien damit bearbeiten?",
+ "faq_production_answer": "Das Projekt wird aktiv entwickelt. Bewahren Sie Sicherungskopien auf und melden Sie reproduzierbare Probleme auf GitHub.",
+ "community_label": "Offen entwickelt",
+ "community_title": "Gestalten Sie Open CAD Studio mit.",
+ "community_text": "Melden Sie Fehler, tragen Sie Code bei oder unterstützen Sie die Entwicklung.",
+ "github": "Auf GitHub ansehen",
+ "sponsor": "Entwicklung unterstützen",
+ "footer": "Quelloffenes technisches Zeichnen und Volumenmodellieren.",
+ "web_app": "Web-App",
+ "download_nav": "Downloads",
+ "discussions": "Diskussionen"
+}
diff --git a/site/locales/el-GR.json b/site/locales/el-GR.json
new file mode 100644
index 000000000..2dbee3192
--- /dev/null
+++ b/site/locales/el-GR.json
@@ -0,0 +1,95 @@
+{
+ "name": "Ελληνικά",
+ "title": "Open CAD Studio — Δωρεάν CAD για DWG και DXF",
+ "description": "Ανοίξτε και αποθηκεύστε DWG και DXF, σχεδιάστε σε 2D και μοντελοποιήστε σε 3D. Ελεύθερο CAD για πρόγραμμα περιήγησης, Windows, Linux και macOS.",
+ "skip": "Μετάβαση στο περιεχόμενο",
+ "home": "Αρχική σελίδα Open CAD Studio",
+ "navigation": "Πλοήγηση",
+ "language": "Γλώσσα",
+ "capabilities": "Δυνατότητες",
+ "desktop": "Υπολογιστής",
+ "formats": "Μορφές",
+ "launch": "Άνοιγμα εφαρμογής ιστού",
+ "eyebrow": "CAD ανοικτού κώδικα · Υπολογιστής + Ιστός",
+ "hero_title": "Εγγενή DWG και DXF.",
+ "hero_emphasis": "Ένα ανοικτό στούντιο CAD.",
+ "hero_lead": "Δημιουργήστε σχέδια 2D, διατάξεις και μοντέλα 3D. Ανοίξτε ένα αρχείο από τη συσκευή σας και αποθηκεύστε την εργασία τοπικά, στο πρόγραμμα περιήγησης ή στον υπολογιστή.",
+ "download": "Λήψη για υπολογιστή",
+ "license": "Άδεια GPL-3.0",
+ "languages": "{count} γλώσσες διεπαφής",
+ "no_account": "Δωρεάν · Χωρίς λογαριασμό · Χωρίς εγκατάσταση",
+ "workspace_alt": "Τεχνικό σχέδιο DWG ανοικτό στο Open CAD Studio",
+ "native_editing": "Εγγενής επεξεργασία",
+ "read_write": "Ανάγνωση και εγγραφή",
+ "one_workspace": "Ένας χώρος εργασίας",
+ "gpu": "Επιταχυνόμενη προβολή",
+ "core": "Κοινός πυρήνας επεξεργασίας",
+ "cap_eyebrow": "Σχεδίαση και τεκμηρίωση",
+ "cap_title": "Από την πρώτη γραμμή στην τελική διάταξη.",
+ "cap_lead": "Εντολές, ακριβής τοποθέτηση και φύλλα σχεδίων στον ίδιο χώρο.",
+ "draft_label": "Σχεδίαση ακριβείας",
+ "draft_title": "Ξεκινήστε με μια εντολή.",
+ "draft_text": "Σχεδιάστε και επεξεργαστείτε με συμπλήρωση εντολών, έλξη αντικειμένων και ιχνηλάτηση. Οργανώστε το σχέδιο με επίπεδα, μπλοκ και εξωτερικές αναφορές.",
+ "doc_label": "Τεκμηρίωση",
+ "doc_title": "Ετοιμάστε ολοκληρωμένα φύλλα σχεδίων.",
+ "doc_text": "Προσθέστε κείμενα, διαστάσεις, γραμμές αναφοράς, ανοχές και πίνακες. Οργανώστε διατάξεις στον χώρο χαρτιού με παράθυρα προβολής και στυλ εκτύπωσης.",
+ "open_label": "Ανοικτή ροή εργασίας",
+ "open_title": "Τα σχέδιά σας παραμένουν δικά σας.",
+ "open_text": "Ανοίξτε και αποθηκεύστε εγγενή DWG και DXF στη συσκευή σας. Ο πηγαίος κώδικας είναι δημόσιος και τα εργαλεία δωρεάν.",
+ "model_label": "3D με γεωμετρικό πυρήνα",
+ "model_title": "Δημιουργήστε και διαμορφώστε στερεά.",
+ "model_text": "Δημιουργήστε βασικά στερεά, εξωθήσεις, περιστροφές, σαρώσεις και μεταβάσεις διατομών. Ενώστε ή αφαιρέστε στερεά με λογικές πράξεις του γεωμετρικού πυρήνα.",
+ "camera": "Ορθογραφικές και προοπτικές προβολές",
+ "tessellation": "Απεικόνιση στερεών ACIS",
+ "mesh_workflow": "Εισαγωγή OBJ και εξαγωγή πλεγμάτων",
+ "model_alt": "Μηχανικό μοντέλο 3D σε δύο παράθυρα προβολής του Open CAD Studio",
+ "model_space": "Χώρος μοντέλου",
+ "model_caption": "Στερεά γεωμετρία · Διαδραστικές προβολές",
+ "editions_label": "Ένας πυρήνας, δύο τρόποι εργασίας",
+ "editions_title": "Ανοίξτε στο πρόγραμμα περιήγησης ή εγκαταστήστε στον υπολογιστή.",
+ "web": "Ιστός",
+ "web_title": "Ξεκινήστε να σχεδιάζετε στο πρόγραμμα περιήγησης.",
+ "web_text": "Χωρίς λογαριασμό ή εγκατάσταση. Επιλέξτε τοπικό σχέδιο, επεξεργαστείτε το και κατεβάστε το αποτέλεσμα. Στην πρώτη εκκίνηση γίνεται λήψη της εφαρμογής.",
+ "web_limit": "Για μεγάλα σχέδια και ενσωματώσεις συστήματος, χρησιμοποιήστε την εφαρμογή υπολογιστή.",
+ "desktop_title": "Ολοκληρώστε τη ροή εργασίας στον υπολογιστή.",
+ "desktop_text": "Χρησιμοποιήστε συσχετίσεις αρχείων, μικρογραφίες, εκτύπωση συστήματος, έξοδο PDF, εγγενή πρόσθετα, σενάρια και αυτοματισμό χωρίς διεπαφή.",
+ "latest": "Λήψη της τελευταίας έκδοσης",
+ "release_notes": "Σημειώσεις έκδοσης",
+ "formats_label": "Διαχείριση αρχείων",
+ "formats_title": "Διαβάστε και γράψτε πραγματικά αρχεία σχεδίων.",
+ "formats_text": "Ανοίξτε και αποθηκεύστε DWG και DXF απευθείας, με εκδόσεις αποθήκευσης R14–R2018. Χρησιμοποιήστε επίσης αρχεία ανάκτησης, πλέγματα και εξαγωγές ιδιοτήτων.",
+ "format_versions": "Ανάγνωση · Εγγραφή · R14–R2018",
+ "recovery": "Ανάκτηση σχεδίων",
+ "mesh_formats": "Εισαγωγή και εξαγωγή πλεγμάτων",
+ "pdf": "Εκτύπωση στον υπολογιστή",
+ "csv": "Εξαγωγή ιδιοτήτων",
+ "growth_label": "Ανάπτυξη του έργου",
+ "growth_title": "Ανοικτή ανάπτυξη. Δημόσια πρόοδος.",
+ "growth_text": "Παρακολουθήστε το έργο μέσω των αστεριών GitHub και των λήψεων εκδόσεων.",
+ "stars": "Αστέρια",
+ "stars_link": "Προβολή αστεριών",
+ "downloads": "Λήψεις εκδόσεων",
+ "releases_link": "Προβολή εκδόσεων",
+ "chart_updated": "Ενημέρωση: {date}",
+ "chart_downloads": "Λήψεις ανά έκδοση",
+ "chart_totals": "{count} λήψεις · {releases} εκδόσεις · Χωρίς την τελευταία",
+ "faq_label": "Συχνές ερωτήσεις",
+ "faq_title": "Πριν από το πρώτο σας σχέδιο.",
+ "faq_free": "Είναι δωρεάν το Open CAD Studio;",
+ "faq_free_answer": "Ναι. Το έργο είναι ανοικτού κώδικα και διανέμεται με την άδεια GPL-3.0.",
+ "faq_web": "Χρειάζομαι λογαριασμό ή εγκατάσταση;",
+ "faq_web_answer": "Όχι. Ανοίξτε την εφαρμογή ιστού σε σύγχρονο πρόγραμμα περιήγησης. Τα σχέδια ανοίγουν από τη συσκευή σας και αποθηκεύονται με τοπική λήψη.",
+ "faq_platforms": "Ποιες πλατφόρμες υπολογιστή υποστηρίζονται;",
+ "faq_platforms_answer": "Διατίθενται πακέτα για Windows, Linux και macOS με Apple Silicon.",
+ "faq_production": "Μπορώ να το χρησιμοποιήσω για κρίσιμα αρχεία παραγωγής;",
+ "faq_production_answer": "Το έργο αναπτύσσεται ενεργά. Κρατήστε αντίγραφα ασφαλείας και αναφέρετε αναπαραγώγιμα προβλήματα στο GitHub.",
+ "community_label": "Ανοικτή ανάπτυξη",
+ "community_title": "Συμβάλετε στο Open CAD Studio.",
+ "community_text": "Αναφέρετε προβλήματα, συνεισφέρετε κώδικα ή στηρίξτε την ανάπτυξη.",
+ "github": "Προβολή στο GitHub",
+ "sponsor": "Στήριξη της ανάπτυξης",
+ "footer": "Τεχνική σχεδίαση και μοντελοποίηση στερεών ανοικτού κώδικα.",
+ "web_app": "Εφαρμογή ιστού",
+ "download_nav": "Λήψεις",
+ "discussions": "Συζητήσεις"
+}
diff --git a/site/locales/en-US.json b/site/locales/en-US.json
new file mode 100644
index 000000000..4712f84c4
--- /dev/null
+++ b/site/locales/en-US.json
@@ -0,0 +1,95 @@
+{
+ "name": "English",
+ "title": "Open CAD Studio — Free DWG & DXF CAD",
+ "description": "Open and save DWG and DXF, draft in 2D and model in 3D. Free, open-source CAD for your browser and Windows, Linux and macOS.",
+ "skip": "Skip to content",
+ "home": "Open CAD Studio home",
+ "navigation": "Navigation",
+ "language": "Language",
+ "capabilities": "Capabilities",
+ "desktop": "Desktop",
+ "formats": "Formats",
+ "launch": "Launch web app",
+ "eyebrow": "Open-source CAD · Desktop + Web",
+ "hero_title": "Native DWG & DXF.",
+ "hero_emphasis": "One open CAD studio.",
+ "hero_lead": "Draw in 2D, create layouts and model in 3D. Open a file from your device and save your work locally, in your browser or on your desktop.",
+ "download": "Download desktop",
+ "license": "GPL-3.0 licensed",
+ "languages": "{count} interface languages",
+ "no_account": "Free · No account · No installation",
+ "workspace_alt": "A DWG technical plan open in the Open CAD Studio workspace",
+ "native_editing": "Native editing",
+ "read_write": "Read and write",
+ "one_workspace": "One workspace",
+ "gpu": "Accelerated viewport",
+ "core": "Shared editing core",
+ "cap_eyebrow": "Drafting and documentation",
+ "cap_title": "From the first line to the final layout.",
+ "cap_lead": "Commands, precise placement and drawing sheets in one workspace.",
+ "draft_label": "Precise drafting",
+ "draft_title": "Start with a command.",
+ "draft_text": "Draw and edit with command autocomplete, object snaps and tracking. Organize your drawing with layers, blocks and external references.",
+ "doc_label": "Documentation",
+ "doc_title": "Prepare complete drawing sheets.",
+ "doc_text": "Add text, dimensions, leaders, tolerances and tables. Arrange paper-space layouts with viewports and plot styles.",
+ "open_label": "Open workflow",
+ "open_title": "Your drawings stay yours.",
+ "open_text": "Open and save native DWG and DXF files on your device. The source code is public and the tools are free to use.",
+ "model_label": "Kernel-backed 3D",
+ "model_title": "Build and shape solid models.",
+ "model_text": "Create primitives, extrude, revolve, sweep and loft. Combine or subtract solids with Boolean operations handled by the geometry kernel.",
+ "camera": "Orthographic and perspective views",
+ "tessellation": "ACIS solid visualization",
+ "mesh_workflow": "OBJ import and mesh export",
+ "model_alt": "A 3D mechanical model in two Open CAD Studio viewports",
+ "model_space": "Model space",
+ "model_caption": "Solid geometry · Interactive views",
+ "editions_label": "One core, two ways to work",
+ "editions_title": "Open in your browser or install on your desktop.",
+ "web": "Web",
+ "web_title": "Start drawing in your browser.",
+ "web_text": "No account or installation. Choose a local drawing, edit it and download the result. The first launch downloads the application.",
+ "web_limit": "For large drawings and native integrations, use the desktop app.",
+ "desktop_title": "Complete your desktop workflow.",
+ "desktop_text": "Use file associations, thumbnails, system printing, PDF output, native plugins, scripts and headless automation.",
+ "latest": "Download the latest release",
+ "release_notes": "Release notes",
+ "formats_label": "File workflows",
+ "formats_title": "Read and write real drawing files.",
+ "formats_text": "Open and save DWG and DXF directly, with save targets from R14 to R2018. Work with recovery files, meshes and property exports too.",
+ "format_versions": "Read · Write · R14–R2018",
+ "recovery": "Drawing recovery",
+ "mesh_formats": "Mesh import and export",
+ "pdf": "Desktop plotting",
+ "csv": "Property extraction",
+ "growth_label": "Project growth",
+ "growth_title": "Built openly. Growing in public.",
+ "growth_text": "Follow the project through GitHub stars and release downloads.",
+ "stars": "Stars",
+ "stars_link": "View stargazers",
+ "downloads": "Release downloads",
+ "releases_link": "View releases",
+ "chart_updated": "Updated {date}",
+ "chart_downloads": "Downloads / release",
+ "chart_totals": "{count} downloads · {releases} releases · Latest excluded",
+ "faq_label": "Common questions",
+ "faq_title": "Before your first drawing.",
+ "faq_free": "Is Open CAD Studio free?",
+ "faq_free_answer": "Yes. The project is open source and distributed under the GPL-3.0 license.",
+ "faq_web": "Do I need an account or installation?",
+ "faq_web_answer": "No. Open the web app in a modern browser. Drawings are opened from your device and saved as local downloads.",
+ "faq_platforms": "Which desktop platforms are supported?",
+ "faq_platforms_answer": "Packages are available for Windows, Linux and Apple Silicon macOS.",
+ "faq_production": "Can I use it for critical production files?",
+ "faq_production_answer": "The project is under active development. Keep backups and report reproducible problems on GitHub.",
+ "community_label": "Built in the open",
+ "community_title": "Help shape Open CAD Studio.",
+ "community_text": "Report issues, contribute code or support development.",
+ "github": "View on GitHub",
+ "sponsor": "Sponsor development",
+ "footer": "Open-source technical drawing and solid modeling.",
+ "web_app": "Web app",
+ "download_nav": "Downloads",
+ "discussions": "Discussions"
+}
diff --git a/site/locales/es-ES.json b/site/locales/es-ES.json
new file mode 100644
index 000000000..c7a3a45d5
--- /dev/null
+++ b/site/locales/es-ES.json
@@ -0,0 +1,95 @@
+{
+ "name": "Español",
+ "title": "Open CAD Studio — CAD gratuito para DWG y DXF",
+ "description": "Abre y guarda DWG y DXF, dibuja en 2D y modela en 3D. CAD libre para navegador, Windows, Linux y macOS.",
+ "skip": "Ir al contenido",
+ "home": "Inicio de Open CAD Studio",
+ "navigation": "Navegación",
+ "language": "Idioma",
+ "capabilities": "Funciones",
+ "desktop": "Escritorio",
+ "formats": "Formatos",
+ "launch": "Abrir aplicación web",
+ "eyebrow": "CAD de código abierto · Escritorio + Web",
+ "hero_title": "DWG y DXF nativos.",
+ "hero_emphasis": "Un estudio CAD abierto.",
+ "hero_lead": "Crea dibujos 2D, presentaciones y modelos 3D. Abre un archivo de tu dispositivo y guarda tu trabajo localmente, desde el navegador o el escritorio.",
+ "download": "Descargar para escritorio",
+ "license": "Licencia GPL-3.0",
+ "languages": "{count} idiomas de interfaz",
+ "no_account": "Gratis · Sin cuenta · Sin instalación",
+ "workspace_alt": "Un plano técnico DWG abierto en Open CAD Studio",
+ "native_editing": "Edición nativa",
+ "read_write": "Lectura y escritura",
+ "one_workspace": "Un espacio de trabajo",
+ "gpu": "Vista acelerada",
+ "core": "Motor de edición compartido",
+ "cap_eyebrow": "Dibujo y documentación",
+ "cap_title": "De la primera línea a la presentación final.",
+ "cap_lead": "Comandos, colocación precisa y hojas de dibujo en un mismo espacio.",
+ "draft_label": "Dibujo de precisión",
+ "draft_title": "Empieza con un comando.",
+ "draft_text": "Dibuja y edita con autocompletado, referencias a objetos y rastreo. Organiza el dibujo con capas, bloques y referencias externas.",
+ "doc_label": "Documentación",
+ "doc_title": "Prepara hojas de dibujo completas.",
+ "doc_text": "Añade texto, cotas, directrices, tolerancias y tablas. Organiza presentaciones en espacio papel con ventanas gráficas y estilos de trazado.",
+ "open_label": "Flujo de trabajo abierto",
+ "open_title": "Tus dibujos siguen siendo tuyos.",
+ "open_text": "Abre y guarda archivos DWG y DXF nativos en tu dispositivo. El código fuente es público y las herramientas son gratuitas.",
+ "model_label": "3D con núcleo geométrico",
+ "model_title": "Crea y da forma a modelos sólidos.",
+ "model_text": "Crea primitivas, extrusiones, revoluciones, barridos y solevados. Une o resta sólidos con operaciones booleanas resueltas por el núcleo geométrico.",
+ "camera": "Vistas ortográficas y en perspectiva",
+ "tessellation": "Visualización de sólidos ACIS",
+ "mesh_workflow": "Importación OBJ y exportación de mallas",
+ "model_alt": "Un modelo mecánico 3D en dos ventanas gráficas de Open CAD Studio",
+ "model_space": "Espacio modelo",
+ "model_caption": "Geometría sólida · Vistas interactivas",
+ "editions_label": "Un motor, dos formas de trabajar",
+ "editions_title": "Abre en el navegador o instala en el escritorio.",
+ "web": "Web",
+ "web_title": "Empieza a dibujar en tu navegador.",
+ "web_text": "Sin cuenta ni instalación. Elige un dibujo local, edítalo y descarga el resultado. En el primer inicio se descarga la aplicación.",
+ "web_limit": "Para dibujos grandes e integraciones del sistema, usa la aplicación de escritorio.",
+ "desktop_title": "Completa tu flujo de trabajo de escritorio.",
+ "desktop_text": "Usa asociaciones de archivos, miniaturas, impresión del sistema, salida PDF, complementos nativos, scripts y automatización sin interfaz.",
+ "latest": "Descargar la última versión",
+ "release_notes": "Notas de la versión",
+ "formats_label": "Gestión de archivos",
+ "formats_title": "Lee y escribe archivos de dibujo reales.",
+ "formats_text": "Abre y guarda DWG y DXF directamente, con versiones de destino de R14 a R2018. Trabaja también con archivos de recuperación, mallas y exportaciones de propiedades.",
+ "format_versions": "Lectura · Escritura · R14–R2018",
+ "recovery": "Recuperación de dibujos",
+ "mesh_formats": "Importación y exportación de mallas",
+ "pdf": "Impresión de escritorio",
+ "csv": "Extracción de propiedades",
+ "growth_label": "Evolución del proyecto",
+ "growth_title": "Desarrollo abierto. Crecimiento público.",
+ "growth_text": "Sigue el proyecto a través de las estrellas de GitHub y las descargas de versiones.",
+ "stars": "Estrellas",
+ "stars_link": "Ver estrellas",
+ "downloads": "Descargas de versiones",
+ "releases_link": "Ver versiones",
+ "chart_updated": "Actualizado: {date}",
+ "chart_downloads": "Descargas por versión",
+ "chart_totals": "{count} descargas · {releases} versiones · Última excluida",
+ "faq_label": "Preguntas frecuentes",
+ "faq_title": "Antes de tu primer dibujo.",
+ "faq_free": "¿Open CAD Studio es gratuito?",
+ "faq_free_answer": "Sí. El proyecto es de código abierto y se distribuye bajo la licencia GPL-3.0.",
+ "faq_web": "¿Necesito una cuenta o una instalación?",
+ "faq_web_answer": "No. Abre la aplicación web en un navegador moderno. Los dibujos se abren desde tu dispositivo y se guardan como descargas locales.",
+ "faq_platforms": "¿Qué plataformas de escritorio son compatibles?",
+ "faq_platforms_answer": "Hay paquetes para Windows, Linux y macOS con Apple Silicon.",
+ "faq_production": "¿Puedo usarlo con archivos de producción críticos?",
+ "faq_production_answer": "El proyecto está en desarrollo activo. Guarda copias de seguridad e informa de los problemas reproducibles en GitHub.",
+ "community_label": "Desarrollo abierto",
+ "community_title": "Ayuda a dar forma a Open CAD Studio.",
+ "community_text": "Informa de errores, aporta código o apoya el desarrollo.",
+ "github": "Ver en GitHub",
+ "sponsor": "Patrocinar el desarrollo",
+ "footer": "Dibujo técnico y modelado sólido de código abierto.",
+ "web_app": "Aplicación web",
+ "download_nav": "Descargas",
+ "discussions": "Debates"
+}
diff --git a/site/locales/fi-FI.json b/site/locales/fi-FI.json
new file mode 100644
index 000000000..9b4b0dd83
--- /dev/null
+++ b/site/locales/fi-FI.json
@@ -0,0 +1,95 @@
+{
+ "name": "Suomi",
+ "title": "Open CAD Studio — Ilmainen DWG- ja DXF-CAD",
+ "description": "Avaa ja tallenna DWG- ja DXF-tiedostoja, piirrä 2D:ssä ja mallinna 3D:ssä. Avoin CAD selaimeen, Windowsiin, Linuxiin ja macOS:ään.",
+ "skip": "Siirry sisältöön",
+ "home": "Open CAD Studion etusivu",
+ "navigation": "Navigointi",
+ "language": "Kieli",
+ "capabilities": "Ominaisuudet",
+ "desktop": "Työpöytä",
+ "formats": "Tiedostomuodot",
+ "launch": "Avaa verkkosovellus",
+ "eyebrow": "Avoimen lähdekoodin CAD · Työpöytä + Web",
+ "hero_title": "DWG ja DXF suoraan.",
+ "hero_emphasis": "Yksi avoin CAD-studio.",
+ "hero_lead": "Luo 2D-piirustuksia, arkkeja ja 3D-malleja. Avaa tiedosto laitteeltasi ja tallenna työsi paikallisesti selaimessa tai työpöydällä.",
+ "download": "Lataa työpöytäversio",
+ "license": "GPL-3.0-lisenssi",
+ "languages": "{count} käyttöliittymäkieltä",
+ "no_account": "Ilmainen · Ei tiliä · Ei asennusta",
+ "workspace_alt": "Tekninen DWG-piirustus avattuna Open CAD Studiossa",
+ "native_editing": "Suora muokkaus",
+ "read_write": "Luku ja kirjoitus",
+ "one_workspace": "Yksi työtila",
+ "gpu": "Kiihdytetty näkymä",
+ "core": "Yhteinen muokkausydin",
+ "cap_eyebrow": "Piirtäminen ja dokumentointi",
+ "cap_title": "Ensimmäisestä viivasta valmiiseen arkkiin.",
+ "cap_lead": "Komennot, tarkka sijoittelu ja piirustusarkit samassa työtilassa.",
+ "draft_label": "Tarkka piirtäminen",
+ "draft_title": "Aloita komennolla.",
+ "draft_text": "Piirrä ja muokkaa komentojen täydennyksen, objektitartunnan ja seurannan avulla. Järjestä piirustuksesi tasoilla, lohkoilla ja ulkoisilla viitteillä.",
+ "doc_label": "Dokumentointi",
+ "doc_title": "Valmistele täydelliset piirustusarkit.",
+ "doc_text": "Lisää tekstejä, mittoja, viiteviivoja, toleransseja ja taulukoita. Järjestä paperitilan arkkeja näkymäikkunoilla ja tulostustyyleillä.",
+ "open_label": "Avoin työnkulku",
+ "open_title": "Piirustuksesi pysyvät ominasi.",
+ "open_text": "Avaa ja tallenna DWG- ja DXF-tiedostot suoraan laitteellasi. Lähdekoodi on julkinen ja työkalut ovat ilmaisia.",
+ "model_label": "Geometriaytimeen perustuva 3D",
+ "model_title": "Luo ja muotoile tilavuusmalleja.",
+ "model_text": "Luo peruskappaleita, pursotuksia, pyörähdyksiä, pyyhkäisyjä ja profiilien välisiä muotoja. Yhdistä tai vähennä kappaleita geometriaytimen ratkaisemilla Boolen operaatioilla.",
+ "camera": "Ortografiset ja perspektiivinäkymät",
+ "tessellation": "ACIS-kappaleiden visualisointi",
+ "mesh_workflow": "OBJ-tuonti ja verkkovienti",
+ "model_alt": "Mekaaninen 3D-malli kahdessa Open CAD Studion näkymäikkunassa",
+ "model_space": "Mallitila",
+ "model_caption": "Tilavuusgeometria · Vuorovaikutteiset näkymät",
+ "editions_label": "Yksi ydin, kaksi työtapaa",
+ "editions_title": "Avaa selaimessa tai asenna työpöydälle.",
+ "web": "Web",
+ "web_title": "Aloita piirtäminen selaimessa.",
+ "web_text": "Ei tiliä eikä asennusta. Valitse paikallinen piirustus, muokkaa ja lataa tulos. Sovellus ladataan ensimmäisellä käynnistyskerralla.",
+ "web_limit": "Käytä työpöytäsovellusta suurille piirustuksille ja järjestelmäintegraatioille.",
+ "desktop_title": "Täydennä työpöytäsi työnkulku.",
+ "desktop_text": "Käytä tiedostokytkentöjä, esikatselukuvia, järjestelmätulostusta, PDF-tulostusta, natiivilaajennuksia, komentosarjoja ja automaatiota ilman käyttöliittymää.",
+ "latest": "Lataa uusin versio",
+ "release_notes": "Julkaisutiedot",
+ "formats_label": "Tiedostotyönkulut",
+ "formats_title": "Lue ja kirjoita piirustustiedostoja suoraan.",
+ "formats_text": "Avaa ja tallenna DWG ja DXF suoraan, kohdeversioina R14–R2018. Käsittele myös palautustiedostoja, verkkoja ja ominaisuuksien vientiä.",
+ "format_versions": "Luku · Kirjoitus · R14–R2018",
+ "recovery": "Piirustusten palautus",
+ "mesh_formats": "Verkkojen tuonti ja vienti",
+ "pdf": "Työpöytätulostus",
+ "csv": "Ominaisuuksien poiminta",
+ "growth_label": "Projektin kasvu",
+ "growth_title": "Avoin kehitys. Julkinen kasvu.",
+ "growth_text": "Seuraa projektia GitHub-tähtien ja versiolatausten avulla.",
+ "stars": "Tähdet",
+ "stars_link": "Näytä tähdet",
+ "downloads": "Versiolataukset",
+ "releases_link": "Näytä julkaisut",
+ "chart_updated": "Päivitetty {date}",
+ "chart_downloads": "Latauksia per julkaisu",
+ "chart_totals": "{count} latausta · {releases} julkaisua · Uusin pois lukien",
+ "faq_label": "Usein kysyttyä",
+ "faq_title": "Ennen ensimmäistä piirustustasi.",
+ "faq_free": "Onko Open CAD Studio ilmainen?",
+ "faq_free_answer": "Kyllä. Projekti on avoimen lähdekoodin ohjelmisto, jota jaetaan GPL-3.0-lisenssillä.",
+ "faq_web": "Tarvitsenko tilin tai asennuksen?",
+ "faq_web_answer": "Et. Avaa verkkosovellus nykyaikaisessa selaimessa. Piirustukset avataan laitteeltasi ja tallennetaan paikallisina latauksina.",
+ "faq_platforms": "Mitä työpöytäalustoja tuetaan?",
+ "faq_platforms_answer": "Paketteja on saatavilla Windowsille, Linuxille ja Apple Silicon -macOS:lle.",
+ "faq_production": "Voinko käsitellä kriittisiä tuotantotiedostoja?",
+ "faq_production_answer": "Projektia kehitetään aktiivisesti. Säilytä varmuuskopiot ja ilmoita toistettavat ongelmat GitHubissa.",
+ "community_label": "Avoin kehitys",
+ "community_title": "Osallistu Open CAD Studion kehitykseen.",
+ "community_text": "Ilmoita ongelmista, osallistu koodiin tai tue kehitystä.",
+ "github": "Näytä GitHubissa",
+ "sponsor": "Tue kehitystä",
+ "footer": "Avoimen lähdekoodin tekninen piirtäminen ja tilavuusmallinnus.",
+ "web_app": "Verkkosovellus",
+ "download_nav": "Lataukset",
+ "discussions": "Keskustelut"
+}
diff --git a/site/locales/fr-FR.json b/site/locales/fr-FR.json
new file mode 100644
index 000000000..66d00cf32
--- /dev/null
+++ b/site/locales/fr-FR.json
@@ -0,0 +1,95 @@
+{
+ "name": "Français",
+ "title": "Open CAD Studio — CAO gratuite pour DWG et DXF",
+ "description": "Ouvrez et enregistrez des fichiers DWG et DXF, dessinez en 2D et modélisez en 3D. CAO libre pour navigateur, Windows, Linux et macOS.",
+ "skip": "Aller au contenu",
+ "home": "Accueil Open CAD Studio",
+ "navigation": "Navigation",
+ "language": "Langue",
+ "capabilities": "Fonctionnalités",
+ "desktop": "Bureau",
+ "formats": "Formats",
+ "launch": "Ouvrir l’application web",
+ "eyebrow": "CAO libre · Bureau + Web",
+ "hero_title": "DWG et DXF en natif.",
+ "hero_emphasis": "Un studio de CAO ouvert.",
+ "hero_lead": "Créez des dessins 2D, des présentations et des modèles 3D. Ouvrez un fichier de votre appareil et enregistrez votre travail localement, dans le navigateur ou sur le bureau.",
+ "download": "Télécharger pour ordinateur",
+ "license": "Licence GPL-3.0",
+ "languages": "{count} langues d’interface",
+ "no_account": "Gratuit · Sans compte · Sans installation",
+ "workspace_alt": "Un plan technique DWG ouvert dans Open CAD Studio",
+ "native_editing": "Édition native",
+ "read_write": "Lecture et écriture",
+ "one_workspace": "Un espace de travail",
+ "gpu": "Vue accélérée",
+ "core": "Moteur d’édition commun",
+ "cap_eyebrow": "Dessin et documentation",
+ "cap_title": "De la première ligne à la présentation finale.",
+ "cap_lead": "Commandes, placement précis et feuilles de dessin dans un même espace.",
+ "draft_label": "Dessin de précision",
+ "draft_title": "Commencez par une commande.",
+ "draft_text": "Dessinez et modifiez avec la complétion des commandes, l’accrochage aux objets et le suivi. Organisez vos dessins avec des calques, des blocs et des références externes.",
+ "doc_label": "Documentation",
+ "doc_title": "Préparez des feuilles de dessin complètes.",
+ "doc_text": "Ajoutez textes, cotes, repères, tolérances et tableaux. Organisez les présentations en espace papier avec des fenêtres et des styles de tracé.",
+ "open_label": "Flux de travail ouvert",
+ "open_title": "Vos dessins restent les vôtres.",
+ "open_text": "Ouvrez et enregistrez directement des fichiers DWG et DXF sur votre appareil. Le code source est public et les outils sont gratuits.",
+ "model_label": "3D avec noyau géométrique",
+ "model_title": "Créez et façonnez des solides.",
+ "model_text": "Créez des primitives, extrudez, faites des révolutions, des balayages et des lissages. Unissez ou soustrayez des solides grâce aux opérations booléennes du noyau géométrique.",
+ "camera": "Vues orthographiques et en perspective",
+ "tessellation": "Visualisation des solides ACIS",
+ "mesh_workflow": "Import OBJ et export de maillages",
+ "model_alt": "Un modèle mécanique 3D dans deux fenêtres d’Open CAD Studio",
+ "model_space": "Espace objet",
+ "model_caption": "Géométrie solide · Vues interactives",
+ "editions_label": "Un moteur, deux façons de travailler",
+ "editions_title": "Ouvrez dans le navigateur ou installez sur votre ordinateur.",
+ "web": "Web",
+ "web_title": "Dessinez dans votre navigateur.",
+ "web_text": "Sans compte ni installation. Choisissez un dessin local, modifiez-le et téléchargez le résultat. Le premier lancement télécharge l’application.",
+ "web_limit": "Pour les grands dessins et les intégrations système, utilisez l’application de bureau.",
+ "desktop_title": "Complétez votre travail sur ordinateur.",
+ "desktop_text": "Profitez des associations de fichiers, miniatures, impression système, sortie PDF, extensions natives, scripts et automatisation sans interface.",
+ "latest": "Télécharger la dernière version",
+ "release_notes": "Notes de version",
+ "formats_label": "Gestion des fichiers",
+ "formats_title": "Lisez et écrivez de vrais fichiers de dessin.",
+ "formats_text": "Ouvrez et enregistrez directement les DWG et DXF, avec des formats de sortie de R14 à R2018. Utilisez aussi les fichiers de récupération, les maillages et les exports de propriétés.",
+ "format_versions": "Lecture · Écriture · R14–R2018",
+ "recovery": "Récupération de dessins",
+ "mesh_formats": "Import et export de maillages",
+ "pdf": "Impression sur ordinateur",
+ "csv": "Extraction de propriétés",
+ "growth_label": "Évolution du projet",
+ "growth_title": "Développé ouvertement. Une croissance publique.",
+ "growth_text": "Suivez le projet à travers les étoiles GitHub et les téléchargements des versions.",
+ "stars": "Étoiles",
+ "stars_link": "Voir les étoiles",
+ "downloads": "Téléchargements des versions",
+ "releases_link": "Voir les versions",
+ "chart_updated": "Mise à jour : {date}",
+ "chart_downloads": "Téléchargements par version",
+ "chart_totals": "{count} téléchargements · {releases} versions · Dernière exclue",
+ "faq_label": "Questions fréquentes",
+ "faq_title": "Avant votre premier dessin.",
+ "faq_free": "Open CAD Studio est-il gratuit ?",
+ "faq_free_answer": "Oui. Le projet est libre et distribué sous licence GPL-3.0.",
+ "faq_web": "Faut-il un compte ou une installation ?",
+ "faq_web_answer": "Non. Ouvrez l’application web dans un navigateur récent. Les dessins sont ouverts depuis votre appareil et enregistrés par téléchargement local.",
+ "faq_platforms": "Quels systèmes sont pris en charge ?",
+ "faq_platforms_answer": "Des paquets sont disponibles pour Windows, Linux et macOS sur Apple Silicon.",
+ "faq_production": "Puis-je l’utiliser pour des fichiers de production critiques ?",
+ "faq_production_answer": "Le projet est en développement actif. Conservez des sauvegardes et signalez les problèmes reproductibles sur GitHub.",
+ "community_label": "Développement ouvert",
+ "community_title": "Participez à l’avenir d’Open CAD Studio.",
+ "community_text": "Signalez des problèmes, contribuez au code ou soutenez le développement.",
+ "github": "Voir sur GitHub",
+ "sponsor": "Soutenir le développement",
+ "footer": "Dessin technique et modélisation solide libres.",
+ "web_app": "Application web",
+ "download_nav": "Téléchargements",
+ "discussions": "Discussions"
+}
diff --git a/site/locales/hi-IN.json b/site/locales/hi-IN.json
new file mode 100644
index 000000000..4144567ba
--- /dev/null
+++ b/site/locales/hi-IN.json
@@ -0,0 +1,95 @@
+{
+ "name": "हिन्दी",
+ "title": "Open CAD Studio — DWG और DXF के लिए मुफ़्त CAD",
+ "description": "DWG और DXF खोलें और सहेजें, 2D में ड्रॉइंग और 3D में मॉडल बनाएँ। ब्राउज़र, Windows, Linux और macOS के लिए मुफ़्त, ओपन-सोर्स CAD।",
+ "skip": "सामग्री पर जाएँ",
+ "home": "Open CAD Studio मुखपृष्ठ",
+ "navigation": "नेविगेशन",
+ "language": "भाषा",
+ "capabilities": "सुविधाएँ",
+ "desktop": "डेस्कटॉप",
+ "formats": "फ़ॉर्मैट",
+ "launch": "वेब ऐप खोलें",
+ "eyebrow": "ओपन-सोर्स CAD · डेस्कटॉप + वेब",
+ "hero_title": "DWG और DXF सीधे संपादित करें।",
+ "hero_emphasis": "एक खुला CAD स्टूडियो।",
+ "hero_lead": "2D ड्रॉइंग, लेआउट और 3D मॉडल बनाएँ। अपने डिवाइस से फ़ाइल खोलें और ब्राउज़र या डेस्कटॉप पर काम करके परिणाम स्थानीय रूप से सहेजें।",
+ "download": "डेस्कटॉप संस्करण डाउनलोड करें",
+ "license": "GPL-3.0 लाइसेंस",
+ "languages": "इंटरफ़ेस की {count} भाषाएँ",
+ "no_account": "मुफ़्त · खाता नहीं चाहिए · इंस्टॉलेशन नहीं चाहिए",
+ "workspace_alt": "Open CAD Studio में खुली DWG तकनीकी ड्रॉइंग",
+ "native_editing": "सीधा संपादन",
+ "read_write": "पढ़ना और लिखना",
+ "one_workspace": "एक कार्यक्षेत्र",
+ "gpu": "त्वरित व्यूपोर्ट",
+ "core": "साझा संपादन कोर",
+ "cap_eyebrow": "ड्रॉइंग और दस्तावेज़ीकरण",
+ "cap_title": "पहली रेखा से अंतिम लेआउट तक।",
+ "cap_lead": "कमांड, सटीक स्थिति और ड्रॉइंग शीट एक ही कार्यक्षेत्र में।",
+ "draft_label": "सटीक ड्रॉइंग",
+ "draft_title": "एक कमांड से शुरू करें।",
+ "draft_text": "कमांड स्वतः-पूर्णता, ऑब्जेक्ट स्नैप और ट्रैकिंग से ड्रॉइंग बनाएँ और संपादित करें। लेयर, ब्लॉक और बाहरी संदर्भों से ड्रॉइंग व्यवस्थित करें।",
+ "doc_label": "दस्तावेज़ीकरण",
+ "doc_title": "पूरी ड्रॉइंग शीट तैयार करें।",
+ "doc_text": "टेक्स्ट, आयाम, लीडर, टॉलरेंस और तालिकाएँ जोड़ें। व्यूपोर्ट और प्लॉट शैलियों से पेपर स्पेस में लेआउट व्यवस्थित करें।",
+ "open_label": "खुली कार्यप्रणाली",
+ "open_title": "आपकी ड्रॉइंग आपकी ही रहती हैं।",
+ "open_text": "अपने डिवाइस पर मूल DWG और DXF फ़ाइलें सीधे खोलें और सहेजें। सोर्स कोड सार्वजनिक है और उपकरण मुफ़्त हैं।",
+ "model_label": "ज्यामिति कर्नेल पर आधारित 3D",
+ "model_title": "ठोस मॉडल बनाएँ और आकार दें।",
+ "model_text": "मूल ठोस आकृतियाँ, एक्सट्रूज़न, रिवॉल्व, स्वीप और लॉफ़्ट बनाएँ। ज्यामिति कर्नेल द्वारा हल किए जाने वाले बूलियन ऑपरेशन से ठोस जोड़ें या घटाएँ।",
+ "camera": "ऑर्थोग्राफ़िक और परिप्रेक्ष्य दृश्य",
+ "tessellation": "ACIS ठोस आकृतियों का प्रदर्शन",
+ "mesh_workflow": "OBJ आयात और मेश निर्यात",
+ "model_alt": "Open CAD Studio के दो व्यूपोर्ट में एक 3D यांत्रिक मॉडल",
+ "model_space": "मॉडल स्पेस",
+ "model_caption": "ठोस ज्यामिति · इंटरैक्टिव दृश्य",
+ "editions_label": "एक कोर, काम करने के दो तरीके",
+ "editions_title": "ब्राउज़र में खोलें या डेस्कटॉप पर इंस्टॉल करें।",
+ "web": "वेब",
+ "web_title": "ब्राउज़र में ड्रॉइंग शुरू करें।",
+ "web_text": "खाता या इंस्टॉलेशन नहीं चाहिए। स्थानीय ड्रॉइंग चुनें, संपादित करें और परिणाम डाउनलोड करें। पहली बार खोलने पर ऐप डाउनलोड होता है।",
+ "web_limit": "बड़ी ड्रॉइंग और सिस्टम एकीकरण के लिए डेस्कटॉप ऐप इस्तेमाल करें।",
+ "desktop_title": "डेस्कटॉप पर अपनी कार्यप्रणाली पूरी करें।",
+ "desktop_text": "फ़ाइल संबद्धता, थंबनेल, सिस्टम प्रिंटिंग, PDF आउटपुट, नेटिव प्लगइन, स्क्रिप्ट और बिना इंटरफ़ेस वाली ऑटोमेशन सुविधाएँ इस्तेमाल करें।",
+ "latest": "नवीनतम संस्करण डाउनलोड करें",
+ "release_notes": "रिलीज़ नोट्स",
+ "formats_label": "फ़ाइल कार्यप्रणाली",
+ "formats_title": "असली ड्रॉइंग फ़ाइलें सीधे पढ़ें और लिखें।",
+ "formats_text": "DWG और DXF सीधे खोलें और R14 से R2018 तक के संस्करणों में सहेजें। रिकवरी फ़ाइलों, मेश और प्रॉपर्टी निर्यात के साथ भी काम करें।",
+ "format_versions": "पढ़ना · लिखना · R14–R2018",
+ "recovery": "ड्रॉइंग रिकवरी",
+ "mesh_formats": "मेश आयात और निर्यात",
+ "pdf": "डेस्कटॉप प्रिंटिंग",
+ "csv": "प्रॉपर्टी निष्कर्षण",
+ "growth_label": "परियोजना की प्रगति",
+ "growth_title": "खुला विकास। सार्वजनिक प्रगति।",
+ "growth_text": "GitHub सितारों और रिलीज़ डाउनलोड के माध्यम से परियोजना की प्रगति देखें।",
+ "stars": "सितारे",
+ "stars_link": "सितारा देने वाले देखें",
+ "downloads": "रिलीज़ डाउनलोड",
+ "releases_link": "रिलीज़ देखें",
+ "chart_updated": "अपडेट: {date}",
+ "chart_downloads": "प्रति रिलीज़ डाउनलोड",
+ "chart_totals": "{count} डाउनलोड · {releases} रिलीज़ · नवीनतम शामिल नहीं",
+ "faq_label": "अक्सर पूछे जाने वाले प्रश्न",
+ "faq_title": "अपनी पहली ड्रॉइंग से पहले।",
+ "faq_free": "क्या Open CAD Studio मुफ़्त है?",
+ "faq_free_answer": "हाँ। यह परियोजना ओपन-सोर्स है और GPL-3.0 लाइसेंस के अंतर्गत वितरित की जाती है।",
+ "faq_web": "क्या खाता या इंस्टॉलेशन चाहिए?",
+ "faq_web_answer": "नहीं। आधुनिक ब्राउज़र में वेब ऐप खोलें। ड्रॉइंग आपके डिवाइस से खुलती हैं और स्थानीय डाउनलोड के रूप में सहेजी जाती हैं।",
+ "faq_platforms": "कौन से डेस्कटॉप प्लेटफ़ॉर्म समर्थित हैं?",
+ "faq_platforms_answer": "Windows, Linux और Apple Silicon macOS के लिए पैकेज उपलब्ध हैं।",
+ "faq_production": "क्या इसे महत्वपूर्ण उत्पादन फ़ाइलों के लिए इस्तेमाल कर सकता हूँ?",
+ "faq_production_answer": "परियोजना का सक्रिय विकास चल रहा है। बैकअप रखें और दोहराई जा सकने वाली समस्याएँ GitHub पर बताएँ।",
+ "community_label": "खुला विकास",
+ "community_title": "Open CAD Studio को आकार देने में मदद करें।",
+ "community_text": "समस्याएँ बताएँ, कोड में योगदान दें या विकास का समर्थन करें।",
+ "github": "GitHub पर देखें",
+ "sponsor": "विकास का समर्थन करें",
+ "footer": "ओपन-सोर्स तकनीकी ड्रॉइंग और ठोस मॉडलिंग।",
+ "web_app": "वेब ऐप",
+ "download_nav": "डाउनलोड",
+ "discussions": "चर्चाएँ"
+}
diff --git a/site/locales/hu-HU.json b/site/locales/hu-HU.json
new file mode 100644
index 000000000..4a9d48ce3
--- /dev/null
+++ b/site/locales/hu-HU.json
@@ -0,0 +1,95 @@
+{
+ "name": "Magyar",
+ "title": "Open CAD Studio — Ingyenes DWG és DXF CAD",
+ "description": "Nyisson meg és mentsen DWG- és DXF-fájlokat, rajzoljon 2D-ben és modellezzen 3D-ben. Szabad CAD böngészőre, Windowsra, Linuxra és macOS-re.",
+ "skip": "Ugrás a tartalomra",
+ "home": "Open CAD Studio kezdőlap",
+ "navigation": "Navigáció",
+ "language": "Nyelv",
+ "capabilities": "Funkciók",
+ "desktop": "Asztali alkalmazás",
+ "formats": "Formátumok",
+ "launch": "Webalkalmazás megnyitása",
+ "eyebrow": "Nyílt forráskódú CAD · Asztali + Web",
+ "hero_title": "Natív DWG és DXF.",
+ "hero_emphasis": "Egy nyitott CAD-stúdió.",
+ "hero_lead": "Készítsen 2D-rajzokat, elrendezéseket és 3D-modelleket. Nyisson meg egy fájlt az eszközéről, és mentse munkáját helyben, böngészőben vagy asztali gépen.",
+ "download": "Asztali verzió letöltése",
+ "license": "GPL-3.0-licenc",
+ "languages": "{count} felületnyelv",
+ "no_account": "Ingyenes · Fiók nélkül · Telepítés nélkül",
+ "workspace_alt": "DWG műszaki terv az Open CAD Studio munkaterében",
+ "native_editing": "Natív szerkesztés",
+ "read_write": "Olvasás és írás",
+ "one_workspace": "Egy munkatér",
+ "gpu": "Gyorsított nézet",
+ "core": "Közös szerkesztőmotor",
+ "cap_eyebrow": "Rajzolás és dokumentálás",
+ "cap_title": "Az első vonaltól a kész tervlapig.",
+ "cap_lead": "Parancsok, pontos elhelyezés és rajzlapok egy munkatérben.",
+ "draft_label": "Pontos rajzolás",
+ "draft_title": "Kezdje egy paranccsal.",
+ "draft_text": "Rajzoljon és szerkesszen parancskiegészítéssel, tárgyraszterrel és követéssel. Rendezze rajzát rétegekkel, blokkokkal és külső hivatkozásokkal.",
+ "doc_label": "Dokumentálás",
+ "doc_title": "Készítsen teljes rajzlapokat.",
+ "doc_text": "Adjon hozzá szöveget, méreteket, mutatóvonalakat, tűréseket és táblázatokat. Állítsa össze a papírtér elrendezéseit nézetablakokkal és nyomtatási stílusokkal.",
+ "open_label": "Nyitott munkafolyamat",
+ "open_title": "A rajzai az Önéi maradnak.",
+ "open_text": "Nyisson meg és mentsen natív DWG- és DXF-fájlokat az eszközén. A forráskód nyilvános, az eszközök ingyenesek.",
+ "model_label": "3D geometriai maggal",
+ "model_title": "Készítsen és alakítson szilárdtestmodelleket.",
+ "model_text": "Hozzon létre alaptesteket, kihúzásokat, forgatástesteket, söpréseket és átmeneteket. Egyesítsen vagy vonjon ki testeket a geometriai mag logikai műveleteivel.",
+ "camera": "Merőleges és perspektivikus nézetek",
+ "tessellation": "ACIS-testek megjelenítése",
+ "mesh_workflow": "OBJ-import és hálóexport",
+ "model_alt": "Mechanikai 3D-modell az Open CAD Studio két nézetablakában",
+ "model_space": "Modelltér",
+ "model_caption": "Testgeometria · Interaktív nézetek",
+ "editions_label": "Egy motor, két munkamód",
+ "editions_title": "Nyissa meg böngészőben vagy telepítse a gépére.",
+ "web": "Web",
+ "web_title": "Kezdjen rajzolni a böngészőben.",
+ "web_text": "Fiók és telepítés nélkül. Válasszon helyi rajzot, szerkessze, majd töltse le az eredményt. Az alkalmazás az első indításkor töltődik le.",
+ "web_limit": "Nagy rajzokhoz és rendszerintegrációkhoz használja az asztali alkalmazást.",
+ "desktop_title": "Egészítse ki asztali munkafolyamatát.",
+ "desktop_text": "Használjon fájltársításokat, bélyegképeket, rendszernyomtatást, PDF-kimenetet, natív bővítményeket, szkripteket és felület nélküli automatizálást.",
+ "latest": "Legújabb verzió letöltése",
+ "release_notes": "Kiadási megjegyzések",
+ "formats_label": "Fájlkezelés",
+ "formats_title": "Valódi rajzfájlok olvasása és írása.",
+ "formats_text": "Nyisson meg és mentsen DWG és DXF formátumban közvetlenül, R14–R2018 célverziókkal. Kezeljen helyreállítási fájlokat, hálókat és tulajdonságexportokat is.",
+ "format_versions": "Olvasás · Írás · R14–R2018",
+ "recovery": "Rajzhelyreállítás",
+ "mesh_formats": "Hálók importálása és exportálása",
+ "pdf": "Asztali nyomtatás",
+ "csv": "Tulajdonságok kinyerése",
+ "growth_label": "A projekt fejlődése",
+ "growth_title": "Nyílt fejlesztés. Nyilvános növekedés.",
+ "growth_text": "Kövesse a projektet GitHub-csillagok és kiadásletöltések alapján.",
+ "stars": "Csillagok",
+ "stars_link": "Csillagozók megtekintése",
+ "downloads": "Kiadásletöltések",
+ "releases_link": "Kiadások megtekintése",
+ "chart_updated": "Frissítve: {date}",
+ "chart_downloads": "Letöltés kiadásonként",
+ "chart_totals": "{count} letöltés · {releases} kiadás · Legújabb nélkül",
+ "faq_label": "Gyakori kérdések",
+ "faq_title": "Az első rajz előtt.",
+ "faq_free": "Ingyenes az Open CAD Studio?",
+ "faq_free_answer": "Igen. A projekt nyílt forráskódú, GPL-3.0-licenc alatt érhető el.",
+ "faq_web": "Kell fiók vagy telepítés?",
+ "faq_web_answer": "Nem. Nyissa meg a webalkalmazást egy korszerű böngészőben. A rajzok az eszközéről nyílnak meg, és helyi letöltésként menthetők.",
+ "faq_platforms": "Milyen asztali platformok támogatottak?",
+ "faq_platforms_answer": "Windowsra, Linuxra és Apple Silicon macOS-re érhetők el csomagok.",
+ "faq_production": "Használhatom kritikus termelési fájlokhoz?",
+ "faq_production_answer": "A projekt aktív fejlesztés alatt áll. Tartson biztonsági másolatokat, és jelentse a reprodukálható hibákat a GitHubon.",
+ "community_label": "Nyílt fejlesztés",
+ "community_title": "Alakítsa velünk az Open CAD Studiót.",
+ "community_text": "Jelentsen hibákat, járuljon hozzá kóddal vagy támogassa a fejlesztést.",
+ "github": "Megtekintés a GitHubon",
+ "sponsor": "Fejlesztés támogatása",
+ "footer": "Nyílt forráskódú műszaki rajzolás és szilárdtest-modellezés.",
+ "web_app": "Webalkalmazás",
+ "download_nav": "Letöltések",
+ "discussions": "Beszélgetések"
+}
diff --git a/site/locales/it-IT.json b/site/locales/it-IT.json
new file mode 100644
index 000000000..46bfb6a6d
--- /dev/null
+++ b/site/locales/it-IT.json
@@ -0,0 +1,95 @@
+{
+ "name": "Italiano",
+ "title": "Open CAD Studio — CAD gratuito per DWG e DXF",
+ "description": "Apri e salva DWG e DXF, disegna in 2D e modella in 3D. CAD libero per browser, Windows, Linux e macOS.",
+ "skip": "Vai al contenuto",
+ "home": "Pagina iniziale di Open CAD Studio",
+ "navigation": "Navigazione",
+ "language": "Lingua",
+ "capabilities": "Funzionalità",
+ "desktop": "Desktop",
+ "formats": "Formati",
+ "launch": "Apri l’app web",
+ "eyebrow": "CAD open source · Desktop + Web",
+ "hero_title": "DWG e DXF nativi.",
+ "hero_emphasis": "Uno studio CAD aperto.",
+ "hero_lead": "Crea disegni 2D, layout e modelli 3D. Apri un file dal tuo dispositivo e salva il lavoro localmente, nel browser o sul desktop.",
+ "download": "Scarica per desktop",
+ "license": "Licenza GPL-3.0",
+ "languages": "{count} lingue dell’interfaccia",
+ "no_account": "Gratis · Senza account · Senza installazione",
+ "workspace_alt": "Un piano tecnico DWG aperto in Open CAD Studio",
+ "native_editing": "Modifica nativa",
+ "read_write": "Lettura e scrittura",
+ "one_workspace": "Un unico spazio di lavoro",
+ "gpu": "Vista accelerata",
+ "core": "Motore di modifica condiviso",
+ "cap_eyebrow": "Disegno e documentazione",
+ "cap_title": "Dalla prima linea al layout finale.",
+ "cap_lead": "Comandi, posizionamento preciso e tavole di disegno in un unico spazio.",
+ "draft_label": "Disegno di precisione",
+ "draft_title": "Inizia con un comando.",
+ "draft_text": "Disegna e modifica con completamento dei comandi, snap agli oggetti e tracciamento. Organizza il disegno con layer, blocchi e riferimenti esterni.",
+ "doc_label": "Documentazione",
+ "doc_title": "Prepara tavole di disegno complete.",
+ "doc_text": "Aggiungi testi, quote, direttrici, tolleranze e tabelle. Organizza i layout nello spazio carta con finestre e stili di stampa.",
+ "open_label": "Flusso di lavoro aperto",
+ "open_title": "I tuoi disegni restano tuoi.",
+ "open_text": "Apri e salva file DWG e DXF nativi sul tuo dispositivo. Il codice sorgente è pubblico e gli strumenti sono gratuiti.",
+ "model_label": "3D con kernel geometrico",
+ "model_title": "Crea e dai forma ai solidi.",
+ "model_text": "Crea primitive, estrusioni, rivoluzioni, sweep e loft. Unisci o sottrai solidi con operazioni booleane gestite dal kernel geometrico.",
+ "camera": "Viste ortografiche e prospettiche",
+ "tessellation": "Visualizzazione dei solidi ACIS",
+ "mesh_workflow": "Importazione OBJ ed esportazione di mesh",
+ "model_alt": "Un modello meccanico 3D in due finestre di Open CAD Studio",
+ "model_space": "Spazio modello",
+ "model_caption": "Geometria solida · Viste interattive",
+ "editions_label": "Un motore, due modi di lavorare",
+ "editions_title": "Apri nel browser o installa sul desktop.",
+ "web": "Web",
+ "web_title": "Inizia a disegnare nel browser.",
+ "web_text": "Senza account né installazione. Scegli un disegno locale, modificalo e scarica il risultato. Al primo avvio viene scaricata l’applicazione.",
+ "web_limit": "Per disegni grandi e integrazioni di sistema, usa l’app desktop.",
+ "desktop_title": "Completa il tuo lavoro sul desktop.",
+ "desktop_text": "Usa associazioni di file, miniature, stampa di sistema, output PDF, plugin nativi, script e automazione senza interfaccia.",
+ "latest": "Scarica l’ultima versione",
+ "release_notes": "Note di rilascio",
+ "formats_label": "Gestione dei file",
+ "formats_title": "Leggi e scrivi veri file di disegno.",
+ "formats_text": "Apri e salva DWG e DXF direttamente, con formati di destinazione da R14 a R2018. Lavora anche con file di recupero, mesh ed esportazioni di proprietà.",
+ "format_versions": "Lettura · Scrittura · R14–R2018",
+ "recovery": "Recupero dei disegni",
+ "mesh_formats": "Importazione ed esportazione di mesh",
+ "pdf": "Stampa desktop",
+ "csv": "Estrazione delle proprietà",
+ "growth_label": "Crescita del progetto",
+ "growth_title": "Sviluppo aperto. Crescita pubblica.",
+ "growth_text": "Segui il progetto attraverso le stelle su GitHub e i download delle versioni.",
+ "stars": "Stelle",
+ "stars_link": "Vedi le stelle",
+ "downloads": "Download delle versioni",
+ "releases_link": "Vedi le versioni",
+ "chart_updated": "Aggiornato: {date}",
+ "chart_downloads": "Download per versione",
+ "chart_totals": "{count} download · {releases} versioni · Ultima esclusa",
+ "faq_label": "Domande frequenti",
+ "faq_title": "Prima del tuo primo disegno.",
+ "faq_free": "Open CAD Studio è gratuito?",
+ "faq_free_answer": "Sì. Il progetto è open source e distribuito con licenza GPL-3.0.",
+ "faq_web": "Servono un account o un’installazione?",
+ "faq_web_answer": "No. Apri l’app web in un browser moderno. I disegni vengono aperti dal tuo dispositivo e salvati come download locali.",
+ "faq_platforms": "Quali piattaforme desktop sono supportate?",
+ "faq_platforms_answer": "Sono disponibili pacchetti per Windows, Linux e macOS con Apple Silicon.",
+ "faq_production": "Posso usarlo per file di produzione critici?",
+ "faq_production_answer": "Il progetto è in sviluppo attivo. Conserva copie di backup e segnala problemi riproducibili su GitHub.",
+ "community_label": "Sviluppo aperto",
+ "community_title": "Contribuisci a Open CAD Studio.",
+ "community_text": "Segnala problemi, contribuisci al codice o sostieni lo sviluppo.",
+ "github": "Vedi su GitHub",
+ "sponsor": "Sostieni lo sviluppo",
+ "footer": "Disegno tecnico e modellazione solida open source.",
+ "web_app": "App web",
+ "download_nav": "Download",
+ "discussions": "Discussioni"
+}
diff --git a/site/locales/ja-JP.json b/site/locales/ja-JP.json
new file mode 100644
index 000000000..f9f634cb8
--- /dev/null
+++ b/site/locales/ja-JP.json
@@ -0,0 +1,95 @@
+{
+ "name": "日本語",
+ "title": "Open CAD Studio — 無料の DWG・DXF CAD",
+ "description": "DWG・DXF の読み書き、2D 作図、3D モデリングに対応。ブラウザー、Windows、Linux、macOS 向けの無料オープンソース CAD。",
+ "skip": "本文へ移動",
+ "home": "Open CAD Studio ホーム",
+ "navigation": "ナビゲーション",
+ "language": "言語",
+ "capabilities": "機能",
+ "desktop": "デスクトップ",
+ "formats": "形式",
+ "launch": "Web アプリを開く",
+ "eyebrow": "オープンソース CAD · デスクトップ + Web",
+ "hero_title": "DWG・DXF を直接編集。",
+ "hero_emphasis": "オープンな CAD スタジオ。",
+ "hero_lead": "2D 図面、レイアウト、3D モデルを作成。端末のファイルを開き、ブラウザーやデスクトップで編集して、作業結果をローカルに保存できます。",
+ "download": "デスクトップ版をダウンロード",
+ "license": "GPL-3.0 ライセンス",
+ "languages": "{count} 言語のインターフェース",
+ "no_account": "無料 · アカウント不要 · インストール不要",
+ "workspace_alt": "Open CAD Studio で開いた DWG 技術図面",
+ "native_editing": "直接編集",
+ "read_write": "読み込み・書き込み",
+ "one_workspace": "一つの作業空間",
+ "gpu": "高速なビュー表示",
+ "core": "共通の編集コア",
+ "cap_eyebrow": "作図とドキュメント",
+ "cap_title": "最初の線から最後のレイアウトまで。",
+ "cap_lead": "コマンド、正確な配置、図面シートの作成を一つの作業空間で。",
+ "draft_label": "精密な作図",
+ "draft_title": "コマンドから始める。",
+ "draft_text": "コマンド補完、オブジェクトスナップ、トラッキングで作図・編集。画層、ブロック、外部参照で図面を整理できます。",
+ "doc_label": "ドキュメント",
+ "doc_title": "完成した図面シートを作成。",
+ "doc_text": "文字、寸法、引出線、公差、表を追加。ビューポートと印刷スタイルを使ってペーパー空間のレイアウトを整えられます。",
+ "open_label": "オープンな作業フロー",
+ "open_title": "図面はいつでもあなたのもの。",
+ "open_text": "端末で DWG・DXF ファイルを直接開いて保存。ソースコードは公開され、ツールは無料で利用できます。",
+ "model_label": "幾何カーネルによる 3D",
+ "model_title": "ソリッドモデルを作り、形を整える。",
+ "model_text": "基本形状を作成し、押し出し、回転、スイープ、ロフトで形状を構築。幾何カーネルが処理するブーリアン演算でソリッドを結合・減算できます。",
+ "camera": "正投影と透視投影",
+ "tessellation": "ACIS ソリッドの表示",
+ "mesh_workflow": "OBJ の読み込みとメッシュの書き出し",
+ "model_alt": "Open CAD Studio の二つのビューポートに表示された 3D 機械モデル",
+ "model_space": "モデル空間",
+ "model_caption": "ソリッド形状 · インタラクティブな表示",
+ "editions_label": "一つのコア、二つの使い方",
+ "editions_title": "ブラウザーで開くか、デスクトップにインストール。",
+ "web": "Web",
+ "web_title": "ブラウザーですぐに作図。",
+ "web_text": "アカウントもインストールも不要。ローカルの図面を選んで編集し、結果をダウンロードできます。初回起動時にアプリをダウンロードします。",
+ "web_limit": "大きな図面やシステム連携にはデスクトップ版をお使いください。",
+ "desktop_title": "デスクトップの作業を充実。",
+ "desktop_text": "ファイルの関連付け、サムネイル、システム印刷、PDF 出力、ネイティブプラグイン、スクリプト、画面を使わない自動化に対応。",
+ "latest": "最新版をダウンロード",
+ "release_notes": "リリースノート",
+ "formats_label": "ファイルの活用",
+ "formats_title": "図面ファイルを直接読み書き。",
+ "formats_text": "DWG・DXF を直接開き、R14〜R2018 の形式で保存できます。復元ファイル、メッシュ、プロパティの書き出しにも対応します。",
+ "format_versions": "読み込み · 書き込み · R14〜R2018",
+ "recovery": "図面の復元",
+ "mesh_formats": "メッシュの読み込みと書き出し",
+ "pdf": "デスクトップでの印刷",
+ "csv": "プロパティの抽出",
+ "growth_label": "プロジェクトの成長",
+ "growth_title": "開かれた開発。公開された成長。",
+ "growth_text": "GitHub のスターとリリースのダウンロード数で開発の広がりを確認できます。",
+ "stars": "スター",
+ "stars_link": "スターを付けた人を見る",
+ "downloads": "リリースのダウンロード",
+ "releases_link": "リリースを見る",
+ "chart_updated": "更新日:{date}",
+ "chart_downloads": "リリースごとのダウンロード",
+ "chart_totals": "{count} ダウンロード · {releases} リリース · 最新版を除く",
+ "faq_label": "よくある質問",
+ "faq_title": "最初の図面を開く前に。",
+ "faq_free": "Open CAD Studio は無料ですか?",
+ "faq_free_answer": "はい。オープンソースのプロジェクトで、GPL-3.0 ライセンスで配布されています。",
+ "faq_web": "アカウントやインストールは必要ですか?",
+ "faq_web_answer": "いいえ。最新のブラウザーで Web アプリを開くだけです。端末の図面を開き、編集結果はローカルへのダウンロードとして保存できます。",
+ "faq_platforms": "どのデスクトップ環境に対応していますか?",
+ "faq_platforms_answer": "Windows、Linux、Apple Silicon 搭載 macOS 向けのパッケージがあります。",
+ "faq_production": "重要な本番ファイルに使えますか?",
+ "faq_production_answer": "活発に開発中のプロジェクトです。バックアップを保管し、再現可能な問題は GitHub で報告してください。",
+ "community_label": "開かれた開発",
+ "community_title": "Open CAD Studio を一緒に育てる。",
+ "community_text": "問題の報告、コードの貢献、開発支援で参加できます。",
+ "github": "GitHub で見る",
+ "sponsor": "開発を支援する",
+ "footer": "オープンソースの技術作図とソリッドモデリング。",
+ "web_app": "Web アプリ",
+ "download_nav": "ダウンロード",
+ "discussions": "ディスカッション"
+}
diff --git a/site/locales/ko-KR.json b/site/locales/ko-KR.json
new file mode 100644
index 000000000..d6529b9ce
--- /dev/null
+++ b/site/locales/ko-KR.json
@@ -0,0 +1,95 @@
+{
+ "name": "한국어",
+ "title": "Open CAD Studio — 무료 DWG 및 DXF CAD",
+ "description": "DWG와 DXF를 열고 저장하며 2D 도면과 3D 모델을 만드세요. 브라우저, Windows, Linux, macOS용 무료 오픈 소스 CAD.",
+ "skip": "본문으로 이동",
+ "home": "Open CAD Studio 홈",
+ "navigation": "탐색",
+ "language": "언어",
+ "capabilities": "기능",
+ "desktop": "데스크톱",
+ "formats": "형식",
+ "launch": "웹 앱 열기",
+ "eyebrow": "오픈 소스 CAD · 데스크톱 + 웹",
+ "hero_title": "DWG와 DXF를 직접 편집.",
+ "hero_emphasis": "열린 CAD 스튜디오.",
+ "hero_lead": "2D 도면, 배치, 3D 모델을 만드세요. 기기의 파일을 열고 브라우저나 데스크톱에서 작업한 뒤 결과를 로컬에 저장하세요.",
+ "download": "데스크톱 버전 다운로드",
+ "license": "GPL-3.0 라이선스",
+ "languages": "{count}개 인터페이스 언어",
+ "no_account": "무료 · 계정 불필요 · 설치 불필요",
+ "workspace_alt": "Open CAD Studio에서 연 DWG 기술 도면",
+ "native_editing": "직접 편집",
+ "read_write": "읽기 및 쓰기",
+ "one_workspace": "하나의 작업 공간",
+ "gpu": "가속 뷰포트",
+ "core": "공통 편집 코어",
+ "cap_eyebrow": "제도 및 문서화",
+ "cap_title": "첫 선부터 완성된 배치까지.",
+ "cap_lead": "명령, 정밀 배치, 도면 시트를 하나의 작업 공간에서 사용하세요.",
+ "draft_label": "정밀 제도",
+ "draft_title": "명령으로 시작하세요.",
+ "draft_text": "명령 자동 완성, 객체 스냅, 추적으로 그리고 편집하세요. 도면층, 블록, 외부 참조로 도면을 정리하세요.",
+ "doc_label": "문서화",
+ "doc_title": "완성된 도면 시트를 준비하세요.",
+ "doc_text": "문자, 치수, 지시선, 공차, 표를 추가하세요. 뷰포트와 플롯 스타일로 도면 공간의 배치를 구성하세요.",
+ "open_label": "열린 작업 흐름",
+ "open_title": "도면의 주인은 언제나 사용자입니다.",
+ "open_text": "기기에서 DWG와 DXF 파일을 직접 열고 저장하세요. 소스 코드는 공개되어 있고 도구는 무료입니다.",
+ "model_label": "기하 커널 기반 3D",
+ "model_title": "솔리드 모델을 만들고 다듬으세요.",
+ "model_text": "기본 솔리드, 돌출, 회전, 스윕, 로프트를 만드세요. 기하 커널이 처리하는 불리언 연산으로 솔리드를 합치거나 빼세요.",
+ "camera": "직교 및 원근 뷰",
+ "tessellation": "ACIS 솔리드 시각화",
+ "mesh_workflow": "OBJ 가져오기 및 메시 내보내기",
+ "model_alt": "Open CAD Studio의 두 뷰포트에 표시된 3D 기계 모델",
+ "model_space": "모형 공간",
+ "model_caption": "솔리드 형상 · 대화형 뷰",
+ "editions_label": "하나의 코어, 두 가지 작업 방식",
+ "editions_title": "브라우저에서 열거나 데스크톱에 설치하세요.",
+ "web": "웹",
+ "web_title": "브라우저에서 바로 그리세요.",
+ "web_text": "계정이나 설치가 필요 없습니다. 로컬 도면을 선택해 편집하고 결과를 다운로드하세요. 처음 실행할 때 앱이 다운로드됩니다.",
+ "web_limit": "큰 도면이나 시스템 연동에는 데스크톱 앱을 사용하세요.",
+ "desktop_title": "데스크톱 작업 흐름을 완성하세요.",
+ "desktop_text": "파일 연결, 썸네일, 시스템 인쇄, PDF 출력, 네이티브 플러그인, 스크립트, 화면 없는 자동화를 사용하세요.",
+ "latest": "최신 버전 다운로드",
+ "release_notes": "릴리스 노트",
+ "formats_label": "파일 작업 흐름",
+ "formats_title": "실제 도면 파일을 직접 읽고 쓰세요.",
+ "formats_text": "DWG와 DXF를 직접 열고 R14부터 R2018까지의 형식으로 저장하세요. 복구 파일, 메시, 속성 내보내기도 활용하세요.",
+ "format_versions": "읽기 · 쓰기 · R14–R2018",
+ "recovery": "도면 복구",
+ "mesh_formats": "메시 가져오기 및 내보내기",
+ "pdf": "데스크톱 출력",
+ "csv": "속성 추출",
+ "growth_label": "프로젝트 성장",
+ "growth_title": "열린 개발, 공개된 성장.",
+ "growth_text": "GitHub 스타와 릴리스 다운로드로 프로젝트의 성장을 살펴보세요.",
+ "stars": "스타",
+ "stars_link": "스타를 누른 사용자 보기",
+ "downloads": "릴리스 다운로드",
+ "releases_link": "릴리스 보기",
+ "chart_updated": "업데이트: {date}",
+ "chart_downloads": "릴리스당 다운로드",
+ "chart_totals": "{count}회 다운로드 · {releases}개 릴리스 · 최신 제외",
+ "faq_label": "자주 묻는 질문",
+ "faq_title": "첫 도면을 열기 전에.",
+ "faq_free": "Open CAD Studio는 무료인가요?",
+ "faq_free_answer": "네. 오픈 소스 프로젝트이며 GPL-3.0 라이선스로 배포됩니다.",
+ "faq_web": "계정이나 설치가 필요한가요?",
+ "faq_web_answer": "아니요. 최신 브라우저에서 웹 앱을 여세요. 기기의 도면을 열고 로컬 다운로드로 저장할 수 있습니다.",
+ "faq_platforms": "어떤 데스크톱 플랫폼을 지원하나요?",
+ "faq_platforms_answer": "Windows, Linux, Apple Silicon macOS용 패키지를 제공합니다.",
+ "faq_production": "중요한 실무 파일에 사용할 수 있나요?",
+ "faq_production_answer": "프로젝트는 활발히 개발 중입니다. 백업을 유지하고 재현 가능한 문제는 GitHub에 보고해 주세요.",
+ "community_label": "열린 개발",
+ "community_title": "Open CAD Studio를 함께 만들어 주세요.",
+ "community_text": "문제를 보고하거나 코드를 기여하고 개발을 후원하세요.",
+ "github": "GitHub에서 보기",
+ "sponsor": "개발 후원",
+ "footer": "오픈 소스 기술 제도 및 솔리드 모델링.",
+ "web_app": "웹 앱",
+ "download_nav": "다운로드",
+ "discussions": "토론"
+}
diff --git a/site/locales/nl-NL.json b/site/locales/nl-NL.json
new file mode 100644
index 000000000..5ee12d19f
--- /dev/null
+++ b/site/locales/nl-NL.json
@@ -0,0 +1,95 @@
+{
+ "name": "Nederlands",
+ "title": "Open CAD Studio — Gratis CAD voor DWG en DXF",
+ "description": "Open en bewaar DWG en DXF, teken in 2D en modelleer in 3D. Vrije CAD voor je browser, Windows, Linux en macOS.",
+ "skip": "Naar de inhoud",
+ "home": "Open CAD Studio startpagina",
+ "navigation": "Navigatie",
+ "language": "Taal",
+ "capabilities": "Functies",
+ "desktop": "Desktop",
+ "formats": "Formaten",
+ "launch": "Webapp openen",
+ "eyebrow": "Open-source CAD · Desktop + Web",
+ "hero_title": "DWG en DXF rechtstreeks.",
+ "hero_emphasis": "Eén open CAD-studio.",
+ "hero_lead": "Maak 2D-tekeningen, layouts en 3D-modellen. Open een bestand van je apparaat en bewaar je werk lokaal, in je browser of op je desktop.",
+ "download": "Desktopversie downloaden",
+ "license": "GPL-3.0-licentie",
+ "languages": "{count} interfacetalen",
+ "no_account": "Gratis · Geen account · Geen installatie",
+ "workspace_alt": "Een DWG-technische tekening geopend in Open CAD Studio",
+ "native_editing": "Direct bewerken",
+ "read_write": "Lezen en schrijven",
+ "one_workspace": "Eén werkruimte",
+ "gpu": "Versnelde weergave",
+ "core": "Gedeelde bewerkingskern",
+ "cap_eyebrow": "Tekenen en documenteren",
+ "cap_title": "Van de eerste lijn tot de laatste layout.",
+ "cap_lead": "Commando’s, nauwkeurige plaatsing en tekenbladen in één werkruimte.",
+ "draft_label": "Nauwkeurig tekenen",
+ "draft_title": "Begin met een commando.",
+ "draft_text": "Teken en bewerk met commandoaanvulling, objectmagneten en tracking. Orden je tekening met lagen, blokken en externe verwijzingen.",
+ "doc_label": "Documentatie",
+ "doc_title": "Maak complete tekenbladen.",
+ "doc_text": "Voeg tekst, maatvoering, verwijslijnen, toleranties en tabellen toe. Richt papierlayouts in met kijkvensters en plotstijlen.",
+ "open_label": "Open werkwijze",
+ "open_title": "Je tekeningen blijven van jou.",
+ "open_text": "Open en bewaar DWG- en DXF-bestanden rechtstreeks op je apparaat. De broncode is openbaar en de gereedschappen zijn gratis.",
+ "model_label": "3D met geometriekern",
+ "model_title": "Maak en vorm solide modellen.",
+ "model_text": "Maak basisvormen, extrusies, omwentelingen, sweeps en lofts. Verenig of trek volumes af met booleaanse bewerkingen van de geometriekern.",
+ "camera": "Orthografische en perspectivische weergaven",
+ "tessellation": "Weergave van ACIS-volumes",
+ "mesh_workflow": "OBJ-import en meshexport",
+ "model_alt": "Een mechanisch 3D-model in twee Open CAD Studio-kijkvensters",
+ "model_space": "Modelruimte",
+ "model_caption": "Solide geometrie · Interactieve weergaven",
+ "editions_label": "Eén kern, twee werkwijzen",
+ "editions_title": "Open in je browser of installeer op je desktop.",
+ "web": "Web",
+ "web_title": "Begin te tekenen in je browser.",
+ "web_text": "Zonder account of installatie. Kies een lokale tekening, bewerk deze en download het resultaat. Bij de eerste start wordt de toepassing gedownload.",
+ "web_limit": "Gebruik de desktopapp voor grote tekeningen en systeemintegraties.",
+ "desktop_title": "Maak je desktopwerkstroom compleet.",
+ "desktop_text": "Gebruik bestandskoppelingen, miniaturen, systeemafdrukken, PDF-uitvoer, native plugins, scripts en automatisering zonder interface.",
+ "latest": "Nieuwste versie downloaden",
+ "release_notes": "Versienotities",
+ "formats_label": "Bestandsverwerking",
+ "formats_title": "Lees en schrijf echte tekenbestanden.",
+ "formats_text": "Open en bewaar DWG en DXF rechtstreeks, met doelformaten van R14 tot R2018. Werk ook met herstelbestanden, meshes en eigenschapsexport.",
+ "format_versions": "Lezen · Schrijven · R14–R2018",
+ "recovery": "Tekeningherstel",
+ "mesh_formats": "Meshimport en -export",
+ "pdf": "Afdrukken op de desktop",
+ "csv": "Eigenschappen extraheren",
+ "growth_label": "Projectgroei",
+ "growth_title": "Open ontwikkeld. Publiek gegroeid.",
+ "growth_text": "Volg het project via GitHub-sterren en versiedownloads.",
+ "stars": "Sterren",
+ "stars_link": "Sterren bekijken",
+ "downloads": "Versiedownloads",
+ "releases_link": "Versies bekijken",
+ "chart_updated": "Bijgewerkt: {date}",
+ "chart_downloads": "Downloads per versie",
+ "chart_totals": "{count} downloads · {releases} versies · Nieuwste uitgesloten",
+ "faq_label": "Veelgestelde vragen",
+ "faq_title": "Voor je eerste tekening.",
+ "faq_free": "Is Open CAD Studio gratis?",
+ "faq_free_answer": "Ja. Het project is open source en wordt verspreid onder de GPL-3.0-licentie.",
+ "faq_web": "Heb ik een account of installatie nodig?",
+ "faq_web_answer": "Nee. Open de webapp in een moderne browser. Tekeningen worden vanaf je apparaat geopend en als lokale downloads opgeslagen.",
+ "faq_platforms": "Welke desktopplatforms worden ondersteund?",
+ "faq_platforms_answer": "Er zijn pakketten voor Windows, Linux en macOS met Apple Silicon.",
+ "faq_production": "Kan ik het gebruiken voor kritieke productiebestanden?",
+ "faq_production_answer": "Het project is actief in ontwikkeling. Bewaar back-ups en meld reproduceerbare problemen op GitHub.",
+ "community_label": "Open ontwikkeling",
+ "community_title": "Bouw mee aan Open CAD Studio.",
+ "community_text": "Meld problemen, draag code bij of steun de ontwikkeling.",
+ "github": "Bekijken op GitHub",
+ "sponsor": "Ontwikkeling steunen",
+ "footer": "Open-source technisch tekenen en volumemodellering.",
+ "web_app": "Webapp",
+ "download_nav": "Downloads",
+ "discussions": "Discussies"
+}
diff --git a/site/locales/pl-PL.json b/site/locales/pl-PL.json
new file mode 100644
index 000000000..4809ad7f2
--- /dev/null
+++ b/site/locales/pl-PL.json
@@ -0,0 +1,95 @@
+{
+ "name": "Polski",
+ "title": "Open CAD Studio — Bezpłatny CAD do DWG i DXF",
+ "description": "Otwieraj i zapisuj DWG i DXF, rysuj w 2D i modeluj w 3D. Wolny CAD do przeglądarki, Windows, Linux i macOS.",
+ "skip": "Przejdź do treści",
+ "home": "Strona główna Open CAD Studio",
+ "navigation": "Nawigacja",
+ "language": "Język",
+ "capabilities": "Funkcje",
+ "desktop": "Komputer",
+ "formats": "Formaty",
+ "launch": "Otwórz aplikację webową",
+ "eyebrow": "Otwarty CAD · Komputer + Web",
+ "hero_title": "Natywne DWG i DXF.",
+ "hero_emphasis": "Jedno otwarte studio CAD.",
+ "hero_lead": "Twórz rysunki 2D, arkusze i modele 3D. Otwórz plik z urządzenia i zapisz pracę lokalnie, w przeglądarce lub na komputerze.",
+ "download": "Pobierz na komputer",
+ "license": "Licencja GPL-3.0",
+ "languages": "Liczba języków interfejsu: {count}",
+ "no_account": "Bezpłatnie · Bez konta · Bez instalacji",
+ "workspace_alt": "Plan techniczny DWG otwarty w Open CAD Studio",
+ "native_editing": "Natywna edycja",
+ "read_write": "Odczyt i zapis",
+ "one_workspace": "Jedna przestrzeń robocza",
+ "gpu": "Przyspieszony widok",
+ "core": "Wspólny silnik edycji",
+ "cap_eyebrow": "Rysowanie i dokumentacja",
+ "cap_title": "Od pierwszej linii do gotowego arkusza.",
+ "cap_lead": "Polecenia, precyzyjne pozycjonowanie i arkusze w jednym miejscu.",
+ "draft_label": "Precyzyjne rysowanie",
+ "draft_title": "Zacznij od polecenia.",
+ "draft_text": "Rysuj i edytuj z uzupełnianiem poleceń, przyciąganiem do obiektów i śledzeniem. Organizuj rysunek za pomocą warstw, bloków i odnośników zewnętrznych.",
+ "doc_label": "Dokumentacja",
+ "doc_title": "Przygotuj kompletne arkusze rysunkowe.",
+ "doc_text": "Dodawaj tekst, wymiary, odnośniki, tolerancje i tabele. Układaj arkusze w obszarze papieru z rzutniami i stylami wydruku.",
+ "open_label": "Otwarty sposób pracy",
+ "open_title": "Twoje rysunki pozostają Twoje.",
+ "open_text": "Otwieraj i zapisuj natywne pliki DWG i DXF na swoim urządzeniu. Kod źródłowy jest publiczny, a narzędzia bezpłatne.",
+ "model_label": "3D z jądrem geometrycznym",
+ "model_title": "Twórz i kształtuj bryły.",
+ "model_text": "Twórz bryły podstawowe, wyciągnięcia, obroty, przeciągnięcia i przejścia między przekrojami. Łącz lub odejmuj bryły operacjami logicznymi jądra geometrycznego.",
+ "camera": "Widoki ortogonalne i perspektywiczne",
+ "tessellation": "Wizualizacja brył ACIS",
+ "mesh_workflow": "Import OBJ i eksport siatek",
+ "model_alt": "Mechaniczny model 3D w dwóch rzutniach Open CAD Studio",
+ "model_space": "Obszar modelu",
+ "model_caption": "Geometria bryłowa · Interaktywne widoki",
+ "editions_label": "Jeden silnik, dwa sposoby pracy",
+ "editions_title": "Otwórz w przeglądarce lub zainstaluj na komputerze.",
+ "web": "Web",
+ "web_title": "Zacznij rysować w przeglądarce.",
+ "web_text": "Bez konta i instalacji. Wybierz lokalny rysunek, edytuj go i pobierz wynik. Pierwsze uruchomienie pobiera aplikację.",
+ "web_limit": "Do dużych rysunków i integracji z systemem użyj aplikacji komputerowej.",
+ "desktop_title": "Uzupełnij pracę na komputerze.",
+ "desktop_text": "Korzystaj ze skojarzeń plików, miniatur, druku systemowego, PDF, natywnych wtyczek, skryptów i automatyzacji bez interfejsu.",
+ "latest": "Pobierz najnowszą wersję",
+ "release_notes": "Informacje o wydaniu",
+ "formats_label": "Praca z plikami",
+ "formats_title": "Czytaj i zapisuj rzeczywiste pliki rysunkowe.",
+ "formats_text": "Otwieraj i zapisuj DWG i DXF bezpośrednio, w wersjach od R14 do R2018. Obsługuj także pliki odzyskiwania, siatki i eksport właściwości.",
+ "format_versions": "Odczyt · Zapis · R14–R2018",
+ "recovery": "Odzyskiwanie rysunków",
+ "mesh_formats": "Import i eksport siatek",
+ "pdf": "Drukowanie na komputerze",
+ "csv": "Wyodrębnianie właściwości",
+ "growth_label": "Rozwój projektu",
+ "growth_title": "Otwarty rozwój. Widoczne postępy.",
+ "growth_text": "Śledź projekt dzięki gwiazdkom GitHub i pobraniom wydań.",
+ "stars": "Gwiazdki",
+ "stars_link": "Zobacz gwiazdki",
+ "downloads": "Pobrania wydań",
+ "releases_link": "Zobacz wydania",
+ "chart_updated": "Aktualizacja: {date}",
+ "chart_downloads": "Pobrania na wydanie",
+ "chart_totals": "{count} pobrań · {releases} wydań · Bez najnowszego",
+ "faq_label": "Częste pytania",
+ "faq_title": "Przed pierwszym rysunkiem.",
+ "faq_free": "Czy Open CAD Studio jest bezpłatne?",
+ "faq_free_answer": "Tak. Projekt ma otwarty kod i jest udostępniany na licencji GPL-3.0.",
+ "faq_web": "Czy potrzebuję konta lub instalacji?",
+ "faq_web_answer": "Nie. Otwórz aplikację webową w nowoczesnej przeglądarce. Rysunki otwierasz z urządzenia i zapisujesz jako lokalnie pobrane pliki.",
+ "faq_platforms": "Jakie platformy komputerowe są obsługiwane?",
+ "faq_platforms_answer": "Dostępne są pakiety dla Windows, Linux i macOS z Apple Silicon.",
+ "faq_production": "Czy mogę używać ważnych plików produkcyjnych?",
+ "faq_production_answer": "Projekt jest aktywnie rozwijany. Zachowuj kopie zapasowe i zgłaszaj powtarzalne problemy na GitHubie.",
+ "community_label": "Otwarty rozwój",
+ "community_title": "Pomóż rozwijać Open CAD Studio.",
+ "community_text": "Zgłaszaj problemy, dodawaj kod lub wspieraj rozwój.",
+ "github": "Zobacz na GitHubie",
+ "sponsor": "Wesprzyj rozwój",
+ "footer": "Otwarte rysowanie techniczne i modelowanie bryłowe.",
+ "web_app": "Aplikacja webowa",
+ "download_nav": "Do pobrania",
+ "discussions": "Dyskusje"
+}
diff --git a/site/locales/pt-BR.json b/site/locales/pt-BR.json
new file mode 100644
index 000000000..eb28e7719
--- /dev/null
+++ b/site/locales/pt-BR.json
@@ -0,0 +1,95 @@
+{
+ "name": "Português (Brasil)",
+ "title": "Open CAD Studio — CAD gratuito para DWG e DXF",
+ "description": "Abra e salve DWG e DXF, desenhe em 2D e modele em 3D. CAD livre para navegador, Windows, Linux e macOS.",
+ "skip": "Ir para o conteúdo",
+ "home": "Página inicial do Open CAD Studio",
+ "navigation": "Navegação",
+ "language": "Idioma",
+ "capabilities": "Recursos",
+ "desktop": "Desktop",
+ "formats": "Formatos",
+ "launch": "Abrir aplicativo web",
+ "eyebrow": "CAD de código aberto · Desktop + Web",
+ "hero_title": "DWG e DXF nativos.",
+ "hero_emphasis": "Um estúdio CAD aberto.",
+ "hero_lead": "Crie desenhos 2D, layouts e modelos 3D. Abra um arquivo do seu dispositivo e salve o trabalho localmente, no navegador ou no desktop.",
+ "download": "Baixar para desktop",
+ "license": "Licença GPL-3.0",
+ "languages": "{count} idiomas de interface",
+ "no_account": "Grátis · Sem conta · Sem instalação",
+ "workspace_alt": "Um plano técnico DWG aberto no Open CAD Studio",
+ "native_editing": "Edição nativa",
+ "read_write": "Leitura e gravação",
+ "one_workspace": "Um espaço de trabalho",
+ "gpu": "Visualização acelerada",
+ "core": "Núcleo de edição compartilhado",
+ "cap_eyebrow": "Desenho e documentação",
+ "cap_title": "Da primeira linha ao layout final.",
+ "cap_lead": "Comandos, posicionamento preciso e folhas de desenho no mesmo espaço.",
+ "draft_label": "Desenho de precisão",
+ "draft_title": "Comece com um comando.",
+ "draft_text": "Desenhe e edite com preenchimento de comandos, snap a objetos e rastreamento. Organize o desenho com camadas, blocos e referências externas.",
+ "doc_label": "Documentação",
+ "doc_title": "Prepare folhas de desenho completas.",
+ "doc_text": "Adicione textos, cotas, linhas de chamada, tolerâncias e tabelas. Organize layouts no espaço do papel com janelas de visualização e estilos de plotagem.",
+ "open_label": "Fluxo de trabalho aberto",
+ "open_title": "Seus desenhos continuam sendo seus.",
+ "open_text": "Abra e salve arquivos DWG e DXF nativos no seu dispositivo. O código-fonte é público e as ferramentas são gratuitas.",
+ "model_label": "3D com núcleo geométrico",
+ "model_title": "Crie e modele sólidos.",
+ "model_text": "Crie primitivas, extrusões, revoluções, varreduras e transições entre perfis. Una ou subtraia sólidos com operações booleanas resolvidas pelo núcleo geométrico.",
+ "camera": "Vistas ortográficas e em perspectiva",
+ "tessellation": "Visualização de sólidos ACIS",
+ "mesh_workflow": "Importação OBJ e exportação de malhas",
+ "model_alt": "Um modelo mecânico 3D em duas janelas do Open CAD Studio",
+ "model_space": "Espaço do modelo",
+ "model_caption": "Geometria sólida · Vistas interativas",
+ "editions_label": "Um núcleo, duas formas de trabalhar",
+ "editions_title": "Abra no navegador ou instale no desktop.",
+ "web": "Web",
+ "web_title": "Comece a desenhar no navegador.",
+ "web_text": "Sem conta ou instalação. Escolha um desenho local, edite e baixe o resultado. A primeira abertura baixa o aplicativo.",
+ "web_limit": "Para desenhos grandes e integrações do sistema, use o aplicativo de desktop.",
+ "desktop_title": "Complete seu fluxo de trabalho no desktop.",
+ "desktop_text": "Use associações de arquivos, miniaturas, impressão do sistema, saída PDF, plugins nativos, scripts e automação sem interface.",
+ "latest": "Baixar a versão mais recente",
+ "release_notes": "Notas da versão",
+ "formats_label": "Fluxos de arquivos",
+ "formats_title": "Leia e grave arquivos de desenho reais.",
+ "formats_text": "Abra e salve DWG e DXF diretamente, com versões de saída de R14 a R2018. Trabalhe também com arquivos de recuperação, malhas e exportações de propriedades.",
+ "format_versions": "Leitura · Gravação · R14–R2018",
+ "recovery": "Recuperação de desenhos",
+ "mesh_formats": "Importação e exportação de malhas",
+ "pdf": "Plotagem no desktop",
+ "csv": "Extração de propriedades",
+ "growth_label": "Evolução do projeto",
+ "growth_title": "Desenvolvimento aberto. Crescimento público.",
+ "growth_text": "Acompanhe o projeto pelas estrelas no GitHub e pelos downloads das versões.",
+ "stars": "Estrelas",
+ "stars_link": "Ver estrelas",
+ "downloads": "Downloads das versões",
+ "releases_link": "Ver versões",
+ "chart_updated": "Atualizado em {date}",
+ "chart_downloads": "Downloads por versão",
+ "chart_totals": "{count} downloads · {releases} versões · Última excluída",
+ "faq_label": "Perguntas frequentes",
+ "faq_title": "Antes do seu primeiro desenho.",
+ "faq_free": "O Open CAD Studio é gratuito?",
+ "faq_free_answer": "Sim. O projeto é de código aberto e distribuído sob a licença GPL-3.0.",
+ "faq_web": "Preciso de uma conta ou instalação?",
+ "faq_web_answer": "Não. Abra o aplicativo web em um navegador moderno. Os desenhos são abertos do seu dispositivo e salvos como downloads locais.",
+ "faq_platforms": "Quais plataformas de desktop são compatíveis?",
+ "faq_platforms_answer": "Há pacotes para Windows, Linux e macOS com Apple Silicon.",
+ "faq_production": "Posso usar arquivos críticos de produção?",
+ "faq_production_answer": "O projeto está em desenvolvimento ativo. Mantenha backups e relate problemas reproduzíveis no GitHub.",
+ "community_label": "Desenvolvimento aberto",
+ "community_title": "Ajude a construir o Open CAD Studio.",
+ "community_text": "Relate problemas, contribua com código ou apoie o desenvolvimento.",
+ "github": "Ver no GitHub",
+ "sponsor": "Patrocinar o desenvolvimento",
+ "footer": "Desenho técnico e modelagem sólida de código aberto.",
+ "web_app": "Aplicativo web",
+ "download_nav": "Downloads",
+ "discussions": "Discussões"
+}
diff --git a/site/locales/ru-RU.json b/site/locales/ru-RU.json
new file mode 100644
index 000000000..2d2343717
--- /dev/null
+++ b/site/locales/ru-RU.json
@@ -0,0 +1,95 @@
+{
+ "name": "Русский",
+ "title": "Open CAD Studio — Бесплатная САПР для DWG и DXF",
+ "description": "Открывайте и сохраняйте DWG и DXF, чертите в 2D и моделируйте в 3D. Свободная САПР для браузера, Windows, Linux и macOS.",
+ "skip": "Перейти к содержимому",
+ "home": "Главная страница Open CAD Studio",
+ "navigation": "Навигация",
+ "language": "Язык",
+ "capabilities": "Возможности",
+ "desktop": "Для компьютера",
+ "formats": "Форматы",
+ "launch": "Открыть веб-приложение",
+ "eyebrow": "САПР с открытым кодом · Компьютер + Веб",
+ "hero_title": "DWG и DXF напрямую.",
+ "hero_emphasis": "Открытая студия проектирования.",
+ "hero_lead": "Создавайте 2D-чертежи, листы и 3D-модели. Откройте файл с устройства и сохраняйте работу локально — в браузере или на компьютере.",
+ "download": "Скачать для компьютера",
+ "license": "Лицензия GPL-3.0",
+ "languages": "Языков интерфейса: {count}",
+ "no_account": "Бесплатно · Без аккаунта · Без установки",
+ "workspace_alt": "Технический DWG-чертёж, открытый в Open CAD Studio",
+ "native_editing": "Прямое редактирование",
+ "read_write": "Чтение и запись",
+ "one_workspace": "Единое рабочее пространство",
+ "gpu": "Ускоренное отображение",
+ "core": "Общее ядро редактирования",
+ "cap_eyebrow": "Черчение и документация",
+ "cap_title": "От первой линии до готового листа.",
+ "cap_lead": "Команды, точное размещение и листы чертежей в одной среде.",
+ "draft_label": "Точное черчение",
+ "draft_title": "Начните с команды.",
+ "draft_text": "Чертите и редактируйте с автодополнением команд, объектными привязками и отслеживанием. Организуйте чертёж с помощью слоёв, блоков и внешних ссылок.",
+ "doc_label": "Документация",
+ "doc_title": "Готовьте полноценные листы чертежей.",
+ "doc_text": "Добавляйте текст, размеры, выноски, допуски и таблицы. Настраивайте листы в пространстве бумаги с видовыми экранами и стилями печати.",
+ "open_label": "Открытый рабочий процесс",
+ "open_title": "Ваши чертежи остаются вашими.",
+ "open_text": "Открывайте и сохраняйте DWG и DXF напрямую на устройстве. Исходный код общедоступен, инструменты бесплатны.",
+ "model_label": "3D на геометрическом ядре",
+ "model_title": "Создавайте и изменяйте твердотельные модели.",
+ "model_text": "Создавайте примитивы, выдавливания, тела вращения, сдвиги и переходы по сечениям. Объединяйте или вычитайте тела булевыми операциями геометрического ядра.",
+ "camera": "Ортографические и перспективные виды",
+ "tessellation": "Визуализация тел ACIS",
+ "mesh_workflow": "Импорт OBJ и экспорт сеток",
+ "model_alt": "Механическая 3D-модель в двух видовых экранах Open CAD Studio",
+ "model_space": "Пространство модели",
+ "model_caption": "Твердотельная геометрия · Интерактивные виды",
+ "editions_label": "Одно ядро, два способа работы",
+ "editions_title": "Откройте в браузере или установите на компьютер.",
+ "web": "Веб",
+ "web_title": "Начните чертить в браузере.",
+ "web_text": "Без аккаунта и установки. Выберите локальный чертёж, отредактируйте его и скачайте результат. При первом запуске загружается приложение.",
+ "web_limit": "Для больших чертежей и системных интеграций используйте приложение для компьютера.",
+ "desktop_title": "Дополните работу на компьютере.",
+ "desktop_text": "Используйте файловые ассоциации, миниатюры, системную печать, вывод PDF, нативные плагины, скрипты и автоматизацию без интерфейса.",
+ "latest": "Скачать последнюю версию",
+ "release_notes": "Примечания к выпуску",
+ "formats_label": "Работа с файлами",
+ "formats_title": "Читайте и записывайте настоящие файлы чертежей.",
+ "formats_text": "Открывайте и сохраняйте DWG и DXF напрямую, с целевыми версиями R14–R2018. Работайте также с файлами восстановления, сетками и экспортом свойств.",
+ "format_versions": "Чтение · Запись · R14–R2018",
+ "recovery": "Восстановление чертежей",
+ "mesh_formats": "Импорт и экспорт сеток",
+ "pdf": "Печать на компьютере",
+ "csv": "Извлечение свойств",
+ "growth_label": "Развитие проекта",
+ "growth_title": "Открытая разработка. Публичный рост.",
+ "growth_text": "Следите за проектом по звёздам GitHub и скачиваниям выпусков.",
+ "stars": "Звёзды",
+ "stars_link": "Посмотреть звёзды",
+ "downloads": "Скачивания выпусков",
+ "releases_link": "Посмотреть выпуски",
+ "chart_updated": "Обновлено: {date}",
+ "chart_downloads": "Скачивания на выпуск",
+ "chart_totals": "{count} скачиваний · {releases} выпусков · Без последнего",
+ "faq_label": "Частые вопросы",
+ "faq_title": "Перед первым чертежом.",
+ "faq_free": "Open CAD Studio бесплатна?",
+ "faq_free_answer": "Да. Проект имеет открытый код и распространяется по лицензии GPL-3.0.",
+ "faq_web": "Нужен ли аккаунт или установка?",
+ "faq_web_answer": "Нет. Откройте веб-приложение в современном браузере. Чертежи открываются с устройства и сохраняются как локальные загрузки.",
+ "faq_platforms": "Какие компьютерные платформы поддерживаются?",
+ "faq_platforms_answer": "Доступны пакеты для Windows, Linux и macOS на Apple Silicon.",
+ "faq_production": "Можно ли работать с критически важными файлами?",
+ "faq_production_answer": "Проект активно развивается. Храните резервные копии и сообщайте о воспроизводимых проблемах на GitHub.",
+ "community_label": "Открытая разработка",
+ "community_title": "Участвуйте в развитии Open CAD Studio.",
+ "community_text": "Сообщайте о проблемах, вносите код или поддерживайте разработку.",
+ "github": "Посмотреть на GitHub",
+ "sponsor": "Поддержать разработку",
+ "footer": "Техническое черчение и твердотельное моделирование с открытым кодом.",
+ "web_app": "Веб-приложение",
+ "download_nav": "Скачать",
+ "discussions": "Обсуждения"
+}
diff --git a/site/locales/tr-TR.json b/site/locales/tr-TR.json
new file mode 100644
index 000000000..90b021af1
--- /dev/null
+++ b/site/locales/tr-TR.json
@@ -0,0 +1,95 @@
+{
+ "name": "Türkçe",
+ "title": "Open CAD Studio — Ücretsiz DWG ve DXF CAD",
+ "description": "DWG ve DXF dosyalarını açıp kaydedin, 2B çizim ve 3B modelleme yapın. Tarayıcı, Windows, Linux ve macOS için ücretsiz, açık kaynaklı CAD.",
+ "skip": "İçeriğe geç",
+ "home": "Open CAD Studio ana sayfa",
+ "navigation": "Gezinme",
+ "language": "Dil",
+ "capabilities": "Özellikler",
+ "desktop": "Masaüstü",
+ "formats": "Biçimler",
+ "launch": "Web uygulamasını aç",
+ "eyebrow": "Açık kaynaklı CAD · Masaüstü + Web",
+ "hero_title": "Doğrudan DWG ve DXF.",
+ "hero_emphasis": "Açık bir CAD stüdyosu.",
+ "hero_lead": "2B çizimler, paftalar ve 3B modeller oluşturun. Cihazınızdaki bir dosyayı açın, tarayıcıda veya masaüstünde çalışın ve sonucu cihazınıza kaydedin.",
+ "download": "Masaüstü sürümünü indir",
+ "license": "GPL-3.0 lisanslı",
+ "languages": "{count} arayüz dili",
+ "no_account": "Ücretsiz · Hesap gerekmez · Kurulum gerekmez",
+ "workspace_alt": "Open CAD Studio çalışma alanında açık bir DWG teknik planı",
+ "native_editing": "Doğrudan düzenleme",
+ "read_write": "Okuma ve yazma",
+ "one_workspace": "Tek çalışma alanı",
+ "gpu": "Hızlandırılmış görünüm",
+ "core": "Ortak düzenleme altyapısı",
+ "cap_eyebrow": "Çizim ve belgeleme",
+ "cap_title": "İlk çizgiden son paftaya.",
+ "cap_lead": "Komutlar, hassas yerleştirme ve çizim paftaları tek çalışma alanında.",
+ "draft_label": "Hassas çizim",
+ "draft_title": "Bir komutla başlayın.",
+ "draft_text": "Komut tamamlama, nesne yakalama ve izleme ile çizin ve düzenleyin. Çiziminizi katmanlar, bloklar ve dış referanslarla düzenleyin.",
+ "doc_label": "Belgeleme",
+ "doc_title": "Eksiksiz çizim paftaları hazırlayın.",
+ "doc_text": "Metin, ölçü, açıklama çizgisi, tolerans ve tablo ekleyin. Görünüm pencereleri ve baskı stilleriyle kağıt alanında paftalar düzenleyin.",
+ "open_label": "Açık iş akışı",
+ "open_title": "Çizimleriniz size aittir.",
+ "open_text": "DWG ve DXF dosyalarını doğrudan cihazınızda açıp kaydedin. Kaynak kodu herkese açıktır ve araçlar ücretsizdir.",
+ "model_label": "Geometri çekirdeğiyle 3B",
+ "model_title": "Katı modeller oluşturun ve şekillendirin.",
+ "model_text": "Temel katılar oluşturun; uzatın, döndürün, süpürün ve kesitler arasında geçiş yapın. Geometri çekirdeğinin çözdüğü Boolean işlemleriyle katıları birleştirin veya çıkarın.",
+ "camera": "Ortografik ve perspektif görünümler",
+ "tessellation": "ACIS katılarını görüntüleme",
+ "mesh_workflow": "OBJ içe aktarma ve ağ dışa aktarma",
+ "model_alt": "İki Open CAD Studio görünüm penceresinde bir 3B mekanik model",
+ "model_space": "Model alanı",
+ "model_caption": "Katı geometri · Etkileşimli görünümler",
+ "editions_label": "Tek altyapı, iki çalışma biçimi",
+ "editions_title": "Tarayıcıda açın veya masaüstüne kurun.",
+ "web": "Web",
+ "web_title": "Tarayıcınızda çizime başlayın.",
+ "web_text": "Hesap veya kurulum gerekmez. Yerel bir çizim seçin, düzenleyin ve sonucu indirin. İlk açılışta uygulama indirilir.",
+ "web_limit": "Büyük çizimler ve sistem entegrasyonları için masaüstü uygulamasını kullanın.",
+ "desktop_title": "Masaüstü iş akışınızı tamamlayın.",
+ "desktop_text": "Dosya ilişkilendirmeleri, küçük resimler, sistem yazdırması, PDF çıktısı, yerel eklentiler, betikler ve arayüzsüz otomasyon kullanın.",
+ "latest": "Son sürümü indir",
+ "release_notes": "Sürüm notları",
+ "formats_label": "Dosya iş akışları",
+ "formats_title": "Çizim dosyalarını doğrudan okuyun ve yazın.",
+ "formats_text": "DWG ve DXF dosyalarını doğrudan açın ve R14–R2018 sürümlerinde kaydedin. Kurtarma dosyaları, ağ modelleri ve özellik dışa aktarımlarıyla da çalışın.",
+ "format_versions": "Okuma · Yazma · R14–R2018",
+ "recovery": "Çizim kurtarma",
+ "mesh_formats": "Ağ içe ve dışa aktarma",
+ "pdf": "Masaüstünde baskı",
+ "csv": "Özellik çıkarma",
+ "growth_label": "Projenin gelişimi",
+ "growth_title": "Açık geliştirme. Birlikte büyüme.",
+ "growth_text": "Projenin gelişimini GitHub yıldızları ve sürüm indirmeleri üzerinden izleyin.",
+ "stars": "Yıldızlar",
+ "stars_link": "Yıldız verenleri gör",
+ "downloads": "Sürüm indirmeleri",
+ "releases_link": "Sürümleri gör",
+ "chart_updated": "Güncelleme: {date}",
+ "chart_downloads": "Sürüm başına indirme",
+ "chart_totals": "{count} indirme · {releases} sürüm · Son sürüm hariç",
+ "faq_label": "Sık sorulan sorular",
+ "faq_title": "İlk çiziminizden önce.",
+ "faq_free": "Open CAD Studio ücretsiz mi?",
+ "faq_free_answer": "Evet. Proje açık kaynaklıdır ve GPL-3.0 lisansı altında dağıtılır.",
+ "faq_web": "Hesap açmak veya kurulum yapmak gerekir mi?",
+ "faq_web_answer": "Hayır. Web uygulamasını güncel bir tarayıcıda açın. Çizimler cihazınızdan açılır ve indirilen dosyalar olarak cihazınıza kaydedilir.",
+ "faq_platforms": "Hangi masaüstü platformları destekleniyor?",
+ "faq_platforms_answer": "Windows, Linux ve Apple Silicon macOS için paketler mevcuttur.",
+ "faq_production": "Kritik üretim dosyaları için kullanabilir miyim?",
+ "faq_production_answer": "Proje aktif olarak geliştiriliyor. Yedeklerinizi saklayın ve tekrarlanabilir sorunları GitHub üzerinden bildirin.",
+ "community_label": "Açık geliştirme",
+ "community_title": "Open CAD Studio'ya yön verin.",
+ "community_text": "Sorun bildirin, kod katkısında bulunun veya geliştirmeyi destekleyin.",
+ "github": "GitHub'da görüntüle",
+ "sponsor": "Geliştirmeye sponsor ol",
+ "footer": "Açık kaynaklı teknik çizim ve katı modelleme.",
+ "web_app": "Web uygulaması",
+ "download_nav": "İndirmeler",
+ "discussions": "Tartışmalar"
+}
diff --git a/site/locales/zh-CN.json b/site/locales/zh-CN.json
new file mode 100644
index 000000000..dabc60fb5
--- /dev/null
+++ b/site/locales/zh-CN.json
@@ -0,0 +1,95 @@
+{
+ "name": "简体中文",
+ "title": "Open CAD Studio — 免费 DWG 和 DXF CAD",
+ "description": "打开和保存 DWG、DXF 文件,进行二维绘图与三维建模。适用于浏览器、Windows、Linux 和 macOS 的免费开源 CAD。",
+ "skip": "跳转到内容",
+ "home": "Open CAD Studio 首页",
+ "navigation": "导航",
+ "language": "语言",
+ "capabilities": "功能",
+ "desktop": "桌面版",
+ "formats": "文件格式",
+ "launch": "启动网页版",
+ "eyebrow": "开源 CAD · 桌面 + 网页",
+ "hero_title": "原生 DWG 与 DXF。",
+ "hero_emphasis": "开放的 CAD 工作室。",
+ "hero_lead": "创建二维图纸、布局和三维模型。从设备打开文件,在浏览器或桌面应用中工作,并将成果保存在本地。",
+ "download": "下载桌面版",
+ "license": "GPL-3.0 许可证",
+ "languages": "{count} 种界面语言",
+ "no_account": "免费 · 无需账号 · 无需安装",
+ "workspace_alt": "在 Open CAD Studio 中打开的 DWG 技术图纸",
+ "native_editing": "原生编辑",
+ "read_write": "读取与写入",
+ "one_workspace": "统一工作空间",
+ "gpu": "加速视图",
+ "core": "共享编辑核心",
+ "cap_eyebrow": "绘图与文档",
+ "cap_title": "从第一条线到最终布局。",
+ "cap_lead": "在同一工作空间使用命令、精确定位并制作图纸。",
+ "draft_label": "精确绘图",
+ "draft_title": "从一条命令开始。",
+ "draft_text": "使用命令自动补全、对象捕捉和追踪进行绘制与编辑。通过图层、块和外部参照组织图纸。",
+ "doc_label": "文档制作",
+ "doc_title": "制作完整图纸。",
+ "doc_text": "添加文字、标注、引线、公差和表格。利用视口和打印样式安排图纸空间布局。",
+ "open_label": "开放工作流程",
+ "open_title": "您的图纸始终属于您。",
+ "open_text": "直接在设备上打开和保存原生 DWG、DXF 文件。源代码公开,工具免费使用。",
+ "model_label": "几何内核驱动的三维建模",
+ "model_title": "创建并塑造实体模型。",
+ "model_text": "创建基本体,执行拉伸、旋转、扫掠和放样。通过几何内核处理的布尔运算合并或减去实体。",
+ "camera": "正交与透视视图",
+ "tessellation": "ACIS 实体可视化",
+ "mesh_workflow": "OBJ 导入与网格导出",
+ "model_alt": "在 Open CAD Studio 两个视口中显示的三维机械模型",
+ "model_space": "模型空间",
+ "model_caption": "实体几何 · 交互视图",
+ "editions_label": "同一核心,两种工作方式",
+ "editions_title": "在浏览器中打开,或安装到桌面。",
+ "web": "网页版",
+ "web_title": "直接在浏览器中开始绘图。",
+ "web_text": "无需账号或安装。选择本地图纸,编辑后下载结果。首次启动时会下载应用程序。",
+ "web_limit": "处理大型图纸或使用系统集成功能时,请使用桌面版。",
+ "desktop_title": "完善桌面工作流程。",
+ "desktop_text": "使用文件关联、缩略图、系统打印、PDF 输出、原生插件、脚本及无界面自动化。",
+ "latest": "下载最新版本",
+ "release_notes": "版本说明",
+ "formats_label": "文件工作流程",
+ "formats_title": "直接读写图纸文件。",
+ "formats_text": "直接打开和保存 DWG、DXF,支持保存为 R14 至 R2018 版本。还可使用恢复文件、网格及属性导出。",
+ "format_versions": "读取 · 写入 · R14–R2018",
+ "recovery": "图纸恢复",
+ "mesh_formats": "网格导入与导出",
+ "pdf": "桌面打印",
+ "csv": "属性提取",
+ "growth_label": "项目发展",
+ "growth_title": "开放开发,公开成长。",
+ "growth_text": "通过 GitHub 星标和版本下载量了解项目发展。",
+ "stars": "星标",
+ "stars_link": "查看星标用户",
+ "downloads": "版本下载量",
+ "releases_link": "查看版本",
+ "chart_updated": "更新于 {date}",
+ "chart_downloads": "每个版本的下载量",
+ "chart_totals": "{count} 次下载 · {releases} 个版本 · 不含最新版",
+ "faq_label": "常见问题",
+ "faq_title": "开始第一张图纸之前。",
+ "faq_free": "Open CAD Studio 免费吗?",
+ "faq_free_answer": "是的。项目开源,并以 GPL-3.0 许可证发布。",
+ "faq_web": "需要账号或安装吗?",
+ "faq_web_answer": "不需要。在现代浏览器中打开网页版即可。图纸从设备打开,并通过本地下载保存。",
+ "faq_platforms": "支持哪些桌面平台?",
+ "faq_platforms_answer": "提供 Windows、Linux 和 Apple Silicon macOS 安装包。",
+ "faq_production": "可以用于关键生产文件吗?",
+ "faq_production_answer": "项目仍在积极开发中。请保留备份,并在 GitHub 上报告可复现的问题。",
+ "community_label": "开放开发",
+ "community_title": "参与塑造 Open CAD Studio。",
+ "community_text": "报告问题、贡献代码或支持开发。",
+ "github": "在 GitHub 上查看",
+ "sponsor": "赞助开发",
+ "footer": "开源技术绘图与实体建模。",
+ "web_app": "网页版",
+ "download_nav": "下载",
+ "discussions": "讨论"
+}
diff --git a/site/locales/zh-TW.json b/site/locales/zh-TW.json
new file mode 100644
index 000000000..31963e848
--- /dev/null
+++ b/site/locales/zh-TW.json
@@ -0,0 +1,95 @@
+{
+ "name": "繁體中文",
+ "title": "Open CAD Studio — 免費 DWG 與 DXF CAD",
+ "description": "開啟和儲存 DWG、DXF 檔案,進行二維繪圖與三維建模。適用於瀏覽器、Windows、Linux 和 macOS 的免費開源 CAD。",
+ "skip": "跳至內容",
+ "home": "Open CAD Studio 首頁",
+ "navigation": "導覽",
+ "language": "語言",
+ "capabilities": "功能",
+ "desktop": "桌面版",
+ "formats": "檔案格式",
+ "launch": "啟動網頁版",
+ "eyebrow": "開源 CAD · 桌面 + 網頁",
+ "hero_title": "原生 DWG 與 DXF。",
+ "hero_emphasis": "開放的 CAD 工作室。",
+ "hero_lead": "建立二維圖面、配置和三維模型。從裝置開啟檔案,在瀏覽器或桌面應用程式中工作,並將成果儲存在本機。",
+ "download": "下載桌面版",
+ "license": "GPL-3.0 授權",
+ "languages": "{count} 種介面語言",
+ "no_account": "免費 · 無需帳號 · 無需安裝",
+ "workspace_alt": "在 Open CAD Studio 中開啟的 DWG 技術圖面",
+ "native_editing": "原生編輯",
+ "read_write": "讀取與寫入",
+ "one_workspace": "統一工作空間",
+ "gpu": "加速視圖",
+ "core": "共用編輯核心",
+ "cap_eyebrow": "繪圖與文件",
+ "cap_title": "從第一條線到最終配置。",
+ "cap_lead": "在同一工作空間使用指令、精確定位並製作圖面。",
+ "draft_label": "精確繪圖",
+ "draft_title": "從一條指令開始。",
+ "draft_text": "使用指令自動完成、物件鎖點和追蹤進行繪製與編輯。透過圖層、圖塊和外部參考組織圖面。",
+ "doc_label": "文件製作",
+ "doc_title": "製作完整圖面。",
+ "doc_text": "加入文字、標註、引線、公差和表格。利用視埠和出圖型式安排圖紙空間配置。",
+ "open_label": "開放工作流程",
+ "open_title": "您的圖面始終屬於您。",
+ "open_text": "直接在裝置上開啟和儲存原生 DWG、DXF 檔案。原始碼公開,工具免費使用。",
+ "model_label": "幾何核心驅動的三維建模",
+ "model_title": "建立並塑造實體模型。",
+ "model_text": "建立基本實體,執行擠出、旋轉、掃掠和斷面混成。透過幾何核心處理的布林運算合併或減去實體。",
+ "camera": "正投影與透視視圖",
+ "tessellation": "ACIS 實體視覺化",
+ "mesh_workflow": "OBJ 匯入與網格匯出",
+ "model_alt": "在 Open CAD Studio 兩個視埠中顯示的三維機械模型",
+ "model_space": "模型空間",
+ "model_caption": "實體幾何 · 互動視圖",
+ "editions_label": "同一核心,兩種工作方式",
+ "editions_title": "在瀏覽器中開啟,或安裝到桌面。",
+ "web": "網頁版",
+ "web_title": "直接在瀏覽器中開始繪圖。",
+ "web_text": "無需帳號或安裝。選擇本機圖面,編輯後下載結果。首次啟動時會下載應用程式。",
+ "web_limit": "處理大型圖面或使用系統整合功能時,請使用桌面版。",
+ "desktop_title": "完善桌面工作流程。",
+ "desktop_text": "使用檔案關聯、縮圖、系統列印、PDF 輸出、原生外掛程式、指令碼及無介面自動化。",
+ "latest": "下載最新版本",
+ "release_notes": "版本說明",
+ "formats_label": "檔案工作流程",
+ "formats_title": "直接讀寫圖面檔案。",
+ "formats_text": "直接開啟和儲存 DWG、DXF,支援儲存為 R14 至 R2018 版本。也可使用復原檔案、網格及屬性匯出。",
+ "format_versions": "讀取 · 寫入 · R14–R2018",
+ "recovery": "圖面復原",
+ "mesh_formats": "網格匯入與匯出",
+ "pdf": "桌面出圖",
+ "csv": "屬性擷取",
+ "growth_label": "專案成長",
+ "growth_title": "開放開發,公開成長。",
+ "growth_text": "透過 GitHub 星號和版本下載量瞭解專案發展。",
+ "stars": "星號",
+ "stars_link": "查看加星號的使用者",
+ "downloads": "版本下載量",
+ "releases_link": "查看版本",
+ "chart_updated": "更新於 {date}",
+ "chart_downloads": "每個版本的下載量",
+ "chart_totals": "{count} 次下載 · {releases} 個版本 · 不含最新版",
+ "faq_label": "常見問題",
+ "faq_title": "開始第一張圖面之前。",
+ "faq_free": "Open CAD Studio 免費嗎?",
+ "faq_free_answer": "是的。專案開源,並以 GPL-3.0 授權發布。",
+ "faq_web": "需要帳號或安裝嗎?",
+ "faq_web_answer": "不需要。在現代瀏覽器中開啟網頁版即可。圖面從裝置開啟,並透過本機下載儲存。",
+ "faq_platforms": "支援哪些桌面平台?",
+ "faq_platforms_answer": "提供 Windows、Linux 和 Apple Silicon macOS 安裝套件。",
+ "faq_production": "可以用於關鍵生產檔案嗎?",
+ "faq_production_answer": "專案仍在積極開發中。請保留備份,並在 GitHub 上回報可重現的問題。",
+ "community_label": "開放開發",
+ "community_title": "參與打造 Open CAD Studio。",
+ "community_text": "回報問題、貢獻程式碼或支持開發。",
+ "github": "在 GitHub 上查看",
+ "sponsor": "贊助開發",
+ "footer": "開源技術繪圖與實體建模。",
+ "web_app": "網頁版",
+ "download_nav": "下載",
+ "discussions": "討論"
+}
diff --git a/site/site.css b/site/site.css
index 997c9941e..d782426f6 100644
--- a/site/site.css
+++ b/site/site.css
@@ -1,7 +1,7 @@
:root {
--ink: #f5f7fa;
--muted: #9aa8b6;
- --quiet: #71808f;
+ --quiet: #9aa8b6;
--page: #0b1016;
--panel: #111923;
--panel-2: #16212d;
@@ -17,8 +17,8 @@
}
* { box-sizing: border-box; }
-html { scroll-behavior: smooth; }
-body { margin: 0; min-width: 320px; background: var(--page); color: var(--ink); }
+html { scroll-behavior: smooth; scroll-padding-top: 150px; }
+body { overflow-wrap: anywhere; margin: 0; min-width: 320px; background: var(--page); color: var(--ink); }
body::before {
content: "";
position: fixed;
@@ -35,7 +35,7 @@ body::before {
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.shell { width: var(--shell); margin-inline: auto; }
-.skip-link { position: fixed; left: 16px; top: -60px; z-index: 100; padding: 10px 14px; background: var(--cyan); color: #05101a; }
+.skip-link { position: fixed; inset-inline-start: 16px; top: -200px; z-index: 100; padding: 10px 14px; background: var(--cyan); color: #05101a; }
.skip-link:focus { top: 16px; }
.site-header {
@@ -46,11 +46,11 @@ img { display: block; max-width: 100%; }
background: rgba(11, 16, 22, 0.86);
backdrop-filter: blur(18px);
}
-.nav-shell { min-height: 74px; display: flex; align-items: center; gap: 30px; }
+.nav-shell { min-height: 74px; display: flex; flex-wrap: wrap; align-items: center; gap: 16px; padding-block: 12px; }
.brand { display: inline-flex; align-items: center; gap: 12px; font-size: 16px; font-weight: 630; letter-spacing: -0.02em; white-space: nowrap; }
.brand img { border-radius: 8px; box-shadow: 0 0 0 1px rgba(255,255,255,.08); }
.brand strong { color: var(--cyan); }
-.nav-shell nav { display: flex; align-items: center; gap: 28px; margin-left: auto; color: var(--muted); font-size: 14px; }
+.nav-shell .primary-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-inline-start: auto; color: var(--muted); font-size: .875rem; }
.nav-shell nav a, .site-footer nav a { transition: color .2s ease; }
.nav-shell nav a:hover, .site-footer nav a:hover { color: var(--ink); }
@@ -65,46 +65,46 @@ img { display: block; max-width: 100%; }
border-radius: 6px;
background: var(--cyan);
color: #06121c;
- font-size: 14px;
+ font-size: .875rem;
font-weight: 750;
letter-spacing: .01em;
transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.button:hover { transform: translateY(-2px); background: #84d3ff; border-color: #84d3ff; }
-.button-small { min-height: 40px; padding-inline: 15px; font-size: 13px; }
+.button-small { min-height: 40px; padding-inline: 15px; font-size: .875rem; }
.button-quiet { border-color: var(--line-strong); background: rgba(255,255,255,.025); color: var(--ink); }
.button-quiet:hover { background: var(--panel-2); border-color: rgba(89,195,255,.5); }
.hero { display: grid; grid-template-columns: 1fr; gap: 60px; padding-block: 92px 78px; }
.hero-copy { position: relative; z-index: 2; max-width: 760px; }
-.eyebrow { display: flex; align-items: center; gap: 11px; margin: 0 0 22px; color: var(--cyan); font-size: 12px; font-weight: 760; letter-spacing: .14em; text-transform: uppercase; }
+.eyebrow { display: flex; align-items: center; gap: 11px; margin: 0 0 22px; color: var(--cyan); font-size: .875rem; font-weight: 760; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow span { width: 28px; height: 1px; background: var(--cyan); }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 26px; font-size: clamp(48px, 5.15vw, 76px); line-height: .99; letter-spacing: -.055em; font-weight: 720; }
h1 em { color: var(--cyan); font-style: normal; }
.hero-lead { max-width: 650px; margin-bottom: 32px; color: var(--muted); font-size: 18px; line-height: 1.72; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
-.hero-notes { display: flex; flex-wrap: wrap; gap: 14px 26px; margin: 0; padding: 0; list-style: none; color: var(--quiet); font-size: 12px; }
+.hero-notes { display: flex; flex-wrap: wrap; gap: 14px 26px; margin: 0; padding: 0; list-style: none; color: var(--quiet); font-size: .875rem; }
.hero-notes li { position: relative; }
-.hero-notes li:not(:first-child)::before { content: ""; position: absolute; left: -14px; top: 6px; width: 3px; height: 3px; border-radius: 50%; background: var(--cyan); }
+.hero-notes li:not(:first-child)::before { content: ""; position: absolute; inset-inline-start: -14px; top: 6px; width: 3px; height: 3px; border-radius: 50%; background: var(--cyan); }
.hero-visual { position: relative; width: 100%; min-width: 0; overflow: hidden; border: 1px solid var(--line-strong); border-radius: 10px; background: #101820; box-shadow: 0 36px 90px rgba(0,0,0,.42); }
.hero-visual img { width: 100%; height: auto; border-radius: 0 0 9px 9px; }
-.visual-toolbar { display: flex; align-items: center; gap: 12px; height: 42px; padding: 0 14px; color: var(--quiet); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; }
+.visual-toolbar { display: flex; align-items: center; gap: 12px; height: 42px; padding: 0 14px; color: var(--quiet); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .75rem; }
.visual-toolbar b { margin-left: auto; color: var(--cyan); font-weight: 700; }
.window-mark { display: flex; gap: 5px; }
.window-mark i { width: 6px; height: 6px; border-radius: 50%; background: #314150; }
.window-mark i:first-child { background: var(--red); }
.visual-badge { position: absolute; right: 18px; bottom: 18px; display: flex; align-items: center; gap: 12px; padding: 12px 16px 12px 12px; border: 1px solid rgba(89,195,255,.34); border-radius: 7px; background: rgba(11,16,22,.96); box-shadow: 0 18px 42px rgba(0,0,0,.35); }
-.visual-badge strong { display: grid; place-items: center; width: 40px; height: 32px; border-radius: 4px; background: var(--cyan); color: #07121b; font-size: 11px; }
-.visual-badge span { color: var(--muted); font-size: 12px; }
+.visual-badge strong { display: grid; place-items: center; width: 40px; height: 32px; border-radius: 4px; background: var(--cyan); color: #07121b; font-size: .75rem; }
+.visual-badge span { color: var(--muted); font-size: .875rem; }
.signal-strip { border-block: 1px solid var(--line); background: rgba(17,25,35,.74); }
.signal-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.signal-grid div { display: flex; flex-direction: column; gap: 4px; padding: 23px 28px; border-left: 1px solid var(--line); }
.signal-grid div:last-child { border-right: 1px solid var(--line); }
.signal-grid strong { font: 700 13px/1 ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--ink); letter-spacing: .06em; }
-.signal-grid span { color: var(--quiet); font-size: 12px; }
+.signal-grid span { color: var(--quiet); font-size: .875rem; }
.section { padding-block: 118px; }
.section-heading { max-width: 720px; margin-bottom: 54px; }
@@ -112,13 +112,13 @@ h1 em { color: var(--cyan); font-style: normal; }
h2 { margin-bottom: 20px; font-size: clamp(38px, 4.4vw, 60px); line-height: 1.04; letter-spacing: -.045em; font-weight: 680; }
.section-heading > p:last-child, .formats-grid > div > p:last-child, .model-copy > p { max-width: 640px; color: var(--muted); font-size: 17px; line-height: 1.7; }
-.capability-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
+.capability-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.capability-card { position: relative; min-height: 340px; padding: 34px; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: linear-gradient(145deg, rgba(22,33,45,.9), rgba(14,21,29,.9)); }
.capability-wide { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr .8fr; align-items: center; min-height: 410px; }
.capability-card h3, .edition-card h3 { max-width: 560px; margin-bottom: 18px; font-size: clamp(28px, 3vw, 42px); line-height: 1.08; letter-spacing: -.035em; }
-.capability-card p:not(.card-kicker) { max-width: 570px; color: var(--muted); font-size: 15px; line-height: 1.72; }
-.card-index { position: absolute; top: 25px; right: 28px; color: rgba(89,195,255,.42); font: 600 12px/1 ui-monospace, SFMono-Regular, Menlo, monospace; }
-.card-kicker, .edition-label { margin-bottom: 20px; color: var(--cyan); font: 700 11px/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .13em; text-transform: uppercase; }
+.capability-card p:not(.card-kicker) { max-width: 570px; color: var(--muted); font-size: 1rem; line-height: 1.72; }
+.card-index { position: absolute; top: 25px; inset-inline-end: 28px; color: rgba(89,195,255,.42); font: 600 12px/1 ui-monospace, SFMono-Regular, Menlo, monospace; }
+.card-kicker, .edition-label { margin-bottom: 20px; color: var(--cyan); font: 700 .875rem/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .13em; text-transform: uppercase; }
.card-accent { background: linear-gradient(145deg, rgba(19,46,62,.92), rgba(11,22,30,.92)); }
.drafting-mark { position: relative; width: min(310px, 80%); aspect-ratio: 1; justify-self: center; border: 1px solid rgba(89,195,255,.18); border-radius: 50%; }
.drafting-mark .axis { position: absolute; background: rgba(89,195,255,.25); }
@@ -132,54 +132,54 @@ h2 { margin-bottom: 20px; font-size: clamp(38px, 4.4vw, 60px); line-height: 1.04
.model-grid { display: grid; grid-template-columns: 1fr; gap: 48px; }
.model-copy { max-width: 760px; }
.model-copy h2 { max-width: 580px; }
-.check-list { display: grid; gap: 13px; margin: 30px 0 0; padding: 0; list-style: none; color: var(--muted); font-size: 14px; }
+.check-list { display: grid; gap: 13px; margin: 30px 0 0; padding: 0; list-style: none; color: var(--muted); font-size: .875rem; }
.check-list li::before { content: "+"; display: inline-block; width: 24px; color: var(--cyan); font-family: ui-monospace, monospace; }
.model-frame { width: 100%; min-width: 0; margin: 0; overflow: hidden; border: 1px solid var(--line-strong); border-radius: 8px; background: #13191f; }
.model-frame img { width: 100%; height: auto; }
-.model-frame figcaption { display: flex; justify-content: space-between; gap: 20px; padding: 14px 17px; border-top: 1px solid var(--line); color: var(--quiet); font: 11px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; }
+.model-frame figcaption { display: flex; justify-content: space-between; gap: 20px; padding: 14px 17px; border-top: 1px solid var(--line); color: var(--quiet); font: .875rem/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; }
.model-frame figcaption strong { color: var(--cyan); font-weight: 550; }
-.edition-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
+.edition-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.edition-card { min-height: 390px; padding: 38px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); }
.edition-primary { border-color: rgba(89,195,255,.36); background: linear-gradient(145deg, rgba(19,52,69,.85), rgba(13,24,33,.94)); }
.edition-card p { max-width: 520px; color: var(--muted); line-height: 1.7; }
-.text-link { display: inline-flex; gap: 8px; margin-top: 36px; color: var(--cyan); font-size: 14px; font-weight: 720; }
+.text-link { display: inline-flex; gap: 8px; margin-top: 36px; color: var(--cyan); font-size: .875rem; font-weight: 720; }
.text-link:hover { color: #91daff; }
.formats-section { border-block: 1px solid var(--line); background: linear-gradient(180deg, rgba(17,25,35,.75), rgba(11,16,22,.6)); }
-.formats-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 90px; align-items: start; }
+.formats-grid { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: 90px; align-items: start; }
.format-list { border-top: 1px solid var(--line-strong); }
.format-list div { display: grid; grid-template-columns: 160px 1fr; gap: 24px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.format-list strong { color: var(--ink); font: 700 13px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .05em; }
-.format-list span { color: var(--muted); font-size: 14px; }
+.format-list span { color: var(--muted); font-size: .875rem; }
.growth-section { border-bottom: 1px solid var(--line); background: #0e151d; }
.growth-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.growth-card { width: 100%; margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); }
.growth-card > a { display: block; }
.growth-card img { width: 100%; height: auto; }
-.growth-card figcaption { display: flex; justify-content: space-between; gap: 20px; padding: 15px 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }
+.growth-card figcaption { display: flex; justify-content: space-between; gap: 20px; padding: 15px 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: .875rem; }
.growth-card figcaption span { color: var(--ink); font-weight: 680; }
.growth-card figcaption a { color: var(--cyan); font-weight: 680; }
.growth-card figcaption a:hover { color: #91daff; }
-.faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
+.faq-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.faq-grid details { border: 1px solid var(--line); border-radius: 7px; background: rgba(17,25,35,.72); }
-.faq-grid summary { padding: 21px 24px; cursor: pointer; font-size: 14px; font-weight: 680; }
-.faq-grid details p { margin: 0; padding: 0 24px 22px; color: var(--muted); font-size: 14px; line-height: 1.65; }
+.faq-grid summary { padding: 21px 24px; cursor: pointer; font-size: .875rem; font-weight: 680; }
+.faq-grid details p { margin: 0; padding: 0 24px 22px; color: var(--muted); font-size: 1rem; line-height: 1.65; }
.community-cta { display: grid; grid-template-columns: 1.2fr .8fr; gap: 60px; align-items: end; margin-bottom: 118px; padding: 58px; border: 1px solid rgba(89,195,255,.28); border-radius: 10px; background: linear-gradient(130deg, #142635, #0f1821 70%); }
.community-cta h2 { max-width: 680px; }
.community-cta p:last-child { max-width: 700px; color: var(--muted); line-height: 1.7; }
.cta-links { display: flex; flex-direction: column; gap: 12px; }
.site-footer { border-top: 1px solid var(--line); background: #080c11; }
-.footer-grid { min-height: 150px; display: grid; grid-template-columns: auto 1fr auto; gap: 34px; align-items: center; }
-.footer-grid p { margin: 0; color: var(--quiet); font-size: 12px; }
-.footer-grid nav { display: flex; gap: 22px; color: var(--muted); font-size: 12px; }
+.footer-grid { min-height: 150px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 34px; align-items: center; }
+.footer-grid p { margin: 0; color: var(--quiet); font-size: .875rem; }
+.footer-grid nav { display: flex; gap: 22px; color: var(--muted); font-size: .875rem; }
@media (max-width: 980px) {
- .nav-shell nav { display: none; }
- .nav-shell .button { margin-left: auto; }
+ .nav-shell .primary-nav { display: none; }
+ .nav-shell .language-picker { margin-inline-start: auto; }
.hero { padding-top: 80px; }
.formats-grid { grid-template-columns: 1fr; gap: 48px; }
.community-cta { grid-template-columns: 1fr; }
@@ -190,15 +190,15 @@ h2 { margin-bottom: 20px; font-size: clamp(38px, 4.4vw, 60px); line-height: 1.04
@media (max-width: 700px) {
:root { --shell: min(100% - 28px, 1180px); }
.nav-shell { min-height: 64px; }
- .brand { font-size: 14px; }.brand img { width: 34px; height: 34px; }
- .nav-shell .button-small { min-height: 36px; padding-inline: 11px; font-size: 11px; }
+ .brand { font-size: .875rem; }.brand img { width: 34px; height: 34px; }
+ .nav-shell > .button-small { width: 100%; min-height: 44px; }
.hero { padding-block: 64px 58px; }
h1 { font-size: clamp(42px, 13vw, 62px); }
.hero-lead { font-size: 16px; }
.hero-actions .button { width: 100%; }
.hero-notes { display: grid; gap: 8px; }.hero-notes li::before { display: none; }
.visual-badge { right: 10px; bottom: 10px; }
- .signal-grid { grid-template-columns: 1fr 1fr; }
+ .signal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.signal-grid div { padding: 19px 16px; border-bottom: 1px solid var(--line); }
.section { padding-block: 82px; }
.capability-grid, .edition-grid, .faq-grid { grid-template-columns: 1fr; }
@@ -218,3 +218,27 @@ h2 { margin-bottom: 20px; font-size: clamp(38px, 4.4vw, 60px); line-height: 1.04
html { scroll-behavior: auto; }
*, *::before, *::after { transition-duration: .01ms !important; }
}
+
+:focus-visible { outline: 2px solid var(--cyan); outline-offset: 5px; }
+.language-picker { position: relative; font-size: .875rem; }
+.language-picker summary { padding: 10px 12px; min-height: 44px; border: 1px solid var(--line-strong); border-radius: 6px; cursor: pointer; }
+.language-picker nav { position: absolute; inset-inline-end: 0; top: calc(100% + 8px); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; width: min(350px, calc(100vw - 28px)); max-height: 65vh; overflow-y: auto; padding: 8px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--panel); box-shadow: 0 16px 48px #0008; }
+.language-picker nav a { display: flex; align-items: center; min-height: 44px; padding: 8px; border-radius: 4px; }
+.language-picker nav a:hover, .language-picker nav a[aria-current] { background: var(--panel-2); color: var(--cyan); }
+.launch-note { color: var(--cyan); font-size: .875rem; line-height: 1.5; }
+.command-examples { display: flex; flex-wrap: wrap; gap: 8px; }
+.command-examples code { padding: 5px 8px; border: 1px solid var(--line-strong); border-radius: 4px; color: var(--cyan); font-size: .875rem; }
+.release-link { display: block; width: fit-content; margin-top: 18px; color: var(--muted); text-decoration: underline; text-underline-offset: 4px; font-size: .875rem; }
+:lang(ar), :lang(hi) { letter-spacing: normal; line-height: 1.5; }
+:lang(ar) .eyebrow, :lang(hi) .eyebrow { letter-spacing: normal; }
+[dir="rtl"] .brand { flex-direction: row-reverse; }
+@media (max-width: 700px) {
+ .language-picker { position: static; }
+ .language-picker nav { inset-inline: 14px; top: calc(100% - 4px); width: auto; }
+ .nav-shell { position: relative; gap: 10px; }
+ .language-picker summary { padding-inline: 8px; }
+ .brand { font-size: .875rem; gap: 8px; }
+ .capability-wide { min-height: 0; }
+ .capability-wide > div:not(.card-index) { position: relative; z-index: 1; }
+ .drafting-mark { display: none; }
+}
diff --git a/site/site.js b/site/site.js
new file mode 100644
index 000000000..f449f0727
--- /dev/null
+++ b/site/site.js
@@ -0,0 +1,25 @@
+function preferredLocale(language) {
+ const tag = (language || "").toLowerCase();
+ const exact = SITE_LOCALES.find(locale => locale.toLowerCase() === tag);
+ if (exact) return exact;
+ const base = tag.split("-")[0];
+ if (base === "zh") {
+ return /(?:^|-)hant(?:-|$)|(?:^|-)(tw|hk|mo)(?:-|$)/.test(tag) ? "zh-TW" : "zh-CN";
+ }
+ return SITE_LOCALES.find(locale => locale.split("-")[0] === base) || "en-US";
+}
+
+(() => {
+ const storageKey = "ocs.site.language";
+ let saved;
+ try { saved = localStorage.getItem(storageKey); } catch {}
+ const locale = SITE_LOCALES.includes(saved) ? saved : preferredLocale(navigator.language);
+ if ((location.pathname === "/" || location.pathname === "/index.html") && locale !== "en-US") {
+ location.replace(`/${locale}/${location.search}${location.hash}`);
+ }
+ document.addEventListener("click", event => {
+ const link = event.target.closest(".language-picker a[hreflang]");
+ if (!link) return;
+ try { localStorage.setItem(storageKey, link.hreflang); } catch {}
+ });
+})();
diff --git a/site/sitemap.xml b/site/sitemap.xml
deleted file mode 100644
index dd19b534a..000000000
--- a/site/sitemap.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
- https://www.opencadstudio.com/
- weekly
- 1.0
-
-