1d5e865da1
* fix: fonts not rendered on init if `loadingdone` not fired (#5923) * fix: fonts not rendered on init if `loadingdone` not fired * remove unnecessary check * fix: Always bind to container selected by user (#5880) * fix: Always bind to container selected by user * Don't bind to container when using text tool * adjust z-index for bound text * fix * Add spec * Add test * Allow double click on transparent container and add spec * fix spec * adjust z-index only when binding * update index * fix * add index check * Update src/scene/Scene.ts Co-authored-by: dwelle <luzar.david@gmail.com> * feat: changed text copy/paste behaviour (#5786) Co-authored-by: dwelle <luzar.david@gmail.com> Co-authored-by: Antonio Della Fortuna <a.dellafortuna00@gmail.com> * feat: Don't add midpoint until dragged beyond a threshold (#5927) * Don't add midpoint until dragged beyond a threshold * remove unnecessary code * fix tests * fix * add spec * remove isMidpoint * cleanup * fix threshold for zoom * split into shouldAddMidpoint and addMidpoint * wrap in flushSync for synchronous updates * remove threshold for line editor and add spec * [unrelated] fix stack overflow state update * fix tests * don't drag arrow when dragging to add mid point * add specs Co-authored-by: dwelle <luzar.david@gmail.com> * refactor: remove unnecessary code (#5933) * fix: scale font correctly when using shift (#5935) * fix: scale font correctly when using shift * fix * Empty-Commit * Add spec * fix * fix: Dedupe boundElement ids when container duplicated with alt+drag (#5938) * Dedupe boundElement ids when container duplicated with alt+drag and add spec * set to null by default * fix: bindings do not survive history serialization (#5942) * fix: don't allow whitespaces for bound text (#5939) * fix: don't allow whitespaces for bound text * fix * remove * remove empty else * fix * fix * fix * feat: Support labels for arrow 🔥 (#5723) * feat: support arrow with text * render arrow -> clear rect-> render text * move bound text when linear elements move * fix centering cursor when linear element rotated * fix y coord when new line added and container has 3 points * update text position when 2nd point moved * support adding label on top of 2nd point when 3 points are present * change linear element editor shortcut to cmd+enter and fix tests * scale bound text points when resizing via bounding box * ohh yeah rotation works :) * fix coords when updating text properties * calculate new position after rotation always from original position * rotate the bound text by same angle as parent * don't rotate text and make sure dimensions and coords are always calculated from original point * hardcoding the text width for now * Move the linear element when bound text hit * Rotation working yaay * consider text element angle when editing * refactor * update x2 coords if needed when text updated * simplify * consider bound text to be part of bounding box when hit * show bounding box correctly when multiple element selected * fix typo * support rotating multiple elements * support multiple element resizing * shift bound text to mid point when odd points * Always render linear element handles inside editor after element rendered so point is visible for bound text * Delete bound text when point attached to it deleted * move bound to mid segement mid point when points are even * shift bound text when points nearby deleted and handle segment deletion * Resize working :) * more resize fixes * don't update cache-its breaking delete points, look for better soln * update mid point cache for bound elements when updated * introduce wrapping when resizing * wrap when resize for 2 pointer linear elements * support adding text for linear elements with more than 3 points * export to svg working :) * clip from nearest enclosing element with non transparent color if present when exporting and fill with correct color in canvas * fix snap * use visible elements * Make export to svg work with Mask :) * remove id * mask canvas linear element area where label is added * decide the position of bound text during render * fix coords when editing * fix multiple resize * update cache when bound text version changes * fix masking when rotated * render text in correct position in preview * remove unnecessary code * fix masking when rotating linear element * fix masking with zoom * fix mask in preview for export * fix offsets in export view * fix coords on svg export * fix mask when element rotated in svg * enable double-click to enter text * fix hint * Position cursor correctly and text dimensiosn when height of element is negative * don't allow 2 pointer linear element with bound text width to go beyond min width * code cleanup * fix freedraw * Add padding * don't show vertical align action for linear element containers * Add specs for getBoundTextElementPosition * more specs * move some utils to linearElementEditor.ts * remove only :p * check absoulte coods in test * Add test to hide vertical align for linear eleemnt with bound text * improve export preview * support labels only for arrows * spec * fix large texts * fix tests * fix zooming * enter line editor with cmd+double click * Allow points to move beyond min width/height for 2 pointer arrow with bound text * fix hint for line editing * attempt to fix arrow getting deselected * fix hint and shortcut * Add padding of 5px when creating bound text and add spec * Wrap bound text when arrow binding containers moved * Add spec * remove * set boundTextElementVersion to null if not present * dont use cache when version mismatch * Add a padding of 5px vertically when creating text * Add box sizing content box * Set bound elements when text element created to fix the padding * fix zooming in editor * fix zoom in export * remove globalCompositeOperation and use clearRect instead of fillRect * fix: repair element bindings on restore (#5956) * fix: repair element bindings on restore * fix dropping non-text bound elements * be more conservative * build: move release scripts to use release branch (#5958) * fix: renderFooter styling (#5962) * fix: `ExcalidrawArrowElement` rather than `ExcalidrawArrowEleement` (#5955) * fix: Galego and Kurdî missing in languages plus two locale typos (#5954) * fix: remove blank space (#5950) * fix: remove editor onpaste handler (#5971) * feat: better default radius sizes for rectangles (#5553) Co-authored-by: Ryan <diweihao@bytedance.com> Co-authored-by: dwelle <luzar.david@gmail.com> * chore: add display name to context providers (#5974) * chore: add display name to context providers * fix typo * fix: apply the right type of roundness when pasting styles (#5979) * fix: only paste roundness when target and source elements are of the same type * apply roundness when pasting across different types * simplify Co-authored-by: dwelle <luzar.david@gmail.com> * feat: allow readonly actions to be used in viewMode (#5982) * fix: chart pasting not working due to removing tab characters (#5987) * fix: Avatar outline on safari & center (#5997) * fix: not properly restoring element stroke and bg colors (#6002) * fix: PWA not working after CRA@5 update (#6012) * fix: PWA not working after CRA@5 update * fix: fallback to default locale when fetch fails * fix: resize sometimes throwing on missing null-checks (#6013) * fix: showing `grabbing` cursor when holding `spacebar` (#6015) * fix: don't push whitespace to next line when exceeding max width during wrapping and make sure to use same width of text editor on DOM when measuring dimensions (#5996) * fix: don't push whitespace to next line when exceeding max width during wrapping * add a helper function and never push empty line * use width same as in text area so dimensions are same * add tests * make sure dom element has exact same width as text editor * feat: render footer as a component instead of render prop (#5970) * feat: render footer as a component instead of render prop * Export FooterCenter as footer * remove useDevice export * revert some changes * remove * add spec * update specs * parse children into a dictionary * factor app footer components into a single file * Add docs * split app footer components Co-authored-by: dwelle <luzar.david@gmail.com> * feat: move contextMenu into the component tree and control via appState (#6021) * fix: ColorPicker getColor (#5949) Co-authored-by: dwelle <luzar.david@gmail.com> * chore: bump typescript @ 4.9.4 (#6024) * feat: support shrinking text containers to original height when text removed (#6025) * fix:cache bind text containers height so that it could autoshrink to original height when text deleted * revert * rename * reset cache when resized * safe check * restore original containr height when text is unbind * update cache when redrawing bounding box * reset cache when unbind * make type-safe * add specs * skip one test * remoe mock * fix Co-authored-by: dwelle <luzar.david@gmail.com> * fix: restoring deleted bindings (#6029) * fix: restoring deleted bindings * add tests * add one more test * merge restore tests files * fix: use canvas measureText to calculate width in measureText (#6030) * fix: use canvas measureText to calculate width in measureText * calculate multiline width correctly using canvas measure text and rename functions * set correct width when pasting in bound container * take existing value + new pasted * remove debugger :p * fix snaps * fix: remove background from wysiwyg when editing arrow label (#6033) Co-authored-by: Aakansha Doshi <aakansha1216@gmail.com> * fix: use displayName since name gets stripped off when uglifying/minifiyng in production (#6036) fix: use displayName since name gets stripped off when uglifying/minifiy in production * feat: Scroll using PageUp and PageDown (#6038) * feat: Scroll using PageUp and PageDown * support x-axis via `shift` & enable in viewMode * tweak test Co-authored-by: dwelle <luzar.david@gmail.com> * chore: Update translations from Crowdin (#5807) Co-authored-by: David Luzar <luzar.david@gmail.com> * fix: remove ga from docker build (#6059) * fix: remove ga from docker build * lint * fix debug * fix: show error message on collab save failure (#6063) * fix: show error message on collab save failure * comment * feat: new Menu Component API (#6034) * feat: new Menu Component API * allow valid children types * introduce menu group to group items * Add lang footer * use display name * displayName * define types inside * fix default menu * add json export to menu * fix * simplify expression * put open menu into own compo to optimize perf So that we don't rerun `useOutsideClickHook` (and rebind event listeners all the time) * naming tweaks * rename MenuComponents->MenuDefaultItems and export default items from Menu.Items * import Menu.scss in Menu.tsx * move menu scss to excal app * Don't filter children inside menu group * move E+ out of socials * support style prop for MenuItem and MenuGroup * Support header in menu group and add Excalidraw links header for default items in social section * rename header to title * fix padding for lang * render menu in mobile * review fixes * tweaks * Export collaborators and show in mobile menu * revert .env * lint :p * again lint * show correct actions in view mode for mobile * Whitelist Collaborators Comp * mobile styling * padding * don't show nerds when menu open in mobile * lint :( * hide shortcuts * refactor userlist to support mobile and keep a wrapper comp for excal app * use only UserList * render only on mobile for default items * remove unused hooks * Show collab button in menu when onCollabButtonClick present and hide export when UIOptions.canvasActions.export is false * fix tests * lint * inject userlist inside menu on mobile * revert userlist * move menu socials to default menu * fix collab * use meny in library * Make Menu generic and create hamburgemenu for public excal menu and use menu in library as well * use appState.openMenu for mobile * fix tests * styling fixes and support style and class name in menu content * fix test * rename MenuDefaultItems->DefaultItems * move footer css to its own comp * rename HamburgerMenu -> MainMenu * rename menu -> dropdownMenu and update classes, onClick->onToggle * close main menu when dialog closes * by bye filtering * update docs * fix lint * update example, docs for useDevice and footer in mobile, rename menu ->DropDownMenu everywhere * spec * remove isMenuOpenAtom and set openMenu as canvas for main menu, render decreases in specs :) * [temp] remove cyclic depenedency to fix build * hack- update appstate to sync lang change * Add more specs * wip: rewrite MainMenu footer * fix margin * fix snaps * not needed as lang list no more imported * simplify custom footer rendering * Add DropdownMenuItemLink and DropdownMenuItemCustom and update API, docs * fix `MainMenu.ItemCustom` * naming * use onSelect and base class for custom items * fix lint * fix snap * use custom item for lang * update docs * fix * properly use `MainMenu.ItemCustom` for `LanguageList` * add margin top to custom items * flex Co-authored-by: dwelle <luzar.david@gmail.com> * fix: HelpDialog (#6072) * chore: Update translations from Crowdin (#6052) * New translations en.json (German) * Auto commit: Calculate translation coverage * New translations en.json (Hindi) * New translations en.json (Marathi) * New translations en.json (Hindi) * Auto commit: Calculate translation coverage * New translations en.json (Galician) * Auto commit: Calculate translation coverage * New translations en.json (Romanian) * New translations en.json (French) * New translations en.json (Spanish) * New translations en.json (Arabic) * New translations en.json (Bulgarian) * New translations en.json (Catalan) * New translations en.json (Czech) * New translations en.json (Danish) * New translations en.json (German) * New translations en.json (Greek) * New translations en.json (Basque) * New translations en.json (Finnish) * New translations en.json (Hebrew) * New translations en.json (Hungarian) * New translations en.json (Italian) * New translations en.json (Japanese) * New translations en.json (Korean) * New translations en.json (Kurdish) * New translations en.json (Lithuanian) * New translations en.json (Dutch) * New translations en.json (Punjabi) * New translations en.json (Polish) * New translations en.json (Portuguese) * New translations en.json (Russian) * New translations en.json (Slovak) * New translations en.json (Slovenian) * New translations en.json (Swedish) * New translations en.json (Turkish) * New translations en.json (Ukrainian) * New translations en.json (Chinese Simplified) * New translations en.json (Chinese Traditional) * New translations en.json (Vietnamese) * New translations en.json (Galician) * New translations en.json (Portuguese, Brazilian) * New translations en.json (Indonesian) * New translations en.json (Persian) * New translations en.json (Tamil) * New translations en.json (Bengali) * New translations en.json (Marathi) * New translations en.json (Norwegian Nynorsk) * New translations en.json (Kazakh) * New translations en.json (Latvian) * New translations en.json (Hindi) * New translations en.json (Burmese) * New translations en.json (Chinese Traditional, Hong Kong) * New translations en.json (Sinhala) * New translations en.json (Norwegian Bokmal) * New translations en.json (Occitan) * New translations en.json (Kabyle) * Auto commit: Calculate translation coverage * New translations en.json (Chinese Simplified) * Auto commit: Calculate translation coverage * New translations en.json (Chinese Traditional) * New translations en.json (Chinese Traditional) * New translations en.json (Norwegian Bokmal) * Auto commit: Calculate translation coverage * New translations en.json (Latvian) * Auto commit: Calculate translation coverage * New translations en.json (Romanian) * Auto commit: Calculate translation coverage * New translations en.json (Slovenian) * Auto commit: Calculate translation coverage * New translations en.json (Spanish) * New translations en.json (Russian) * Auto commit: Calculate translation coverage * New translations en.json (German) * Auto commit: Calculate translation coverage * New translations en.json (Vietnamese) * Auto commit: Calculate translation coverage * New translations en.json (Hindi) * Auto commit: Calculate translation coverage * New translations en.json (Dutch) * Auto commit: Calculate translation coverage * New translations en.json (Marathi) * Auto commit: Calculate translation coverage * New translations en.json (Latvian) * New translations en.json (French) * Auto commit: Calculate translation coverage * New translations en.json (French) * Auto commit: Calculate translation coverage * New translations en.json (Portuguese, Brazilian) * Auto commit: Calculate translation coverage * New translations en.json (Japanese) * Auto commit: Calculate translation coverage * build(deps): bump json5 from 2.2.1 to 2.2.3 in /src/packages/excalidraw (#6062) Bumps [json5](https://github.com/json5/json5) from 2.2.1 to 2.2.3. - [Release notes](https://github.com/json5/json5/releases) - [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md) - [Commits](https://github.com/json5/json5/compare/v2.2.1...v2.2.3) --- updated-dependencies: - dependency-name: json5 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump json5 from 2.2.1 to 2.2.3 in /src/packages/utils (#6061) Bumps [json5](https://github.com/json5/json5) from 2.2.1 to 2.2.3. - [Release notes](https://github.com/json5/json5/releases) - [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md) - [Commits](https://github.com/json5/json5/compare/v2.2.1...v2.2.3) --- updated-dependencies: - dependency-name: json5 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump json5 from 2.2.1 to 2.2.3 in /dev-docs (#6060) Bumps [json5](https://github.com/json5/json5) from 2.2.1 to 2.2.3. - [Release notes](https://github.com/json5/json5/releases) - [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md) - [Commits](https://github.com/json5/json5/compare/v2.2.1...v2.2.3) --- updated-dependencies: - dependency-name: json5 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump decode-uri-component from 0.2.0 to 0.2.2 (#5963) Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2. - [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases) - [Commits](https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.2) --- updated-dependencies: - dependency-name: decode-uri-component dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump json5 from 1.0.1 to 1.0.2 (#6076) Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2. - [Release notes](https://github.com/json5/json5/releases) - [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md) - [Commits](https://github.com/json5/json5/compare/v1.0.1...v1.0.2) --- updated-dependencies: - dependency-name: json5 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump loader-utils from 2.0.3 to 2.0.4 (#5905) Bumps [loader-utils](https://github.com/webpack/loader-utils) from 2.0.3 to 2.0.4. - [Release notes](https://github.com/webpack/loader-utils/releases) - [Changelog](https://github.com/webpack/loader-utils/blob/v2.0.4/CHANGELOG.md) - [Commits](https://github.com/webpack/loader-utils/compare/v2.0.3...v2.0.4) --- updated-dependencies: - dependency-name: loader-utils dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump loader-utils from 2.0.3 to 2.0.4 in /src/packages/excalidraw (#5892) build(deps): bump loader-utils in /src/packages/excalidraw Bumps [loader-utils](https://github.com/webpack/loader-utils) from 2.0.3 to 2.0.4. - [Release notes](https://github.com/webpack/loader-utils/releases) - [Changelog](https://github.com/webpack/loader-utils/blob/v2.0.4/CHANGELOG.md) - [Commits](https://github.com/webpack/loader-utils/compare/v2.0.3...v2.0.4) --- updated-dependencies: - dependency-name: loader-utils dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix: stale appState of MainMenu defaultItems rendered from Actions (#6074) * fix: png-exporting does not preserve angles correctly for flipped images (#6085) * fix: png-exporting does not preserve angles correctly for flipped images * refactor related code * simplify further and comment * fix: image horizontal flip fix + improved tests (#5799) Co-authored-by: Antonio Della Fortuna <a.dellafortuna00@gmail.com> Co-authored-by: dwelle <luzar.david@gmail.com> fixes https://github.com/excalidraw/excalidraw/issues/5784 * fix: React.memo resolvers not accounting for all props (#6042) * fix: use position absolute for mobile misc tools (#6099) * feat: generic button export (#6092) Co-authored-by: dwelle <luzar.david@gmail.com> * feat: render unknown supplied children to UI (#6096) * feat: support WelcomeScreen customization API (#6048) * fix: renamed folder MainMenu->main-menu and support rest props (#6103) * renamed folder MainMenu -> main-menu * rename ariaLabel -> aria-label and dataTestId -> data-testid * allow rest props * fix * lint * add ts check * ts for div * fix * fix * fix * feat: new Live Collaboration Component API (#6104) * feat: new Live Collaboration Component API * namespace export icons into `icons` dictionary and lowercase * update readme and changelog * review fixes * fix * fix * update docs * remove * allow button rest props * update docs * docs * add `WelcomeScreen.Center.MenuItemLiveCollaborationTrigger` * fix lint * update changelog Co-authored-by: dwelle <luzar.david@gmail.com> * fix: mobile tools positioning (#6107) * fix: mobile tools positioning * add var for padding * use css var * new line * stupid mistake * lint * fix: remove overflow hidden from button (#6110) remove overflow hidden from button * docs: release @excalidraw/excalidraw@0.14.0 🎉 (#6109) * docs: release @excalidraw/excalidraw@0.14.1 🎉 (#6112) * build: temporarily disable pre-commit (#6132) * chore: Update translations from Crowdin (#6077) * feat: show copy-as-png export button on firefox and show steps how to enable it (#6125) * feat: hide copy-as-png shortcut from help dialog if not supported * fix: support firefox if clipboard.write supported * show shrotcut in firefox and instead show error message how to enable the flag support * widen to TypeError because minification * show copy-as-png on firefox even if it will throw * style: change in ExportButton style (#6147) (#6148) Co-authored-by: David Luzar <luzar.david@gmail.com> * fix: button background and svg sizes (#6155) * fix: button background color fallback * fix svg width/height * feat: add hand/panning tool (#6141) * feat: add hand/panning tool * move hand tool right of tool lock separator * tweak i18n * rename `panning` -> `hand` * toggle between last tool and hand on `H` shortcut * hide properties sidebar when `hand` active * revert to rendering HandButton manually due to mobile toolbar * feat: close MainMenu and Library dropdown on item select (#6152) * fix: declare css variable for font in excalidraw so its available in host (#6160) declar css variable for font in excalidraw so its available in host * fix: 🐛 broken emojis when wrap text (#6153) * fix: 🐛 broken emojis when wrap text * refactor: Delete unnecessary "else" (reduce indentation) * fix: remove code block that causes the emojis to disappear * Apply suggestions from code review Co-authored-by: David Luzar <luzar.david@gmail.com> * fix: 🚑 possibly undefined value * Add spec Co-authored-by: David Luzar <luzar.david@gmail.com> Co-authored-by: Aakansha Doshi <aakansha1216@gmail.com> * fix: set the width correctly using measureText in editor (#6162) * fix: quick typo fix (#6167) * fix: add 1px width to the container to calculate more accurately (#6174) * fix: add 1px width to the container to calculate accurately * fix tests * feat: rewrite public UI component rendering using tunnels (#6117) * feat: rewrite public UI component rendering using tunnels * factor out into components * comments * fix variable naming * fix not hiding welcomeScreen * factor out AppFooter and memoize components * remove `UIOptions.welcomeScreen` and render only from host app * factor out tunnels into own file * update changelog. Keep `UIOptions.welcomeScreen` as deprecated * update changelog * lint --------- Co-authored-by: Aakansha Doshi <aakansha1216@gmail.com> * fix: make tunnels work in multi-instance scenarios (#6178) * fix: make tunnels work in multi-instance scenarios * factor tunnels out * use tunnel-rat fork until upsteam updated * fix: horizontal padding when aligning bound text containers (#6180) * fix: horizontal padding when aligning bound text containers * Add specs * fix * docs: release @excalidraw/excalidraw@0.14.2 🎉 (#6181) * docs: migrating dev docs to docusaurus :) (#6073) * docs: migrating existing docs to docosaraus :) * log broken links * lint :p * fix * divide the doc into diff categories * fix * order sidebars and more * fix lint * point to installation * making docs better :) * fix * renaming git * renaming git * fix links * fix * update readme * fix * resolve duplicate url and make /docs as base url * fix * move main docs as well * making docs better * support mdx * update og * fix title * upgrade docusarus to stable version * use draculla theme * fix * make entire sidebar collapsable * live editor for footer wohoo * render excalidraw only on client to fix the prod build * migrate MainMenu to live editor too :) * lint :p * cleanup integration and use live editor and tabs * fix * Add welcome screen doc * Live Collaboration comp docs * Add collaborator example * Add example * add more * remove isCollaborating * Rewrite ref and move to sidebar * change color of links inside pre * add initial data * fix lint * Add styling * fix lint * Add example for customizing styles * fix lint * fix * fix lint * Add link to livecollabtrigger * fix * rewrite UIOptions to sidebar * move initialdata to sidebar * move render props to sidebar and rewrite renderTopRightUI and renderCustomStats * rewrite renderSidebar * update og * update url for testing * fix url * update readme * fix style * tweaks * Add highlight comp to highlight text * Add bash syntax highlight * fix * tweaks * fix * rewrite export utilities * fix restore * rewrite utils * move constants to sidebar * update readme * add copyright * fix links style * Add linkedin * tweaks * rename package to @excalidraw/excalidraw * enable algolia with dummy creds * tweaks to integration doc * tweak WelcomeScreen docs to reflect upcoming API changes * tweak components intro * tweak nomenclature * fix admonition * rename `components` sidebar item and change order of components list * uncollapse package section in sidebar * show level 4 haeadings in TOC * remove algolia * remove unused assets * capitalize C * tweak * rename components to App * rename components -> children-components in the routes * move notable used tools to intro * update MainMenu docs with `onSelect` preventDefault behavior * change sidebar label for children components * use code * tweak README & docs intro * tweak package development doc * make scrollbar gutter stable * tweak api intro * add admonition for export utils * use next * wip * wip * make excalidraw examples use current color theme & prefer system * fix welcomescreen docs * use latest temp release * fix component order * revert wip changes * use next * tweak * increase height to fix welcome screen hint * tweak editor height * update excal version * wrap Excal with forwardRef to fix refs * migrate contributing.md * fix broken links --------- Co-authored-by: dwelle <luzar.david@gmail.com> * fix: edit link in docs (#6182) * docs: show last updated time and author (#6183) docs:show last updated time and author * fix: hide welcome screen on mobile once user interacts (#6185) * fix: hide welcome screen on mobile once started drawing * Add specs * fix: sort bound text elements to fix text duplication z-index error (#5130) * fix: sort bound text elements to fix text duplication z-index error * improve & sort groups & add tests * fix backtracking and discontiguous groups --------- Co-authored-by: dwelle <luzar.david@gmail.com> * feat: disable canvas smoothing (antialiasing) for right-angled elements (#6186)Co-authored-by: Ignacio Cuadra <67276174+ignacio-cuadra@users.noreply.github.com> * feat: disable canvas smoothing for text and other types * disable smoothing for all right-angled elements * Update src/renderer/renderElement.ts Co-authored-by: Ignacio Cuadra <67276174+ignacio-cuadra@users.noreply.github.com> * Update src/renderer/renderElement.ts Co-authored-by: Ignacio Cuadra <67276174+ignacio-cuadra@users.noreply.github.com> * fix lint * always enable smoothing while zooming --------- Co-authored-by: Ignacio Cuadra <67276174+ignacio-cuadra@users.noreply.github.com> * chore: Update translations from Crowdin (#6150) * feat: shortcut for clearCanvas confirmDialog (#6114) Co-authored-by: dwelle <luzar.david@gmail.com> resolve https://github.com/excalidraw/excalidraw/issues/5818 * feat: show error message when not connected to internet while collabo… (#6165) Co-authored-by: dwelle <luzar.david@gmail.com> Resolves https://github.com/excalidraw/excalidraw/issues/5994 * fix: docker build architecture:linux/amd64 error occur on linux/arm64 instance (#6197) fix docker build when in linux/arm64 use docker buildx plugin to build linux/amd64 image, a build error will occur causing the build to break * refactor: Make the example React app reusable without duplication (#6188) * fix: don't allow blank space in collab name (#6211) * don't allow blank space in collab name * add spec * prevent blank * docs: enable Algolia for search (#6230) * feat: Make repair and refreshDimensions configurable in restoreElements (#6238) * fix: don't repair during reconcilation * Add opts to restoreElement and enable refreshDimensions and repair via config * remove * update changelog * fix tests * rename to repairBindings * docs: Fixed broken codesandbox link in the dev-docs (#6229) fixed broken link * docs: new readme (#6240) Co-authored-by: David Luzar <luzar.david@gmail.com> * docs: fix next.js example (#6241) * docs: fix typo (#6252) * feat: Bind text to container if double clicked on filled shape or stroke (#6250) * feat: bind text to container when clicked on filled shape or element stroke * Bind if double clicked on stroke as well * remove * specs * remove * shuffle * fix * back to normal * docs: Fix outdated link in README.md (#6263) * fix: improve text wrapping in ellipse and alignment (#6172) * fix: improve text wrapping in ellipse * compute height when font properties updated * fix alignment * fix alignment when resizing * fix * ad padding * always compute height when redrawing bounding box and refactor * lint * fix specs * fix * redraw text bounding box when pasted or refreshed * fix * Add specs * fix * restore on font load * add comments * fix: improve text wrapping inside rhombus and more fixes (#6265) * fix: improve text wrapping inside rhombus * Add comments * specs * fix: shift resize and multiple element regression for ellipse and rhombus * use container width for scaling font size * fix * fix multiple resize * lint * redraw on submit * redraw only newly pasted elements * no padding when center * fix tests * fix * dont add padding in rhombus when aligning * refactor * fix * move getMaxContainerHeight and getMaxContainerWidth to textElement.ts * Add specs * fix: indenting via `tab` clashing with IME compositor (#6258) * chore: Update translations from Crowdin (#6191) * fix: rerender i18n in host components on lang change (#6224) * fix: fit mobile toolbar and make scrollable (#6270) Co-authored-by: dwelle <luzar.david@gmail.com> * feat: improve text measurements in bound containers (#6187) * feat: move to canvas measureText * calcualte height with better heuristic * improve heuristic more * remove vertical offset as its not needed * lint * calculate width of individual char and ceil to calculate width and remove adjustment factor * push the word if equal to max width * update height when text overflows for vertical alignment top/bottom * remove the hack of updating height when line mismatch as its not needed * remove scroll height and calculate the height instead * remove unused code * fix * remove * use math.ceil for whole width instead of individual chars * fix tests * fix * fix * redraw text bounding box instead when font loaded to fix alignment as well * fix * fix * fix * Add a 0.05px extra only for firefox * Add spec * stop taking ceil and increase firefox editor width by 0.05px * Ad 0.05px in safari too * lint * lint * remove baseline from measureFontSizeFromWH * don't redraw on font load * lint * refactor name and signature * fix: compute container height from bound text correctly (#6273) * fix: compute container height from bound text correctly * fix specs * Add tests * fix: svg text baseline (#6285 * fix: svg text baseline * fix for multiline --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: David Luzar <luzar.david@gmail.com> Co-authored-by: Aakansha Doshi <aakansha1216@gmail.com> Co-authored-by: Antonio Della Fortuna <50418432+adarkforce@users.noreply.github.com> Co-authored-by: Antonio Della Fortuna <a.dellafortuna00@gmail.com> Co-authored-by: DanielJGeiger <1852529+DanielJGeiger@users.noreply.github.com> Co-authored-by: Fer <63980689+1fbr@users.noreply.github.com> Co-authored-by: fennghuang <89014758+fennghuang@users.noreply.github.com> Co-authored-by: Ryan Di <ryan.weihao.di@gmail.com> Co-authored-by: Ryan <diweihao@bytedance.com> Co-authored-by: Excalidraw Bot <77840495+excalibot@users.noreply.github.com> Co-authored-by: EternalWill43 <70084418+EternalWill43@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Barnabás Molnár <38168628+barnabasmolnar@users.noreply.github.com> Co-authored-by: Nishant-l <61119157+Nishant-l@users.noreply.github.com> Co-authored-by: Ignacio Cuadra <67276174+ignacio-cuadra@users.noreply.github.com> Co-authored-by: JUNYI OU <49964599+Irvingouj@users.noreply.github.com> Co-authored-by: Jang Min <jangmin.dev@gmail.com> Co-authored-by: Matthieu Rossignon <51274353+Mattross45@users.noreply.github.com> Co-authored-by: Dejavu Moe <jialong.vip@gmail.com> Co-authored-by: Luka Hietala <95122845+LukaHietala@users.noreply.github.com> Co-authored-by: Milos Vetesnik <maielo.mv@gmail.com> Co-authored-by: Jan Klass <kissaki@posteo.de> Co-authored-by: Hikaru Yoshino <57059705+osushicrusher@users.noreply.github.com> Co-authored-by: Tengku Farhan <109069184+tfarhan00@users.noreply.github.com>
466 lines
18 KiB
JSON
466 lines
18 KiB
JSON
{
|
|
"labels": {
|
|
"paste": "Wklej",
|
|
"pasteAsPlaintext": "",
|
|
"pasteCharts": "Wklej wykresy",
|
|
"selectAll": "Zaznacz wszystko",
|
|
"multiSelect": "Dodaj element do zaznaczenia",
|
|
"moveCanvas": "Przesuń obszar roboczy",
|
|
"cut": "Wytnij",
|
|
"copy": "Kopiuj",
|
|
"copyAsPng": "Skopiuj do schowka jako plik PNG",
|
|
"copyAsSvg": "Skopiuj do schowka jako plik SVG",
|
|
"copyText": "Skopiuj do schowka jako tekst",
|
|
"bringForward": "Przenieś wyżej",
|
|
"sendToBack": "Przenieś na spód",
|
|
"bringToFront": "Przenieś na wierzch",
|
|
"sendBackward": "Przenieś niżej",
|
|
"delete": "Usuń",
|
|
"copyStyles": "Kopiuj style",
|
|
"pasteStyles": "Wklej style",
|
|
"stroke": "Kolor obramowania",
|
|
"background": "Kolor wypełnienia",
|
|
"fill": "Wypełnienie",
|
|
"strokeWidth": "Grubość obramowania",
|
|
"strokeStyle": "Styl obrysu",
|
|
"strokeStyle_solid": "Pełny",
|
|
"strokeStyle_dashed": "Kreskowany",
|
|
"strokeStyle_dotted": "Kropkowany",
|
|
"sloppiness": "Styl kreski",
|
|
"opacity": "Przeźroczystość",
|
|
"textAlign": "Wyrównanie tekstu",
|
|
"edges": "Krawędzie",
|
|
"sharp": "Ostry",
|
|
"round": "Zaokrąglij",
|
|
"arrowheads": "Groty",
|
|
"arrowhead_none": "Brak",
|
|
"arrowhead_arrow": "Strzałka",
|
|
"arrowhead_bar": "Kreska",
|
|
"arrowhead_dot": "Kropka",
|
|
"arrowhead_triangle": "Trójkąt",
|
|
"fontSize": "Rozmiar tekstu",
|
|
"fontFamily": "Krój pisma",
|
|
"onlySelected": "Tylko wybrane",
|
|
"withBackground": "Kolor wypełnienia",
|
|
"exportEmbedScene": "Osadź scenę",
|
|
"exportEmbedScene_details": "Dane sceny zostaną zapisane w eksportowanym pliku PNG/SVG tak, aby scena mogła zostać z niego przywrócona.\nZwiększy to rozmiar eksportowanego pliku.",
|
|
"addWatermark": "Dodaj \"Zrobione w Excalidraw\"",
|
|
"handDrawn": "Odręczny",
|
|
"normal": "Normalny",
|
|
"code": "Kod",
|
|
"small": "Mały",
|
|
"medium": "Średni",
|
|
"large": "Duży",
|
|
"veryLarge": "Bardzo duży",
|
|
"solid": "Pełne",
|
|
"hachure": "Linie",
|
|
"crossHatch": "Zakreślone",
|
|
"thin": "Cienkie",
|
|
"bold": "Pogrubione",
|
|
"left": "Do lewej",
|
|
"center": "Do środka",
|
|
"right": "Do prawej",
|
|
"extraBold": "Ekstra pogrubione",
|
|
"architect": "Dokładny",
|
|
"artist": "Artystyczny",
|
|
"cartoonist": "Rysunkowy",
|
|
"fileTitle": "Nazwa pliku",
|
|
"colorPicker": "Paleta kolorów",
|
|
"canvasColors": "",
|
|
"canvasBackground": "Kolor dokumentu",
|
|
"drawingCanvas": "Obszar roboczy",
|
|
"layers": "Warstwy",
|
|
"actions": "Akcje",
|
|
"language": "Język",
|
|
"liveCollaboration": "",
|
|
"duplicateSelection": "Powiel",
|
|
"untitled": "Bez tytułu",
|
|
"name": "Nazwa",
|
|
"yourName": "Twoje imię",
|
|
"madeWithExcalidraw": "Zrobione w Excalidraw",
|
|
"group": "Zgrupuj wybrane",
|
|
"ungroup": "Rozgrupuj wybrane",
|
|
"collaborators": "Współtwórcy",
|
|
"showGrid": "Pokaż siatkę",
|
|
"addToLibrary": "Dodaj do biblioteki",
|
|
"removeFromLibrary": "Usuń z biblioteki",
|
|
"libraryLoadingMessage": "Wczytywanie biblioteki…",
|
|
"libraries": "Przeglądaj biblioteki",
|
|
"loadingScene": "Wczytywanie sceny…",
|
|
"align": "Wyrównaj",
|
|
"alignTop": "Wyrównaj do góry",
|
|
"alignBottom": "Wyrównaj do dołu",
|
|
"alignLeft": "Wyrównaj do lewej",
|
|
"alignRight": "Wyrównaj do prawej",
|
|
"centerVertically": "Wyśrodkuj w pionie",
|
|
"centerHorizontally": "Wyśrodkuj w poziomie",
|
|
"distributeHorizontally": "Rozłóż poziomo",
|
|
"distributeVertically": "Rozłóż pionowo",
|
|
"flipHorizontal": "Odbij w poziomie",
|
|
"flipVertical": "Odbij w pionie",
|
|
"viewMode": "Tryb widoku",
|
|
"toggleExportColorScheme": "Przełącz schemat kolorów przy eksporcie",
|
|
"share": "Udostępnij",
|
|
"showStroke": "Pokaż próbnik kolorów obrysu",
|
|
"showBackground": "Pokaż próbnik koloru tła",
|
|
"toggleTheme": "Przełącz motyw",
|
|
"personalLib": "Biblioteka prywatna",
|
|
"excalidrawLib": "Biblioteka Excalidraw",
|
|
"decreaseFontSize": "",
|
|
"increaseFontSize": "",
|
|
"unbindText": "",
|
|
"bindText": "",
|
|
"link": {
|
|
"edit": "",
|
|
"create": "",
|
|
"label": ""
|
|
},
|
|
"lineEditor": {
|
|
"edit": "",
|
|
"exit": ""
|
|
},
|
|
"elementLock": {
|
|
"lock": "",
|
|
"unlock": "",
|
|
"lockAll": "",
|
|
"unlockAll": ""
|
|
},
|
|
"statusPublished": "",
|
|
"sidebarLock": ""
|
|
},
|
|
"library": {
|
|
"noItems": "",
|
|
"hint_emptyLibrary": "",
|
|
"hint_emptyPrivateLibrary": ""
|
|
},
|
|
"buttons": {
|
|
"clearReset": "Wyczyść dokument i zresetuj kolor dokumentu",
|
|
"exportJSON": "Eksportuj do pliku",
|
|
"exportImage": "",
|
|
"export": "",
|
|
"exportToPng": "Zapisz jako PNG",
|
|
"exportToSvg": "Zapisz jako SVG",
|
|
"copyToClipboard": "Skopiuj do schowka",
|
|
"copyPngToClipboard": "Skopiuj do schowka jako plik PNG",
|
|
"scale": "Skala",
|
|
"save": "",
|
|
"saveAs": "Zapisz jako",
|
|
"load": "",
|
|
"getShareableLink": "Udostępnij",
|
|
"close": "Zamknij",
|
|
"selectLanguage": "Wybierz język",
|
|
"scrollBackToContent": "Wróć do obszaru roboczego",
|
|
"zoomIn": "Powiększ",
|
|
"zoomOut": "Pomniejsz",
|
|
"resetZoom": "Zresetuj powiększenie",
|
|
"menu": "Menu",
|
|
"done": "Gotowe",
|
|
"edit": "Edytuj",
|
|
"undo": "Cofnij",
|
|
"redo": "Przywróć",
|
|
"resetLibrary": "Resetuj bibliotekę",
|
|
"createNewRoom": "Utwórz nowy pokój",
|
|
"fullScreen": "Pełny ekran",
|
|
"darkMode": "Ciemny motyw",
|
|
"lightMode": "Jasny motyw",
|
|
"zenMode": "Tryb Zen",
|
|
"exitZenMode": "Wyjdź z trybu Zen",
|
|
"cancel": "Anuluj",
|
|
"clear": "Wyczyść",
|
|
"remove": "Usuń",
|
|
"publishLibrary": "Opublikuj",
|
|
"submit": "Prześlij",
|
|
"confirm": "Zatwierdź"
|
|
},
|
|
"alerts": {
|
|
"clearReset": "To spowoduje usunięcie wszystkiego z dokumentu. Czy chcesz kontynuować?",
|
|
"couldNotCreateShareableLink": "Wystąpił błąd przy generowaniu linka do udostępniania.",
|
|
"couldNotCreateShareableLinkTooBig": "Nie można utworzyć linku do udostępnienia: scena jest za duża",
|
|
"couldNotLoadInvalidFile": "Nie udało się otworzyć pliku. Wybrany plik jest nieprawidłowy.",
|
|
"importBackendFailed": "Wystąpił błąd podczas importowania pliku.",
|
|
"cannotExportEmptyCanvas": "Najpierw musisz coś narysować, aby zapisać dokument.",
|
|
"couldNotCopyToClipboard": "",
|
|
"decryptFailed": "Nie udało się odszyfrować danych.",
|
|
"uploadedSecurly": "By zapewnić Ci prywatność, udostępnianie projektu jest zabezpieczone szyfrowaniem end-to-end, co oznacza, że poza tobą i osobą z którą podzielisz się linkiem, nikt nie ma dostępu do tego co udostępniasz.",
|
|
"loadSceneOverridePrompt": "Wczytanie zewnętrznego rysunku zastąpi istniejącą zawartość. Czy chcesz kontynuować?",
|
|
"collabStopOverridePrompt": "Zatrzymanie sesji nadpisze poprzedni, zapisany lokalnie rysunk. Jesteś pewien?\n\n(Jeśli chcesz zachować swój lokalny rysunek, po prostu zamknij zakładkę przeglądarki.)",
|
|
"errorAddingToLibrary": "Nie udało się dodać elementu do biblioteki",
|
|
"errorRemovingFromLibrary": "Nie udało się usunąć elementu z biblioteki",
|
|
"confirmAddLibrary": "To doda {{numShapes}} kształtów do twojej biblioteki. Jesteś pewien?",
|
|
"imageDoesNotContainScene": "Ten obraz nie zawiera żadnych informacji o scenie. Czy włączyłeś osadzanie sceny podczas eksportu?",
|
|
"cannotRestoreFromImage": "Scena nie mogła zostać przywrócona z pliku obrazu",
|
|
"invalidSceneUrl": "Nie udało się zaimportować sceny z podanego adresu URL. Jest ona wadliwa lub nie zawiera poprawnych danych Excalidraw w formacie JSON.",
|
|
"resetLibrary": "To wyczyści twoją bibliotekę. Jesteś pewien?",
|
|
"removeItemsFromsLibrary": "Usunąć {{count}} element(ów) z biblioteki?",
|
|
"invalidEncryptionKey": "Klucz szyfrowania musi składać się z 22 znaków. Współpraca na żywo jest wyłączona.",
|
|
"collabOfflineWarning": ""
|
|
},
|
|
"errors": {
|
|
"unsupportedFileType": "Nieobsługiwany typ pliku.",
|
|
"imageInsertError": "Nie udało się wstawić obrazu. Spróbuj ponownie później...",
|
|
"fileTooBig": "Plik jest zbyt duży. Maksymalny dozwolony rozmiar to {{maxSize}}.",
|
|
"svgImageInsertError": "Nie udało się wstawić obrazu SVG. Znacznik SVG wygląda na nieprawidłowy.",
|
|
"invalidSVGString": "Nieprawidłowy SVG.",
|
|
"cannotResolveCollabServer": "",
|
|
"importLibraryError": "",
|
|
"collabSaveFailed": "",
|
|
"collabSaveFailed_sizeExceeded": ""
|
|
},
|
|
"toolBar": {
|
|
"selection": "Zaznaczenie",
|
|
"image": "Wstaw obraz",
|
|
"rectangle": "Prostokąt",
|
|
"diamond": "Romb",
|
|
"ellipse": "Elipsa",
|
|
"arrow": "Strzałka",
|
|
"line": "Linia",
|
|
"freedraw": "Rysuj",
|
|
"text": "Tekst",
|
|
"library": "Biblioteka",
|
|
"lock": "Zablokuj wybrane narzędzie",
|
|
"penMode": "",
|
|
"link": "",
|
|
"eraser": "Gumka",
|
|
"hand": ""
|
|
},
|
|
"headings": {
|
|
"canvasActions": "Narzędzia",
|
|
"selectedShapeActions": "Wybrane narzędzie",
|
|
"shapes": "Kształty"
|
|
},
|
|
"hints": {
|
|
"canvasPanning": "",
|
|
"linearElement": "Naciśnij, aby zrobić punkt, przeciągnij, aby narysować linię",
|
|
"freeDraw": "Naciśnij i przeciągnij by rysować, puść kiedy skończysz",
|
|
"text": "Wskazówka: możesz również dodać tekst klikając dwukrotnie gdziekolwiek za pomocą narzędzia zaznaczania",
|
|
"text_selected": "Kliknij dwukrotnie lub naciśnij ENTER, aby edytować tekst",
|
|
"text_editing": "Naciśnij Escape lub Ctrl (Cmd w macOS) + ENTER, aby zakończyć edycję",
|
|
"linearElementMulti": "Aby zakończyć krzywą, ponownie kliknij w ostatni punkt, bądź naciśnij Esc albo Enter",
|
|
"lockAngle": "Możesz ograniczyć kąt trzymając SHIFT",
|
|
"resize": "Możesz zachować proporcję trzymająć wcisnięty SHIFT, przytrzymaj ALT by zmienić rozmiar względem środka",
|
|
"resizeImage": "Możesz zmienić rozmiar swobodnie trzymając SHIFT,\nprzytrzymaj ALT, aby przeskalować względem środka obiektu",
|
|
"rotate": "Możesz obracać element w równych odstępach trzymając wciśnięty SHIFT",
|
|
"lineEditor_info": "",
|
|
"lineEditor_pointSelected": "",
|
|
"lineEditor_nothingSelected": "",
|
|
"placeImage": "Kliknij, aby umieścić obraz, lub kliknij i przeciągnij, aby ustawić jego rozmiar ręcznie",
|
|
"publishLibrary": "Opublikuj własną bibliotekę",
|
|
"bindTextToElement": "",
|
|
"deepBoxSelect": "",
|
|
"eraserRevert": "",
|
|
"firefox_clipboard_write": ""
|
|
},
|
|
"canvasError": {
|
|
"cannotShowPreview": "Nie można wyświetlić podglądu",
|
|
"canvasTooBig": "Obszar roboczy może być za duży.",
|
|
"canvasTooBigTip": "Wskazówka: spróbuj nieco zbliżyć najdalej wysunięte elementy."
|
|
},
|
|
"errorSplash": {
|
|
"headingMain_pre": "Wystąpił błąd. Spróbuj ",
|
|
"headingMain_button": "odświeżyć stronę.",
|
|
"clearCanvasMessage": "Jeśli odświeżenie strony nie zadziałało, spróbuj ",
|
|
"clearCanvasMessage_button": "usunąć wszystko z dokumentu.",
|
|
"clearCanvasCaveat": " Pamiętaj tylko, że spowoduje to utratę całej twojej pracy ",
|
|
"trackedToSentry_pre": "Błąd o identyfikatorze ",
|
|
"trackedToSentry_post": " został zaraportowany w naszym systemie.",
|
|
"openIssueMessage_pre": "Szanujemy twoją prywatność i raport nie zawierał żadnych danych dotyczących tego nad czym pracowałeś, natomiast jeżeli jesteś w stanie podzielić się tym nad czym pracowałeś, prosimy o dodatkowy raport poprzez ",
|
|
"openIssueMessage_button": "nasze narzędzie do raportowania błędów.",
|
|
"openIssueMessage_post": " Prosimy o dołączenie poniższej informacji poprzez skopiowanie jej i umieszczenie jej w zgłoszeniu na portalu GitHub.",
|
|
"sceneContent": "Zawartość dokumentu:"
|
|
},
|
|
"roomDialog": {
|
|
"desc_intro": "Będziesz w stanie pracować wraz z osobami które zaprosisz do współpracy.",
|
|
"desc_privacy": "By zapewnić Ci prywatność, sesja współpracy na żywo jest zabezpieczona szyfrowaniem end-to-end, co oznacza, że poza tobą i osobami z którymi podzielisz się linkiem, nikt nie ma dostępu do tego co będziecie tworzyć.",
|
|
"button_startSession": "Rozpocznij sesję",
|
|
"button_stopSession": "Zakończ sesję",
|
|
"desc_inProgressIntro": "Sesja współpracy na żywo właśnie się rozpoczęła.",
|
|
"desc_shareLink": "Udostępnij ten link osobom, z którymi chcesz współpracować:",
|
|
"desc_exitSession": "Zakończenie sesji spowoduje odłączenie ciebie od pokoju, ale nadal będziesz mógł lokalnie kontynuować pracę. Zauważ, że osoby z którymi współpracowałeś nadal będą mogły współpracować.",
|
|
"shareTitle": "Dołącz do sesji współpracy na żywo w Excalidraw"
|
|
},
|
|
"errorDialog": {
|
|
"title": "Wystąpił błąd"
|
|
},
|
|
"exportDialog": {
|
|
"disk_title": "Zapisz na dysku",
|
|
"disk_details": "Eksportuj dane sceny do pliku, z którego możesz importować później.",
|
|
"disk_button": "Zapisz do pliku",
|
|
"link_title": "Link do udostępnienia",
|
|
"link_details": "Eksportuj jako link tylko do odczytu.",
|
|
"link_button": "Wygeneruj link",
|
|
"excalidrawplus_description": "Zapisz scenę do swojego obszaru roboczego Excalidraw+.",
|
|
"excalidrawplus_button": "Eksportuj",
|
|
"excalidrawplus_exportError": ""
|
|
},
|
|
"helpDialog": {
|
|
"blog": "Przeczytaj na naszym blogu",
|
|
"click": "kliknięcie",
|
|
"deepSelect": "",
|
|
"deepBoxSelect": "",
|
|
"curvedArrow": "Zakrzywiona strzałka",
|
|
"curvedLine": "Zakrzywiona linia",
|
|
"documentation": "Dokumentacja",
|
|
"doubleClick": "podwójne kliknięcie",
|
|
"drag": "przeciągnij",
|
|
"editor": "Edytor",
|
|
"editSelectedShape": "Edytuj wybrany kształt (tekst/strzałka/linia)",
|
|
"github": "Znalazłeś problem? Prześlij",
|
|
"howto": "Skorzystaj z instrukcji",
|
|
"or": "lub",
|
|
"preventBinding": "Zapobiegaj wiązaniu strzałek",
|
|
"tools": "Narzędzia",
|
|
"shortcuts": "Skróty klawiszowe",
|
|
"textFinish": "Zakończ edycję (edytor tekstu)",
|
|
"textNewLine": "Dodaj nowy wiersz (edytor tekstu)",
|
|
"title": "Pomoc",
|
|
"view": "Widok",
|
|
"zoomToFit": "Powiększ, aby wyświetlić wszystkie elementy",
|
|
"zoomToSelection": "Przybliż do zaznaczenia",
|
|
"toggleElementLock": "",
|
|
"movePageUpDown": "",
|
|
"movePageLeftRight": ""
|
|
},
|
|
"clearCanvasDialog": {
|
|
"title": "Wyczyść płótno"
|
|
},
|
|
"publishDialog": {
|
|
"title": "Opublikuj bibliotekę",
|
|
"itemName": "Nazwa elementu",
|
|
"authorName": "Nazwa autora",
|
|
"githubUsername": "Nazwa użytkownika na GitHubie",
|
|
"twitterUsername": "Nazwa użytkownika Twitter",
|
|
"libraryName": "Nazwa biblioteki",
|
|
"libraryDesc": "Opis biblioteki",
|
|
"website": "Strona internetowa",
|
|
"placeholder": {
|
|
"authorName": "Twoje imię lub nazwa użytkownika",
|
|
"libraryName": "Nazwa twojej biblioteki",
|
|
"libraryDesc": "Opis twojej biblioteki, aby pomóc innym zrozumieć jej działanie",
|
|
"githubHandle": "",
|
|
"twitterHandle": "Nazwa użytkownika w serwisie Twitter (opcjonalna), aby wiedzieć kogo oznaczyć przy promowaniu na Twitterze",
|
|
"website": "Link do Twojej osobistej strony internetowej lub gdzie indziej (opcjonalnie)"
|
|
},
|
|
"errors": {
|
|
"required": "Wymagane",
|
|
"website": "Wprowadź prawidłowy adres URL"
|
|
},
|
|
"noteDescription": {
|
|
"pre": "",
|
|
"link": "",
|
|
"post": "dla innych osób do wykorzystania w swoich rysunkach."
|
|
},
|
|
"noteGuidelines": {
|
|
"pre": "Biblioteka musi być najpierw zatwierdzona ręcznie. Przeczytaj ",
|
|
"link": "wytyczne",
|
|
"post": ""
|
|
},
|
|
"noteLicense": {
|
|
"pre": "Wysyłając zgadzasz się, że biblioteka zostanie opublikowana pod ",
|
|
"link": "Licencja MIT, ",
|
|
"post": "w skrócie, każdy może z nich korzystać bez ograniczeń."
|
|
},
|
|
"noteItems": "",
|
|
"atleastOneLibItem": "Proszę wybrać co najmniej jeden element biblioteki, by rozpocząć",
|
|
"republishWarning": ""
|
|
},
|
|
"publishSuccessDialog": {
|
|
"title": "Biblioteka została przesłana",
|
|
"content": "Dziękujemy {{authorName}}. Twoja biblioteka została przesłana do sprawdzenia. Możesz śledzić jej stan",
|
|
"link": "tutaj"
|
|
},
|
|
"confirmDialog": {
|
|
"resetLibrary": "Zresetuj Bibliotekę",
|
|
"removeItemsFromLib": "Usuń wybrane elementy z biblioteki"
|
|
},
|
|
"encrypted": {
|
|
"tooltip": "Twoje rysunki są zabezpieczone szyfrowaniem end-to-end, tak więc nawet w Excalidraw nie jesteśmy w stanie zobaczyć tego co tworzysz.",
|
|
"link": ""
|
|
},
|
|
"stats": {
|
|
"angle": "Kąt",
|
|
"element": "Element",
|
|
"elements": "Elementy",
|
|
"height": "Wysokość",
|
|
"scene": "Scena",
|
|
"selected": "Zaznaczenie",
|
|
"storage": "Pamięć",
|
|
"title": "Statystyki dla nerdów",
|
|
"total": "Łącznie",
|
|
"version": "Wersja",
|
|
"versionCopy": "Kliknij, aby skopiować",
|
|
"versionNotAvailable": "Wersja niedostępna",
|
|
"width": "Szerokość"
|
|
},
|
|
"toast": {
|
|
"addedToLibrary": "Dodano do biblioteki",
|
|
"copyStyles": "Skopiowano style.",
|
|
"copyToClipboard": "Skopiowano do schowka.",
|
|
"copyToClipboardAsPng": "Skopiowano {{exportSelection}} do schowka jako PNG\n({{exportColorScheme}})",
|
|
"fileSaved": "Zapisano plik.",
|
|
"fileSavedToFilename": "Zapisano jako {filename}",
|
|
"canvas": "płótno",
|
|
"selection": "zaznaczenie",
|
|
"pasteAsSingleElement": ""
|
|
},
|
|
"colors": {
|
|
"ffffff": "Biały",
|
|
"f8f9fa": "Szary 0",
|
|
"f1f3f5": "Szary 1",
|
|
"fff5f5": "Czerwony 0",
|
|
"fff0f6": "Różowy 0",
|
|
"f8f0fc": "Bordowy 0",
|
|
"f3f0ff": "Fioletowy 0",
|
|
"edf2ff": "Granatowy 0",
|
|
"e7f5ff": "Niebieski 0",
|
|
"e3fafc": "Błękitny 0",
|
|
"e6fcf5": "Turkusowy 0",
|
|
"ebfbee": "Zielony 0",
|
|
"f4fce3": "Limonkowy 0",
|
|
"fff9db": "Żółty 0",
|
|
"fff4e6": "Pomarańczowy 0",
|
|
"transparent": "Przezroczysty",
|
|
"ced4da": "Szary 4",
|
|
"868e96": "Szary 6",
|
|
"fa5252": "Czerwony 6",
|
|
"e64980": "Różowy 6",
|
|
"be4bdb": "Bordowy 6",
|
|
"7950f2": "Fioletowy 6",
|
|
"4c6ef5": "Granatowy 6",
|
|
"228be6": "Niebieski 6",
|
|
"15aabf": "Błękitny 6",
|
|
"12b886": "Turkusowy 6",
|
|
"40c057": "Zielony 6",
|
|
"82c91e": "Limonkowy 6",
|
|
"fab005": "Żółty 6",
|
|
"fd7e14": "Pomarańczowy 6",
|
|
"000000": "Czarny",
|
|
"343a40": "Szary 8",
|
|
"495057": "Szary 7",
|
|
"c92a2a": "Czerwony 9",
|
|
"a61e4d": "Różowy 9",
|
|
"862e9c": "Bordowy 9",
|
|
"5f3dc4": "Fioletowy 9",
|
|
"364fc7": "Granatowy 9",
|
|
"1864ab": "Niebieski 9",
|
|
"0b7285": "Błękitny 9",
|
|
"087f5b": "Turkusowy 9",
|
|
"2b8a3e": "Zielony 9",
|
|
"5c940d": "Limonkowy 9",
|
|
"e67700": "Żółty 9",
|
|
"d9480f": "Pomarańczowy 9"
|
|
},
|
|
"welcomeScreen": {
|
|
"app": {
|
|
"center_heading": "",
|
|
"center_heading_plus": "",
|
|
"menuHint": ""
|
|
},
|
|
"defaults": {
|
|
"menuHint": "",
|
|
"center_heading": "",
|
|
"toolbarHint": "",
|
|
"helpHint": ""
|
|
}
|
|
}
|
|
}
|