Make sure loading screens use dark mode user preference. (#1552)

We load the user preferences a bit earlier, so that we can make sure
that the `LoadingScreen` and `ErrorScreen` also use the correct color
and background color based on the dark mode setting.

There's still a brief flash of white screen, but that's before any of
our components load, not sure if we can avoid that one.

Solves https://github.com/tldraw/tldraw/issues/1248

### Change Type

- [x] `patch` — Bug Fix

### Test Plan

1. Probably best if you throttle your network speed.
2. Reload the page.
3. The asset loading screen should use take your dark mode setting into
account.
4. Change the dark mode and try again.

### Release Notes

- Make sure our loading and error screens take dark mode setting into
account.

---------

Co-authored-by: Steve Ruiz <steveruizok@gmail.com>
pull/1590/head^2
Mitja Bezenšek 2023-06-15 13:57:19 +02:00 zatwierdzone przez GitHub
rodzic c937b01915
commit 86e0010523
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
4 zmienionych plików z 377 dodań i 353 usunięć

Wyświetl plik

@ -1,343 +1,343 @@
{
"action.convert-to-bookmark": "تبدیل به نشانه‌گذاری",
"action.convert-to-embed": "تبدیل به جاسازی",
"action.open-embed-link": "بازکردن پیوند",
"action.align-bottom": "تراز به پایین",
"action.align-center-horizontal": "تراز به مرکز افقی",
"action.align-center-vertical": "تراز به مرکز عمودی",
"action.align-center-horizontal.short": "تراز به مرکز افقی",
"action.align-center-vertical.short": "تراز به مرکز عمودی",
"action.align-left": "تراز به چپ",
"action.align-right": "تراز به راست",
"action.align-top": "تراز به بالا",
"action.back-to-content": "بازگشت به محتوا",
"action.bring-forward": "رو آوردن",
"action.bring-to-front": "آوردن به روی همه",
"action.copy-as-json.short": "JSON",
"action.copy-as-json": "رونوشت به‌عنوان JSON",
"action.copy-as-png.short": "PNG",
"action.copy-as-png": "رونوشت به‌عنوان PNG",
"action.copy-as-svg.short": "SVG",
"action.copy-as-svg": "رونوشت به‌عنوان SVG",
"action.copy": "رونوشت",
"action.cut": "بریدن",
"action.delete": "پاک‌کردن",
"action.distribute-horizontal": "گسترش‌دادن افقی",
"action.distribute-vertical": "گسترش‌دادن عمودی",
"action.distribute-horizontal.short": "گسترش‌دادن افقی",
"action.distribute-vertical.short": "گسترش‌دادن عمودی",
"action.duplicate": "تکثیرکردن",
"action.edit-link": "ویرایش پیوند",
"action.exit-pen-mode": "خروج از حالت قلم",
"action.export-as-json.short": "JSON",
"action.export-as-json": "برون‌ریزی به‌عنوان JSON",
"action.export-as-png.short": "PNG",
"action.export-as-png": "برون‌ریزی به‌عنوان PNG",
"action.export-as-svg.short": "SVG",
"action.export-as-svg": "برون‌ریزی به‌عنوان SVG",
"action.flip-horizontal": "وارونه‌سازی افقی",
"action.flip-vertical": "وارونه‌سازی عمودی",
"action.flip-horizontal.short": "وارونه‌سازی افقی",
"action.flip-vertical.short": "وارونه‌سازی عمودی",
"action.fork-project": "ایجاد انشعاب از پروژه",
"action.group": "گروه‌بندی",
"action.insert-embed": "درج جاسازی",
"action.insert-media": "بارگذاری رسانه",
"action.leave-shared-project": "ترک‌کردن پروژه هم‌رسانی‌شده",
"action.new-project": "پروژه جدید",
"action.new-shared-project": "پروژه هم‌رسانی‌شده جدید",
"action.open-file": "بازکردن پرونده",
"action.pack": "بسته‌بندی",
"action.paste": "جای‌گذاری",
"action.print": "چاپ‌کردن",
"action.redo": "انجام دوباره",
"action.rotate-ccw": "چرخاندن در خلاف جهت عقربه‌های ساعت",
"action.rotate-cw": "چرخاندن در جهت عقربه‌های ساعت",
"action.save-copy": "ذخیره یک رونوشت",
"action.select-all": "انتخاب همه",
"action.select-none": "انتخاب هیچ‌یک",
"action.send-backward": "پشت بردن",
"action.send-to-back": "بردن به پشت همه",
"action.share-project": "هم‌رسانی این پروژه",
"action.stack-horizontal": "دسته‌کردن افقی",
"action.stack-vertical": "دسته‌کردن عمودی",
"action.stack-horizontal.short": "دسته‌کردن افقی",
"action.stack-vertical.short": "دسته‌کردن عمودی",
"action.stop-following": "توقف دنبال‌کردن",
"action.stretch-horizontal": "کش‌آوردن افقی",
"action.stretch-vertical": "کش‌آوردن عمودی",
"action.stretch-horizontal.short": "کش‌آوردن افقی",
"action.stretch-vertical.short": "کش‌آوردن عمودی",
"action.toggle-auto-size": "تغییر وضعیت اندازه خودکار",
"action.toggle-dark-mode.menu": "حالت تاریک",
"action.toggle-dark-mode": "تغییر وضعیت حالت تاریک",
"action.toggle-reduce-motion.menu": "کاهش حرکت",
"action.toggle-reduce-motion": "تغییر وضعیت کاهش حرکت",
"action.toggle-debug-mode.menu": "حالت عیب‌یابی",
"action.toggle-debug-mode": "تغییر وضعیت حالت عیب‌یابی",
"action.toggle-focus-mode.menu": "حالت تمرکز",
"action.toggle-focus-mode": "تغییر وضعیت حالت تمرکز",
"action.toggle-grid.menu": "نمایش خطوط راهنما",
"action.toggle-grid": "تغییر وضعیت خطوط راهنما",
"action.toggle-lock": "قفل‌کردن / بازکردن قفل",
"action.toggle-snap-mode.menu": "حالت چسبانکی همیشه روشن",
"action.toggle-snap-mode": "تغییر وضعیت حالت چسبانکی",
"action.toggle-tool-lock.menu": "قفل ابزار",
"action.toggle-tool-lock": "تغییر وضعیت قفل ابزار",
"action.toggle-transparent.context-menu": "شفاف",
"action.toggle-transparent.menu": "شفاف",
"action.toggle-transparent": "تغییر وضعیت پس‌زمینه شفاف",
"action.undo": "واگردانی",
"action.ungroup": "جداکردن گروه",
"action.zoom-in": "بزرگ‌نمایی",
"action.zoom-out": "کوچک‌نمایی",
"action.zoom-to-100": "بزرگ‌نمایی به ۱۰۰٪",
"action.zoom-to-fit": "بزرگ‌نمایی به تناسب",
"action.zoom-to-selection": "بزرگ‌نمایی به انتخاب‌شده‌ها",
"color-style.black": "مشکی",
"color-style.blue": "آبی",
"color-style.green": "سبز",
"color-style.grey": "خاکستری",
"color-style.light-blue": "آبی روشن",
"color-style.light-green": "سبز روشن",
"color-style.light-red": "قرمز روشن",
"color-style.light-violet": "بنفش روشن",
"color-style.orange": "نارنجی",
"color-style.red": "قرمز",
"color-style.violet": "بنفش",
"color-style.yellow": "زرد",
"fill-style.none": "هیچ‌یک",
"fill-style.semi": "نیمه",
"fill-style.solid": "توپُر",
"fill-style.pattern": "الگو",
"dash-style.dashed": "خط‌چین",
"dash-style.dotted": "نقطه‌چین",
"dash-style.draw": "رسم",
"dash-style.solid": "توپُر",
"size-style.s": "کوچک",
"size-style.m": "متوسط",
"size-style.l": "بزرگ",
"size-style.xl": "خیلی بزرگ",
"opacity-style.0.1": "۱۰٪",
"opacity-style.0.25": "۲۵٪",
"opacity-style.0.5": "۵۰٪",
"opacity-style.0.75": "۷۵٪",
"opacity-style.1": "۱۰۰٪",
"font-style.draw": "رسم",
"font-style.sans": "سَنس",
"font-style.serif": "سِریف",
"font-style.mono": "تک‌فاصله",
"align-style.start": "شروع",
"align-style.middle": "میانه",
"align-style.end": "انتها",
"align-style.justify": "هم‌ترازکردن",
"geo-style.arrow-down": "پیکان روبه پایین",
"geo-style.arrow-left": "پیکان روبه چپ",
"geo-style.arrow-right": "پیکان روبه راست",
"geo-style.arrow-up": "پیکان روبه بالا",
"geo-style.diamond": "الماس",
"geo-style.ellipse": "گردی",
"geo-style.hexagon": "شش‌ضلعی",
"geo-style.octagon": "هشت‌ضلعی",
"geo-style.oval": "تخم‌مرغی",
"geo-style.pentagon": "پنج‌ضلعی",
"geo-style.rectangle": "چهارگوش",
"geo-style.rhombus-2": "لوزی ۲",
"geo-style.rhombus": "لوزی",
"geo-style.star": "ستاره",
"geo-style.trapezoid": "ذوزنقه",
"geo-style.triangle": "سه‌گوش",
"geo-style.x-box": "جعبه با x",
"geo-style.check-box": "جعبه با تیک",
"arrowheadStart-style.none": "هیچ‌یک",
"arrowheadStart-style.arrow": "پیکان",
"arrowheadStart-style.bar": "مسدودشده",
"arrowheadStart-style.diamond": "الماس",
"arrowheadStart-style.dot": "نقطه",
"arrowheadStart-style.inverted": "وارونه",
"arrowheadStart-style.pipe": "لوله",
"arrowheadStart-style.square": "مربع",
"arrowheadStart-style.triangle": "سه‌گوش",
"arrowheadEnd-style.none": "هیچ‌یک",
"arrowheadEnd-style.arrow": "پیکان",
"arrowheadEnd-style.bar": "مسدودشده",
"arrowheadEnd-style.diamond": "الماس",
"arrowheadEnd-style.dot": "نقطه",
"arrowheadEnd-style.inverted": "وارونه",
"arrowheadEnd-style.pipe": "لوله",
"arrowheadEnd-style.square": "مربع",
"arrowheadEnd-style.triangle": "سه‌گوش",
"spline-style.line": "خط",
"spline-style.cubic": "مکعبی",
"tool.select": "انتخاب",
"tool.hand": "دست",
"tool.draw": "رسم",
"tool.eraser": "پاک‌کن",
"tool.arrow-down": "پیکان روبه پایین",
"tool.arrow-left": "پیکان روبه چپ",
"tool.arrow-right": "پیکان روبه راست",
"tool.arrow-up": "پیکان روبه بالا",
"tool.arrow": "پیکان",
"tool.diamond": "الماس",
"tool.ellipse": "گردی",
"tool.hexagon": "شش‌ضلعی",
"tool.highlight": "برجسته",
"tool.line": "خط",
"tool.octagon": "هشت‌ضلعی",
"tool.oval": "تخم‌مرغی",
"tool.pentagon": "پنج‌ضلعی",
"tool.rectangle": "چهارگوش",
"tool.rhombus": "لوزی",
"tool.star": "ستاره",
"tool.trapezoid": "ذوزنقه",
"tool.triangle": "سه‌گوش",
"tool.x-box": "جعبه با x",
"tool.check-box": "جعبه با تیک",
"tool.asset": "پیوست محتوا",
"tool.frame": "قاب",
"tool.note": "یادداشت",
"tool.laser": "لیزر",
"tool.embed": "جاسازی",
"tool.text": "متن",
"menu.title": "فهرست",
"menu.copy-as": "رونوشت به‌‌عنوان",
"menu.edit": "ویرایش",
"menu.export-as": "برون‌ریزی با قالب",
"menu.file": "پرونده",
"menu.language": "زبان",
"menu.preferences": "ترجیحات",
"menu.view": "نمایش",
"context-menu.arrange": "مرتب‌سازی",
"context-menu.copy-as": "رونوشت به‌‌عنوان",
"context-menu.export-as": "برون‌ریزی با قالب",
"context-menu.move-to-page": "بردن به برگه",
"context-menu.reorder": "بازچینش",
"page-menu.title": "برگه‌ها",
"page-menu.create-new-page": "ایجاد برگه جدید",
"page-menu.max-page-count-reached": "بیشینه تعداد برگه‌ها رسیده است",
"page-menu.new-page-initial-name": "برگه ۱",
"page-menu.edit-start": "ویرایش",
"page-menu.edit-done": "انجام شد",
"page-menu.go-to-page": "برو به برگه",
"page-menu.submenu.rename": "تغییر نام",
"page-menu.submenu.duplicate-page": "تکثیرکردن",
"page-menu.submenu.title": "فهرست",
"page-menu.submenu.move-down": "حرکت به پایین",
"page-menu.submenu.move-up": "حرکت به بالا",
"page-menu.submenu.delete": "پاک‌کردن",
"share-menu.title": "هم‌رسانی",
"share-menu.save-note": "این پروژه را در رایانه خود به عنوان پرونده .tldr بارگیری کنید.",
"share-menu.fork-note": "یک پروژه هم‌رسانی‌شده جدید براساس این تصویر لحظه‌ای ایجاد کنید.",
"share-menu.share-project": "هم‌رسانی این پروژه",
"share-menu.default-project-name": "پروژه هم‌رسانی‌شده",
"share-menu.copy-link": "رونوشت پیوند هم‌رسانی",
"share-menu.readonly-link": "غیرقابل ویرایش",
"share-menu.create-snapshot-link": "رونوشت پیوند تصویر لحظه‌ای",
"share-menu.snapshot-link-note": "یک تصویر لحظه‌ای غیرقابل ویرایش از این پروژه ایجاد کنید و پیوند آن را هم‌رسانی کنید.",
"share-menu.copy-readonly-link": "رونوشت پیوند غیرقابل ویرایش",
"share-menu.offline-note": "یک پروژه هم‌رسانی‌شده جدید براساس پروژه کنونی خود ایجاد کنید.",
"share-menu.copy-link-note": "هرکسی که این پیوند را داشته باشد می‌تواند این پروژه را ببیند و ویرایش کند.",
"share-menu.copy-readonly-link-note": "هرکسی که این پیوند را داشته باشد می‌تواند این پروژه را ببیند (ولی نمی‌تواند ویرایش کند).",
"share-menu.project-too-large": "با عرض پوزش، این پروژه نمی‌تواند هم‌رسانی شود زیرا بسیار بزرگ است. ما درحال کار روی آن هستم!",
"share-menu.upload-failed": "با عرض پوزش، در این لحظه نتوانستیم پروژه شما را بارگذاری کنیم. لطفا دوباره تلاش کنید یا اگر مشکل ادامه داشت، به ما اطلاع دهید.",
"people-menu.title": "افراد",
"people-menu.change-name": "تغییر نام",
"people-menu.change-color": "تغییر رنگ",
"people-menu.follow": "پی‌گرفته",
"people-menu.following": "پی‌گرفته",
"people-menu.leading": "شما را پی می‌گیرد",
"people-menu.user": "(شما)",
"people-menu.invite": "دعوت از دیگران",
"help-menu.title": "کمک و منابع",
"help-menu.about": "درباره",
"help-menu.discord": "دیسکورد",
"help-menu.github": "گیت‌هاب",
"help-menu.keyboard-shortcuts": "میان‌برهای صفحه‌کلید",
"help-menu.twitter": "توییتر",
"actions-menu.title": "اقدامات",
"edit-link-dialog.title": "ویرایش پیوند",
"edit-link-dialog.invalid-url": "یک پیوند باید یک نشانی اینترنتی معتبر باشد.",
"edit-link-dialog.detail": "پیوندها در یک زبانه جدید باز خواهند شد.",
"edit-link-dialog.url": "نشانی اینترنتی",
"edit-link-dialog.clear": "پاک‌سازی",
"edit-link-dialog.save": "ادامه‌دادن",
"edit-link-dialog.cancel": "لغو",
"embed-dialog.title": "درج جاسازی",
"embed-dialog.back": "بازگشت",
"embed-dialog.create": "ایجاد",
"embed-dialog.cancel": "لغو",
"embed-dialog.url": "نشانی اینترنتی",
"embed-dialog.instruction": "برای ایجاد جاسازی، نشانی اینترنتی سایت را جای‌گذاری کنید.",
"embed-dialog.invalid-url": "نتوانستیم از آن آدرس اینترنتی، یک جاسازی ایجاد کنیم.",
"edit-pages-dialog.move-down": "حرکت به پایین",
"edit-pages-dialog.move-up": "حرکت به بالا",
"shortcuts-dialog.title": "میان‌برهای صفحه‌کلید",
"shortcuts-dialog.edit": "ویرایش",
"shortcuts-dialog.file": "پرونده",
"shortcuts-dialog.preferences": "ترجیحات",
"shortcuts-dialog.tools": "ابزارها",
"shortcuts-dialog.transform": "تغییر شکل",
"shortcuts-dialog.view": "نمایش",
"home-project-dialog.title": "پروژه خانه",
"home-project-dialog.description": "این پروژه خانه محلی شماست. فقط برای شما!",
"rename-project-dialog.title": "تغییر نام پروژه",
"rename-project-dialog.cancel": "لغو",
"rename-project-dialog.rename": "تغییر نام",
"home-project-dialog.ok": "باشه",
"style-panel.title": "سبک‌ها",
"style-panel.align": "تراز",
"style-panel.vertical-align": "تراز عمودی",
"style-panel.position": "موقعیت",
"style-panel.arrowheads": "نوک‌های پیکان‌ها",
"style-panel.arrowhead-start": "شروع",
"style-panel.arrowhead-end": "انتها",
"style-panel.color": "رنگ",
"style-panel.dash": "لبه",
"style-panel.fill": "پُرکردن",
"style-panel.font": "قلم",
"style-panel.geo": "شکل",
"style-panel.mixed": "درهم",
"style-panel.opacity": "کدری",
"style-panel.size": "اندازه",
"style-panel.spline": "نوار باریک",
"tool-panel.drawing": "درحال رسم",
"tool-panel.shapes": "شکل‌ها",
"tool-panel.more": "بیش‌تر",
"debug-panel.more": "بیش‌تر",
"navigation-zone.toggle-minimap": "تغییر وضعیت نقشه کوچک",
"navigation-zone.zoom": "بزرگ‌نمایی",
"focus-mode.toggle-focus-mode": "تغییر وضعیت حالت تمرکز",
"toast.close": "بستن",
"file-system.file-open-error.title": "پرونده باز نشد",
"file-system.file-open-error.not-a-tldraw-file": "پرونده‌ای که تلاش کردید آن را باز کنید شبیه یک پرونده tldraw نیست.",
"file-system.file-open-error.file-format-version-too-new": "پرونده‌ای که تلاش کردید آن را باز کنید از یک نسخه جدیدتر tldraw است. لطفا برگه را تازه‌سازی مجدد کنید و دوباره تلاش کنید.",
"file-system.file-open-error.generic-corrupted-file": "پرونده‌ای که تلاش کردید آن را باز کنید خراب است.",
"file-system.confirm-open.title": "بازنویسی روی پروژه کنونی؟",
"file-system.confirm-open.description": "بازکردن یک پرونده جدید، آن را با پروژه کنونی شما جایگزین می‌کند و تغییرات ذخیره‌نشده از بین خواهد رفت. آیا مطمئن هستید که می‌خواهید ادامه دهید؟",
"file-system.confirm-open.cancel": "لغو",
"file-system.confirm-open.open": "بازکردن پرونده",
"file-system.confirm-open.dont-show-again": "دوباره نپرس",
"file-system.confirm-clear.title": "پاک‌سازی پروژه کنونی؟",
"file-system.confirm-clear.description": "ایجاد یک پروژه جدید، پروژه کنونی شما را پاک‌سازی می‌کند و تغییرات ذخیره‌نشده از بین خواهد رفت. آیا مطمئن هستید که می‌خواهید ادامه دهید؟",
"file-system.confirm-clear.cancel": "لغو",
"file-system.confirm-clear.continue": "ادامه‌دادن",
"file-system.confirm-clear.dont-show-again": "دوباره نپرس",
"file-system.shared-document-file-open-error.title": "پرونده باز نشد",
"file-system.shared-document-file-open-error.description": "بازکردن پیونده‌ها از پروژه‌های هم‌رسانی‌شده پشتیبانی نمی‌شود.",
"sharing.confirm-leave.title": "ترک‌کردن پروژه کنونی؟",
"sharing.confirm-leave.description": "آیا مطمئن هستید که می‌خواهید این پروژه هم‌رسانی‌شده را ترک کنید؟ شما می‌توانید با رفتن به نشانی اینترنتی آن، به آن بازگردید.",
"sharing.confirm-leave.cancel": "لغو",
"sharing.confirm-leave.leave": "ترک‌کردن",
"sharing.confirm-leave.dont-show-again": "دوباره نپرس",
"toast.error.export-fail.title": "برون‌ریزی ناموفق",
"toast.error.export-fail.desc": "تصویر برون‌ریزی نشد",
"toast.error.copy-fail.title": "رونوشت با خطا مواجه شد",
"toast.error.copy-fail.desc": "رونوشت تصویر با خطا مواجه شد",
"context.pages.new-page": "برگه جدید",
"vscode.file-open.desc": "ما این سند را برای کار با نسخه کنونی tldraw به‌روز کرده‌ایم. اگر می‌خواهید نسخه اصلی را نگه دارید (که روی old.tldraw.com کار می‌کند)، برای ایجاد یک نسخه پشتیبان این پایین کلیک کنید.",
"vscode.file-open.open": "ادامه‌دادن",
"vscode.file-open.backup": "نسخه پشتیبان",
"vscode.file-open.backup-saved": "نسخه پشتیبان ذخیره شد",
"vscode.file-open.backup-failed": "پشتیبان‌گیری انجام نشد: این یک پرونده .tldr نیست.",
"vscode.file-open.dont-show-again": "دوباره نپرس"
"action.convert-to-bookmark": "تبدیل به نشانه‌گذاری",
"action.convert-to-embed": "تبدیل به جاسازی",
"action.open-embed-link": "بازکردن پیوند",
"action.align-bottom": "تراز به پایین",
"action.align-center-horizontal": "تراز به مرکز افقی",
"action.align-center-vertical": "تراز به مرکز عمودی",
"action.align-center-horizontal.short": "تراز به مرکز افقی",
"action.align-center-vertical.short": "تراز به مرکز عمودی",
"action.align-left": "تراز به چپ",
"action.align-right": "تراز به راست",
"action.align-top": "تراز به بالا",
"action.back-to-content": "بازگشت به محتوا",
"action.bring-forward": "رو آوردن",
"action.bring-to-front": "آوردن به روی همه",
"action.copy-as-json.short": "JSON",
"action.copy-as-json": "رونوشت به‌عنوان JSON",
"action.copy-as-png.short": "PNG",
"action.copy-as-png": "رونوشت به‌عنوان PNG",
"action.copy-as-svg.short": "SVG",
"action.copy-as-svg": "رونوشت به‌عنوان SVG",
"action.copy": "رونوشت",
"action.cut": "بریدن",
"action.delete": "پاک‌کردن",
"action.distribute-horizontal": "گسترش‌دادن افقی",
"action.distribute-vertical": "گسترش‌دادن عمودی",
"action.distribute-horizontal.short": "گسترش‌دادن افقی",
"action.distribute-vertical.short": "گسترش‌دادن عمودی",
"action.duplicate": "تکثیرکردن",
"action.edit-link": "ویرایش پیوند",
"action.exit-pen-mode": "خروج از حالت قلم",
"action.export-as-json.short": "JSON",
"action.export-as-json": "برون‌ریزی به‌عنوان JSON",
"action.export-as-png.short": "PNG",
"action.export-as-png": "برون‌ریزی به‌عنوان PNG",
"action.export-as-svg.short": "SVG",
"action.export-as-svg": "برون‌ریزی به‌عنوان SVG",
"action.flip-horizontal": "وارونه‌سازی افقی",
"action.flip-vertical": "وارونه‌سازی عمودی",
"action.flip-horizontal.short": "وارونه‌سازی افقی",
"action.flip-vertical.short": "وارونه‌سازی عمودی",
"action.fork-project": "ایجاد انشعاب از پروژه",
"action.group": "گروه‌بندی",
"action.insert-embed": "درج جاسازی",
"action.insert-media": "بارگذاری رسانه",
"action.leave-shared-project": "ترک‌کردن پروژه هم‌رسانی‌شده",
"action.new-project": "پروژه جدید",
"action.new-shared-project": "پروژه هم‌رسانی‌شده جدید",
"action.open-file": "بازکردن پرونده",
"action.pack": "بسته‌بندی",
"action.paste": "جای‌گذاری",
"action.print": "چاپ‌کردن",
"action.redo": "انجام دوباره",
"action.rotate-ccw": "چرخاندن در خلاف جهت عقربه‌های ساعت",
"action.rotate-cw": "چرخاندن در جهت عقربه‌های ساعت",
"action.save-copy": "ذخیره یک رونوشت",
"action.select-all": "انتخاب همه",
"action.select-none": "انتخاب هیچ‌یک",
"action.send-backward": "پشت بردن",
"action.send-to-back": "بردن به پشت همه",
"action.share-project": "هم‌رسانی این پروژه",
"action.stack-horizontal": "دسته‌کردن افقی",
"action.stack-vertical": "دسته‌کردن عمودی",
"action.stack-horizontal.short": "دسته‌کردن افقی",
"action.stack-vertical.short": "دسته‌کردن عمودی",
"action.stop-following": "توقف دنبال‌کردن",
"action.stretch-horizontal": "کش‌آوردن افقی",
"action.stretch-vertical": "کش‌آوردن عمودی",
"action.stretch-horizontal.short": "کش‌آوردن افقی",
"action.stretch-vertical.short": "کش‌آوردن عمودی",
"action.toggle-auto-size": "تغییر وضعیت اندازه خودکار",
"action.toggle-dark-mode.menu": "حالت تاریک",
"action.toggle-dark-mode": "تغییر وضعیت حالت تاریک",
"action.toggle-reduce-motion.menu": "کاهش حرکت",
"action.toggle-reduce-motion": "تغییر وضعیت کاهش حرکت",
"action.toggle-debug-mode.menu": "حالت عیب‌یابی",
"action.toggle-debug-mode": "تغییر وضعیت حالت عیب‌یابی",
"action.toggle-focus-mode.menu": "حالت تمرکز",
"action.toggle-focus-mode": "تغییر وضعیت حالت تمرکز",
"action.toggle-grid.menu": "نمایش خطوط راهنما",
"action.toggle-grid": "تغییر وضعیت خطوط راهنما",
"action.toggle-lock": "قفل‌کردن / بازکردن قفل",
"action.toggle-snap-mode.menu": "حالت چسبانکی همیشه روشن",
"action.toggle-snap-mode": "تغییر وضعیت حالت چسبانکی",
"action.toggle-tool-lock.menu": "قفل ابزار",
"action.toggle-tool-lock": "تغییر وضعیت قفل ابزار",
"action.toggle-transparent.context-menu": "شفاف",
"action.toggle-transparent.menu": "شفاف",
"action.toggle-transparent": "تغییر وضعیت پس‌زمینه شفاف",
"action.undo": "واگردانی",
"action.ungroup": "جداکردن گروه",
"action.zoom-in": "بزرگ‌نمایی",
"action.zoom-out": "کوچک‌نمایی",
"action.zoom-to-100": "بزرگ‌نمایی به ۱۰۰٪",
"action.zoom-to-fit": "بزرگ‌نمایی به تناسب",
"action.zoom-to-selection": "بزرگ‌نمایی به انتخاب‌شده‌ها",
"color-style.black": "مشکی",
"color-style.blue": "آبی",
"color-style.green": "سبز",
"color-style.grey": "خاکستری",
"color-style.light-blue": "آبی روشن",
"color-style.light-green": "سبز روشن",
"color-style.light-red": "قرمز روشن",
"color-style.light-violet": "بنفش روشن",
"color-style.orange": "نارنجی",
"color-style.red": "قرمز",
"color-style.violet": "بنفش",
"color-style.yellow": "زرد",
"fill-style.none": "هیچ‌یک",
"fill-style.semi": "نیمه",
"fill-style.solid": "توپُر",
"fill-style.pattern": "الگو",
"dash-style.dashed": "خط‌چین",
"dash-style.dotted": "نقطه‌چین",
"dash-style.draw": "رسم",
"dash-style.solid": "توپُر",
"size-style.s": "کوچک",
"size-style.m": "متوسط",
"size-style.l": "بزرگ",
"size-style.xl": "خیلی بزرگ",
"opacity-style.0.1": "۱۰٪",
"opacity-style.0.25": "۲۵٪",
"opacity-style.0.5": "۵۰٪",
"opacity-style.0.75": "۷۵٪",
"opacity-style.1": "۱۰۰٪",
"font-style.draw": "رسم",
"font-style.sans": "سَنس",
"font-style.serif": "سِریف",
"font-style.mono": "تک‌فاصله",
"align-style.start": "شروع",
"align-style.middle": "میانه",
"align-style.end": "انتها",
"align-style.justify": "هم‌ترازکردن",
"geo-style.arrow-down": "پیکان روبه پایین",
"geo-style.arrow-left": "پیکان روبه چپ",
"geo-style.arrow-right": "پیکان روبه راست",
"geo-style.arrow-up": "پیکان روبه بالا",
"geo-style.diamond": "الماس",
"geo-style.ellipse": "گردی",
"geo-style.hexagon": "شش‌ضلعی",
"geo-style.octagon": "هشت‌ضلعی",
"geo-style.oval": "تخم‌مرغی",
"geo-style.pentagon": "پنج‌ضلعی",
"geo-style.rectangle": "چهارگوش",
"geo-style.rhombus-2": "لوزی ۲",
"geo-style.rhombus": "لوزی",
"geo-style.star": "ستاره",
"geo-style.trapezoid": "ذوزنقه",
"geo-style.triangle": "سه‌گوش",
"geo-style.x-box": "جعبه با x",
"geo-style.check-box": "جعبه با تیک",
"arrowheadStart-style.none": "هیچ‌یک",
"arrowheadStart-style.arrow": "پیکان",
"arrowheadStart-style.bar": "مسدودشده",
"arrowheadStart-style.diamond": "الماس",
"arrowheadStart-style.dot": "نقطه",
"arrowheadStart-style.inverted": "وارونه",
"arrowheadStart-style.pipe": "لوله",
"arrowheadStart-style.square": "مربع",
"arrowheadStart-style.triangle": "سه‌گوش",
"arrowheadEnd-style.none": "هیچ‌یک",
"arrowheadEnd-style.arrow": "پیکان",
"arrowheadEnd-style.bar": "مسدودشده",
"arrowheadEnd-style.diamond": "الماس",
"arrowheadEnd-style.dot": "نقطه",
"arrowheadEnd-style.inverted": "وارونه",
"arrowheadEnd-style.pipe": "لوله",
"arrowheadEnd-style.square": "مربع",
"arrowheadEnd-style.triangle": "سه‌گوش",
"spline-style.line": "خط",
"spline-style.cubic": "مکعبی",
"tool.select": "انتخاب",
"tool.hand": "دست",
"tool.draw": "رسم",
"tool.eraser": "پاک‌کن",
"tool.arrow-down": "پیکان روبه پایین",
"tool.arrow-left": "پیکان روبه چپ",
"tool.arrow-right": "پیکان روبه راست",
"tool.arrow-up": "پیکان روبه بالا",
"tool.arrow": "پیکان",
"tool.diamond": "الماس",
"tool.ellipse": "گردی",
"tool.hexagon": "شش‌ضلعی",
"tool.highlight": "برجسته",
"tool.line": "خط",
"tool.octagon": "هشت‌ضلعی",
"tool.oval": "تخم‌مرغی",
"tool.pentagon": "پنج‌ضلعی",
"tool.rectangle": "چهارگوش",
"tool.rhombus": "لوزی",
"tool.star": "ستاره",
"tool.trapezoid": "ذوزنقه",
"tool.triangle": "سه‌گوش",
"tool.x-box": "جعبه با x",
"tool.check-box": "جعبه با تیک",
"tool.asset": "پیوست محتوا",
"tool.frame": "قاب",
"tool.note": "یادداشت",
"tool.laser": "لیزر",
"tool.embed": "جاسازی",
"tool.text": "متن",
"menu.title": "فهرست",
"menu.copy-as": "رونوشت به‌‌عنوان",
"menu.edit": "ویرایش",
"menu.export-as": "برون‌ریزی با قالب",
"menu.file": "پرونده",
"menu.language": "زبان",
"menu.preferences": "ترجیحات",
"menu.view": "نمایش",
"context-menu.arrange": "مرتب‌سازی",
"context-menu.copy-as": "رونوشت به‌‌عنوان",
"context-menu.export-as": "برون‌ریزی با قالب",
"context-menu.move-to-page": "بردن به برگه",
"context-menu.reorder": "بازچینش",
"page-menu.title": "برگه‌ها",
"page-menu.create-new-page": "ایجاد برگه جدید",
"page-menu.max-page-count-reached": "بیشینه تعداد برگه‌ها رسیده است",
"page-menu.new-page-initial-name": "برگه ۱",
"page-menu.edit-start": "ویرایش",
"page-menu.edit-done": "انجام شد",
"page-menu.go-to-page": "برو به برگه",
"page-menu.submenu.rename": "تغییر نام",
"page-menu.submenu.duplicate-page": "تکثیرکردن",
"page-menu.submenu.title": "فهرست",
"page-menu.submenu.move-down": "حرکت به پایین",
"page-menu.submenu.move-up": "حرکت به بالا",
"page-menu.submenu.delete": "پاک‌کردن",
"share-menu.title": "هم‌رسانی",
"share-menu.save-note": "این پروژه را در رایانه خود به عنوان پرونده .tldr بارگیری کنید.",
"share-menu.fork-note": "یک پروژه هم‌رسانی‌شده جدید براساس این تصویر لحظه‌ای ایجاد کنید.",
"share-menu.share-project": "هم‌رسانی این پروژه",
"share-menu.default-project-name": "پروژه هم‌رسانی‌شده",
"share-menu.copy-link": "رونوشت پیوند هم‌رسانی",
"share-menu.readonly-link": "غیرقابل ویرایش",
"share-menu.create-snapshot-link": "رونوشت پیوند تصویر لحظه‌ای",
"share-menu.snapshot-link-note": "یک تصویر لحظه‌ای غیرقابل ویرایش از این پروژه ایجاد کنید و پیوند آن را هم‌رسانی کنید.",
"share-menu.copy-readonly-link": "رونوشت پیوند غیرقابل ویرایش",
"share-menu.offline-note": "یک پروژه هم‌رسانی‌شده جدید براساس پروژه کنونی خود ایجاد کنید.",
"share-menu.copy-link-note": "هرکسی که این پیوند را داشته باشد می‌تواند این پروژه را ببیند و ویرایش کند.",
"share-menu.copy-readonly-link-note": "هرکسی که این پیوند را داشته باشد می‌تواند این پروژه را ببیند (ولی نمی‌تواند ویرایش کند).",
"share-menu.project-too-large": "با عرض پوزش، این پروژه نمی‌تواند هم‌رسانی شود زیرا بسیار بزرگ است. ما درحال کار روی آن هستم!",
"share-menu.upload-failed": "با عرض پوزش، در این لحظه نتوانستیم پروژه شما را بارگذاری کنیم. لطفا دوباره تلاش کنید یا اگر مشکل ادامه داشت، به ما اطلاع دهید.",
"people-menu.title": "افراد",
"people-menu.change-name": "تغییر نام",
"people-menu.change-color": "تغییر رنگ",
"people-menu.follow": "پی‌گرفته",
"people-menu.following": "پی‌گرفته",
"people-menu.leading": "شما را پی می‌گیرد",
"people-menu.user": "(شما)",
"people-menu.invite": "دعوت از دیگران",
"help-menu.title": "کمک و منابع",
"help-menu.about": "درباره",
"help-menu.discord": "دیسکورد",
"help-menu.github": "گیت‌هاب",
"help-menu.keyboard-shortcuts": "میان‌برهای صفحه‌کلید",
"help-menu.twitter": "توییتر",
"actions-menu.title": "اقدامات",
"edit-link-dialog.title": "ویرایش پیوند",
"edit-link-dialog.invalid-url": "یک پیوند باید یک نشانی اینترنتی معتبر باشد.",
"edit-link-dialog.detail": "پیوندها در یک زبانه جدید باز خواهند شد.",
"edit-link-dialog.url": "نشانی اینترنتی",
"edit-link-dialog.clear": "پاک‌سازی",
"edit-link-dialog.save": "ادامه‌دادن",
"edit-link-dialog.cancel": "لغو",
"embed-dialog.title": "درج جاسازی",
"embed-dialog.back": "بازگشت",
"embed-dialog.create": "ایجاد",
"embed-dialog.cancel": "لغو",
"embed-dialog.url": "نشانی اینترنتی",
"embed-dialog.instruction": "برای ایجاد جاسازی، نشانی اینترنتی سایت را جای‌گذاری کنید.",
"embed-dialog.invalid-url": "نتوانستیم از آن آدرس اینترنتی، یک جاسازی ایجاد کنیم.",
"edit-pages-dialog.move-down": "حرکت به پایین",
"edit-pages-dialog.move-up": "حرکت به بالا",
"shortcuts-dialog.title": "میان‌برهای صفحه‌کلید",
"shortcuts-dialog.edit": "ویرایش",
"shortcuts-dialog.file": "پرونده",
"shortcuts-dialog.preferences": "ترجیحات",
"shortcuts-dialog.tools": "ابزارها",
"shortcuts-dialog.transform": "تغییر شکل",
"shortcuts-dialog.view": "نمایش",
"home-project-dialog.title": "پروژه خانه",
"home-project-dialog.description": "این پروژه خانه محلی شماست. فقط برای شما!",
"rename-project-dialog.title": "تغییر نام پروژه",
"rename-project-dialog.cancel": "لغو",
"rename-project-dialog.rename": "تغییر نام",
"home-project-dialog.ok": "باشه",
"style-panel.title": "سبک‌ها",
"style-panel.align": "تراز",
"style-panel.vertical-align": "تراز عمودی",
"style-panel.position": "موقعیت",
"style-panel.arrowheads": "نوک‌های پیکان‌ها",
"style-panel.arrowhead-start": "شروع",
"style-panel.arrowhead-end": "انتها",
"style-panel.color": "رنگ",
"style-panel.dash": "لبه",
"style-panel.fill": "پُرکردن",
"style-panel.font": "قلم",
"style-panel.geo": "شکل",
"style-panel.mixed": "درهم",
"style-panel.opacity": "کدری",
"style-panel.size": "اندازه",
"style-panel.spline": "نوار باریک",
"tool-panel.drawing": "درحال رسم",
"tool-panel.shapes": "شکل‌ها",
"tool-panel.more": "بیش‌تر",
"debug-panel.more": "بیش‌تر",
"navigation-zone.toggle-minimap": "تغییر وضعیت نقشه کوچک",
"navigation-zone.zoom": "بزرگ‌نمایی",
"focus-mode.toggle-focus-mode": "تغییر وضعیت حالت تمرکز",
"toast.close": "بستن",
"file-system.file-open-error.title": "پرونده باز نشد",
"file-system.file-open-error.not-a-tldraw-file": "پرونده‌ای که تلاش کردید آن را باز کنید شبیه یک پرونده tldraw نیست.",
"file-system.file-open-error.file-format-version-too-new": "پرونده‌ای که تلاش کردید آن را باز کنید از یک نسخه جدیدتر tldraw است. لطفا برگه را تازه‌سازی مجدد کنید و دوباره تلاش کنید.",
"file-system.file-open-error.generic-corrupted-file": "پرونده‌ای که تلاش کردید آن را باز کنید خراب است.",
"file-system.confirm-open.title": "بازنویسی روی پروژه کنونی؟",
"file-system.confirm-open.description": "بازکردن یک پرونده جدید، آن را با پروژه کنونی شما جایگزین می‌کند و تغییرات ذخیره‌نشده از بین خواهد رفت. آیا مطمئن هستید که می‌خواهید ادامه دهید؟",
"file-system.confirm-open.cancel": "لغو",
"file-system.confirm-open.open": "بازکردن پرونده",
"file-system.confirm-open.dont-show-again": "دوباره نپرس",
"file-system.confirm-clear.title": "پاک‌سازی پروژه کنونی؟",
"file-system.confirm-clear.description": "ایجاد یک پروژه جدید، پروژه کنونی شما را پاک‌سازی می‌کند و تغییرات ذخیره‌نشده از بین خواهد رفت. آیا مطمئن هستید که می‌خواهید ادامه دهید؟",
"file-system.confirm-clear.cancel": "لغو",
"file-system.confirm-clear.continue": "ادامه‌دادن",
"file-system.confirm-clear.dont-show-again": "دوباره نپرس",
"file-system.shared-document-file-open-error.title": "پرونده باز نشد",
"file-system.shared-document-file-open-error.description": "بازکردن پیونده‌ها از پروژه‌های هم‌رسانی‌شده پشتیبانی نمی‌شود.",
"sharing.confirm-leave.title": "ترک‌کردن پروژه کنونی؟",
"sharing.confirm-leave.description": "آیا مطمئن هستید که می‌خواهید این پروژه هم‌رسانی‌شده را ترک کنید؟ شما می‌توانید با رفتن به نشانی اینترنتی آن، به آن بازگردید.",
"sharing.confirm-leave.cancel": "لغو",
"sharing.confirm-leave.leave": "ترک‌کردن",
"sharing.confirm-leave.dont-show-again": "دوباره نپرس",
"toast.error.export-fail.title": "برون‌ریزی ناموفق",
"toast.error.export-fail.desc": "تصویر برون‌ریزی نشد",
"toast.error.copy-fail.title": "رونوشت با خطا مواجه شد",
"toast.error.copy-fail.desc": "رونوشت تصویر با خطا مواجه شد",
"context.pages.new-page": "برگه جدید",
"vscode.file-open.desc": "ما این سند را برای کار با نسخه کنونی tldraw به‌روز کرده‌ایم. اگر می‌خواهید نسخه اصلی را نگه دارید (که روی old.tldraw.com کار می‌کند)، برای ایجاد یک نسخه پشتیبان این پایین کلیک کنید.",
"vscode.file-open.open": "ادامه‌دادن",
"vscode.file-open.backup": "نسخه پشتیبان",
"vscode.file-open.backup-saved": "نسخه پشتیبان ذخیره شد",
"vscode.file-open.backup-failed": "پشتیبان‌گیری انجام نشد: این یک پرونده .tldr نیست.",
"vscode.file-open.dont-show-again": "دوباره نپرس"
}

Wyświetl plik

@ -1345,6 +1345,8 @@ input,
}
.tl-loading {
background-color: var(--color-background);
color: var(--color-text-1);
height: 100%;
width: 100%;
display: flex;

Wyświetl plik

@ -1,10 +1,18 @@
import { Store, StoreSnapshot } from '@tldraw/store'
import { TLRecord, TLStore } from '@tldraw/tlschema'
import { RecursivePartial, Required, annotateError } from '@tldraw/utils'
import React, { memo, useCallback, useLayoutEffect, useState, useSyncExternalStore } from 'react'
import React, {
memo,
useCallback,
useLayoutEffect,
useMemo,
useState,
useSyncExternalStore,
} from 'react'
import { TLEditorAssetUrls, useDefaultEditorAssetsWithOverrides } from './assetUrls'
import { DefaultErrorFallback } from './components/DefaultErrorFallback'
import { OptionalErrorBoundary } from './components/ErrorBoundary'
import { TLUser, createTLUser } from './config/createTLUser'
import { AnyTLShapeInfo } from './config/defineShape'
import { Editor } from './editor/Editor'
import { TLStateNodeConstructor } from './editor/tools/StateNode'
@ -101,6 +109,7 @@ export const TldrawEditor = memo(function TldrawEditor({
...rest
}: TldrawEditorProps) {
const [container, setContainer] = React.useState<HTMLDivElement | null>(null)
const user = useMemo(() => createTLUser(), [])
const ErrorFallback =
components?.ErrorFallback === undefined ? DefaultErrorFallback : components?.ErrorFallback
@ -126,14 +135,14 @@ export const TldrawEditor = memo(function TldrawEditor({
{store ? (
store instanceof Store ? (
// Store is ready to go, whether externally synced or not
<TldrawEditorWithReadyStore {...withDefaults} store={store} />
<TldrawEditorWithReadyStore {...withDefaults} store={store} user={user} />
) : (
// Store is a synced store, so handle syncing stages internally
<TldrawEditorWithLoadingStore {...withDefaults} store={store} />
<TldrawEditorWithLoadingStore {...withDefaults} store={store} user={user} />
)
) : (
// We have no store (it's undefined) so create one and possibly sync it
<TldrawEditorWithOwnStore {...withDefaults} store={store} />
<TldrawEditorWithOwnStore {...withDefaults} store={store} user={user} />
)}
</EditorComponentsProvider>
</ContainerProvider>
@ -144,9 +153,9 @@ export const TldrawEditor = memo(function TldrawEditor({
})
function TldrawEditorWithOwnStore(
props: Required<TldrawEditorProps & { store: undefined }, 'shapes' | 'tools'>
props: Required<TldrawEditorProps & { store: undefined; user: TLUser }, 'shapes' | 'tools'>
) {
const { defaultName, initialData, shapes, persistenceKey, sessionId } = props
const { defaultName, initialData, shapes, persistenceKey, sessionId, user } = props
const syncedStore = useLocalStore({
shapes,
@ -156,13 +165,23 @@ function TldrawEditorWithOwnStore(
defaultName,
})
return <TldrawEditorWithLoadingStore {...props} store={syncedStore} />
return <TldrawEditorWithLoadingStore {...props} store={syncedStore} user={user} />
}
const TldrawEditorWithLoadingStore = memo(function TldrawEditorBeforeLoading({
store,
user,
...rest
}: Required<TldrawEditorProps & { store: TLStoreWithStatus }, 'shapes' | 'tools'>) {
}: Required<TldrawEditorProps & { store: TLStoreWithStatus; user: TLUser }, 'shapes' | 'tools'>) {
const container = useContainer()
useLayoutEffect(() => {
if (user.userPreferences.value.isDarkMode) {
container.classList.remove('tl-theme__light')
container.classList.add('tl-theme__dark')
}
}, [container, user.userPreferences.value.isDarkMode])
switch (store.status) {
case 'error': {
// for error handling, we fall back to the default error boundary.
@ -184,7 +203,7 @@ const TldrawEditorWithLoadingStore = memo(function TldrawEditorBeforeLoading({
}
}
return <TldrawEditorWithReadyStore {...rest} store={store.store} />
return <TldrawEditorWithReadyStore {...rest} store={store.store} user={user} />
})
function TldrawEditorWithReadyStore({
@ -194,10 +213,12 @@ function TldrawEditorWithReadyStore({
tools,
shapes,
autoFocus,
user,
assetUrls,
}: Required<
TldrawEditorProps & {
store: TLStore
user: TLUser
},
'shapes' | 'tools'
>) {
@ -211,6 +232,7 @@ function TldrawEditorWithReadyStore({
shapes,
tools,
getContainer: () => container,
user,
})
;(window as any).app = editor
;(window as any).editor = editor
@ -219,7 +241,7 @@ function TldrawEditorWithReadyStore({
return () => {
editor.dispose()
}
}, [container, shapes, tools, store])
}, [container, shapes, tools, store, user])
React.useLayoutEffect(() => {
if (editor && autoFocus) editor.focus()

Wyświetl plik

@ -4,8 +4,8 @@ export const DefaultSpinner: TLSpinnerComponent = () => {
return (
<svg width={16} height={16} viewBox="0 0 16 16">
<g strokeWidth={2} fill="none" fillRule="evenodd">
<circle strokeOpacity={0.25} cx={8} cy={8} r={7} stroke="black" />
<path strokeLinecap="round" d="M15 8c0-4.5-4.5-7-7-7" stroke="black">
<circle strokeOpacity={0.25} cx={8} cy={8} r={7} stroke="var(--color-text-1)" />
<path strokeLinecap="round" d="M15 8c0-4.5-4.5-7-7-7" stroke="var(--color-text-1)">
<animateTransform
attributeName="transform"
type="rotate"