Merge branch 'master' into dwelle/bump-socket.io

# Conflicts:
#	src/locales/en.json
This commit is contained in:
dwelle 2023-01-05 18:54:26 +01:00
commit fb4a7bdf45
111 changed files with 3441 additions and 2849 deletions

View File

@ -102,7 +102,7 @@
"private": true, "private": true,
"scripts": { "scripts": {
"build-node": "node ./scripts/build-node.js", "build-node": "node ./scripts/build-node.js",
"build:app:docker": "REACT_APP_DISABLE_SENTRY=true react-scripts build", "build:app:docker": "cross-env REACT_APP_DISABLE_SENTRY=true REACT_APP_DISABLE_TRACKING=true react-scripts build",
"build:app": "cross-env REACT_APP_GIT_SHA=$VERCEL_GIT_COMMIT_SHA react-scripts build", "build:app": "cross-env REACT_APP_GIT_SHA=$VERCEL_GIT_COMMIT_SHA react-scripts build",
"build:version": "node ./scripts/build-version.js", "build:version": "node ./scripts/build-version.js",
"build": "yarn build:app && yarn build:version", "build": "yarn build:app && yarn build:version",

View File

@ -146,7 +146,8 @@
// setting this so that libraries installation reuses this window tab. // setting this so that libraries installation reuses this window tab.
window.name = "_excalidraw"; window.name = "_excalidraw";
</script> </script>
<% if (process.env.REACT_APP_GOOGLE_ANALYTICS_ID) { %> <% if (process.env.REACT_APP_DISABLE_TRACKING !== 'true' &&
process.env.REACT_APP_GOOGLE_ANALYTICS_ID) { %>
<script <script
async async
src="https://www.googletagmanager.com/gtag/js?id=%REACT_APP_GOOGLE_ANALYTICS_ID%" src="https://www.googletagmanager.com/gtag/js?id=%REACT_APP_GOOGLE_ANALYTICS_ID%"

View File

@ -23,7 +23,7 @@ import { newElementWith } from "../element/mutateElement";
import { getDefaultAppState, isEraserActive } from "../appState"; import { getDefaultAppState, isEraserActive } from "../appState";
import ClearCanvas from "../components/ClearCanvas"; import ClearCanvas from "../components/ClearCanvas";
import clsx from "clsx"; import clsx from "clsx";
import MenuItem from "../components/MenuItem"; import DropdownMenuItem from "../components/dropdownMenu/DropdownMenuItem";
import { getShortcutFromShortcutName } from "./shortcuts"; import { getShortcutFromShortcutName } from "./shortcuts";
export const actionChangeViewBackgroundColor = register({ export const actionChangeViewBackgroundColor = register({
@ -299,19 +299,23 @@ export const actionToggleTheme = register({
}; };
}, },
PanelComponent: ({ appState, updateData }) => ( PanelComponent: ({ appState, updateData }) => (
<MenuItem <DropdownMenuItem
label={ onSelect={() => {
appState.theme === "dark"
? t("buttons.lightMode")
: t("buttons.darkMode")
}
onClick={() => {
updateData(appState.theme === THEME.LIGHT ? THEME.DARK : THEME.LIGHT); updateData(appState.theme === THEME.LIGHT ? THEME.DARK : THEME.LIGHT);
}} }}
icon={appState.theme === "dark" ? SunIcon : MoonIcon} icon={appState.theme === "dark" ? SunIcon : MoonIcon}
dataTestId="toggle-dark-mode" dataTestId="toggle-dark-mode"
shortcut={getShortcutFromShortcutName("toggleTheme")} shortcut={getShortcutFromShortcutName("toggleTheme")}
/> ariaLabel={
appState.theme === "dark"
? t("buttons.lightMode")
: t("buttons.darkMode")
}
>
{appState.theme === "dark"
? t("buttons.lightMode")
: t("buttons.darkMode")}
</DropdownMenuItem>
), ),
keyTest: (event) => event.altKey && event.shiftKey && event.code === CODES.D, keyTest: (event) => event.altKey && event.shiftKey && event.code === CODES.D,
}); });

View File

@ -19,7 +19,7 @@ import { ActiveFile } from "../components/ActiveFile";
import { isImageFileHandle } from "../data/blob"; import { isImageFileHandle } from "../data/blob";
import { nativeFileSystemSupported } from "../data/filesystem"; import { nativeFileSystemSupported } from "../data/filesystem";
import { Theme } from "../element/types"; import { Theme } from "../element/types";
import MenuItem from "../components/MenuItem"; import DropdownMenuItem from "../components/dropdownMenu/DropdownMenuItem";
import { getShortcutFromShortcutName } from "./shortcuts"; import { getShortcutFromShortcutName } from "./shortcuts";
export const actionChangeProjectName = register({ export const actionChangeProjectName = register({
@ -247,15 +247,19 @@ export const actionLoadScene = register({
} }
}, },
keyTest: (event) => event[KEYS.CTRL_OR_CMD] && event.key === KEYS.O, keyTest: (event) => event[KEYS.CTRL_OR_CMD] && event.key === KEYS.O,
PanelComponent: ({ updateData }) => ( PanelComponent: ({ updateData }) => {
<MenuItem return (
label={t("buttons.load")} <DropdownMenuItem
icon={LoadIcon} icon={LoadIcon}
onClick={updateData} onSelect={updateData}
dataTestId="load-button" dataTestId="load-button"
shortcut={getShortcutFromShortcutName("loadScene")} shortcut={getShortcutFromShortcutName("loadScene")}
/> ariaLabel={t("buttons.load")}
), >
{t("buttons.load")}
</DropdownMenuItem>
);
},
}); });
export const actionExportWithDarkMode = register({ export const actionExportWithDarkMode = register({

View File

@ -6,7 +6,7 @@ import { register } from "./register";
import { allowFullScreen, exitFullScreen, isFullScreen } from "../utils"; import { allowFullScreen, exitFullScreen, isFullScreen } from "../utils";
import { KEYS } from "../keys"; import { KEYS } from "../keys";
import { HelpButton } from "../components/HelpButton"; import { HelpButton } from "../components/HelpButton";
import MenuItem from "../components/MenuItem"; import DropdownMenuItem from "../components/dropdownMenu/DropdownMenuItem";
export const actionToggleCanvasMenu = register({ export const actionToggleCanvasMenu = register({
name: "toggleCanvasMenu", name: "toggleCanvasMenu",
@ -90,13 +90,15 @@ export const actionShortcuts = register({
}, },
PanelComponent: ({ updateData, isInHamburgerMenu }) => PanelComponent: ({ updateData, isInHamburgerMenu }) =>
isInHamburgerMenu ? ( isInHamburgerMenu ? (
<MenuItem <DropdownMenuItem
label={t("helpDialog.title")}
dataTestId="help-menu-item" dataTestId="help-menu-item"
icon={HelpIcon} icon={HelpIcon}
onClick={updateData} onSelect={updateData}
shortcut="?" shortcut="?"
/> ariaLabel={t("helpDialog.title")}
>
{t("helpDialog.title")}
</DropdownMenuItem>
) : ( ) : (
<HelpButton title={t("helpDialog.title")} onClick={updateData} /> <HelpButton title={t("helpDialog.title")} onClick={updateData} />
), ),

View File

@ -5,7 +5,7 @@ import { save } from "../components/icons";
import { t } from "../i18n"; import { t } from "../i18n";
import "./ActiveFile.scss"; import "./ActiveFile.scss";
import MenuItem from "./MenuItem"; import DropdownMenuItem from "./dropdownMenu/DropdownMenuItem";
type ActiveFileProps = { type ActiveFileProps = {
fileName?: string; fileName?: string;
@ -13,11 +13,11 @@ type ActiveFileProps = {
}; };
export const ActiveFile = ({ fileName, onSave }: ActiveFileProps) => ( export const ActiveFile = ({ fileName, onSave }: ActiveFileProps) => (
<MenuItem <DropdownMenuItem
label={`${t("buttons.save")}`}
shortcut={getShortcutFromShortcutName("saveScene")} shortcut={getShortcutFromShortcutName("saveScene")}
dataTestId="save-button" dataTestId="save-button"
onClick={onSave} onSelect={onSave}
icon={save} icon={save}
/> ariaLabel={`${t("buttons.save")}`}
>{`${t("buttons.save")}`}</DropdownMenuItem>
); );

View File

@ -272,13 +272,9 @@ import {
isLocalLink, isLocalLink,
} from "../element/Hyperlink"; } from "../element/Hyperlink";
import { shouldShowBoundingBox } from "../element/transformHandles"; import { shouldShowBoundingBox } from "../element/transformHandles";
import { atom } from "jotai";
import { Fonts } from "../scene/Fonts"; import { Fonts } from "../scene/Fonts";
import { actionPaste } from "../actions/actionClipboard"; import { actionPaste } from "../actions/actionClipboard";
export const isMenuOpenAtom = atom(false);
export const isDropdownOpenAtom = atom(false);
const deviceContextInitialValue = { const deviceContextInitialValue = {
isSmScreen: false, isSmScreen: false,
isMobile: false, isMobile: false,
@ -289,7 +285,7 @@ const DeviceContext = React.createContext<Device>(deviceContextInitialValue);
DeviceContext.displayName = "DeviceContext"; DeviceContext.displayName = "DeviceContext";
export const useDevice = () => useContext<Device>(DeviceContext); export const useDevice = () => useContext<Device>(DeviceContext);
const ExcalidrawContainerContext = React.createContext<{ export const ExcalidrawContainerContext = React.createContext<{
container: HTMLDivElement | null; container: HTMLDivElement | null;
id: string | null; id: string | null;
}>({ container: null, id: null }); }>({ container: null, id: null });
@ -316,12 +312,19 @@ const ExcalidrawSetAppStateContext = React.createContext<
>(() => {}); >(() => {});
ExcalidrawSetAppStateContext.displayName = "ExcalidrawSetAppStateContext"; ExcalidrawSetAppStateContext.displayName = "ExcalidrawSetAppStateContext";
const ExcalidrawActionManagerContext = React.createContext<
ActionManager | { renderAction: ActionManager["renderAction"] }
>({ renderAction: () => null });
ExcalidrawActionManagerContext.displayName = "ExcalidrawActionManagerContext";
export const useExcalidrawElements = () => export const useExcalidrawElements = () =>
useContext(ExcalidrawElementsContext); useContext(ExcalidrawElementsContext);
export const useExcalidrawAppState = () => export const useExcalidrawAppState = () =>
useContext(ExcalidrawAppStateContext); useContext(ExcalidrawAppStateContext);
export const useExcalidrawSetAppState = () => export const useExcalidrawSetAppState = () =>
useContext(ExcalidrawSetAppStateContext); useContext(ExcalidrawSetAppStateContext);
export const useExcalidrawActionManager = () =>
useContext(ExcalidrawActionManagerContext);
let didTapTwice: boolean = false; let didTapTwice: boolean = false;
let tappedTwiceTimer = 0; let tappedTwiceTimer = 0;
@ -559,75 +562,79 @@ class App extends React.Component<AppProps, AppState> {
<ExcalidrawElementsContext.Provider <ExcalidrawElementsContext.Provider
value={this.scene.getNonDeletedElements()} value={this.scene.getNonDeletedElements()}
> >
<LayerUI <ExcalidrawActionManagerContext.Provider
canvas={this.canvas} value={this.actionManager}
appState={this.state}
files={this.files}
setAppState={this.setAppState}
actionManager={this.actionManager}
elements={this.scene.getNonDeletedElements()}
onCollabButtonClick={onCollabButtonClick}
onLockToggle={this.toggleLock}
onPenModeToggle={this.togglePenMode}
onInsertElements={(elements) =>
this.addElementsFromPasteOrLibrary({
elements,
position: "center",
files: null,
})
}
langCode={getLanguage().code}
isCollaborating={this.props.isCollaborating}
renderTopRightUI={renderTopRightUI}
renderCustomStats={renderCustomStats}
renderCustomSidebar={this.props.renderSidebar}
showExitZenModeBtn={
typeof this.props?.zenModeEnabled === "undefined" &&
this.state.zenModeEnabled
}
libraryReturnUrl={this.props.libraryReturnUrl}
UIOptions={this.props.UIOptions}
focusContainer={this.focusContainer}
library={this.library}
id={this.id}
onImageAction={this.onImageAction}
renderWelcomeScreen={
this.state.showWelcomeScreen &&
this.state.activeTool.type === "selection" &&
!this.scene.getElementsIncludingDeleted().length
}
> >
{this.props.children} <LayerUI
</LayerUI> canvas={this.canvas}
<div className="excalidraw-textEditorContainer" /> appState={this.state}
<div className="excalidraw-contextMenuContainer" /> files={this.files}
{selectedElement.length === 1 && setAppState={this.setAppState}
!this.state.contextMenu && actionManager={this.actionManager}
this.state.showHyperlinkPopup && ( elements={this.scene.getNonDeletedElements()}
<Hyperlink onCollabButtonClick={onCollabButtonClick}
key={selectedElement[0].id} onLockToggle={this.toggleLock}
element={selectedElement[0]} onPenModeToggle={this.togglePenMode}
setAppState={this.setAppState} onInsertElements={(elements) =>
onLinkOpen={this.props.onLinkOpen} this.addElementsFromPasteOrLibrary({
elements,
position: "center",
files: null,
})
}
langCode={getLanguage().code}
isCollaborating={this.props.isCollaborating}
renderTopRightUI={renderTopRightUI}
renderCustomStats={renderCustomStats}
renderCustomSidebar={this.props.renderSidebar}
showExitZenModeBtn={
typeof this.props?.zenModeEnabled === "undefined" &&
this.state.zenModeEnabled
}
libraryReturnUrl={this.props.libraryReturnUrl}
UIOptions={this.props.UIOptions}
focusContainer={this.focusContainer}
library={this.library}
id={this.id}
onImageAction={this.onImageAction}
renderWelcomeScreen={
this.state.showWelcomeScreen &&
this.state.activeTool.type === "selection" &&
!this.scene.getElementsIncludingDeleted().length
}
>
{this.props.children}
</LayerUI>
<div className="excalidraw-textEditorContainer" />
<div className="excalidraw-contextMenuContainer" />
{selectedElement.length === 1 &&
!this.state.contextMenu &&
this.state.showHyperlinkPopup && (
<Hyperlink
key={selectedElement[0].id}
element={selectedElement[0]}
setAppState={this.setAppState}
onLinkOpen={this.props.onLinkOpen}
/>
)}
{this.state.toast !== null && (
<Toast
message={this.state.toast.message}
onClose={() => this.setToast(null)}
duration={this.state.toast.duration}
closable={this.state.toast.closable}
/> />
)} )}
{this.state.toast !== null && ( {this.state.contextMenu && (
<Toast <ContextMenu
message={this.state.toast.message} items={this.state.contextMenu.items}
onClose={() => this.setToast(null)} top={this.state.contextMenu.top}
duration={this.state.toast.duration} left={this.state.contextMenu.left}
closable={this.state.toast.closable} actionManager={this.actionManager}
/> />
)} )}
{this.state.contextMenu && ( <main>{this.renderCanvas()}</main>
<ContextMenu </ExcalidrawActionManagerContext.Provider>
items={this.state.contextMenu.items}
top={this.state.contextMenu.top}
left={this.state.contextMenu.left}
actionManager={this.actionManager}
/>
)}
<main>{this.renderCanvas()}</main>
</ExcalidrawElementsContext.Provider>{" "} </ExcalidrawElementsContext.Provider>{" "}
</ExcalidrawAppStateContext.Provider> </ExcalidrawAppStateContext.Provider>
</ExcalidrawSetAppStateContext.Provider> </ExcalidrawSetAppStateContext.Provider>
@ -2008,6 +2015,20 @@ class App extends React.Component<AppProps, AppState> {
return; return;
} }
if (event.key === KEYS.PAGE_UP || event.key === KEYS.PAGE_DOWN) {
let offset =
(event.shiftKey ? this.state.width : this.state.height) /
this.state.zoom.value;
if (event.key === KEYS.PAGE_DOWN) {
offset = -offset;
}
if (event.shiftKey) {
this.setState((state) => ({ scrollX: state.scrollX + offset }));
} else {
this.setState((state) => ({ scrollY: state.scrollY + offset }));
}
}
if (this.actionManager.handleKeyDown(event)) { if (this.actionManager.handleKeyDown(event)) {
return; return;
} }
@ -2030,12 +2051,6 @@ class App extends React.Component<AppProps, AppState> {
? ELEMENT_SHIFT_TRANSLATE_AMOUNT ? ELEMENT_SHIFT_TRANSLATE_AMOUNT
: ELEMENT_TRANSLATE_AMOUNT); : ELEMENT_TRANSLATE_AMOUNT);
const selectedElements = getSelectedElements(
this.scene.getNonDeletedElements(),
this.state,
true,
);
let offsetX = 0; let offsetX = 0;
let offsetY = 0; let offsetY = 0;
@ -2049,6 +2064,12 @@ class App extends React.Component<AppProps, AppState> {
offsetY = step; offsetY = step;
} }
const selectedElements = getSelectedElements(
this.scene.getNonDeletedElements(),
this.state,
true,
);
selectedElements.forEach((element) => { selectedElements.forEach((element) => {
mutateElement(element, { mutateElement(element, {
x: element.x + offsetX, x: element.x + offsetX,

View File

@ -3,7 +3,7 @@ import { t } from "../i18n";
import { TrashIcon } from "./icons"; import { TrashIcon } from "./icons";
import ConfirmDialog from "./ConfirmDialog"; import ConfirmDialog from "./ConfirmDialog";
import MenuItem from "./MenuItem"; import DropdownMenuItem from "./dropdownMenu/DropdownMenuItem";
const ClearCanvas = ({ onConfirm }: { onConfirm: () => void }) => { const ClearCanvas = ({ onConfirm }: { onConfirm: () => void }) => {
const [showDialog, setShowDialog] = useState(false); const [showDialog, setShowDialog] = useState(false);
@ -13,12 +13,14 @@ const ClearCanvas = ({ onConfirm }: { onConfirm: () => void }) => {
return ( return (
<> <>
<MenuItem <DropdownMenuItem
label={t("buttons.clearReset")}
icon={TrashIcon} icon={TrashIcon}
onClick={toggleDialog} onSelect={toggleDialog}
dataTestId="clear-canvas-button" dataTestId="clear-canvas-button"
/> ariaLabel={t("buttons.clearReset")}
>
{t("buttons.clearReset")}
</DropdownMenuItem>
{showDialog && ( {showDialog && (
<ConfirmDialog <ConfirmDialog

View File

@ -2,7 +2,7 @@ import { t } from "../i18n";
import { UsersIcon } from "./icons"; import { UsersIcon } from "./icons";
import "./CollabButton.scss"; import "./CollabButton.scss";
import MenuItem from "./MenuItem"; import DropdownMenuItem from "./dropdownMenu/DropdownMenuItem";
import clsx from "clsx"; import clsx from "clsx";
const CollabButton = ({ const CollabButton = ({
@ -19,13 +19,14 @@ const CollabButton = ({
return ( return (
<> <>
{isInHamburgerMenu ? ( {isInHamburgerMenu ? (
<MenuItem <DropdownMenuItem
label={t("labels.liveCollaboration")}
dataTestId="collab-button" dataTestId="collab-button"
icon={UsersIcon} icon={UsersIcon}
onClick={onClick} onSelect={onClick}
isCollaborating={isCollaborating} ariaLabel={t("labels.liveCollaboration")}
/> >
{t("labels.liveCollaboration")}
</DropdownMenuItem>
) : ( ) : (
<button <button
className={clsx("collab-button", { active: isCollaborating })} className={clsx("collab-button", { active: isCollaborating })}

View File

@ -3,9 +3,9 @@ import { Dialog, DialogProps } from "./Dialog";
import "./ConfirmDialog.scss"; import "./ConfirmDialog.scss";
import DialogActionButton from "./DialogActionButton"; import DialogActionButton from "./DialogActionButton";
import { isMenuOpenAtom } from "./App";
import { isDropdownOpenAtom } from "./App";
import { useSetAtom } from "jotai"; import { useSetAtom } from "jotai";
import { isLibraryMenuOpenAtom } from "./LibraryMenuHeaderContent";
import { useExcalidrawSetAppState } from "./App";
interface Props extends Omit<DialogProps, "onCloseRequest"> { interface Props extends Omit<DialogProps, "onCloseRequest"> {
onConfirm: () => void; onConfirm: () => void;
@ -23,9 +23,8 @@ const ConfirmDialog = (props: Props) => {
className = "", className = "",
...rest ...rest
} = props; } = props;
const setAppState = useExcalidrawSetAppState();
const setIsMenuOpen = useSetAtom(isMenuOpenAtom); const setIsLibraryMenuOpen = useSetAtom(isLibraryMenuOpenAtom);
const setIsDropdownOpen = useSetAtom(isDropdownOpenAtom);
return ( return (
<Dialog <Dialog
@ -39,16 +38,16 @@ const ConfirmDialog = (props: Props) => {
<DialogActionButton <DialogActionButton
label={cancelText} label={cancelText}
onClick={() => { onClick={() => {
setIsMenuOpen(false); setAppState({ openMenu: null });
setIsDropdownOpen(false); setIsLibraryMenuOpen(false);
onCancel(); onCancel();
}} }}
/> />
<DialogActionButton <DialogActionButton
label={confirmText} label={confirmText}
onClick={() => { onClick={() => {
setIsMenuOpen(false); setAppState({ openMenu: null });
setIsDropdownOpen(false); setIsLibraryMenuOpen(false);
onConfirm(); onConfirm();
}} }}
actionType="danger" actionType="danger"

View File

@ -2,7 +2,11 @@ import clsx from "clsx";
import React, { useEffect, useState } from "react"; import React, { useEffect, useState } from "react";
import { useCallbackRefState } from "../hooks/useCallbackRefState"; import { useCallbackRefState } from "../hooks/useCallbackRefState";
import { t } from "../i18n"; import { t } from "../i18n";
import { useExcalidrawContainer, useDevice } from "../components/App"; import {
useExcalidrawContainer,
useDevice,
useExcalidrawSetAppState,
} from "../components/App";
import { KEYS } from "../keys"; import { KEYS } from "../keys";
import "./Dialog.scss"; import "./Dialog.scss";
import { back, CloseIcon } from "./icons"; import { back, CloseIcon } from "./icons";
@ -10,8 +14,8 @@ import { Island } from "./Island";
import { Modal } from "./Modal"; import { Modal } from "./Modal";
import { AppState } from "../types"; import { AppState } from "../types";
import { queryFocusableElements } from "../utils"; import { queryFocusableElements } from "../utils";
import { isMenuOpenAtom, isDropdownOpenAtom } from "./App";
import { useSetAtom } from "jotai"; import { useSetAtom } from "jotai";
import { isLibraryMenuOpenAtom } from "./LibraryMenuHeaderContent";
export interface DialogProps { export interface DialogProps {
children: React.ReactNode; children: React.ReactNode;
@ -67,12 +71,12 @@ export const Dialog = (props: DialogProps) => {
return () => islandNode.removeEventListener("keydown", handleKeyDown); return () => islandNode.removeEventListener("keydown", handleKeyDown);
}, [islandNode, props.autofocus]); }, [islandNode, props.autofocus]);
const setIsMenuOpen = useSetAtom(isMenuOpenAtom); const setAppState = useExcalidrawSetAppState();
const setIsDropdownOpen = useSetAtom(isDropdownOpenAtom); const setIsLibraryMenuOpen = useSetAtom(isLibraryMenuOpenAtom);
const onClose = () => { const onClose = () => {
setIsMenuOpen(false); setAppState({ openMenu: null });
setIsDropdownOpen(false); setIsLibraryMenuOpen(false);
(lastActiveElement as HTMLElement).focus(); (lastActiveElement as HTMLElement).focus();
props.onCloseRequest(); props.onCloseRequest();
}; };

View File

@ -140,11 +140,11 @@ export const HelpDialog = ({ onClose }: { onClose?: () => void }) => {
/> />
<Shortcut <Shortcut
label={t("toolBar.line")} label={t("toolBar.line")}
shortcuts={[KEYS.P, KEYS["6"]]} shortcuts={[KEYS.L, KEYS["6"]]}
/> />
<Shortcut <Shortcut
label={t("toolBar.freedraw")} label={t("toolBar.freedraw")}
shortcuts={["Shift + P", KEYS["7"]]} shortcuts={[KEYS.P, KEYS["7"]]}
/> />
<Shortcut <Shortcut
label={t("toolBar.text")} label={t("toolBar.text")}
@ -230,6 +230,14 @@ export const HelpDialog = ({ onClose }: { onClose?: () => void }) => {
label={t("helpDialog.zoomToSelection")} label={t("helpDialog.zoomToSelection")}
shortcuts={["Shift+2"]} shortcuts={["Shift+2"]}
/> />
<Shortcut
label={t("helpDialog.movePageUpDown")}
shortcuts={["PgUp/PgDn"]}
/>
<Shortcut
label={t("helpDialog.movePageLeftRight")}
shortcuts={["Shift+PgUp/PgDn"]}
/>
<Shortcut label={t("buttons.fullScreen")} shortcuts={["F"]} /> <Shortcut label={t("buttons.fullScreen")} shortcuts={["F"]} />
<Shortcut <Shortcut
label={t("buttons.zenMode")} label={t("buttons.zenMode")}

View File

@ -1,10 +1,10 @@
import React, { useState } from "react"; import React from "react";
import { NonDeletedExcalidrawElement } from "../element/types"; import { NonDeletedExcalidrawElement } from "../element/types";
import { t } from "../i18n"; import { t } from "../i18n";
import { AppState, ExportOpts, BinaryFiles } from "../types"; import { AppState, ExportOpts, BinaryFiles } from "../types";
import { Dialog } from "./Dialog"; import { Dialog } from "./Dialog";
import { ExportIcon, exportToFileIcon, LinkIcon } from "./icons"; import { exportToFileIcon, LinkIcon } from "./icons";
import { ToolButton } from "./ToolButton"; import { ToolButton } from "./ToolButton";
import { actionSaveFileToDisk } from "../actions/actionExport"; import { actionSaveFileToDisk } from "../actions/actionExport";
import { Card } from "./Card"; import { Card } from "./Card";
@ -14,7 +14,6 @@ import { nativeFileSystemSupported } from "../data/filesystem";
import { trackEvent } from "../analytics"; import { trackEvent } from "../analytics";
import { ActionManager } from "../actions/manager"; import { ActionManager } from "../actions/manager";
import { getFrame } from "../utils"; import { getFrame } from "../utils";
import MenuItem from "./MenuItem";
export type ExportCB = ( export type ExportCB = (
elements: readonly NonDeletedExcalidrawElement[], elements: readonly NonDeletedExcalidrawElement[],
@ -94,6 +93,7 @@ export const JSONExportDialog = ({
actionManager, actionManager,
exportOpts, exportOpts,
canvas, canvas,
setAppState,
}: { }: {
elements: readonly NonDeletedExcalidrawElement[]; elements: readonly NonDeletedExcalidrawElement[];
appState: AppState; appState: AppState;
@ -101,24 +101,15 @@ export const JSONExportDialog = ({
actionManager: ActionManager; actionManager: ActionManager;
exportOpts: ExportOpts; exportOpts: ExportOpts;
canvas: HTMLCanvasElement | null; canvas: HTMLCanvasElement | null;
setAppState: React.Component<any, AppState>["setState"];
}) => { }) => {
const [modalIsShown, setModalIsShown] = useState(false);
const handleClose = React.useCallback(() => { const handleClose = React.useCallback(() => {
setModalIsShown(false); setAppState({ openDialog: null });
}, []); }, [setAppState]);
return ( return (
<> <>
<MenuItem {appState.openDialog === "jsonExport" && (
icon={ExportIcon}
label={t("buttons.export")}
onClick={() => {
setModalIsShown(true);
}}
dataTestId="json-export-button"
/>
{modalIsShown && (
<Dialog onCloseRequest={handleClose} title={t("buttons.export")}> <Dialog onCloseRequest={handleClose} title={t("buttons.export")}>
<JSONExportModal <JSONExportModal
elements={elements} elements={elements}

View File

@ -80,16 +80,6 @@
} }
} }
.layer-ui__wrapper__footer-center {
pointer-events: none;
& > * {
pointer-events: all;
}
display: flex;
width: 100%;
justify-content: flex-start;
}
.layer-ui__wrapper__footer-left, .layer-ui__wrapper__footer-left,
.layer-ui__wrapper__footer-right, .layer-ui__wrapper__footer-right,
.disable-zen-mode--visible { .disable-zen-mode--visible {

View File

@ -41,26 +41,17 @@ import "./LayerUI.scss";
import "./Toolbar.scss"; import "./Toolbar.scss";
import { PenModeButton } from "./PenModeButton"; import { PenModeButton } from "./PenModeButton";
import { trackEvent } from "../analytics"; import { trackEvent } from "../analytics";
import { isMenuOpenAtom, useDevice } from "../components/App"; import { useDevice } from "../components/App";
import { Stats } from "./Stats"; import { Stats } from "./Stats";
import { actionToggleStats } from "../actions/actionToggleStats"; import { actionToggleStats } from "../actions/actionToggleStats";
import Footer from "./footer/Footer"; import Footer from "./footer/Footer";
import { import { WelcomeScreenMenuArrow, WelcomeScreenTopToolbarArrow } from "./icons";
ExportImageIcon,
HamburgerMenuIcon,
WelcomeScreenMenuArrow,
WelcomeScreenTopToolbarArrow,
} from "./icons";
import { MenuLinks, Separator } from "./MenuUtils";
import { useOutsideClickHook } from "../hooks/useOutsideClick";
import WelcomeScreen from "./WelcomeScreen"; import WelcomeScreen from "./WelcomeScreen";
import { hostSidebarCountersAtom } from "./Sidebar/Sidebar"; import { hostSidebarCountersAtom } from "./Sidebar/Sidebar";
import { jotaiScope } from "../jotai"; import { jotaiScope } from "../jotai";
import { useAtom } from "jotai"; import { useAtom } from "jotai";
import { LanguageList } from "../excalidraw-app/components/LanguageList";
import WelcomeScreenDecor from "./WelcomeScreenDecor"; import WelcomeScreenDecor from "./WelcomeScreenDecor";
import { getShortcutFromShortcutName } from "../actions/shortcuts"; import MainMenu from "./mainMenu/MainMenu";
import MenuItem from "./MenuItem";
interface LayerUIProps { interface LayerUIProps {
actionManager: ActionManager; actionManager: ActionManager;
@ -103,7 +94,6 @@ const LayerUI = ({
showExitZenModeBtn, showExitZenModeBtn,
isCollaborating, isCollaborating,
renderTopRightUI, renderTopRightUI,
renderCustomStats, renderCustomStats,
renderCustomSidebar, renderCustomSidebar,
libraryReturnUrl, libraryReturnUrl,
@ -133,6 +123,7 @@ const LayerUI = ({
actionManager={actionManager} actionManager={actionManager}
exportOpts={UIOptions.canvasActions.export} exportOpts={UIOptions.canvasActions.export}
canvas={canvas} canvas={canvas}
setAppState={setAppState}
/> />
); );
}; };
@ -186,9 +177,35 @@ const LayerUI = ({
); );
}; };
const [isMenuOpen, setIsMenuOpen] = useAtom(isMenuOpenAtom); const renderMenu = () => {
const menuRef = useOutsideClickHook(() => setIsMenuOpen(false)); return (
childrenComponents.Menu || (
<MainMenu>
<MainMenu.DefaultItems.LoadScene />
<MainMenu.DefaultItems.SaveToActiveFile />
{UIOptions.canvasActions.export && <MainMenu.DefaultItems.Export />}
{UIOptions.canvasActions.saveAsImage && (
<MainMenu.DefaultItems.SaveAsImage />
)}
{onCollabButtonClick && (
<MainMenu.DefaultItems.LiveCollaboration
onSelect={onCollabButtonClick}
isCollaborating={isCollaborating}
/>
)}
<MainMenu.DefaultItems.Help />
<MainMenu.DefaultItems.ClearCanvas />
<MainMenu.Separator />
<MainMenu.Group title="Excalidraw links">
<MainMenu.DefaultItems.Socials />
</MainMenu.Group>
<MainMenu.Separator />
<MainMenu.DefaultItems.ToggleTheme />
<MainMenu.DefaultItems.ChangeCanvasBackground />
</MainMenu>
)
);
};
const renderCanvasActions = () => ( const renderCanvasActions = () => (
<div style={{ position: "relative" }}> <div style={{ position: "relative" }}>
<WelcomeScreenDecor <WelcomeScreenDecor
@ -199,87 +216,7 @@ const LayerUI = ({
<div>{t("welcomeScreen.menuHints")}</div> <div>{t("welcomeScreen.menuHints")}</div>
</div> </div>
</WelcomeScreenDecor> </WelcomeScreenDecor>
{renderMenu()}
<button
data-prevent-outside-click
className={clsx("menu-button", "zen-mode-transition", {
"transition-left": appState.zenModeEnabled,
})}
onClick={() => setIsMenuOpen(!isMenuOpen)}
type="button"
data-testid="menu-button"
>
{HamburgerMenuIcon}
</button>
{isMenuOpen && (
<div
ref={menuRef}
style={{ position: "absolute", top: "100%", marginTop: ".25rem" }}
>
<Section heading="canvasActions">
{/* the zIndex ensures this menu has higher stacking order,
see https://github.com/excalidraw/excalidraw/pull/1445 */}
<Island
className="menu-container"
padding={2}
style={{ zIndex: 1 }}
>
{!appState.viewModeEnabled &&
actionManager.renderAction("loadScene")}
{/* // TODO barnabasmolnar/editor-redesign */}
{/* is this fine here? */}
{appState.fileHandle &&
actionManager.renderAction("saveToActiveFile")}
{renderJSONExportDialog()}
{UIOptions.canvasActions.saveAsImage && (
<MenuItem
label={t("buttons.exportImage")}
icon={ExportImageIcon}
dataTestId="image-export-button"
onClick={() => setAppState({ openDialog: "imageExport" })}
shortcut={getShortcutFromShortcutName("imageExport")}
/>
)}
{onCollabButtonClick && (
<CollabButton
isCollaborating={isCollaborating}
collaboratorCount={appState.collaborators.size}
onClick={onCollabButtonClick}
/>
)}
{actionManager.renderAction("toggleShortcuts", undefined, true)}
{!appState.viewModeEnabled &&
actionManager.renderAction("clearCanvas")}
<Separator />
<MenuLinks />
<Separator />
<div
style={{
display: "flex",
flexDirection: "column",
rowGap: ".5rem",
}}
>
<div>{actionManager.renderAction("toggleTheme")}</div>
<div style={{ padding: "0 0.625rem" }}>
<LanguageList style={{ width: "100%" }} />
</div>
{!appState.viewModeEnabled && (
<div>
<div style={{ fontSize: ".75rem", marginBottom: ".5rem" }}>
{t("labels.canvasBackground")}
</div>
<div style={{ padding: "0 0.625rem" }}>
{actionManager.renderAction("changeViewBackgroundColor")}
</div>
</div>
)}
</div>
</Island>
</Section>
</div>
)}
</div> </div>
); );
@ -410,10 +347,7 @@ const LayerUI = ({
}, },
)} )}
> >
<UserList <UserList collaborators={appState.collaborators} />
collaborators={appState.collaborators}
actionManager={actionManager}
/>
{onCollabButtonClick && ( {onCollabButtonClick && (
<CollabButton <CollabButton
isInHamburgerMenu={false} isInHamburgerMenu={false}
@ -466,6 +400,7 @@ const LayerUI = ({
/> />
)} )}
{renderImageExportDialog()} {renderImageExportDialog()}
{renderJSONExportDialog()}
{appState.pasteDialog.shown && ( {appState.pasteDialog.shown && (
<PasteChartDialog <PasteChartDialog
setAppState={setAppState} setAppState={setAppState}
@ -497,6 +432,7 @@ const LayerUI = ({
renderCustomStats={renderCustomStats} renderCustomStats={renderCustomStats}
renderSidebars={renderSidebars} renderSidebars={renderSidebars}
device={device} device={device}
renderMenu={renderMenu}
/> />
)} )}
@ -525,9 +461,8 @@ const LayerUI = ({
appState={appState} appState={appState}
actionManager={actionManager} actionManager={actionManager}
showExitZenModeBtn={showExitZenModeBtn} showExitZenModeBtn={showExitZenModeBtn}
> footerCenter={childrenComponents.FooterCenter}
{childrenComponents.FooterCenter} />
</Footer>
{appState.showStats && ( {appState.showStats && (
<Stats <Stats

View File

@ -129,4 +129,27 @@
padding-right: 0; padding-right: 0;
} }
} }
.layer-ui__sidebar__header .dropdown-menu {
&.dropdown-menu--mobile {
top: 100%;
}
.dropdown-menu-container {
--gap: 0;
z-index: 1;
position: absolute;
top: 100%;
left: 0;
:root[dir="rtl"] & {
right: 0;
left: auto;
}
width: 196px;
box-shadow: var(--library-dropdown-shadow);
border-radius: var(--border-radius-lg);
padding: 0.25rem 0.5rem;
}
}
} }

View File

@ -13,14 +13,15 @@ import {
import { ToolButton } from "./ToolButton"; import { ToolButton } from "./ToolButton";
import { fileOpen } from "../data/filesystem"; import { fileOpen } from "../data/filesystem";
import { muteFSAbortError } from "../utils"; import { muteFSAbortError } from "../utils";
import { useAtom } from "jotai"; import { atom, useAtom } from "jotai";
import { jotaiScope } from "../jotai"; import { jotaiScope } from "../jotai";
import ConfirmDialog from "./ConfirmDialog"; import ConfirmDialog from "./ConfirmDialog";
import PublishLibrary from "./PublishLibrary"; import PublishLibrary from "./PublishLibrary";
import { Dialog } from "./Dialog"; import { Dialog } from "./Dialog";
import { useOutsideClickHook } from "../hooks/useOutsideClick";
import MenuItem from "./MenuItem"; import DropdownMenu from "./dropdownMenu/DropdownMenu";
import { isDropdownOpenAtom } from "./App";
export const isLibraryMenuOpenAtom = atom(false);
const getSelectedItems = ( const getSelectedItems = (
libraryItems: LibraryItems, libraryItems: LibraryItems,
@ -45,7 +46,9 @@ export const LibraryMenuHeader: React.FC<{
appState, appState,
}) => { }) => {
const [libraryItemsData] = useAtom(libraryItemsAtom, jotaiScope); const [libraryItemsData] = useAtom(libraryItemsAtom, jotaiScope);
const [isLibraryMenuOpen, setIsLibraryMenuOpen] = useAtom(
isLibraryMenuOpenAtom,
);
const renderRemoveLibAlert = useCallback(() => { const renderRemoveLibAlert = useCallback(() => {
const content = selectedItems.length const content = selectedItems.length
? t("alerts.removeItemsFromsLibrary", { count: selectedItems.length }) ? t("alerts.removeItemsFromsLibrary", { count: selectedItems.length })
@ -173,85 +176,86 @@ export const LibraryMenuHeader: React.FC<{
}); });
}; };
const [isDropdownOpen, setIsDropdownOpen] = useAtom(isDropdownOpenAtom); const renderLibraryMenu = () => {
const dropdownRef = useOutsideClickHook(() => setIsDropdownOpen(false)); return (
<DropdownMenu open={isLibraryMenuOpen}>
<DropdownMenu.Trigger
className="Sidebar__dropdown-btn"
onToggle={() => setIsLibraryMenuOpen(!isLibraryMenuOpen)}
>
{DotsIcon}
</DropdownMenu.Trigger>
<DropdownMenu.Content
onClickOutside={() => setIsLibraryMenuOpen(false)}
className="library-menu"
>
{!itemsSelected && (
<DropdownMenu.Item
onSelect={onLibraryImport}
icon={LoadIcon}
dataTestId="lib-dropdown--load"
>
{t("buttons.load")}
</DropdownMenu.Item>
)}
{!!items.length && (
<DropdownMenu.Item
onSelect={onLibraryExport}
icon={ExportIcon}
dataTestId="lib-dropdown--export"
>
{t("buttons.export")}
</DropdownMenu.Item>
)}
{!!items.length && (
<DropdownMenu.Item
onSelect={() => setShowRemoveLibAlert(true)}
icon={TrashIcon}
>
{resetLabel}
</DropdownMenu.Item>
)}
{itemsSelected && (
<DropdownMenu.Item
icon={publishIcon}
onSelect={() => setShowPublishLibraryDialog(true)}
dataTestId="lib-dropdown--remove"
>
{t("buttons.publishLibrary")}
</DropdownMenu.Item>
)}
</DropdownMenu.Content>
</DropdownMenu>
);
};
return ( return (
<div style={{ position: "relative" }}> <div style={{ position: "relative" }}>
<button {renderLibraryMenu()}
type="button"
className="Sidebar__dropdown-btn"
data-prevent-outside-click
onClick={() => setIsDropdownOpen(!isDropdownOpen)}
>
{DotsIcon}
</button>
{selectedItems.length > 0 && ( {selectedItems.length > 0 && (
<div className="library-actions-counter">{selectedItems.length}</div> <div className="library-actions-counter">{selectedItems.length}</div>
)} )}
{showRemoveLibAlert && renderRemoveLibAlert()}
{isDropdownOpen && ( {showPublishLibraryDialog && (
<div <PublishLibrary
className="Sidebar__dropdown-content menu-container" onClose={() => setShowPublishLibraryDialog(false)}
ref={dropdownRef} libraryItems={getSelectedItems(
> libraryItemsData.libraryItems,
{!itemsSelected && ( selectedItems,
<MenuItem
label={t("buttons.load")}
icon={LoadIcon}
dataTestId="lib-dropdown--load"
onClick={onLibraryImport}
/>
)} )}
{showRemoveLibAlert && renderRemoveLibAlert()} appState={appState}
{showPublishLibraryDialog && ( onSuccess={(data) =>
<PublishLibrary onPublishLibSuccess(data, libraryItemsData.libraryItems)
onClose={() => setShowPublishLibraryDialog(false)} }
libraryItems={getSelectedItems( onError={(error) => window.alert(error)}
libraryItemsData.libraryItems, updateItemsInStorage={() =>
selectedItems, library.setLibrary(libraryItemsData.libraryItems)
)} }
appState={appState} onRemove={(id: string) =>
onSuccess={(data) => onSelectItems(selectedItems.filter((_id) => _id !== id))
onPublishLibSuccess(data, libraryItemsData.libraryItems) }
} />
onError={(error) => window.alert(error)}
updateItemsInStorage={() =>
library.setLibrary(libraryItemsData.libraryItems)
}
onRemove={(id: string) =>
onSelectItems(selectedItems.filter((_id) => _id !== id))
}
/>
)}
{publishLibSuccess && renderPublishSuccess()}
{!!items.length && (
<>
<MenuItem
label={t("buttons.export")}
icon={ExportIcon}
onClick={onLibraryExport}
dataTestId="lib-dropdown--export"
/>
<MenuItem
label={resetLabel}
icon={TrashIcon}
onClick={() => setShowRemoveLibAlert(true)}
dataTestId="lib-dropdown--remove"
/>
</>
)}
{itemsSelected && (
<MenuItem
label={t("buttons.publishLibrary")}
icon={publishIcon}
dataTestId="lib-dropdown--publish"
onClick={() => setShowPublishLibraryDialog(true)}
/>
)}
</div>
)} )}
{publishLibSuccess && renderPublishSuccess()}
</div> </div>
); );
}; };

View File

@ -1,85 +0,0 @@
@import "../css/variables.module";
.excalidraw {
.menu-container {
background-color: #fff !important;
max-height: calc(100vh - 150px);
overflow-y: auto;
}
.menu-button {
@include outlineButtonStyles;
background-color: var(--island-bg-color);
width: var(--lg-button-size);
height: var(--lg-button-size);
svg {
width: var(--lg-icon-size);
height: var(--lg-icon-size);
}
}
.menu-item {
display: flex;
background-color: transparent;
border: 0;
align-items: center;
padding: 0 0.625rem;
height: 2rem;
column-gap: 0.625rem;
font-size: 0.875rem;
color: var(--color-gray-100);
cursor: pointer;
border-radius: var(--border-radius-md);
width: 100%;
box-sizing: border-box;
font-weight: normal;
font-family: inherit;
@media screen and (min-width: 1921px) {
height: 2.25rem;
}
&__text {
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
&__shortcut {
margin-inline-start: auto;
opacity: 0.5;
}
&:hover {
background-color: var(--button-hover);
text-decoration: none;
}
svg {
width: 1rem;
height: 1rem;
display: block;
}
&.active-collab {
background-color: #ecfdf5;
color: #064e3c;
}
}
&.theme--dark {
.menu-item {
color: var(--color-gray-40);
&.active-collab {
background-color: #064e3c;
color: #ecfdf5;
}
}
.menu-container {
background-color: var(--color-gray-90) !important;
}
}
}

View File

@ -1,37 +0,0 @@
import clsx from "clsx";
import "./Menu.scss";
interface MenuProps {
icon: JSX.Element;
onClick: () => void;
label: string;
dataTestId: string;
shortcut?: string;
isCollaborating?: boolean;
}
const MenuItem = ({
icon,
onClick,
label,
dataTestId,
shortcut,
isCollaborating,
}: MenuProps) => {
return (
<button
className={clsx("menu-item", { "active-collab": isCollaborating })}
aria-label={label}
onClick={onClick}
data-testid={dataTestId}
title={label}
type="button"
>
<div className="menu-item__icon">{icon}</div>
<div className="menu-item__text">{label}</div>
{shortcut && <div className="menu-item__shortcut">{shortcut}</div>}
</button>
);
};
export default MenuItem;

View File

@ -1,53 +0,0 @@
import { GithubIcon, DiscordIcon, PlusPromoIcon, TwitterIcon } from "./icons";
export const MenuLinks = () => (
<>
<a
href="https://plus.excalidraw.com/plus?utm_source=excalidraw&utm_medium=app&utm_content=hamburger"
target="_blank"
rel="noreferrer"
className="menu-item"
style={{ color: "var(--color-promo)" }}
>
<div className="menu-item__icon">{PlusPromoIcon}</div>
<div className="menu-item__text">Excalidraw+</div>
</a>
<a
className="menu-item"
href="https://github.com/excalidraw/excalidraw"
target="_blank"
rel="noopener noreferrer"
>
<div className="menu-item__icon">{GithubIcon}</div>
<div className="menu-item__text">GitHub</div>
</a>
<a
className="menu-item"
target="_blank"
href="https://discord.gg/UexuTaE"
rel="noopener noreferrer"
>
<div className="menu-item__icon">{DiscordIcon}</div>
<div className="menu-item__text">Discord</div>
</a>
<a
className="menu-item"
target="_blank"
href="https://twitter.com/excalidraw"
rel="noopener noreferrer"
>
<div className="menu-item__icon">{TwitterIcon}</div>
<div className="menu-item__text">Twitter</div>
</a>
</>
);
export const Separator = () => (
<div
style={{
height: "1px",
backgroundColor: "var(--default-border-color)",
margin: ".5rem 0",
}}
/>
);

View File

@ -11,18 +11,13 @@ import { HintViewer } from "./HintViewer";
import { calculateScrollCenter } from "../scene"; import { calculateScrollCenter } from "../scene";
import { SelectedShapeActions, ShapesSwitcher } from "./Actions"; import { SelectedShapeActions, ShapesSwitcher } from "./Actions";
import { Section } from "./Section"; import { Section } from "./Section";
import CollabButton from "./CollabButton";
import { SCROLLBAR_WIDTH, SCROLLBAR_MARGIN } from "../scene/scrollbars"; import { SCROLLBAR_WIDTH, SCROLLBAR_MARGIN } from "../scene/scrollbars";
import { LockButton } from "./LockButton"; import { LockButton } from "./LockButton";
import { UserList } from "./UserList";
import { LibraryButton } from "./LibraryButton"; import { LibraryButton } from "./LibraryButton";
import { PenModeButton } from "./PenModeButton"; import { PenModeButton } from "./PenModeButton";
import { Stats } from "./Stats"; import { Stats } from "./Stats";
import { actionToggleStats } from "../actions"; import { actionToggleStats } from "../actions";
import { MenuLinks, Separator } from "./MenuUtils";
import WelcomeScreen from "./WelcomeScreen"; import WelcomeScreen from "./WelcomeScreen";
import MenuItem from "./MenuItem";
import { ExportImageIcon } from "./icons";
type MobileMenuProps = { type MobileMenuProps = {
appState: AppState; appState: AppState;
@ -46,16 +41,14 @@ type MobileMenuProps = {
renderSidebars: () => JSX.Element | null; renderSidebars: () => JSX.Element | null;
device: Device; device: Device;
renderWelcomeScreen?: boolean; renderWelcomeScreen?: boolean;
renderMenu: () => React.ReactNode;
}; };
export const MobileMenu = ({ export const MobileMenu = ({
appState, appState,
elements, elements,
actionManager, actionManager,
renderJSONExportDialog,
renderImageExportDialog,
setAppState, setAppState,
onCollabButtonClick,
onLockToggle, onLockToggle,
onPenModeToggle, onPenModeToggle,
canvas, canvas,
@ -66,6 +59,7 @@ export const MobileMenu = ({
renderSidebars, renderSidebars,
device, device,
renderWelcomeScreen, renderWelcomeScreen,
renderMenu,
}: MobileMenuProps) => { }: MobileMenuProps) => {
const renderToolbar = () => { const renderToolbar = () => {
return ( return (
@ -147,16 +141,12 @@ export const MobileMenu = ({
const renderAppToolbar = () => { const renderAppToolbar = () => {
if (appState.viewModeEnabled) { if (appState.viewModeEnabled) {
return ( return <div className="App-toolbar-content">{renderMenu()}</div>;
<div className="App-toolbar-content">
{actionManager.renderAction("toggleCanvasMenu")}
</div>
);
} }
return ( return (
<div className="App-toolbar-content"> <div className="App-toolbar-content">
{actionManager.renderAction("toggleCanvasMenu")} {renderMenu()}
{actionManager.renderAction("toggleEditMenu")} {actionManager.renderAction("toggleEditMenu")}
{actionManager.renderAction("undo")} {actionManager.renderAction("undo")}
{actionManager.renderAction("redo")} {actionManager.renderAction("redo")}
@ -168,58 +158,6 @@ export const MobileMenu = ({
); );
}; };
const renderCanvasActions = () => {
if (appState.viewModeEnabled) {
return (
<>
{renderJSONExportDialog()}
<MenuItem
label={t("buttons.exportImage")}
icon={ExportImageIcon}
dataTestId="image-export-button"
onClick={() => setAppState({ openDialog: "imageExport" })}
/>
{renderImageExportDialog()}
</>
);
}
return (
<>
{!appState.viewModeEnabled && actionManager.renderAction("loadScene")}
{renderJSONExportDialog()}
{renderImageExportDialog()}
<MenuItem
label={t("buttons.exportImage")}
icon={ExportImageIcon}
dataTestId="image-export-button"
onClick={() => setAppState({ openDialog: "imageExport" })}
/>
{onCollabButtonClick && (
<CollabButton
isCollaborating={isCollaborating}
collaboratorCount={appState.collaborators.size}
onClick={onCollabButtonClick}
/>
)}
{actionManager.renderAction("toggleShortcuts", undefined, true)}
{!appState.viewModeEnabled && actionManager.renderAction("clearCanvas")}
<Separator />
<MenuLinks />
<Separator />
{!appState.viewModeEnabled && (
<div style={{ marginBottom: ".5rem" }}>
<div style={{ fontSize: ".75rem", marginBottom: ".5rem" }}>
{t("labels.canvasBackground")}
</div>
<div style={{ padding: "0 0.625rem" }}>
{actionManager.renderAction("changeViewBackgroundColor")}
</div>
</div>
)}
{actionManager.renderAction("toggleTheme")}
</>
);
};
return ( return (
<> <>
{renderSidebars()} {renderSidebars()}
@ -244,27 +182,9 @@ export const MobileMenu = ({
}} }}
> >
<Island padding={0}> <Island padding={0}>
{appState.openMenu === "canvas" ? ( {appState.openMenu === "shape" &&
<Section className="App-mobile-menu" heading="canvasActions"> !appState.viewModeEnabled &&
<div className="panelColumn"> showSelectedShapeActions(appState, elements) ? (
<Stack.Col gap={2}>
{renderCanvasActions()}
{appState.collaborators.size > 0 && (
<fieldset>
<legend>{t("labels.collaborators")}</legend>
<UserList
mobile
collaborators={appState.collaborators}
actionManager={actionManager}
/>
</fieldset>
)}
</Stack.Col>
</div>
</Section>
) : appState.openMenu === "shape" &&
!appState.viewModeEnabled &&
showSelectedShapeActions(appState, elements) ? (
<Section className="App-mobile-menu" heading="selectedShapeActions"> <Section className="App-mobile-menu" heading="selectedShapeActions">
<SelectedShapeActions <SelectedShapeActions
appState={appState} appState={appState}

View File

@ -3,24 +3,6 @@
.excalidraw { .excalidraw {
.Sidebar { .Sidebar {
&__dropdown-content {
z-index: 1;
position: absolute;
top: 100%;
left: 0;
:root[dir="rtl"] & {
right: 0;
left: auto;
}
margin-top: 0.25rem;
width: 180px;
box-shadow: var(--library-dropdown-shadow);
border-radius: var(--border-radius-lg);
padding: 0.25rem 0.5rem;
}
&__close-btn, &__close-btn,
&__pin-btn, &__pin-btn,
&__dropdown-btn { &__dropdown-btn {

View File

@ -4,16 +4,16 @@ import React from "react";
import clsx from "clsx"; import clsx from "clsx";
import { AppState, Collaborator } from "../types"; import { AppState, Collaborator } from "../types";
import { Tooltip } from "./Tooltip"; import { Tooltip } from "./Tooltip";
import { ActionManager } from "../actions/manager"; import { useExcalidrawActionManager } from "./App";
export const UserList: React.FC<{ export const UserList: React.FC<{
className?: string; className?: string;
mobile?: boolean; mobile?: boolean;
collaborators: AppState["collaborators"]; collaborators: AppState["collaborators"];
actionManager: ActionManager; }> = ({ className, mobile, collaborators }) => {
}> = ({ className, mobile, collaborators, actionManager }) => { const actionManager = useExcalidrawActionManager();
const uniqueCollaborators = new Map<string, Collaborator>();
const uniqueCollaborators = new Map<string, Collaborator>();
collaborators.forEach((collaborator, socketId) => { collaborators.forEach((collaborator, socketId) => {
uniqueCollaborators.set( uniqueCollaborators.set(
// filter on user id, else fall back on unique socketId // filter on user id, else fall back on unique socketId
@ -44,26 +44,6 @@ export const UserList: React.FC<{
); );
}); });
// TODO barnabasmolnar/editor-redesign
// probably remove before shipping :)
// 20 fake collaborators; for easy, convenient debug purposes ˇˇ
// const avatars = Array.from({ length: 20 }).map((_, index) => {
// const avatarJSX = actionManager.renderAction("goToCollaborator", [
// index.toString(),
// {
// username: `User ${index}`,
// },
// ]);
// return mobile ? (
// <Tooltip label={`User ${index}`} key={index}>
// {avatarJSX}
// </Tooltip>
// ) : (
// <React.Fragment key={index}>{avatarJSX}</React.Fragment>
// );
// });
return ( return (
<div className={clsx("UserList", className, { UserList_mobile: mobile })}> <div className={clsx("UserList", className, { UserList_mobile: mobile })}>
{avatars} {avatars}

View File

@ -1,18 +1,10 @@
import { useAtom } from "jotai";
import { actionLoadScene, actionShortcuts } from "../actions"; import { actionLoadScene, actionShortcuts } from "../actions";
import { ActionManager } from "../actions/manager"; import { ActionManager } from "../actions/manager";
import { getShortcutFromShortcutName } from "../actions/shortcuts"; import { getShortcutFromShortcutName } from "../actions/shortcuts";
import { isExcalidrawPlusSignedUser } from "../constants"; import { isExcalidrawPlusSignedUser } from "../constants";
import { collabDialogShownAtom } from "../excalidraw-app/collab/Collab";
import { t } from "../i18n"; import { t } from "../i18n";
import { AppState } from "../types"; import { AppState } from "../types";
import { import { ExcalLogo, HelpIcon, LoadIcon, PlusPromoIcon } from "./icons";
ExcalLogo,
HelpIcon,
LoadIcon,
PlusPromoIcon,
UsersIcon,
} from "./icons";
import "./WelcomeScreen.scss"; import "./WelcomeScreen.scss";
const WelcomeScreenItem = ({ const WelcomeScreenItem = ({
@ -64,8 +56,6 @@ const WelcomeScreen = ({
appState: AppState; appState: AppState;
actionManager: ActionManager; actionManager: ActionManager;
}) => { }) => {
const [, setCollabDialogShown] = useAtom(collabDialogShownAtom);
let subheadingJSX; let subheadingJSX;
if (isExcalidrawPlusSignedUser) { if (isExcalidrawPlusSignedUser) {
@ -109,12 +99,6 @@ const WelcomeScreen = ({
icon={LoadIcon} icon={LoadIcon}
/> />
)} )}
<WelcomeScreenItem
label={t("labels.liveCollaboration")}
shortcut={null}
onClick={() => setCollabDialogShown(true)}
icon={UsersIcon}
/>
<WelcomeScreenItem <WelcomeScreenItem
onClick={() => actionManager.executeAction(actionShortcuts)} onClick={() => actionManager.executeAction(actionShortcuts)}
label={t("helpDialog.title")} label={t("helpDialog.title")}

View File

@ -0,0 +1,127 @@
@import "../../css/variables.module";
.excalidraw {
.dropdown-menu {
position: absolute;
top: 100%;
margin-top: 0.25rem;
&--mobile {
bottom: 55px;
top: auto;
left: 0;
width: 100%;
display: flex;
flex-direction: column;
row-gap: 0.75rem;
.dropdown-menu-container {
padding: 8px 8px;
box-sizing: border-box;
background-color: var(--island-bg-color);
box-shadow: var(--shadow-island);
border-radius: var(--border-radius-lg);
position: relative;
transition: box-shadow 0.5s ease-in-out;
&.zen-mode {
box-shadow: none;
}
}
}
.dropdown-menu-container {
background-color: #fff !important;
max-height: calc(100vh - 150px);
overflow-y: auto;
--gap: 2;
}
.dropdown-menu-item-base {
display: flex;
padding: 0 0.625rem;
column-gap: 0.625rem;
font-size: 0.875rem;
color: var(--color-gray-100);
width: 100%;
box-sizing: border-box;
font-weight: normal;
font-family: inherit;
}
.dropdown-menu-item {
background-color: transparent;
border: 0;
align-items: center;
height: 2rem;
cursor: pointer;
border-radius: var(--border-radius-md);
@media screen and (min-width: 1921px) {
height: 2.25rem;
}
&__text {
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
}
&__shortcut {
margin-inline-start: auto;
opacity: 0.5;
}
&:hover {
background-color: var(--button-hover);
text-decoration: none;
}
svg {
width: 1rem;
height: 1rem;
display: block;
}
}
.dropdown-menu-item-custom {
margin-top: 0.5rem;
}
.dropdown-menu-group-title {
font-size: 14px;
text-align: left;
margin: 10px 0;
font-weight: 500;
}
}
&.theme--dark {
.dropdown-menu-item {
color: var(--color-gray-40);
}
.dropdown-menu-container {
background-color: var(--color-gray-90) !important;
}
}
.dropdown-menu-button {
@include outlineButtonStyles;
background-color: var(--island-bg-color);
width: var(--lg-button-size);
height: var(--lg-button-size);
svg {
width: var(--lg-icon-size);
height: var(--lg-icon-size);
}
&--mobile {
border: none;
margin: 0;
padding: 0;
width: var(--default-button-size);
height: var(--default-button-size);
}
}
}

View File

@ -0,0 +1,43 @@
import React from "react";
import DropdownMenuTrigger from "./DropdownMenuTrigger";
import DropdownMenuItem from "./DropdownMenuItem";
import MenuSeparator from "./DropdownMenuSeparator";
import DropdownMenuGroup from "./DropdownMenuGroup";
import DropdownMenuContent from "./DropdownMenuContent";
import DropdownMenuItemLink from "./DropdownMenuItemLink";
import DropdownMenuItemCustom from "./DropdownMenuItemCustom";
import {
getMenuContentComponent,
getMenuTriggerComponent,
} from "./dropdownMenuUtils";
import "./DropdownMenu.scss";
const DropdownMenu = ({
children,
open,
}: {
children?: React.ReactNode;
open: boolean;
}) => {
const MenuTriggerComp = getMenuTriggerComponent(children);
const MenuContentComp = getMenuContentComponent(children);
return (
<>
{MenuTriggerComp}
{open && MenuContentComp}
</>
);
};
DropdownMenu.Trigger = DropdownMenuTrigger;
DropdownMenu.Content = DropdownMenuContent;
DropdownMenu.Item = DropdownMenuItem;
DropdownMenu.ItemLink = DropdownMenuItemLink;
DropdownMenu.ItemCustom = DropdownMenuItemCustom;
DropdownMenu.Group = DropdownMenuGroup;
DropdownMenu.Separator = MenuSeparator;
export default DropdownMenu;
DropdownMenu.displayName = "DropdownMenu";

View File

@ -0,0 +1,51 @@
import { useOutsideClickHook } from "../../hooks/useOutsideClick";
import { Island } from "../Island";
import { useDevice } from "../App";
import clsx from "clsx";
import Stack from "../Stack";
const MenuContent = ({
children,
onClickOutside,
className = "",
style,
}: {
children?: React.ReactNode;
onClickOutside?: () => void;
className?: string;
style?: React.CSSProperties;
}) => {
const device = useDevice();
const menuRef = useOutsideClickHook(() => {
onClickOutside?.();
});
const classNames = clsx(`dropdown-menu ${className}`, {
"dropdown-menu--mobile": device.isMobile,
}).trim();
return (
<div
ref={menuRef}
className={classNames}
style={style}
data-testid="dropdown-menu"
>
{/* the zIndex ensures this menu has higher stacking order,
see https://github.com/excalidraw/excalidraw/pull/1445 */}
{device.isMobile ? (
<Stack.Col className="dropdown-menu-container">{children}</Stack.Col>
) : (
<Island
className="dropdown-menu-container"
padding={2}
style={{ zIndex: 1 }}
>
{children}
</Island>
)}
</div>
);
};
export default MenuContent;
MenuContent.displayName = "DropdownMenuContent";

View File

@ -0,0 +1,23 @@
import React from "react";
const MenuGroup = ({
children,
className = "",
style,
title,
}: {
children: React.ReactNode;
className?: string;
style?: React.CSSProperties;
title?: string;
}) => {
return (
<div className={`dropdown-menu-group ${className}`} style={style}>
{title && <p className="dropdown-menu-group-title">{title}</p>}
{children}
</div>
);
};
export default MenuGroup;
MenuGroup.displayName = "DropdownMenuGroup";

View File

@ -0,0 +1,45 @@
import React from "react";
import MenuItemContent from "./DropdownMenuItemContent";
export const getDrodownMenuItemClassName = (className = "") => {
return `dropdown-menu-item dropdown-menu-item-base ${className}`.trim();
};
const DropdownMenuItem = ({
icon,
onSelect,
children,
dataTestId,
shortcut,
className,
style,
ariaLabel,
}: {
icon?: JSX.Element;
onSelect: () => void;
children: React.ReactNode;
dataTestId?: string;
shortcut?: string;
className?: string;
style?: React.CSSProperties;
ariaLabel?: string;
}) => {
return (
<button
aria-label={ariaLabel}
onClick={onSelect}
data-testid={dataTestId}
title={ariaLabel}
type="button"
className={getDrodownMenuItemClassName(className)}
style={style}
>
<MenuItemContent icon={icon} shortcut={shortcut}>
{children}
</MenuItemContent>
</button>
);
};
export default DropdownMenuItem;
DropdownMenuItem.displayName = "DropdownMenuItem";

View File

@ -0,0 +1,23 @@
import { useDevice } from "../App";
const MenuItemContent = ({
icon,
shortcut,
children,
}: {
icon?: JSX.Element;
shortcut?: string;
children: React.ReactNode;
}) => {
const device = useDevice();
return (
<>
<div className="dropdown-menu-item__icon">{icon}</div>
<div className="dropdown-menu-item__text">{children}</div>
{shortcut && !device.isMobile && (
<div className="dropdown-menu-item__shortcut">{shortcut}</div>
)}
</>
);
};
export default MenuItemContent;

View File

@ -0,0 +1,23 @@
const DropdownMenuItemCustom = ({
children,
className = "",
style,
dataTestId,
}: {
children: React.ReactNode;
className?: string;
style?: React.CSSProperties;
dataTestId?: string;
}) => {
return (
<div
className={`dropdown-menu-item-base dropdown-menu-item-custom ${className}`.trim()}
style={style}
data-testid={dataTestId}
>
{children}
</div>
);
};
export default DropdownMenuItemCustom;

View File

@ -0,0 +1,42 @@
import MenuItemContent from "./DropdownMenuItemContent";
import React from "react";
import { getDrodownMenuItemClassName } from "./DropdownMenuItem";
const DropdownMenuItemLink = ({
icon,
dataTestId,
shortcut,
href,
children,
className = "",
style,
ariaLabel,
}: {
icon?: JSX.Element;
children: React.ReactNode;
dataTestId?: string;
shortcut?: string;
className?: string;
href: string;
style?: React.CSSProperties;
ariaLabel?: string;
}) => {
return (
<a
href={href}
target="_blank"
rel="noreferrer"
className={getDrodownMenuItemClassName(className)}
style={style}
data-testid={dataTestId}
title={ariaLabel}
aria-label={ariaLabel}
>
<MenuItemContent icon={icon} shortcut={shortcut}>
{children}
</MenuItemContent>
</a>
);
};
export default DropdownMenuItemLink;
DropdownMenuItemLink.displayName = "DropdownMenuItemLink";

View File

@ -0,0 +1,14 @@
import React from "react";
const MenuSeparator = () => (
<div
style={{
height: "1px",
backgroundColor: "var(--default-border-color)",
margin: ".5rem 0",
}}
/>
);
export default MenuSeparator;
MenuSeparator.displayName = "DropdownMenuSeparator";

View File

@ -0,0 +1,37 @@
import clsx from "clsx";
import { useDevice, useExcalidrawAppState } from "../App";
const MenuTrigger = ({
className = "",
children,
onToggle,
}: {
className?: string;
children: React.ReactNode;
onToggle: () => void;
}) => {
const appState = useExcalidrawAppState();
const device = useDevice();
const classNames = clsx(
`dropdown-menu-button ${className}`,
"zen-mode-transition",
{
"transition-left": appState.zenModeEnabled,
"dropdown-menu-button--mobile": device.isMobile,
},
).trim();
return (
<button
data-prevent-outside-click
className={classNames}
onClick={onToggle}
type="button"
data-testid="dropdown-menu-button"
>
{children}
</button>
);
};
export default MenuTrigger;
MenuTrigger.displayName = "DropdownMenuTrigger";

View File

@ -0,0 +1,35 @@
import React from "react";
export const getMenuTriggerComponent = (children: React.ReactNode) => {
const comp = React.Children.toArray(children).find(
(child) =>
React.isValidElement(child) &&
typeof child.type !== "string" &&
//@ts-ignore
child?.type.displayName &&
//@ts-ignore
child.type.displayName === "DropdownMenuTrigger",
);
if (!comp) {
return null;
}
//@ts-ignore
return comp;
};
export const getMenuContentComponent = (children: React.ReactNode) => {
const comp = React.Children.toArray(children).find(
(child) =>
React.isValidElement(child) &&
typeof child.type !== "string" &&
//@ts-ignore
child?.type.displayName &&
//@ts-ignore
child.type.displayName === "DropdownMenuContent",
);
if (!comp) {
return null;
}
//@ts-ignore
return comp;
};

View File

@ -1,7 +1,7 @@
import clsx from "clsx"; import clsx from "clsx";
import { ActionManager } from "../../actions/manager"; import { ActionManager } from "../../actions/manager";
import { t } from "../../i18n"; import { t } from "../../i18n";
import { AppState } from "../../types"; import { AppState, UIChildrenComponents } from "../../types";
import { import {
ExitZenModeAction, ExitZenModeAction,
FinalizeAction, FinalizeAction,
@ -13,20 +13,19 @@ import { WelcomeScreenHelpArrow } from "../icons";
import { Section } from "../Section"; import { Section } from "../Section";
import Stack from "../Stack"; import Stack from "../Stack";
import WelcomeScreenDecor from "../WelcomeScreenDecor"; import WelcomeScreenDecor from "../WelcomeScreenDecor";
import FooterCenter from "./FooterCenter";
const Footer = ({ const Footer = ({
appState, appState,
actionManager, actionManager,
showExitZenModeBtn, showExitZenModeBtn,
renderWelcomeScreen, renderWelcomeScreen,
children, footerCenter,
}: { }: {
appState: AppState; appState: AppState;
actionManager: ActionManager; actionManager: ActionManager;
showExitZenModeBtn: boolean; showExitZenModeBtn: boolean;
renderWelcomeScreen: boolean; renderWelcomeScreen: boolean;
children?: React.ReactNode; footerCenter: UIChildrenComponents["FooterCenter"];
}) => { }) => {
const device = useDevice(); const device = useDevice();
const showFinalize = const showFinalize =
@ -71,7 +70,7 @@ const Footer = ({
</Section> </Section>
</Stack.Col> </Stack.Col>
</div> </div>
<FooterCenter>{children}</FooterCenter> {footerCenter}
<div <div
className={clsx("layer-ui__wrapper__footer-right zen-mode-transition", { className={clsx("layer-ui__wrapper__footer-right zen-mode-transition", {
"transition-right disable-pointerEvents": appState.zenModeEnabled, "transition-right disable-pointerEvents": appState.zenModeEnabled,

View File

@ -0,0 +1,10 @@
.footer-center {
pointer-events: none;
& > * {
pointer-events: all;
}
display: flex;
width: 100%;
justify-content: flex-start;
}

View File

@ -1,11 +1,12 @@
import clsx from "clsx"; import clsx from "clsx";
import { useExcalidrawAppState } from "../App"; import { useExcalidrawAppState } from "../App";
import "./FooterCenter.scss";
const FooterCenter = ({ children }: { children?: React.ReactNode }) => { const FooterCenter = ({ children }: { children?: React.ReactNode }) => {
const appState = useExcalidrawAppState(); const appState = useExcalidrawAppState();
return ( return (
<div <div
className={clsx("layer-ui__wrapper__footer-center zen-mode-transition", { className={clsx("footer-center zen-mode-transition", {
"layer-ui__wrapper__footer-left--transition-bottom": "layer-ui__wrapper__footer-left--transition-bottom":
appState.zenModeEnabled, appState.zenModeEnabled,
})} })}

View File

@ -0,0 +1,174 @@
import clsx from "clsx";
import { getShortcutFromShortcutName } from "../../actions/shortcuts";
import { t } from "../../i18n";
import {
useExcalidrawAppState,
useExcalidrawSetAppState,
useExcalidrawActionManager,
} from "../App";
import { ExportIcon, ExportImageIcon, UsersIcon } from "../icons";
import { GithubIcon, DiscordIcon, TwitterIcon } from "../icons";
import DropdownMenuItem from "../dropdownMenu/DropdownMenuItem";
import DropdownMenuItemLink from "../dropdownMenu/DropdownMenuItemLink";
export const LoadScene = () => {
const appState = useExcalidrawAppState();
const actionManager = useExcalidrawActionManager();
if (appState.viewModeEnabled) {
return null;
}
return actionManager.renderAction("loadScene");
};
LoadScene.displayName = "LoadScene";
export const SaveToActiveFile = () => {
const appState = useExcalidrawAppState();
const actionManager = useExcalidrawActionManager();
if (!appState.fileHandle) {
return null;
}
return actionManager.renderAction("saveToActiveFile");
};
SaveToActiveFile.displayName = "SaveToActiveFile";
export const SaveAsImage = () => {
const setAppState = useExcalidrawSetAppState();
// Hack until we tie "t" to lang state
// eslint-disable-next-line
const appState = useExcalidrawAppState();
return (
<DropdownMenuItem
icon={ExportImageIcon}
dataTestId="image-export-button"
onSelect={() => setAppState({ openDialog: "imageExport" })}
shortcut={getShortcutFromShortcutName("imageExport")}
ariaLabel={t("buttons.exportImage")}
>
{t("buttons.exportImage")}
</DropdownMenuItem>
);
};
SaveAsImage.displayName = "SaveAsImage";
export const Help = () => {
// Hack until we tie "t" to lang state
// eslint-disable-next-line
const appState = useExcalidrawAppState();
const actionManager = useExcalidrawActionManager();
return actionManager.renderAction("toggleShortcuts", undefined, true);
};
Help.displayName = "Help";
export const ClearCanvas = () => {
const appState = useExcalidrawAppState();
const actionManager = useExcalidrawActionManager();
if (appState.viewModeEnabled) {
return null;
}
return actionManager.renderAction("clearCanvas");
};
ClearCanvas.displayName = "ClearCanvas";
export const ToggleTheme = () => {
// Hack until we tie "t" to lang state
// eslint-disable-next-line
const appState = useExcalidrawAppState();
const actionManager = useExcalidrawActionManager();
return actionManager.renderAction("toggleTheme");
};
ToggleTheme.displayName = "ToggleTheme";
export const ChangeCanvasBackground = () => {
const appState = useExcalidrawAppState();
const actionManager = useExcalidrawActionManager();
if (appState.viewModeEnabled) {
return null;
}
return (
<div style={{ marginTop: "0.5rem" }}>
<div style={{ fontSize: ".75rem", marginBottom: ".5rem" }}>
{t("labels.canvasBackground")}
</div>
<div style={{ padding: "0 0.625rem" }}>
{actionManager.renderAction("changeViewBackgroundColor")}
</div>
</div>
);
};
ChangeCanvasBackground.displayName = "ChangeCanvasBackground";
export const Export = () => {
// Hack until we tie "t" to lang state
// eslint-disable-next-line
const appState = useExcalidrawAppState();
const setAppState = useExcalidrawSetAppState();
return (
<DropdownMenuItem
icon={ExportIcon}
onSelect={() => {
setAppState({ openDialog: "jsonExport" });
}}
dataTestId="json-export-button"
ariaLabel={t("buttons.export")}
>
{t("buttons.export")}
</DropdownMenuItem>
);
};
Export.displayName = "Export";
export const Socials = () => (
<>
<DropdownMenuItemLink
icon={GithubIcon}
href="https://github.com/excalidraw/excalidraw"
ariaLabel="GitHub"
>
GitHub
</DropdownMenuItemLink>
<DropdownMenuItemLink
icon={DiscordIcon}
href="https://discord.gg/UexuTaE"
ariaLabel="Discord"
>
Discord
</DropdownMenuItemLink>
<DropdownMenuItemLink
icon={TwitterIcon}
href="https://twitter.com/excalidraw"
ariaLabel="Twitter"
>
Twitter
</DropdownMenuItemLink>
</>
);
Socials.displayName = "Socials";
export const LiveCollaboration = ({
onSelect,
isCollaborating,
}: {
onSelect: () => void;
isCollaborating: boolean;
}) => {
// Hack until we tie "t" to lang state
// eslint-disable-next-line
const appState = useExcalidrawAppState();
return (
<DropdownMenuItem
dataTestId="collab-button"
icon={UsersIcon}
className={clsx({
"active-collab": isCollaborating,
})}
onSelect={onSelect}
>
{t("labels.liveCollaboration")}
</DropdownMenuItem>
);
};
LiveCollaboration.displayName = "LiveCollaboration";

View File

@ -0,0 +1,56 @@
import React from "react";
import {
useDevice,
useExcalidrawAppState,
useExcalidrawSetAppState,
} from "../App";
import DropdownMenu from "../dropdownMenu/DropdownMenu";
import * as DefaultItems from "./DefaultItems";
import { UserList } from "../UserList";
import { t } from "../../i18n";
import { HamburgerMenuIcon } from "../icons";
const MainMenu = ({ children }: { children?: React.ReactNode }) => {
const device = useDevice();
const appState = useExcalidrawAppState();
const setAppState = useExcalidrawSetAppState();
const onClickOutside = device.isMobile
? undefined
: () => setAppState({ openMenu: null });
return (
<DropdownMenu open={appState.openMenu === "canvas"}>
<DropdownMenu.Trigger
onToggle={() => {
setAppState({
openMenu: appState.openMenu === "canvas" ? null : "canvas",
});
}}
>
{HamburgerMenuIcon}
</DropdownMenu.Trigger>
<DropdownMenu.Content onClickOutside={onClickOutside}>
{children}
{device.isMobile && appState.collaborators.size > 0 && (
<fieldset className="UserList-Wrapper">
<legend>{t("labels.collaborators")}</legend>
<UserList mobile={true} collaborators={appState.collaborators} />
</fieldset>
)}
</DropdownMenu.Content>
</DropdownMenu>
);
};
MainMenu.Trigger = DropdownMenu.Trigger;
MainMenu.Item = DropdownMenu.Item;
MainMenu.ItemLink = DropdownMenu.ItemLink;
MainMenu.ItemCustom = DropdownMenu.ItemCustom;
MainMenu.Group = DropdownMenu.Group;
MainMenu.Separator = DropdownMenu.Separator;
MainMenu.DefaultItems = DefaultItems;
export default MainMenu;
MainMenu.displayName = "Menu";

View File

@ -569,6 +569,20 @@
display: none; display: none;
} }
} }
.UserList-Wrapper {
margin: 0;
padding: 0;
border: none;
text-align: left;
legend {
display: block;
font-size: 0.75rem;
font-weight: 400;
margin: 0 0 0.25rem;
padding: 0;
}
}
} }
.ErrorSplash.excalidraw { .ErrorSplash.excalidraw {

View File

@ -242,6 +242,12 @@ class Collab extends PureComponent<Props, CollabState> {
); );
} }
} catch (error: any) { } catch (error: any) {
this.setState({
// firestore doesn't return a specific error code when size exceeded
errorMessage: /is longer than.*?bytes/.test(error.message)
? t("errors.collabSaveFailed_sizeExceeded")
: t("errors.collabSaveFailed"),
});
console.error(error); console.error(error);
} }
}; };

View File

@ -8,23 +8,21 @@ export const LanguageList = ({ style }: { style?: React.CSSProperties }) => {
const [langCode, setLangCode] = useAtom(langCodeAtom); const [langCode, setLangCode] = useAtom(langCodeAtom);
return ( return (
<React.Fragment> <select
<select className="dropdown-select dropdown-select__language"
className="dropdown-select dropdown-select__language" onChange={({ target }) => setLangCode(target.value)}
onChange={({ target }) => setLangCode(target.value)} value={langCode}
value={langCode} aria-label={i18n.t("buttons.selectLanguage")}
aria-label={i18n.t("buttons.selectLanguage")} style={style}
style={style} >
> <option key={i18n.defaultLang.code} value={i18n.defaultLang.code}>
<option key={i18n.defaultLang.code} value={i18n.defaultLang.code}> {i18n.defaultLang.label}
{i18n.defaultLang.label} </option>
{languages.map((lang) => (
<option key={lang.code} value={lang.code}>
{lang.label}
</option> </option>
{languages.map((lang) => ( ))}
<option key={lang.code} value={lang.code}> </select>
{lang.label}
</option>
))}
</select>
</React.Fragment>
); );
}; };

View File

@ -4,7 +4,7 @@
&.theme--dark { &.theme--dark {
--color-primary-contrast-offset: #726dff; // to offset Chubb illusion --color-primary-contrast-offset: #726dff; // to offset Chubb illusion
} }
.layer-ui__wrapper .layer-ui__wrapper__footer-center { .footer-center {
justify-content: flex-end; justify-content: flex-end;
margin-top: auto; margin-top: auto;
margin-bottom: auto; margin-bottom: auto;
@ -24,7 +24,29 @@
height: 1.2rem; height: 1.2rem;
} }
} }
.dropdown-menu-container {
.dropdown-menu-item {
&.active-collab {
background-color: #ecfdf5;
color: #064e3c;
}
&.ExcalidrawPlus {
color: var(--color-promo);
}
}
}
&.theme--dark {
.dropdown-menu-item {
&.active-collab {
background-color: #064e3c;
color: #ecfdf5;
}
}
}
} }
.excalidraw-app.is-collaborating { .excalidraw-app.is-collaborating {
[data-testid="clear-canvas-button"] { [data-testid="clear-canvas-button"] {
display: none; display: none;

View File

@ -21,7 +21,12 @@ import {
} from "../element/types"; } from "../element/types";
import { useCallbackRefState } from "../hooks/useCallbackRefState"; import { useCallbackRefState } from "../hooks/useCallbackRefState";
import { t } from "../i18n"; import { t } from "../i18n";
import { Excalidraw, defaultLang, Footer } from "../packages/excalidraw/index"; import {
Excalidraw,
defaultLang,
Footer,
MainMenu,
} from "../packages/excalidraw/index";
import { import {
AppState, AppState,
LibraryItems, LibraryItems,
@ -79,8 +84,11 @@ import { reconcileElements } from "./collab/reconciliation";
import { parseLibraryTokensFromUrl, useHandleLibrary } from "../data/library"; import { parseLibraryTokensFromUrl, useHandleLibrary } from "../data/library";
import { EncryptedIcon } from "./components/EncryptedIcon"; import { EncryptedIcon } from "./components/EncryptedIcon";
import { ExcalidrawPlusAppLink } from "./components/ExcalidrawPlusAppLink"; import { ExcalidrawPlusAppLink } from "./components/ExcalidrawPlusAppLink";
import { LanguageList } from "./components/LanguageList";
import { PlusPromoIcon } from "../components/icons";
polyfill(); polyfill();
window.EXCALIDRAW_THROTTLE_RENDER = true; window.EXCALIDRAW_THROTTLE_RENDER = true;
const languageDetector = new LanguageDetector(); const languageDetector = new LanguageDetector();
@ -229,7 +237,6 @@ export const langCodeAtom = atom(
const ExcalidrawWrapper = () => { const ExcalidrawWrapper = () => {
const [errorMessage, setErrorMessage] = useState(""); const [errorMessage, setErrorMessage] = useState("");
const [langCode, setLangCode] = useAtom(langCodeAtom); const [langCode, setLangCode] = useAtom(langCodeAtom);
// initial state // initial state
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@ -594,6 +601,39 @@ const ExcalidrawWrapper = () => {
localStorage.setItem(STORAGE_KEYS.LOCAL_STORAGE_LIBRARY, serializedItems); localStorage.setItem(STORAGE_KEYS.LOCAL_STORAGE_LIBRARY, serializedItems);
}; };
const renderMenu = () => {
return (
<MainMenu>
<MainMenu.DefaultItems.LoadScene />
<MainMenu.DefaultItems.SaveToActiveFile />
<MainMenu.DefaultItems.Export />
<MainMenu.DefaultItems.SaveAsImage />
<MainMenu.DefaultItems.LiveCollaboration
isCollaborating={isCollaborating}
onSelect={() => setCollabDialogShown(true)}
/>
<MainMenu.DefaultItems.Help />
<MainMenu.DefaultItems.ClearCanvas />
<MainMenu.Separator />
<MainMenu.ItemLink
icon={PlusPromoIcon}
href="https://plus.excalidraw.com/plus?utm_source=excalidraw&utm_medium=app&utm_content=hamburger"
className="ExcalidrawPlus"
>
Excalidraw+
</MainMenu.ItemLink>
<MainMenu.DefaultItems.Socials />
<MainMenu.Separator />
<MainMenu.DefaultItems.ToggleTheme />
<MainMenu.ItemCustom>
<LanguageList style={{ width: "100%" }} />
</MainMenu.ItemCustom>
<MainMenu.DefaultItems.ChangeCanvasBackground />
</MainMenu>
);
};
return ( return (
<div <div
style={{ height: "100%" }} style={{ height: "100%" }}
@ -640,6 +680,7 @@ const ExcalidrawWrapper = () => {
autoFocus={true} autoFocus={true}
theme={theme} theme={theme}
> >
{renderMenu()}
<Footer> <Footer>
<div style={{ display: "flex", gap: ".5rem", alignItems: "center" }}> <div style={{ display: "flex", gap: ".5rem", alignItems: "center" }}>
<ExcalidrawPlusAppLink /> <ExcalidrawPlusAppLink />

View File

@ -29,6 +29,8 @@ export const KEYS = {
ARROW_LEFT: "ArrowLeft", ARROW_LEFT: "ArrowLeft",
ARROW_RIGHT: "ArrowRight", ARROW_RIGHT: "ArrowRight",
ARROW_UP: "ArrowUp", ARROW_UP: "ArrowUp",
PAGE_UP: "PageUp",
PAGE_DOWN: "PageDown",
BACKSPACE: "Backspace", BACKSPACE: "Backspace",
ALT: "Alt", ALT: "Alt",
CTRL_OR_CMD: isDarwin ? "metaKey" : "ctrlKey", CTRL_OR_CMD: isDarwin ? "metaKey" : "ctrlKey",

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "لصق", "paste": "لصق",
"pasteAsPlaintext": "",
"pasteCharts": "لصق الرسوم البيانية", "pasteCharts": "لصق الرسوم البيانية",
"selectAll": "تحديد الكل", "selectAll": "تحديد الكل",
"multiSelect": "إضافة عنصر للتحديد", "multiSelect": "إضافة عنصر للتحديد",
@ -71,7 +72,7 @@
"layers": "الطبقات", "layers": "الطبقات",
"actions": "الإجراءات", "actions": "الإجراءات",
"language": "اللغة", "language": "اللغة",
"liveCollaboration": "بدء المشاركة الحية", "liveCollaboration": "",
"duplicateSelection": "تكرار", "duplicateSelection": "تكرار",
"untitled": "غير معنون", "untitled": "غير معنون",
"name": "الاسم", "name": "الاسم",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "إعادة تعيين اللوحة", "clearReset": "إعادة تعيين اللوحة",
"exportJSON": "صدر الملف", "exportJSON": "صدر الملف",
"exportImage": "إحفظ كصورة", "exportImage": "",
"export": "تصدير", "export": "",
"exportToPng": "تصدير بصيغة PNG", "exportToPng": "تصدير بصيغة PNG",
"exportToSvg": "تصدير بصيغة SVG", "exportToSvg": "تصدير بصيغة SVG",
"copyToClipboard": "نسخ إلى الحافظة", "copyToClipboard": "نسخ إلى الحافظة",
@ -144,7 +145,7 @@
"scale": "مقاس", "scale": "مقاس",
"save": "احفظ للملف الحالي", "save": "احفظ للملف الحالي",
"saveAs": "حفظ كـ", "saveAs": "حفظ كـ",
"load": "تحميل", "load": "",
"getShareableLink": "احصل على رابط المشاركة", "getShareableLink": "احصل على رابط المشاركة",
"close": "غلق", "close": "غلق",
"selectLanguage": "اختر اللغة", "selectLanguage": "اختر اللغة",
@ -235,7 +236,7 @@
"resize": "يمكنك تقييد النسب بالضغط على SHIFT أثناء تغيير الحجم،\nاضغط على ALT لتغيير الحجم من المركز", "resize": "يمكنك تقييد النسب بالضغط على SHIFT أثناء تغيير الحجم،\nاضغط على ALT لتغيير الحجم من المركز",
"resizeImage": "يمكنك تغيير الحجم بحرية بالضغط بأستمرار على SHIFT،\nاضغط بأستمرار على ALT أيضا لتغيير الحجم من المركز", "resizeImage": "يمكنك تغيير الحجم بحرية بالضغط بأستمرار على SHIFT،\nاضغط بأستمرار على ALT أيضا لتغيير الحجم من المركز",
"rotate": "يمكنك تقييد الزوايا من خلال الضغط على SHIFT أثناء الدوران", "rotate": "يمكنك تقييد الزوايا من خلال الضغط على SHIFT أثناء الدوران",
"lineEditor_info": "انقر نقراً مزدوجاً أو اضغط Enter لتعديل النقاط", "lineEditor_info": "",
"lineEditor_pointSelected": "", "lineEditor_pointSelected": "",
"lineEditor_nothingSelected": "", "lineEditor_nothingSelected": "",
"placeImage": "", "placeImage": "",
@ -310,7 +311,9 @@
"view": "عرض", "view": "عرض",
"zoomToFit": "تكبير للملائمة", "zoomToFit": "تكبير للملائمة",
"zoomToSelection": "تكبير للعنصر المحدد", "zoomToSelection": "تكبير للعنصر المحدد",
"toggleElementLock": "" "toggleElementLock": "",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "مسح اللوحة" "title": "مسح اللوحة"
@ -391,7 +394,8 @@
"fileSaved": "تم حفظ الملف.", "fileSaved": "تم حفظ الملف.",
"fileSavedToFilename": "حفظ باسم {filename}", "fileSavedToFilename": "حفظ باسم {filename}",
"canvas": "لوحة الرسم", "canvas": "لوحة الرسم",
"selection": "العنصر المحدد" "selection": "العنصر المحدد",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "أبيض", "ffffff": "أبيض",
@ -439,5 +443,12 @@
"5c940d": "ليموني 9", "5c940d": "ليموني 9",
"e67700": "أصفر 9", "e67700": "أصفر 9",
"d9480f": "برتقالي 9" "d9480f": "برتقالي 9"
},
"welcomeScreen": {
"data": "",
"switchToPlusApp": "",
"menuHints": "",
"toolbarHints": "",
"helpHints": ""
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Постави", "paste": "Постави",
"pasteAsPlaintext": "",
"pasteCharts": "Постави графики", "pasteCharts": "Постави графики",
"selectAll": "Маркирай всичко", "selectAll": "Маркирай всичко",
"multiSelect": "Добави елемент към селекция", "multiSelect": "Добави елемент към селекция",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "Нулиране на платно", "clearReset": "Нулиране на платно",
"exportJSON": "", "exportJSON": "",
"exportImage": "Запиши като изображение", "exportImage": "",
"export": "Експортиране", "export": "",
"exportToPng": "Изнасяне в PNG", "exportToPng": "Изнасяне в PNG",
"exportToSvg": "Изнасяне в SVG", "exportToSvg": "Изнасяне в SVG",
"copyToClipboard": "Копиране в клипборда", "copyToClipboard": "Копиране в клипборда",
@ -144,7 +145,7 @@
"scale": "Мащаб", "scale": "Мащаб",
"save": "", "save": "",
"saveAs": "Запиши като", "saveAs": "Запиши като",
"load": "Зареждане", "load": "",
"getShareableLink": "Получаване на връзка за споделяне", "getShareableLink": "Получаване на връзка за споделяне",
"close": "Затвори", "close": "Затвори",
"selectLanguage": "Избор на език", "selectLanguage": "Избор на език",
@ -235,7 +236,7 @@
"resize": "Може да ограничите при преоразмеряване като задържите SHIFT,\nзадръжте ALT за преоразмерите през центъра", "resize": "Може да ограничите при преоразмеряване като задържите SHIFT,\nзадръжте ALT за преоразмерите през центъра",
"resizeImage": "", "resizeImage": "",
"rotate": "Можете да ограничите ъглите, като държите SHIFT, докато се въртите", "rotate": "Можете да ограничите ъглите, като държите SHIFT, докато се въртите",
"lineEditor_info": "Кликнете два пъти или натиснете Enter за да промените точките", "lineEditor_info": "",
"lineEditor_pointSelected": "Натиснете Delete за да изтриете точка(и), CtrlOrCmd+D за дуплициране, или извлачете за да преместите", "lineEditor_pointSelected": "Натиснете Delete за да изтриете точка(и), CtrlOrCmd+D за дуплициране, или извлачете за да преместите",
"lineEditor_nothingSelected": "", "lineEditor_nothingSelected": "",
"placeImage": "", "placeImage": "",
@ -310,7 +311,9 @@
"view": "Преглед", "view": "Преглед",
"zoomToFit": "Приближи докато се виждат всички елементи", "zoomToFit": "Приближи докато се виждат всички елементи",
"zoomToSelection": "Приближи селекцията", "zoomToSelection": "Приближи селекцията",
"toggleElementLock": "" "toggleElementLock": "",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "" "title": ""
@ -391,7 +394,8 @@
"fileSaved": "", "fileSaved": "",
"fileSavedToFilename": "", "fileSavedToFilename": "",
"canvas": "", "canvas": "",
"selection": "" "selection": "",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "", "ffffff": "",
@ -439,5 +443,12 @@
"5c940d": "", "5c940d": "",
"e67700": "", "e67700": "",
"d9480f": "" "d9480f": ""
},
"welcomeScreen": {
"data": "",
"switchToPlusApp": "",
"menuHints": "",
"toolbarHints": "",
"helpHints": ""
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "পেস্ট করুন", "paste": "পেস্ট করুন",
"pasteAsPlaintext": "",
"pasteCharts": "চার্ট পেস্ট করুন", "pasteCharts": "চার্ট পেস্ট করুন",
"selectAll": "সবটা সিলেক্ট করুন", "selectAll": "সবটা সিলেক্ট করুন",
"multiSelect": "একাধিক সিলেক্ট করুন", "multiSelect": "একাধিক সিলেক্ট করুন",
@ -71,7 +72,7 @@
"layers": "মাত্রা", "layers": "মাত্রা",
"actions": "ক্রিয়া", "actions": "ক্রিয়া",
"language": "ভাষা", "language": "ভাষা",
"liveCollaboration": "যুগ্ম কার্য", "liveCollaboration": "",
"duplicateSelection": "সদৃশ সিলেক্ট", "duplicateSelection": "সদৃশ সিলেক্ট",
"untitled": "অনামী", "untitled": "অনামী",
"name": "নাম", "name": "নাম",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "ক্যানভাস সাফ করুন", "clearReset": "ক্যানভাস সাফ করুন",
"exportJSON": "জেসন নিবদ্ধ করুন", "exportJSON": "জেসন নিবদ্ধ করুন",
"exportImage": "চিত্র নিবদ্ধ করুন", "exportImage": "",
"export": "নিবদ্ধ", "export": "",
"exportToPng": "পীএনজী ছবির মতন নিবদ্ধ করুন", "exportToPng": "পীএনজী ছবির মতন নিবদ্ধ করুন",
"exportToSvg": "এসভীজী ছবির মতন নিবদ্ধ করুন", "exportToSvg": "এসভীজী ছবির মতন নিবদ্ধ করুন",
"copyToClipboard": "ক্লিপবোর্ডে কপি করুন", "copyToClipboard": "ক্লিপবোর্ডে কপি করুন",
@ -144,7 +145,7 @@
"scale": "মাপ", "scale": "মাপ",
"save": "জমা করুন", "save": "জমা করুন",
"saveAs": "অন্যভাবে জমা করুন", "saveAs": "অন্যভাবে জমা করুন",
"load": "লোড করুন", "load": "",
"getShareableLink": "ভাগযোগ্য লিঙ্ক পান", "getShareableLink": "ভাগযোগ্য লিঙ্ক পান",
"close": "বন্ধ করুন", "close": "বন্ধ করুন",
"selectLanguage": "ভাষা চিহ্নিত করুন", "selectLanguage": "ভাষা চিহ্নিত করুন",
@ -214,7 +215,7 @@
"text": "লেখা", "text": "লেখা",
"library": "সংগ্রহ", "library": "সংগ্রহ",
"lock": "আঁকার পরে নির্বাচিত টুল সক্রিয় রাখুন", "lock": "আঁকার পরে নির্বাচিত টুল সক্রিয় রাখুন",
"penMode": "পিঞ্চ-জুম প্রতিরোধ করুন এবং শুধুমাত্র কলম থেকে ইনপুট গ্রহণ করুন", "penMode": "",
"link": "একটি নির্বাচিত আকৃতির জন্য লিঙ্ক যোগ বা আপডেট করুন", "link": "একটি নির্বাচিত আকৃতির জন্য লিঙ্ক যোগ বা আপডেট করুন",
"eraser": "ঝাড়ন" "eraser": "ঝাড়ন"
}, },
@ -235,7 +236,7 @@
"resize": "আপনি আকার পরিবর্তন করার সময় শিফ্ট ধরে রেখে অনুপাতকে সীমাবদ্ধ করতে পারেন,\nকেন্দ্র থেকে আকার পরিবর্তন করতে অল্ট ধরে রাখুন", "resize": "আপনি আকার পরিবর্তন করার সময় শিফ্ট ধরে রেখে অনুপাতকে সীমাবদ্ধ করতে পারেন,\nকেন্দ্র থেকে আকার পরিবর্তন করতে অল্ট ধরে রাখুন",
"resizeImage": "আপনি শিফ্ট ধরে রেখে অবাধে আকার পরিবর্তন করতে পারেন, কেন্দ্র থেকে আকার পরিবর্তন করতে অল্ট ধরুন", "resizeImage": "আপনি শিফ্ট ধরে রেখে অবাধে আকার পরিবর্তন করতে পারেন, কেন্দ্র থেকে আকার পরিবর্তন করতে অল্ট ধরুন",
"rotate": "আপনি ঘোরানোর সময় শিফ্ট ধরে রেখে কোণগুলিকে সীমাবদ্ধ করতে পারেন", "rotate": "আপনি ঘোরানোর সময় শিফ্ট ধরে রেখে কোণগুলিকে সীমাবদ্ধ করতে পারেন",
"lineEditor_info": "পয়েন্ট সম্পাদনা করতে ডাবল-ক্লিক করুন বা এন্টার টিপুন", "lineEditor_info": "",
"lineEditor_pointSelected": "বিন্দু(গুলি) মুছতে ডিলিট টিপুন, কন্ট্রোল/কম্যান্ড যোগে ডি টিপুন নকল করতে অথবা সরানোর জন্য টানুন", "lineEditor_pointSelected": "বিন্দু(গুলি) মুছতে ডিলিট টিপুন, কন্ট্রোল/কম্যান্ড যোগে ডি টিপুন নকল করতে অথবা সরানোর জন্য টানুন",
"lineEditor_nothingSelected": "সম্পাদনা করার জন্য একটি বিন্দু নির্বাচন করুন (একাধিক নির্বাচন করতে শিফ্ট ধরে রাখুন),\nঅথবা অল্ট ধরে রাখুন এবং নতুন বিন্দু যোগ করতে ক্লিক করুন", "lineEditor_nothingSelected": "সম্পাদনা করার জন্য একটি বিন্দু নির্বাচন করুন (একাধিক নির্বাচন করতে শিফ্ট ধরে রাখুন),\nঅথবা অল্ট ধরে রাখুন এবং নতুন বিন্দু যোগ করতে ক্লিক করুন",
"placeImage": "ছবিটি স্থাপন করতে ক্লিক করুন, অথবা নিজে আকার সেট করতে ক্লিক করুন এবং টেনে আনুন", "placeImage": "ছবিটি স্থাপন করতে ক্লিক করুন, অথবা নিজে আকার সেট করতে ক্লিক করুন এবং টেনে আনুন",
@ -310,7 +311,9 @@
"view": "", "view": "",
"zoomToFit": "", "zoomToFit": "",
"zoomToSelection": "", "zoomToSelection": "",
"toggleElementLock": "" "toggleElementLock": "",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "" "title": ""
@ -391,7 +394,8 @@
"fileSaved": "", "fileSaved": "",
"fileSavedToFilename": "", "fileSavedToFilename": "",
"canvas": "", "canvas": "",
"selection": "বাছাই" "selection": "বাছাই",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "সাদা", "ffffff": "সাদা",
@ -439,5 +443,12 @@
"5c940d": "", "5c940d": "",
"e67700": "", "e67700": "",
"d9480f": "" "d9480f": ""
},
"welcomeScreen": {
"data": "",
"switchToPlusApp": "",
"menuHints": "",
"toolbarHints": "",
"helpHints": ""
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Enganxa", "paste": "Enganxa",
"pasteAsPlaintext": "",
"pasteCharts": "Enganxa els diagrames", "pasteCharts": "Enganxa els diagrames",
"selectAll": "Selecciona-ho tot", "selectAll": "Selecciona-ho tot",
"multiSelect": "Afegeix un element a la selecció", "multiSelect": "Afegeix un element a la selecció",
@ -71,7 +72,7 @@
"layers": "Capes", "layers": "Capes",
"actions": "Accions", "actions": "Accions",
"language": "Llengua", "language": "Llengua",
"liveCollaboration": "Col·laboració en directe", "liveCollaboration": "",
"duplicateSelection": "Duplica", "duplicateSelection": "Duplica",
"untitled": "Sense títol", "untitled": "Sense títol",
"name": "Nom", "name": "Nom",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "Neteja el llenç", "clearReset": "Neteja el llenç",
"exportJSON": "Exporta a un fitxer", "exportJSON": "Exporta a un fitxer",
"exportImage": "Desa com a imatge", "exportImage": "",
"export": "Exporta", "export": "",
"exportToPng": "Exporta a PNG", "exportToPng": "Exporta a PNG",
"exportToSvg": "Exporta a SNG", "exportToSvg": "Exporta a SNG",
"copyToClipboard": "Copia al porta-retalls", "copyToClipboard": "Copia al porta-retalls",
@ -144,7 +145,7 @@
"scale": "Escala", "scale": "Escala",
"save": "Desa al fitxer actual", "save": "Desa al fitxer actual",
"saveAs": "Anomena i desa", "saveAs": "Anomena i desa",
"load": "Carrega", "load": "",
"getShareableLink": "Obté l'enllaç per a compartir", "getShareableLink": "Obté l'enllaç per a compartir",
"close": "Tanca", "close": "Tanca",
"selectLanguage": "Trieu la llengua", "selectLanguage": "Trieu la llengua",
@ -214,7 +215,7 @@
"text": "Text", "text": "Text",
"library": "Biblioteca", "library": "Biblioteca",
"lock": "Mantenir activa l'eina seleccionada desprès de dibuixar", "lock": "Mantenir activa l'eina seleccionada desprès de dibuixar",
"penMode": "Evita el zoom i accepta solament el dibuix lliure amb bolígraf", "penMode": "",
"link": "Afegeix / actualitza l'enllaç per a la forma seleccionada", "link": "Afegeix / actualitza l'enllaç per a la forma seleccionada",
"eraser": "Esborrador" "eraser": "Esborrador"
}, },
@ -235,7 +236,7 @@
"resize": "Per restringir les proporcions mentres es canvia la mida, mantenir premut el majúscul (SHIFT); per canviar la mida des del centre, mantenir premut ALT", "resize": "Per restringir les proporcions mentres es canvia la mida, mantenir premut el majúscul (SHIFT); per canviar la mida des del centre, mantenir premut ALT",
"resizeImage": "Podeu redimensionar lliurement prement MAJÚSCULA;\nper a redimensionar des del centre, premeu ALT", "resizeImage": "Podeu redimensionar lliurement prement MAJÚSCULA;\nper a redimensionar des del centre, premeu ALT",
"rotate": "Per restringir els angles mentre gira, mantenir premut el majúscul (SHIFT)", "rotate": "Per restringir els angles mentre gira, mantenir premut el majúscul (SHIFT)",
"lineEditor_info": "Fes doble clic o premi Enter per editar punts", "lineEditor_info": "",
"lineEditor_pointSelected": "Premeu Suprimir per a eliminar el(s) punt(s), CtrlOrCmd+D per a duplicar-lo, o arrossegueu-lo per a moure'l", "lineEditor_pointSelected": "Premeu Suprimir per a eliminar el(s) punt(s), CtrlOrCmd+D per a duplicar-lo, o arrossegueu-lo per a moure'l",
"lineEditor_nothingSelected": "Seleccioneu un punt per a editar-lo (premeu SHIFT si voleu\nselecció múltiple), o manteniu Alt i feu clic per a afegir més punts", "lineEditor_nothingSelected": "Seleccioneu un punt per a editar-lo (premeu SHIFT si voleu\nselecció múltiple), o manteniu Alt i feu clic per a afegir més punts",
"placeImage": "Feu clic per a col·locar la imatge o clic i arrossegar per a establir-ne la mida manualment", "placeImage": "Feu clic per a col·locar la imatge o clic i arrossegar per a establir-ne la mida manualment",
@ -310,7 +311,9 @@
"view": "Visualització", "view": "Visualització",
"zoomToFit": "Zoom per veure tots els elements", "zoomToFit": "Zoom per veure tots els elements",
"zoomToSelection": "Zoom per veure la selecció", "zoomToSelection": "Zoom per veure la selecció",
"toggleElementLock": "Blocar/desblocar la selecció" "toggleElementLock": "Blocar/desblocar la selecció",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Neteja el llenç" "title": "Neteja el llenç"
@ -391,7 +394,8 @@
"fileSaved": "S'ha desat el fitxer.", "fileSaved": "S'ha desat el fitxer.",
"fileSavedToFilename": "S'ha desat a {filename}", "fileSavedToFilename": "S'ha desat a {filename}",
"canvas": "el llenç", "canvas": "el llenç",
"selection": "la selecció" "selection": "la selecció",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "Blanc", "ffffff": "Blanc",
@ -439,5 +443,12 @@
"5c940d": "Llima 9", "5c940d": "Llima 9",
"e67700": "Groc 9", "e67700": "Groc 9",
"d9480f": "Taronja 9" "d9480f": "Taronja 9"
},
"welcomeScreen": {
"data": "",
"switchToPlusApp": "",
"menuHints": "",
"toolbarHints": "",
"helpHints": ""
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Vložit", "paste": "Vložit",
"pasteAsPlaintext": "",
"pasteCharts": "Vložit grafy", "pasteCharts": "Vložit grafy",
"selectAll": "Vybrat vše", "selectAll": "Vybrat vše",
"multiSelect": "Přidat prvek do výběru", "multiSelect": "Přidat prvek do výběru",
@ -60,18 +61,18 @@
"center": "Na střed", "center": "Na střed",
"right": "Vpravo", "right": "Vpravo",
"extraBold": "Extra tlustý", "extraBold": "Extra tlustý",
"architect": "", "architect": "Architekt",
"artist": "", "artist": "Umělec",
"cartoonist": "", "cartoonist": "",
"fileTitle": "Název souboru", "fileTitle": "Název souboru",
"colorPicker": "Výběr barvy", "colorPicker": "Výběr barvy",
"canvasColors": "", "canvasColors": "Použito na plátně",
"canvasBackground": "Pozadí plátna", "canvasBackground": "Pozadí plátna",
"drawingCanvas": "", "drawingCanvas": "Kreslicí plátno",
"layers": "Vrstvy", "layers": "Vrstvy",
"actions": "Akce", "actions": "Akce",
"language": "Jazyk", "language": "Jazyk",
"liveCollaboration": "Živá spolupráce", "liveCollaboration": "Živá spolupráce...",
"duplicateSelection": "Duplikovat", "duplicateSelection": "Duplikovat",
"untitled": "Bez názvu", "untitled": "Bez názvu",
"name": "Název", "name": "Název",
@ -98,57 +99,57 @@
"flipHorizontal": "Převrátit vodorovně", "flipHorizontal": "Převrátit vodorovně",
"flipVertical": "Převrátit svisle", "flipVertical": "Převrátit svisle",
"viewMode": "Náhled", "viewMode": "Náhled",
"toggleExportColorScheme": "", "toggleExportColorScheme": "Přepnout exportování barevného schématu",
"share": "Sdílet", "share": "Sdílet",
"showStroke": "", "showStroke": "Zobrazit výběr barvy",
"showBackground": "", "showBackground": "Zobrazit výběr barev pozadí",
"toggleTheme": "Přepnout tmavý řežim", "toggleTheme": "Přepnout tmavý řežim",
"personalLib": "", "personalLib": "Osobní knihovna",
"excalidrawLib": "", "excalidrawLib": "Exkalidraw knihovna",
"decreaseFontSize": "", "decreaseFontSize": "Zmenšit písmo",
"increaseFontSize": "", "increaseFontSize": "Zvětšit písmo",
"unbindText": "", "unbindText": "Zrušit vazbu textu",
"bindText": "", "bindText": "Vázat text s kontejnerem",
"link": { "link": {
"edit": "", "edit": "Upravit odkaz",
"create": "", "create": "Vytvořit odkaz",
"label": "" "label": "Odkaz"
}, },
"lineEditor": { "lineEditor": {
"edit": "", "edit": "Upravit čáru",
"exit": "" "exit": "Ukončit editor řádků"
}, },
"elementLock": { "elementLock": {
"lock": "", "lock": "Uzamknout",
"unlock": "", "unlock": "Odemknout",
"lockAll": "", "lockAll": "Uzamknout vše",
"unlockAll": "" "unlockAll": "Odemknout vše"
}, },
"statusPublished": "", "statusPublished": "Zveřejněno",
"sidebarLock": "" "sidebarLock": "Ponechat postranní panel otevřený"
}, },
"library": { "library": {
"noItems": "", "noItems": "Dosud neexistují žádné položky...",
"hint_emptyLibrary": "", "hint_emptyLibrary": "Vyberte položku na plátně a přidejte ji sem nebo nainstalujte knihovnu z veřejného úložiště níže.",
"hint_emptyPrivateLibrary": "" "hint_emptyPrivateLibrary": "Vyberte položku na plátně a přidejte ji sem."
}, },
"buttons": { "buttons": {
"clearReset": "", "clearReset": "Resetovat plátno",
"exportJSON": "", "exportJSON": "Exportovat do souboru",
"exportImage": "", "exportImage": "Exportovat obrázek...",
"export": "Exportovat", "export": "Uložit jako...",
"exportToPng": "Exportovat do PNG", "exportToPng": "Exportovat do PNG",
"exportToSvg": "Exportovat do SVG", "exportToSvg": "Exportovat do SVG",
"copyToClipboard": "Kopírovat do schránky", "copyToClipboard": "Kopírovat do schránky",
"copyPngToClipboard": "Kopírovat PNG do schránky", "copyPngToClipboard": "Kopírovat PNG do schránky",
"scale": "Měřítko", "scale": "Měřítko",
"save": "", "save": "Uložit do aktuálního souboru",
"saveAs": "Uložit jako", "saveAs": "Uložit jako",
"load": "Nahrát", "load": "Otevřít",
"getShareableLink": "Získat odkaz pro sdílení", "getShareableLink": "Získat odkaz pro sdílení",
"close": "Zavřít", "close": "Zavřít",
"selectLanguage": "Zvolit jazyk", "selectLanguage": "Zvolit jazyk",
"scrollBackToContent": "", "scrollBackToContent": "Přejít zpět na obsah",
"zoomIn": "Přiblížit", "zoomIn": "Přiblížit",
"zoomOut": "Oddálit", "zoomOut": "Oddálit",
"resetZoom": "Resetovat přiblížení", "resetZoom": "Resetovat přiblížení",
@ -157,7 +158,7 @@
"edit": "Upravit", "edit": "Upravit",
"undo": "Zpět", "undo": "Zpět",
"redo": "Znovu", "redo": "Znovu",
"resetLibrary": "", "resetLibrary": "Obnovit knihovnu",
"createNewRoom": "Vytvořit novou místnost", "createNewRoom": "Vytvořit novou místnost",
"fullScreen": "Celá obrazovka", "fullScreen": "Celá obrazovka",
"darkMode": "Tmavý režim", "darkMode": "Tmavý režim",
@ -176,17 +177,17 @@
"couldNotCreateShareableLink": "Nepodařilo se vytvořit sdílitelný odkaz.", "couldNotCreateShareableLink": "Nepodařilo se vytvořit sdílitelný odkaz.",
"couldNotCreateShareableLinkTooBig": "Nepodařilo se vytvořit sdílený odkaz: scéna je příliš velká", "couldNotCreateShareableLinkTooBig": "Nepodařilo se vytvořit sdílený odkaz: scéna je příliš velká",
"couldNotLoadInvalidFile": "Nepodařilo se načíst neplatný soubor", "couldNotLoadInvalidFile": "Nepodařilo se načíst neplatný soubor",
"importBackendFailed": "", "importBackendFailed": "Import z backendu se nezdařil.",
"cannotExportEmptyCanvas": "", "cannotExportEmptyCanvas": "Nelze exportovat prázdné plátno.",
"couldNotCopyToClipboard": "", "couldNotCopyToClipboard": "Nelze zkopírovat do schránky.",
"decryptFailed": "", "decryptFailed": "Nelze dešifrovat data.",
"uploadedSecurly": "", "uploadedSecurly": "Nahrávání je zabezpečeno koncovým šifrováním, což znamená, že server Excalidraw ani třetí strany nemohou obsah přečíst.",
"loadSceneOverridePrompt": "", "loadSceneOverridePrompt": "Načítání externího výkresu nahradí váš existující obsah. Přejete si pokračovat?",
"collabStopOverridePrompt": "", "collabStopOverridePrompt": "",
"errorAddingToLibrary": "", "errorAddingToLibrary": "Položku nelze přidat do knihovny",
"errorRemovingFromLibrary": "", "errorRemovingFromLibrary": "Položku nelze odstranit z knihovny",
"confirmAddLibrary": "", "confirmAddLibrary": "Tímto přidáte {{numShapes}} tvarů do tvé knihovny. Jste si jisti?",
"imageDoesNotContainScene": "", "imageDoesNotContainScene": "Zdá se, že tento obrázek neobsahuje žádná data o scéně. Zapnuli jste při exportu vkládání scény?",
"cannotRestoreFromImage": "", "cannotRestoreFromImage": "",
"invalidSceneUrl": "", "invalidSceneUrl": "",
"resetLibrary": "", "resetLibrary": "",
@ -255,8 +256,8 @@
"clearCanvasMessage": "", "clearCanvasMessage": "",
"clearCanvasMessage_button": "", "clearCanvasMessage_button": "",
"clearCanvasCaveat": "", "clearCanvasCaveat": "",
"trackedToSentry_pre": "", "trackedToSentry_pre": "Chyba identifikátoru ",
"trackedToSentry_post": "", "trackedToSentry_post": " byl zaznamenán v našem systému.",
"openIssueMessage_pre": "", "openIssueMessage_pre": "",
"openIssueMessage_button": "", "openIssueMessage_button": "",
"openIssueMessage_post": "", "openIssueMessage_post": "",
@ -310,7 +311,9 @@
"view": "Zobrazení", "view": "Zobrazení",
"zoomToFit": "Přiblížit na zobrazení všech prvků", "zoomToFit": "Přiblížit na zobrazení všech prvků",
"zoomToSelection": "Přiblížit na výběr", "zoomToSelection": "Přiblížit na výběr",
"toggleElementLock": "Zamknout/odemknout výběr" "toggleElementLock": "Zamknout/odemknout výběr",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Vymazat plátno" "title": "Vymazat plátno"
@ -391,7 +394,8 @@
"fileSaved": "Soubor byl uložen.", "fileSaved": "Soubor byl uložen.",
"fileSavedToFilename": "Uloženo do {filename}", "fileSavedToFilename": "Uloženo do {filename}",
"canvas": "plátno", "canvas": "plátno",
"selection": "výběr" "selection": "výběr",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "Bílá", "ffffff": "Bílá",
@ -439,5 +443,12 @@
"5c940d": "Limetková 9", "5c940d": "Limetková 9",
"e67700": "Žlutá 9", "e67700": "Žlutá 9",
"d9480f": "Oranzova" "d9480f": "Oranzova"
},
"welcomeScreen": {
"data": "",
"switchToPlusApp": "",
"menuHints": "",
"toolbarHints": "",
"helpHints": ""
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Indsæt", "paste": "Indsæt",
"pasteAsPlaintext": "",
"pasteCharts": "Indsæt diagrammer", "pasteCharts": "Indsæt diagrammer",
"selectAll": "Marker alle", "selectAll": "Marker alle",
"multiSelect": "Tilføj element til markering", "multiSelect": "Tilføj element til markering",
@ -69,12 +70,12 @@
"canvasBackground": "Lærredsbaggrund", "canvasBackground": "Lærredsbaggrund",
"drawingCanvas": "Tegnelærred", "drawingCanvas": "Tegnelærred",
"layers": "Lag", "layers": "Lag",
"actions": "", "actions": "Handlinger",
"language": "Sprog", "language": "Sprog",
"liveCollaboration": "Direkte samarbejde", "liveCollaboration": "",
"duplicateSelection": "", "duplicateSelection": "",
"untitled": "", "untitled": "Unavngivet",
"name": "", "name": "Navn",
"yourName": "Dit navn", "yourName": "Dit navn",
"madeWithExcalidraw": "Fremstillet med Excalidraw", "madeWithExcalidraw": "Fremstillet med Excalidraw",
"group": "", "group": "",
@ -144,7 +145,7 @@
"scale": "", "scale": "",
"save": "", "save": "",
"saveAs": "Gem som", "saveAs": "Gem som",
"load": "Indlæs", "load": "",
"getShareableLink": "Lav et delbart link", "getShareableLink": "Lav et delbart link",
"close": "Luk", "close": "Luk",
"selectLanguage": "Vælg sprog", "selectLanguage": "Vælg sprog",
@ -310,7 +311,9 @@
"view": "", "view": "",
"zoomToFit": "", "zoomToFit": "",
"zoomToSelection": "", "zoomToSelection": "",
"toggleElementLock": "" "toggleElementLock": "",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "" "title": ""
@ -391,7 +394,8 @@
"fileSaved": "Fil gemt.", "fileSaved": "Fil gemt.",
"fileSavedToFilename": "Gemt som {filename}", "fileSavedToFilename": "Gemt som {filename}",
"canvas": "canvas", "canvas": "canvas",
"selection": "markering" "selection": "markering",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "", "ffffff": "",
@ -439,5 +443,12 @@
"5c940d": "", "5c940d": "",
"e67700": "", "e67700": "",
"d9480f": "" "d9480f": ""
},
"welcomeScreen": {
"data": "",
"switchToPlusApp": "",
"menuHints": "",
"toolbarHints": "",
"helpHints": ""
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Einfügen", "paste": "Einfügen",
"pasteAsPlaintext": "Als reinen Text einfügen",
"pasteCharts": "Diagramme einfügen", "pasteCharts": "Diagramme einfügen",
"selectAll": "Alle auswählen", "selectAll": "Alle auswählen",
"multiSelect": "Element zur Auswahl hinzufügen", "multiSelect": "Element zur Auswahl hinzufügen",
@ -71,7 +72,7 @@
"layers": "Ebenen", "layers": "Ebenen",
"actions": "Aktionen", "actions": "Aktionen",
"language": "Sprache", "language": "Sprache",
"liveCollaboration": "Live-Zusammenarbeit", "liveCollaboration": "Live-Zusammenarbeit...",
"duplicateSelection": "Duplizieren", "duplicateSelection": "Duplizieren",
"untitled": "Unbenannt", "untitled": "Unbenannt",
"name": "Name", "name": "Name",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "Zeichenfläche löschen & Hintergrundfarbe zurücksetzen", "clearReset": "Zeichenfläche löschen & Hintergrundfarbe zurücksetzen",
"exportJSON": "In Datei exportieren", "exportJSON": "In Datei exportieren",
"exportImage": "Als Bild speichern", "exportImage": "Exportiere Bild...",
"export": "Exportieren", "export": "Speichern als...",
"exportToPng": "Als PNG exportieren", "exportToPng": "Als PNG exportieren",
"exportToSvg": "Als SVG exportieren", "exportToSvg": "Als SVG exportieren",
"copyToClipboard": "In Zwischenablage kopieren", "copyToClipboard": "In Zwischenablage kopieren",
@ -144,7 +145,7 @@
"scale": "Skalierung", "scale": "Skalierung",
"save": "In aktueller Datei speichern", "save": "In aktueller Datei speichern",
"saveAs": "Speichern unter", "saveAs": "Speichern unter",
"load": "Laden", "load": "Öffnen",
"getShareableLink": "Teilbaren Link erhalten", "getShareableLink": "Teilbaren Link erhalten",
"close": "Schließen", "close": "Schließen",
"selectLanguage": "Sprache auswählen", "selectLanguage": "Sprache auswählen",
@ -214,7 +215,7 @@
"text": "Text", "text": "Text",
"library": "Bibliothek", "library": "Bibliothek",
"lock": "Ausgewähltes Werkzeug nach Zeichnen aktiv lassen", "lock": "Ausgewähltes Werkzeug nach Zeichnen aktiv lassen",
"penMode": "Verhindere Pinch-Zoom und akzeptiere Eingabe nur vom Stift", "penMode": "Stift-Modus - Berührung verhindern",
"link": "Link für ausgewählte Form hinzufügen / aktualisieren", "link": "Link für ausgewählte Form hinzufügen / aktualisieren",
"eraser": "Radierer" "eraser": "Radierer"
}, },
@ -235,7 +236,7 @@
"resize": "Du kannst die Proportionen einschränken, indem du SHIFT während der Größenänderung gedrückt hältst. Halte ALT gedrückt, um die Größe vom Zentrum aus zu ändern", "resize": "Du kannst die Proportionen einschränken, indem du SHIFT während der Größenänderung gedrückt hältst. Halte ALT gedrückt, um die Größe vom Zentrum aus zu ändern",
"resizeImage": "Du kannst die Größe frei ändern, indem du SHIFT gedrückt hältst; halte ALT, um die Größe vom Zentrum aus zu ändern", "resizeImage": "Du kannst die Größe frei ändern, indem du SHIFT gedrückt hältst; halte ALT, um die Größe vom Zentrum aus zu ändern",
"rotate": "Du kannst Winkel einschränken, indem du SHIFT während der Drehung gedrückt hältst", "rotate": "Du kannst Winkel einschränken, indem du SHIFT während der Drehung gedrückt hältst",
"lineEditor_info": "Doppelklicken oder Eingabetaste drücken, um Punkte zu bearbeiten", "lineEditor_info": "CtrlOrCmd halten und Doppelklick oder CtrlOrCmd + Eingabe drücken, um Punkte zu bearbeiten",
"lineEditor_pointSelected": "Drücke Löschen, um Punkt(e) zu entfernen, CtrlOrCmd+D zum Duplizieren oder ziehe zum Verschieben", "lineEditor_pointSelected": "Drücke Löschen, um Punkt(e) zu entfernen, CtrlOrCmd+D zum Duplizieren oder ziehe zum Verschieben",
"lineEditor_nothingSelected": "Wähle einen zu bearbeitenden Punkt (halte SHIFT gedrückt um mehrere Punkte auszuwählen),\noder halte Alt gedrückt und klicke um neue Punkte hinzuzufügen", "lineEditor_nothingSelected": "Wähle einen zu bearbeitenden Punkt (halte SHIFT gedrückt um mehrere Punkte auszuwählen),\noder halte Alt gedrückt und klicke um neue Punkte hinzuzufügen",
"placeImage": "Klicken, um das Bild zu platzieren oder klicken und ziehen um seine Größe manuell zu setzen", "placeImage": "Klicken, um das Bild zu platzieren oder klicken und ziehen um seine Größe manuell zu setzen",
@ -310,7 +311,9 @@
"view": "Ansicht", "view": "Ansicht",
"zoomToFit": "Zoomen um alle Elemente einzupassen", "zoomToFit": "Zoomen um alle Elemente einzupassen",
"zoomToSelection": "Auf Auswahl zoomen", "zoomToSelection": "Auf Auswahl zoomen",
"toggleElementLock": "Auswahl sperren/entsperren" "toggleElementLock": "Auswahl sperren/entsperren",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Zeichenfläche löschen" "title": "Zeichenfläche löschen"
@ -391,7 +394,8 @@
"fileSaved": "Datei gespeichert.", "fileSaved": "Datei gespeichert.",
"fileSavedToFilename": "Als {filename} gespeichert", "fileSavedToFilename": "Als {filename} gespeichert",
"canvas": "Zeichenfläche", "canvas": "Zeichenfläche",
"selection": "Auswahl" "selection": "Auswahl",
"pasteAsSingleElement": "Verwende {{shortcut}} , um als einzelnes Element\neinzufügen oder in einen existierenden Texteditor einzufügen"
}, },
"colors": { "colors": {
"ffffff": "Weiß", "ffffff": "Weiß",
@ -439,5 +443,12 @@
"5c940d": "Hellgrün 9", "5c940d": "Hellgrün 9",
"e67700": "Gelb 9", "e67700": "Gelb 9",
"d9480f": "Orange 9" "d9480f": "Orange 9"
},
"welcomeScreen": {
"data": "Alle Daten werden lokal in Deinem Browser gespeichert.",
"switchToPlusApp": "Möchtest du stattdessen zu Excalidraw+ gehen?",
"menuHints": "Exportieren, Einstellungen, Sprachen, ...",
"toolbarHints": "Wähle ein Werkzeug & beginne zu zeichnen!",
"helpHints": "Kurzbefehle & Hilfe"
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Επικόλληση", "paste": "Επικόλληση",
"pasteAsPlaintext": "",
"pasteCharts": "Επικόλληση γραφημάτων", "pasteCharts": "Επικόλληση γραφημάτων",
"selectAll": "Επιλογή όλων", "selectAll": "Επιλογή όλων",
"multiSelect": "Προσθέστε το στοιχείο στην επιλογή", "multiSelect": "Προσθέστε το στοιχείο στην επιλογή",
@ -71,7 +72,7 @@
"layers": "Στρώματα", "layers": "Στρώματα",
"actions": "Ενέργειες", "actions": "Ενέργειες",
"language": "Γλώσσα", "language": "Γλώσσα",
"liveCollaboration": "Ζωντανή συνεργασία", "liveCollaboration": "",
"duplicateSelection": "Δημιουργία αντιγράφου", "duplicateSelection": "Δημιουργία αντιγράφου",
"untitled": "Χωρίς τίτλο", "untitled": "Χωρίς τίτλο",
"name": "Όνομα", "name": "Όνομα",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "Επαναφορά του καμβά", "clearReset": "Επαναφορά του καμβά",
"exportJSON": "Εξαγωγή σε αρχείο", "exportJSON": "Εξαγωγή σε αρχείο",
"exportImage": "Αποθήκευση ως εικόνα", "exportImage": "",
"export": "Εξαγωγή", "export": "",
"exportToPng": "Εξαγωγή σε PNG", "exportToPng": "Εξαγωγή σε PNG",
"exportToSvg": "Εξαγωγή σε SVG", "exportToSvg": "Εξαγωγή σε SVG",
"copyToClipboard": "Αντιγραφή στο πρόχειρο", "copyToClipboard": "Αντιγραφή στο πρόχειρο",
@ -144,7 +145,7 @@
"scale": "Κλίμακα", "scale": "Κλίμακα",
"save": "Αποθήκευση στο τρέχον αρχείο", "save": "Αποθήκευση στο τρέχον αρχείο",
"saveAs": "Αποθήκευση ως", "saveAs": "Αποθήκευση ως",
"load": "Άνοιγμα", "load": "",
"getShareableLink": "Δημόσιος σύνδεσμος", "getShareableLink": "Δημόσιος σύνδεσμος",
"close": "Κλείσιμο", "close": "Κλείσιμο",
"selectLanguage": "Επιλογή γλώσσας", "selectLanguage": "Επιλογή γλώσσας",
@ -235,7 +236,7 @@
"resize": "Μπορείς να περιορίσεις τις αναλογίες κρατώντας το SHIFT ενώ αλλάζεις μέγεθος,\nκράτησε πατημένο το ALT για αλλαγή μεγέθους από το κέντρο", "resize": "Μπορείς να περιορίσεις τις αναλογίες κρατώντας το SHIFT ενώ αλλάζεις μέγεθος,\nκράτησε πατημένο το ALT για αλλαγή μεγέθους από το κέντρο",
"resizeImage": "Μπορείτε να αλλάξετε το μέγεθος ελεύθερα κρατώντας πατημένο το SHIFT,\nκρατήστε πατημένο το ALT για να αλλάξετε το μέγεθος από το κέντρο", "resizeImage": "Μπορείτε να αλλάξετε το μέγεθος ελεύθερα κρατώντας πατημένο το SHIFT,\nκρατήστε πατημένο το ALT για να αλλάξετε το μέγεθος από το κέντρο",
"rotate": "Μπορείς να περιορίσεις τις γωνίες κρατώντας πατημένο το πλήκτρο SHIFT κατά την περιστροφή", "rotate": "Μπορείς να περιορίσεις τις γωνίες κρατώντας πατημένο το πλήκτρο SHIFT κατά την περιστροφή",
"lineEditor_info": "Διπλό-κλικ ή πιέστε Enter για να επεξεργαστείτε τα σημεία", "lineEditor_info": "",
"lineEditor_pointSelected": "Πατήστε Διαγραφή για αφαίρεση σημείου(ων),\nCtrlOrCmd+D για αντιγραφή, ή σύρετε για μετακίνηση", "lineEditor_pointSelected": "Πατήστε Διαγραφή για αφαίρεση σημείου(ων),\nCtrlOrCmd+D για αντιγραφή, ή σύρετε για μετακίνηση",
"lineEditor_nothingSelected": "Επιλέξτε ένα σημείο για να επεξεργαστείτε (κρατήστε πατημένο το SHIFT για να επιλέξετε πολλαπλά),\nή κρατήστε πατημένο το Alt και κάντε κλικ για να προσθέσετε νέα σημεία", "lineEditor_nothingSelected": "Επιλέξτε ένα σημείο για να επεξεργαστείτε (κρατήστε πατημένο το SHIFT για να επιλέξετε πολλαπλά),\nή κρατήστε πατημένο το Alt και κάντε κλικ για να προσθέσετε νέα σημεία",
"placeImage": "Κάντε κλικ για να τοποθετήσετε την εικόνα ή κάντε κλικ και σύρετε για να ορίσετε το μέγεθός της χειροκίνητα", "placeImage": "Κάντε κλικ για να τοποθετήσετε την εικόνα ή κάντε κλικ και σύρετε για να ορίσετε το μέγεθός της χειροκίνητα",
@ -310,7 +311,9 @@
"view": "Προβολή", "view": "Προβολή",
"zoomToFit": "Zoom ώστε να χωρέσουν όλα τα στοιχεία", "zoomToFit": "Zoom ώστε να χωρέσουν όλα τα στοιχεία",
"zoomToSelection": "Ζουμ στην επιλογή", "zoomToSelection": "Ζουμ στην επιλογή",
"toggleElementLock": "Κλείδωμα/Ξεκλείδωμα επιλογής" "toggleElementLock": "Κλείδωμα/Ξεκλείδωμα επιλογής",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Καθαρισμός καμβά" "title": "Καθαρισμός καμβά"
@ -391,7 +394,8 @@
"fileSaved": "Το αρχείο αποθηκεύτηκε.", "fileSaved": "Το αρχείο αποθηκεύτηκε.",
"fileSavedToFilename": "Αποθηκεύτηκε στο {filename}", "fileSavedToFilename": "Αποθηκεύτηκε στο {filename}",
"canvas": "καμβάς", "canvas": "καμβάς",
"selection": "επιλογή" "selection": "επιλογή",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "Λευκό", "ffffff": "Λευκό",
@ -439,5 +443,12 @@
"5c940d": "Πρασινοκίτρινο 9", "5c940d": "Πρασινοκίτρινο 9",
"e67700": "Κίτρινο 9", "e67700": "Κίτρινο 9",
"d9480f": "Πορτοκαλί 9" "d9480f": "Πορτοκαλί 9"
},
"welcomeScreen": {
"data": "",
"switchToPlusApp": "",
"menuHints": "",
"toolbarHints": "",
"helpHints": ""
} }
} }

View File

@ -204,7 +204,9 @@
"cannotResolveCollabServer": "Couldn't connect to the collab server. Please reload the page and try again.", "cannotResolveCollabServer": "Couldn't connect to the collab server. Please reload the page and try again.",
"importLibraryError": "Couldn't load library", "importLibraryError": "Couldn't load library",
"socketDisconnected": "You've been disconnected from the server", "socketDisconnected": "You've been disconnected from the server",
"socketConnectionError": "Couldn't connect to the server" "socketConnectionError": "Couldn't connect to the server",
"collabSaveFailed": "Couldn't save to the backend database. If problems persist, you should save your file locally to ensure you don't lose your work.",
"collabSaveFailed_sizeExceeded": "Couldn't save to the backend database, the canvas seems to be too big. You should save the file locally to ensure you don't lose your work."
}, },
"toolBar": { "toolBar": {
"selection": "Selection", "selection": "Selection",
@ -314,7 +316,9 @@
"view": "View", "view": "View",
"zoomToFit": "Zoom to fit all elements", "zoomToFit": "Zoom to fit all elements",
"zoomToSelection": "Zoom to selection", "zoomToSelection": "Zoom to selection",
"toggleElementLock": "Lock/unlock selection" "toggleElementLock": "Lock/unlock selection",
"movePageUpDown": "Move page up/down",
"movePageLeftRight": "Move page left/right"
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Clear canvas" "title": "Clear canvas"

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Pegar", "paste": "Pegar",
"pasteAsPlaintext": "Pegar como texto sin formato",
"pasteCharts": "Pegar gráficos", "pasteCharts": "Pegar gráficos",
"selectAll": "Seleccionar todo", "selectAll": "Seleccionar todo",
"multiSelect": "Añadir elemento a la selección", "multiSelect": "Añadir elemento a la selección",
@ -71,7 +72,7 @@
"layers": "Capas", "layers": "Capas",
"actions": "Acciones", "actions": "Acciones",
"language": "Idioma", "language": "Idioma",
"liveCollaboration": "Colaboración en directo", "liveCollaboration": "Colaboración en directo...",
"duplicateSelection": "Duplicar", "duplicateSelection": "Duplicar",
"untitled": "Sin título", "untitled": "Sin título",
"name": "Nombre", "name": "Nombre",
@ -115,8 +116,8 @@
"label": "Enlace" "label": "Enlace"
}, },
"lineEditor": { "lineEditor": {
"edit": "", "edit": "Editar línea",
"exit": "" "exit": "Salir del editor en línea"
}, },
"elementLock": { "elementLock": {
"lock": "Bloquear", "lock": "Bloquear",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "Limpiar lienzo y reiniciar el color de fondo", "clearReset": "Limpiar lienzo y reiniciar el color de fondo",
"exportJSON": "Exportar a archivo", "exportJSON": "Exportar a archivo",
"exportImage": "Guardar como imagen", "exportImage": "Exportar imagen...",
"export": "Exportar", "export": "Guardar en...",
"exportToPng": "Exportar a PNG", "exportToPng": "Exportar a PNG",
"exportToSvg": "Exportar a SVG", "exportToSvg": "Exportar a SVG",
"copyToClipboard": "Copiar al portapapeles", "copyToClipboard": "Copiar al portapapeles",
@ -144,7 +145,7 @@
"scale": "Escalar", "scale": "Escalar",
"save": "Guardar en archivo actual", "save": "Guardar en archivo actual",
"saveAs": "Guardar como", "saveAs": "Guardar como",
"load": "Cargar", "load": "Abrir",
"getShareableLink": "Obtener enlace para compartir", "getShareableLink": "Obtener enlace para compartir",
"close": "Cerrar", "close": "Cerrar",
"selectLanguage": "Elegir idioma", "selectLanguage": "Elegir idioma",
@ -214,7 +215,7 @@
"text": "Texto", "text": "Texto",
"library": "Biblioteca", "library": "Biblioteca",
"lock": "Mantener la herramienta seleccionada activa después de dibujar", "lock": "Mantener la herramienta seleccionada activa después de dibujar",
"penMode": "Evitar el zoom de pellizco y aceptar la entrada libre sólo desde el lápiz", "penMode": "Modo Lápiz - previene toque",
"link": "Añadir/Actualizar enlace para una forma seleccionada", "link": "Añadir/Actualizar enlace para una forma seleccionada",
"eraser": "Borrar" "eraser": "Borrar"
}, },
@ -235,10 +236,10 @@
"resize": "Para mantener las proporciones mantén SHIFT presionado mientras modificas el tamaño, \nmantén presionado ALT para modificar el tamaño desde el centro", "resize": "Para mantener las proporciones mantén SHIFT presionado mientras modificas el tamaño, \nmantén presionado ALT para modificar el tamaño desde el centro",
"resizeImage": "Puede redimensionar libremente pulsando SHIFT,\npulse ALT para redimensionar desde el centro", "resizeImage": "Puede redimensionar libremente pulsando SHIFT,\npulse ALT para redimensionar desde el centro",
"rotate": "Puedes restringir los ángulos manteniendo presionado SHIFT mientras giras", "rotate": "Puedes restringir los ángulos manteniendo presionado SHIFT mientras giras",
"lineEditor_info": "Doble clic o pulse Enter para editar puntos", "lineEditor_info": "Mantenga pulsado CtrlOrCmd y haga doble click o presione CtrlOrCmd + Enter para editar puntos",
"lineEditor_pointSelected": "Presione Suprimir para eliminar el/los punto(s), CtrlOrCmd+D para duplicarlo, o arrástrelo para moverlo", "lineEditor_pointSelected": "Presione Suprimir para eliminar el/los punto(s), CtrlOrCmd+D para duplicarlo, o arrástrelo para moverlo",
"lineEditor_nothingSelected": "Seleccione un punto a editar (mantenga MAYÚSCULAS para seleccionar múltiples),\no mantenga pulsado Alt y haga clic para añadir nuevos puntos", "lineEditor_nothingSelected": "Seleccione un punto a editar (mantenga MAYÚSCULAS para seleccionar múltiples),\no mantenga pulsado Alt y haga click para añadir nuevos puntos",
"placeImage": "Haga clic para colocar la imagen o haga clic y arrastre para establecer su tamaño manualmente", "placeImage": "Haga clic para colocar la imagen o haga click y arrastre para establecer su tamaño manualmente",
"publishLibrary": "Publica tu propia biblioteca", "publishLibrary": "Publica tu propia biblioteca",
"bindTextToElement": "Presione Entrar para agregar", "bindTextToElement": "Presione Entrar para agregar",
"deepBoxSelect": "Mantén CtrlOrCmd para seleccionar en profundidad, y para evitar arrastrar", "deepBoxSelect": "Mantén CtrlOrCmd para seleccionar en profundidad, y para evitar arrastrar",
@ -288,7 +289,7 @@
}, },
"helpDialog": { "helpDialog": {
"blog": "Lea nuestro blog", "blog": "Lea nuestro blog",
"click": "clic", "click": "click",
"deepSelect": "Selección profunda", "deepSelect": "Selección profunda",
"deepBoxSelect": "Seleccione en profundidad dentro de la caja, y evite arrastrar", "deepBoxSelect": "Seleccione en profundidad dentro de la caja, y evite arrastrar",
"curvedArrow": "Flecha curva", "curvedArrow": "Flecha curva",
@ -301,7 +302,7 @@
"github": "¿Ha encontrado un problema? Envíelo", "github": "¿Ha encontrado un problema? Envíelo",
"howto": "Siga nuestras guías", "howto": "Siga nuestras guías",
"or": "o", "or": "o",
"preventBinding": "Evitar yuxtaposición de flechas", "preventBinding": "Evitar enlace de flechas",
"tools": "Herramientas", "tools": "Herramientas",
"shortcuts": "Atajos del teclado", "shortcuts": "Atajos del teclado",
"textFinish": "Finalizar edición (editor de texto)", "textFinish": "Finalizar edición (editor de texto)",
@ -310,7 +311,9 @@
"view": "Vista", "view": "Vista",
"zoomToFit": "Ajustar la vista para mostrar todos los elementos", "zoomToFit": "Ajustar la vista para mostrar todos los elementos",
"zoomToSelection": "Zoom a la selección", "zoomToSelection": "Zoom a la selección",
"toggleElementLock": "Bloquear/desbloquear selección" "toggleElementLock": "Bloquear/desbloquear selección",
"movePageUpDown": "Mover página hacia arriba/abajo",
"movePageLeftRight": "Mover página hacia la izquierda/derecha"
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Borrar lienzo" "title": "Borrar lienzo"
@ -328,7 +331,7 @@
"authorName": "Nombre o nombre de usuario", "authorName": "Nombre o nombre de usuario",
"libraryName": "Nombre de tu biblioteca", "libraryName": "Nombre de tu biblioteca",
"libraryDesc": "Descripción de su biblioteca para ayudar a la gente a entender su uso", "libraryDesc": "Descripción de su biblioteca para ayudar a la gente a entender su uso",
"githubHandle": "GitHub maneja (opcional), así que puede editar la biblioteca una vez enviada para su revisión", "githubHandle": "Nombre de usuario de GitHub (opcional), así podrá editar la biblioteca una vez enviada para su revisión",
"twitterHandle": "Nombre de usuario de Twitter (opcional), así que sabemos a quién acreditar cuando se promociona en Twitter", "twitterHandle": "Nombre de usuario de Twitter (opcional), así que sabemos a quién acreditar cuando se promociona en Twitter",
"website": "Enlace a su sitio web personal o en cualquier otro lugar (opcional)" "website": "Enlace a su sitio web personal o en cualquier otro lugar (opcional)"
}, },
@ -379,7 +382,7 @@
"title": "Estadísticas para nerds", "title": "Estadísticas para nerds",
"total": "Total", "total": "Total",
"version": "Versión", "version": "Versión",
"versionCopy": "Clic para copiar", "versionCopy": "Click para copiar",
"versionNotAvailable": "Versión no disponible", "versionNotAvailable": "Versión no disponible",
"width": "Ancho" "width": "Ancho"
}, },
@ -391,7 +394,8 @@
"fileSaved": "Archivo guardado.", "fileSaved": "Archivo guardado.",
"fileSavedToFilename": "Guardado en {filename}", "fileSavedToFilename": "Guardado en {filename}",
"canvas": "lienzo", "canvas": "lienzo",
"selection": "selección" "selection": "selección",
"pasteAsSingleElement": "Usa {{shortcut}} para pegar como un solo elemento,\no pegar en un editor de texto existente"
}, },
"colors": { "colors": {
"ffffff": "Blanco", "ffffff": "Blanco",
@ -439,5 +443,12 @@
"5c940d": "Lima 9", "5c940d": "Lima 9",
"e67700": "Amarillo 9", "e67700": "Amarillo 9",
"d9480f": "Naranja 9" "d9480f": "Naranja 9"
},
"welcomeScreen": {
"data": "Toda su información es guardada localmente en su navegador.",
"switchToPlusApp": "¿Quieres ir a Excalidraw+ en su lugar?",
"menuHints": "Exportar, preferencias, idiomas, ...",
"toolbarHints": "¡Escoge una herramienta & Empiece a dibujar!",
"helpHints": "Atajos & ayuda"
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Itsatsi", "paste": "Itsatsi",
"pasteAsPlaintext": "",
"pasteCharts": "Itsatsi grafikoak", "pasteCharts": "Itsatsi grafikoak",
"selectAll": "Hautatu dena", "selectAll": "Hautatu dena",
"multiSelect": "Gehitu elementua hautapenera", "multiSelect": "Gehitu elementua hautapenera",
@ -71,7 +72,7 @@
"layers": "Geruzak", "layers": "Geruzak",
"actions": "Ekintzak", "actions": "Ekintzak",
"language": "Hizkuntza", "language": "Hizkuntza",
"liveCollaboration": "Zuzeneko elkarlana", "liveCollaboration": "Zuzeneko elkarlana...",
"duplicateSelection": "Bikoiztu", "duplicateSelection": "Bikoiztu",
"untitled": "Izengabea", "untitled": "Izengabea",
"name": "Izena", "name": "Izena",
@ -115,8 +116,8 @@
"label": "Esteka" "label": "Esteka"
}, },
"lineEditor": { "lineEditor": {
"edit": "", "edit": "Editatu lerroa",
"exit": "" "exit": "Irten lerro-editoretik"
}, },
"elementLock": { "elementLock": {
"lock": "Blokeatu", "lock": "Blokeatu",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "Garbitu oihala", "clearReset": "Garbitu oihala",
"exportJSON": "Esportatu fitxategira", "exportJSON": "Esportatu fitxategira",
"exportImage": "Gorde irudi gisa", "exportImage": "Esportatu irudia...",
"export": "Esportatu", "export": "Gorde hemen...",
"exportToPng": "Esportatu PNG gisa", "exportToPng": "Esportatu PNG gisa",
"exportToSvg": "Esportatu SVG gisa", "exportToSvg": "Esportatu SVG gisa",
"copyToClipboard": "Kopiatu arbelera", "copyToClipboard": "Kopiatu arbelera",
@ -144,7 +145,7 @@
"scale": "Eskala", "scale": "Eskala",
"save": "Gorde uneko fitxategian", "save": "Gorde uneko fitxategian",
"saveAs": "Gorde honela", "saveAs": "Gorde honela",
"load": "Kargatu", "load": "Ireki",
"getShareableLink": "Lortu partekatzeko esteka", "getShareableLink": "Lortu partekatzeko esteka",
"close": "Itxi", "close": "Itxi",
"selectLanguage": "Hautatu hizkuntza", "selectLanguage": "Hautatu hizkuntza",
@ -214,7 +215,7 @@
"text": "Testua", "text": "Testua",
"library": "Liburutegia", "library": "Liburutegia",
"lock": "Mantendu aktibo hautatutako tresna marraztu ondoren", "lock": "Mantendu aktibo hautatutako tresna marraztu ondoren",
"penMode": "Saihestu txikiagotzea eta onartu marrazte libreko idazketa solik arkatza bidez", "penMode": "Luma modua - ukipena saihestu",
"link": "Gehitu / Eguneratu esteka hautatutako forma baterako", "link": "Gehitu / Eguneratu esteka hautatutako forma baterako",
"eraser": "Borragoma" "eraser": "Borragoma"
}, },
@ -235,7 +236,7 @@
"resize": "Proportzioak mantendu ditzakezu SHIFT sakatuta tamaina aldatzen duzun bitartean.\nsakatu ALT erditik tamaina aldatzeko", "resize": "Proportzioak mantendu ditzakezu SHIFT sakatuta tamaina aldatzen duzun bitartean.\nsakatu ALT erditik tamaina aldatzeko",
"resizeImage": "Tamaina libreki alda dezakezu SHIFT sakatuta,\nsakatu ALT erditik tamaina aldatzeko", "resizeImage": "Tamaina libreki alda dezakezu SHIFT sakatuta,\nsakatu ALT erditik tamaina aldatzeko",
"rotate": "Angeluak mantendu ditzakezu SHIFT sakatuta biratzen duzun bitartean", "rotate": "Angeluak mantendu ditzakezu SHIFT sakatuta biratzen duzun bitartean",
"lineEditor_info": "Egin klik bikoitza edo sakatu Sartu puntuak editatzeko", "lineEditor_info": "",
"lineEditor_pointSelected": "Sakatu Ezabatu puntuak kentzeko,\nKtrl+D bikoizteko, edo arrastatu mugitzeko", "lineEditor_pointSelected": "Sakatu Ezabatu puntuak kentzeko,\nKtrl+D bikoizteko, edo arrastatu mugitzeko",
"lineEditor_nothingSelected": "Hautatu editatzeko puntu bat (SHIFT sakatuta anitz hautatzeko),\nedo eduki Alt sakatuta eta egin klik puntu berriak gehitzeko", "lineEditor_nothingSelected": "Hautatu editatzeko puntu bat (SHIFT sakatuta anitz hautatzeko),\nedo eduki Alt sakatuta eta egin klik puntu berriak gehitzeko",
"placeImage": "Egin klik irudia kokatzeko, edo egin klik eta arrastatu bere tamaina eskuz ezartzeko", "placeImage": "Egin klik irudia kokatzeko, edo egin klik eta arrastatu bere tamaina eskuz ezartzeko",
@ -310,7 +311,9 @@
"view": "Bistaratu", "view": "Bistaratu",
"zoomToFit": "Egin zoom elementu guztiak ikusteko", "zoomToFit": "Egin zoom elementu guztiak ikusteko",
"zoomToSelection": "Zooma hautapenera", "zoomToSelection": "Zooma hautapenera",
"toggleElementLock": "Blokeatu/desbloketatu hautapena" "toggleElementLock": "Blokeatu/desbloketatu hautapena",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Garbitu oihala" "title": "Garbitu oihala"
@ -391,7 +394,8 @@
"fileSaved": "Fitxategia gorde da.", "fileSaved": "Fitxategia gorde da.",
"fileSavedToFilename": "{filename}-n gorde da", "fileSavedToFilename": "{filename}-n gorde da",
"canvas": "oihala", "canvas": "oihala",
"selection": "hautapena" "selection": "hautapena",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "Zuria", "ffffff": "Zuria",
@ -439,5 +443,12 @@
"5c940d": "Lima 9", "5c940d": "Lima 9",
"e67700": "Horia 9", "e67700": "Horia 9",
"d9480f": "Laranja 9" "d9480f": "Laranja 9"
},
"welcomeScreen": {
"data": "Zure datu guztiak modu lokalean gordetzen dira zure nabigatzailean.",
"switchToPlusApp": "Horren ordez Excalidraw+-ra joan nahi al zenuen?",
"menuHints": "Esportatu, hobespenak, hizkuntzak,...",
"toolbarHints": "Aukeratu tresna bat eta hasi marrazten!",
"helpHints": "Lasterbideak eta laguntza"
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "جای گذاری", "paste": "جای گذاری",
"pasteAsPlaintext": "",
"pasteCharts": "قراردادن نمودارها", "pasteCharts": "قراردادن نمودارها",
"selectAll": "انتخاب همه", "selectAll": "انتخاب همه",
"multiSelect": "یک ایتم به انتخاب شده ها اضافه کنید.", "multiSelect": "یک ایتم به انتخاب شده ها اضافه کنید.",
@ -71,7 +72,7 @@
"layers": "لایه ها", "layers": "لایه ها",
"actions": "عملیات", "actions": "عملیات",
"language": "زبان", "language": "زبان",
"liveCollaboration": "همکاری زنده", "liveCollaboration": "همکاری آنلاین...",
"duplicateSelection": "تکرار", "duplicateSelection": "تکرار",
"untitled": "بدون عنوان", "untitled": "بدون عنوان",
"name": "نام", "name": "نام",
@ -115,8 +116,8 @@
"label": "لینک" "label": "لینک"
}, },
"lineEditor": { "lineEditor": {
"edit": "", "edit": "ویرایش لینک",
"exit": "" "exit": "خروج از ویرایشگر"
}, },
"elementLock": { "elementLock": {
"lock": "قفل", "lock": "قفل",
@ -125,18 +126,18 @@
"unlockAll": "باز کردن قفل همه" "unlockAll": "باز کردن قفل همه"
}, },
"statusPublished": "منتشر شده", "statusPublished": "منتشر شده",
"sidebarLock": "" "sidebarLock": "باز نگه داشتن سایدبار"
}, },
"library": { "library": {
"noItems": "", "noItems": "آیتمی به اینجا اضافه نشده...",
"hint_emptyLibrary": "", "hint_emptyLibrary": "یک آیتم روی بوم را برای اضافه شده به اینجا انتخاب کنید، یا یک کتابخانه از مخزن عمومی در بخش پایین را نصب کنید.",
"hint_emptyPrivateLibrary": "" "hint_emptyPrivateLibrary": "یک آیتم روی بوم را برای اضافه شدن به اینجا انتخاب کنید."
}, },
"buttons": { "buttons": {
"clearReset": "پاکسازی بوم نقاشی", "clearReset": "پاکسازی بوم نقاشی",
"exportJSON": "خروجی در فایل", "exportJSON": "خروجی در فایل",
"exportImage": "ذخیره به عنوان عکس", "exportImage": "خروجی گرفتن از تصویر...",
"export": "تبدیل", "export": "ذخیره در...",
"exportToPng": "تبدیل به PNG", "exportToPng": "تبدیل به PNG",
"exportToSvg": "تبدیل به SVG", "exportToSvg": "تبدیل به SVG",
"copyToClipboard": "کپی در حافظه موقت", "copyToClipboard": "کپی در حافظه موقت",
@ -144,7 +145,7 @@
"scale": "مقیاس", "scale": "مقیاس",
"save": "ذخیره در همین فایل", "save": "ذخیره در همین فایل",
"saveAs": "ذخیره با نام", "saveAs": "ذخیره با نام",
"load": "بارگذاری", "load": "باز کردن",
"getShareableLink": "دریافت لینک قابل اشتراک", "getShareableLink": "دریافت لینک قابل اشتراک",
"close": "بستن", "close": "بستن",
"selectLanguage": "انتخاب زبان", "selectLanguage": "انتخاب زبان",
@ -214,7 +215,7 @@
"text": "متن", "text": "متن",
"library": "کتابخانه", "library": "کتابخانه",
"lock": "ابزار انتخاب شده را بعد از کشیدن نگه دار", "lock": "ابزار انتخاب شده را بعد از کشیدن نگه دار",
"penMode": "از زوم کوچک کردن جلوگیری کنید و ورودی آزاد را فقط از قلم بپذیرید", "penMode": "حالت قلم - جلوگیری از تماس",
"link": "افزودن/به‌روزرسانی پیوند برای شکل انتخابی", "link": "افزودن/به‌روزرسانی پیوند برای شکل انتخابی",
"eraser": "پاک کن" "eraser": "پاک کن"
}, },
@ -235,7 +236,7 @@
"resize": "می توانید با نگه داشتن SHIFT در هنگام تغییر اندازه، نسبت ها را محدود کنید،ALT را برای تغییر اندازه از مرکز نگه دارید", "resize": "می توانید با نگه داشتن SHIFT در هنگام تغییر اندازه، نسبت ها را محدود کنید،ALT را برای تغییر اندازه از مرکز نگه دارید",
"resizeImage": "با نگه داشتن SHIFT می توانید آزادانه اندازه را تغییر دهید،\nبرای تغییر اندازه از مرکز، ALT را نگه دارید", "resizeImage": "با نگه داشتن SHIFT می توانید آزادانه اندازه را تغییر دهید،\nبرای تغییر اندازه از مرکز، ALT را نگه دارید",
"rotate": "با نگه داشتن SHIFT هنگام چرخش می توانید زاویه ها را محدود کنید", "rotate": "با نگه داشتن SHIFT هنگام چرخش می توانید زاویه ها را محدود کنید",
"lineEditor_info": "دوبار کلیک کنید یا Enter را فشار دهید تا نقاط را ویرایش کنید", "lineEditor_info": "",
"lineEditor_pointSelected": "برای حذف نقطه Delete برای کپی زدن Ctrl یا Cmd+D را بزنید و یا برای جابجایی بکشید", "lineEditor_pointSelected": "برای حذف نقطه Delete برای کپی زدن Ctrl یا Cmd+D را بزنید و یا برای جابجایی بکشید",
"lineEditor_nothingSelected": "یک نقطه را برای ویرایش انتخاب کنید (SHIFT را برای انتخاب چندگانه نگه دارید)،\nیا Alt را نگه دارید و برای افزودن نقاط جدید کلیک کنید", "lineEditor_nothingSelected": "یک نقطه را برای ویرایش انتخاب کنید (SHIFT را برای انتخاب چندگانه نگه دارید)،\nیا Alt را نگه دارید و برای افزودن نقاط جدید کلیک کنید",
"placeImage": "برای قرار دادن تصویر کلیک کنید، یا کلیک کنید و بکشید تا اندازه آن به صورت دستی تنظیم شود", "placeImage": "برای قرار دادن تصویر کلیک کنید، یا کلیک کنید و بکشید تا اندازه آن به صورت دستی تنظیم شود",
@ -310,7 +311,9 @@
"view": "مشاهده", "view": "مشاهده",
"zoomToFit": "بزرگنمایی برای دیدن تمام آیتم ها", "zoomToFit": "بزرگنمایی برای دیدن تمام آیتم ها",
"zoomToSelection": "بزرگنمایی قسمت انتخاب شده", "zoomToSelection": "بزرگنمایی قسمت انتخاب شده",
"toggleElementLock": "قفل/بازکردن انتخاب شده ها" "toggleElementLock": "قفل/بازکردن انتخاب شده ها",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "پاک کردن بوم" "title": "پاک کردن بوم"
@ -391,7 +394,8 @@
"fileSaved": "فایل ذخیره شد.", "fileSaved": "فایل ذخیره شد.",
"fileSavedToFilename": "ذخیره در {filename}", "fileSavedToFilename": "ذخیره در {filename}",
"canvas": "بوم", "canvas": "بوم",
"selection": "انتخاب" "selection": "انتخاب",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "سفید", "ffffff": "سفید",
@ -439,5 +443,12 @@
"5c940d": "لیمویی 9", "5c940d": "لیمویی 9",
"e67700": "زرد 9", "e67700": "زرد 9",
"d9480f": "نارنجی 9" "d9480f": "نارنجی 9"
},
"welcomeScreen": {
"data": "همه ی داده های شما به صورت محلی در مرورگر ذخیره میشود.",
"switchToPlusApp": "آیا ترجیح میدهید به Excalidraw+ بروید؟",
"menuHints": "خروجی گرفتن، تنظیمات، زبانها، ...",
"toolbarHints": "یک ابزار را انتخاب کنید و ترسیم را شروع کنید!",
"helpHints": "میانبرها و کمک"
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Liitä", "paste": "Liitä",
"pasteAsPlaintext": "",
"pasteCharts": "Liitä kaaviot", "pasteCharts": "Liitä kaaviot",
"selectAll": "Valitse kaikki", "selectAll": "Valitse kaikki",
"multiSelect": "Lisää kohde valintaan", "multiSelect": "Lisää kohde valintaan",
@ -71,7 +72,7 @@
"layers": "Tasot", "layers": "Tasot",
"actions": "Toiminnot", "actions": "Toiminnot",
"language": "Kieli", "language": "Kieli",
"liveCollaboration": "Live-yhteistyö", "liveCollaboration": "",
"duplicateSelection": "Monista", "duplicateSelection": "Monista",
"untitled": "Nimetön", "untitled": "Nimetön",
"name": "Nimi", "name": "Nimi",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "Tyhjennä piirtoalue", "clearReset": "Tyhjennä piirtoalue",
"exportJSON": "Vie tiedostoon", "exportJSON": "Vie tiedostoon",
"exportImage": "Tallenna kuvana", "exportImage": "",
"export": "Vie", "export": "",
"exportToPng": "Vie PNG-tiedostona", "exportToPng": "Vie PNG-tiedostona",
"exportToSvg": "Vie SVG-tiedostona", "exportToSvg": "Vie SVG-tiedostona",
"copyToClipboard": "Kopioi leikepöydälle", "copyToClipboard": "Kopioi leikepöydälle",
@ -144,7 +145,7 @@
"scale": "Koko", "scale": "Koko",
"save": "Tallenna nykyiseen tiedostoon", "save": "Tallenna nykyiseen tiedostoon",
"saveAs": "Tallenna nimellä", "saveAs": "Tallenna nimellä",
"load": "Avaa", "load": "",
"getShareableLink": "Hae jaettava linkki", "getShareableLink": "Hae jaettava linkki",
"close": "Sulje", "close": "Sulje",
"selectLanguage": "Valitse kieli", "selectLanguage": "Valitse kieli",
@ -214,7 +215,7 @@
"text": "Teksti", "text": "Teksti",
"library": "Kirjasto", "library": "Kirjasto",
"lock": "Pidä valittu työkalu aktiivisena piirron jälkeen", "lock": "Pidä valittu työkalu aktiivisena piirron jälkeen",
"penMode": "Estä nipistyszoomaus ja vastaanota ainoastaan kynällä piirretty", "penMode": "",
"link": "Lisää/päivitä linkki valitulle muodolle", "link": "Lisää/päivitä linkki valitulle muodolle",
"eraser": "Poistotyökalu" "eraser": "Poistotyökalu"
}, },
@ -235,7 +236,7 @@
"resize": "Voit rajoittaa mittasuhteet pitämällä SHIFT-näppäintä alaspainettuna kun muutat kokoa, pidä ALT-näppäintä alaspainettuna muuttaaksesi kokoa keskipisteen suhteen", "resize": "Voit rajoittaa mittasuhteet pitämällä SHIFT-näppäintä alaspainettuna kun muutat kokoa, pidä ALT-näppäintä alaspainettuna muuttaaksesi kokoa keskipisteen suhteen",
"resizeImage": "Voit muuttaa kokoa vapaasti pitämällä SHIFTiä pohjassa, pidä ALT pohjassa muuttaaksesi kokoa keskipisteen ympäri", "resizeImage": "Voit muuttaa kokoa vapaasti pitämällä SHIFTiä pohjassa, pidä ALT pohjassa muuttaaksesi kokoa keskipisteen ympäri",
"rotate": "Voit rajoittaa kulman pitämällä SHIFT pohjassa pyörittäessäsi", "rotate": "Voit rajoittaa kulman pitämällä SHIFT pohjassa pyörittäessäsi",
"lineEditor_info": "Kaksoisnapauta tai paina Enter muokataksesi pisteitä", "lineEditor_info": "",
"lineEditor_pointSelected": "Poista piste(et) painamalla delete, monista painamalla CtrlOrCmd+D, tai liikuta raahaamalla", "lineEditor_pointSelected": "Poista piste(et) painamalla delete, monista painamalla CtrlOrCmd+D, tai liikuta raahaamalla",
"lineEditor_nothingSelected": "Valitse muokattava piste (monivalinta pitämällä SHIFT pohjassa), tai paina Alt ja klikkaa lisätäksesi uusia pisteitä", "lineEditor_nothingSelected": "Valitse muokattava piste (monivalinta pitämällä SHIFT pohjassa), tai paina Alt ja klikkaa lisätäksesi uusia pisteitä",
"placeImage": "Klikkaa asettaaksesi kuvan, tai klikkaa ja raahaa asettaaksesi sen koon manuaalisesti", "placeImage": "Klikkaa asettaaksesi kuvan, tai klikkaa ja raahaa asettaaksesi sen koon manuaalisesti",
@ -310,7 +311,9 @@
"view": "Näkymä", "view": "Näkymä",
"zoomToFit": "Näytä kaikki elementit", "zoomToFit": "Näytä kaikki elementit",
"zoomToSelection": "Näytä valinta", "zoomToSelection": "Näytä valinta",
"toggleElementLock": "" "toggleElementLock": "",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Pyyhi piirtoalue" "title": "Pyyhi piirtoalue"
@ -391,7 +394,8 @@
"fileSaved": "Tiedosto tallennettu.", "fileSaved": "Tiedosto tallennettu.",
"fileSavedToFilename": "Tallennettiin kohteeseen {filename}", "fileSavedToFilename": "Tallennettiin kohteeseen {filename}",
"canvas": "piirtoalue", "canvas": "piirtoalue",
"selection": "valinta" "selection": "valinta",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "Valkoinen", "ffffff": "Valkoinen",
@ -439,5 +443,12 @@
"5c940d": "Limenvihreä 9", "5c940d": "Limenvihreä 9",
"e67700": "Keltainen 9", "e67700": "Keltainen 9",
"d9480f": "Oranssi 9" "d9480f": "Oranssi 9"
},
"welcomeScreen": {
"data": "",
"switchToPlusApp": "",
"menuHints": "",
"toolbarHints": "",
"helpHints": ""
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Coller", "paste": "Coller",
"pasteAsPlaintext": "",
"pasteCharts": "Coller les graphiques", "pasteCharts": "Coller les graphiques",
"selectAll": "Tout sélectionner", "selectAll": "Tout sélectionner",
"multiSelect": "Ajouter l'élément à la sélection", "multiSelect": "Ajouter l'élément à la sélection",
@ -44,7 +45,7 @@
"exportEmbedScene": "Intégrer la scène", "exportEmbedScene": "Intégrer la scène",
"exportEmbedScene_details": "Les données de scène seront enregistrées dans le fichier PNG/SVG exporté, afin que la scène puisse être restaurée à partir de celui-ci.\nCela augmentera la taille du fichier exporté.", "exportEmbedScene_details": "Les données de scène seront enregistrées dans le fichier PNG/SVG exporté, afin que la scène puisse être restaurée à partir de celui-ci.\nCela augmentera la taille du fichier exporté.",
"addWatermark": "Ajouter \"Réalisé avec Excalidraw\"", "addWatermark": "Ajouter \"Réalisé avec Excalidraw\"",
"handDrawn": "À la main", "handDrawn": "Manuscrit",
"normal": "Normale", "normal": "Normale",
"code": "Code", "code": "Code",
"small": "Petite", "small": "Petite",
@ -71,7 +72,7 @@
"layers": "Disposition", "layers": "Disposition",
"actions": "Actions", "actions": "Actions",
"language": "Langue", "language": "Langue",
"liveCollaboration": "Collaboration en direct", "liveCollaboration": "Collaboration en direct...",
"duplicateSelection": "Dupliquer", "duplicateSelection": "Dupliquer",
"untitled": "Sans-titre", "untitled": "Sans-titre",
"name": "Nom", "name": "Nom",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "Réinitialiser le canevas", "clearReset": "Réinitialiser le canevas",
"exportJSON": "Exporter comme fichier", "exportJSON": "Exporter comme fichier",
"exportImage": "Enregistrer comme image", "exportImage": "Exporter l'image...",
"export": "Exporter", "export": "Enregistrer sous...",
"exportToPng": "Enregistrer en PNG", "exportToPng": "Enregistrer en PNG",
"exportToSvg": "Enregistrer en SVG", "exportToSvg": "Enregistrer en SVG",
"copyToClipboard": "Copier dans le presse-papier", "copyToClipboard": "Copier dans le presse-papier",
@ -214,7 +215,7 @@
"text": "Texte", "text": "Texte",
"library": "Bibliothèque", "library": "Bibliothèque",
"lock": "Garder l'outil sélectionné actif après le dessin", "lock": "Garder l'outil sélectionné actif après le dessin",
"penMode": "Empêcher le zoom tactile et accepter la saisie libre uniquement à partir du stylet", "penMode": "Mode stylo - évite le toucher",
"link": "Ajouter/mettre à jour le lien pour une forme sélectionnée", "link": "Ajouter/mettre à jour le lien pour une forme sélectionnée",
"eraser": "Gomme" "eraser": "Gomme"
}, },
@ -235,7 +236,7 @@
"resize": "Vous pouvez conserver les proportions en maintenant la touche MAJ pendant le redimensionnement, maintenez la touche ALT pour redimensionner par rapport au centre", "resize": "Vous pouvez conserver les proportions en maintenant la touche MAJ pendant le redimensionnement, maintenez la touche ALT pour redimensionner par rapport au centre",
"resizeImage": "Vous pouvez redimensionner librement en maintenant SHIFT,\nmaintenez ALT pour redimensionner depuis le centre", "resizeImage": "Vous pouvez redimensionner librement en maintenant SHIFT,\nmaintenez ALT pour redimensionner depuis le centre",
"rotate": "Vous pouvez restreindre les angles en maintenant MAJ pendant la rotation", "rotate": "Vous pouvez restreindre les angles en maintenant MAJ pendant la rotation",
"lineEditor_info": "Double-cliquez ou appuyez sur Entrée pour éditer les points", "lineEditor_info": "",
"lineEditor_pointSelected": "Appuyer sur Suppr. pour supprimer des points, Ctrl ou Cmd+D pour dupliquer, ou faire glisser pour déplacer", "lineEditor_pointSelected": "Appuyer sur Suppr. pour supprimer des points, Ctrl ou Cmd+D pour dupliquer, ou faire glisser pour déplacer",
"lineEditor_nothingSelected": "Sélectionner un point pour éditer (maintenir la touche MAJ pour en sélectionner plusieurs),\nou maintenir la touche Alt enfoncée et cliquer pour ajouter de nouveaux points", "lineEditor_nothingSelected": "Sélectionner un point pour éditer (maintenir la touche MAJ pour en sélectionner plusieurs),\nou maintenir la touche Alt enfoncée et cliquer pour ajouter de nouveaux points",
"placeImage": "Cliquez pour placer l'image, ou cliquez et faites glisser pour définir sa taille manuellement", "placeImage": "Cliquez pour placer l'image, ou cliquez et faites glisser pour définir sa taille manuellement",
@ -310,7 +311,9 @@
"view": "Affichage", "view": "Affichage",
"zoomToFit": "Zoomer pour voir tous les éléments", "zoomToFit": "Zoomer pour voir tous les éléments",
"zoomToSelection": "Zoomer sur la sélection", "zoomToSelection": "Zoomer sur la sélection",
"toggleElementLock": "Verrouiller/déverrouiller la sélection" "toggleElementLock": "Verrouiller/déverrouiller la sélection",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Effacer la zone de dessin" "title": "Effacer la zone de dessin"
@ -391,7 +394,8 @@
"fileSaved": "Fichier enregistré.", "fileSaved": "Fichier enregistré.",
"fileSavedToFilename": "Enregistré sous {filename}", "fileSavedToFilename": "Enregistré sous {filename}",
"canvas": "canevas", "canvas": "canevas",
"selection": "sélection" "selection": "sélection",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "Blanc", "ffffff": "Blanc",
@ -439,5 +443,12 @@
"5c940d": "Citron vert 9", "5c940d": "Citron vert 9",
"e67700": "Jaune 9", "e67700": "Jaune 9",
"d9480f": "Orange 9" "d9480f": "Orange 9"
},
"welcomeScreen": {
"data": "Toutes vos données sont sauvegardées en local dans votre navigateur.",
"switchToPlusApp": "Vous vouliez plutôt aller à Excalidraw+ ?",
"menuHints": "Exportation, préférences, langues, ...",
"toolbarHints": "Choisissez un outil et commencez à dessiner !",
"helpHints": "Raccourcis et aide"
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Paste", "paste": "Pegar",
"pasteAsPlaintext": "",
"pasteCharts": "Pegar gráficos", "pasteCharts": "Pegar gráficos",
"selectAll": "Seleccionar todo", "selectAll": "Seleccionar todo",
"multiSelect": "Engadir elemento á selección", "multiSelect": "Engadir elemento á selección",
@ -42,9 +43,9 @@
"onlySelected": "Só seleccionados", "onlySelected": "Só seleccionados",
"withBackground": "Fondo", "withBackground": "Fondo",
"exportEmbedScene": "Inserir escena", "exportEmbedScene": "Inserir escena",
"exportEmbedScene_details": "", "exportEmbedScene_details": "Os datos da escena serán gardados no ficheiro PNG/SVG exportado polo que a escena poderá ser restaurada dende el. Isto aumentará o tamaño do ficheiro exportado.",
"addWatermark": "Engadir \"Feito con Excalidraw\"", "addWatermark": "Engadir \"Feito con Excalidraw\"",
"handDrawn": "Debuzado á man", "handDrawn": "Debuxado a man",
"normal": "Normal", "normal": "Normal",
"code": "Código", "code": "Código",
"small": "Pequeno", "small": "Pequeno",
@ -71,7 +72,7 @@
"layers": "Capas", "layers": "Capas",
"actions": "Accións", "actions": "Accións",
"language": "Idioma", "language": "Idioma",
"liveCollaboration": "Colaboración en directo", "liveCollaboration": "Colaboración en directo...",
"duplicateSelection": "Duplicar", "duplicateSelection": "Duplicar",
"untitled": "Sen título", "untitled": "Sen título",
"name": "Nome", "name": "Nome",
@ -95,8 +96,8 @@
"centerHorizontally": "Centrar horizontalmente", "centerHorizontally": "Centrar horizontalmente",
"distributeHorizontally": "Distribuír horizontalmente", "distributeHorizontally": "Distribuír horizontalmente",
"distributeVertically": "Distribuír verticalmente", "distributeVertically": "Distribuír verticalmente",
"flipHorizontal": "", "flipHorizontal": "Virar horizontalmente",
"flipVertical": "", "flipVertical": "Virar verticalmente",
"viewMode": "Modo de visualización", "viewMode": "Modo de visualización",
"toggleExportColorScheme": "Alternar esquema de cores de exportación", "toggleExportColorScheme": "Alternar esquema de cores de exportación",
"share": "Compartir", "share": "Compartir",
@ -115,8 +116,8 @@
"label": "Ligazón" "label": "Ligazón"
}, },
"lineEditor": { "lineEditor": {
"edit": "", "edit": "Editar liña",
"exit": "" "exit": "Saír do editor de liñas"
}, },
"elementLock": { "elementLock": {
"lock": "Bloquear", "lock": "Bloquear",
@ -129,14 +130,14 @@
}, },
"library": { "library": {
"noItems": "Aínda non hai elementos engadidos...", "noItems": "Aínda non hai elementos engadidos...",
"hint_emptyLibrary": "", "hint_emptyLibrary": "Seleccione un elemento no lenzo para engadilo aquí, ou instale unha biblioteca dende o repositorio público, como se detalla a continuación.",
"hint_emptyPrivateLibrary": "" "hint_emptyPrivateLibrary": "Seleccione un elemento do lenzo para engadilo aquí."
}, },
"buttons": { "buttons": {
"clearReset": "Limpar o lenzo", "clearReset": "Limpar o lenzo",
"exportJSON": "Exportar a arquivo", "exportJSON": "Exportar a arquivo",
"exportImage": "Gardar como imaxe", "exportImage": "Exportar imaxe...",
"export": "Exportar", "export": "Gardar en...",
"exportToPng": "Exportar a PNG", "exportToPng": "Exportar a PNG",
"exportToSvg": "Exportar a SVG", "exportToSvg": "Exportar a SVG",
"copyToClipboard": "Copiar ao portapapeis", "copyToClipboard": "Copiar ao portapapeis",
@ -144,7 +145,7 @@
"scale": "Escala", "scale": "Escala",
"save": "Gardar no ficheiro actual", "save": "Gardar no ficheiro actual",
"saveAs": "Gardar como", "saveAs": "Gardar como",
"load": "Cargar", "load": "Abrir",
"getShareableLink": "Obter unha ligazón que se poida compartir", "getShareableLink": "Obter unha ligazón que se poida compartir",
"close": "Pechar", "close": "Pechar",
"selectLanguage": "Seleccionar idioma", "selectLanguage": "Seleccionar idioma",
@ -176,35 +177,35 @@
"couldNotCreateShareableLink": "Non se puido crear unha ligazón para compartir.", "couldNotCreateShareableLink": "Non se puido crear unha ligazón para compartir.",
"couldNotCreateShareableLinkTooBig": "Non se puido crear a ligazón para compartir: a escena é demasiado grande", "couldNotCreateShareableLinkTooBig": "Non se puido crear a ligazón para compartir: a escena é demasiado grande",
"couldNotLoadInvalidFile": "Non se puido cargar o ficheiro non válido", "couldNotLoadInvalidFile": "Non se puido cargar o ficheiro non válido",
"importBackendFailed": "", "importBackendFailed": "A importación dende o backend fallou.",
"cannotExportEmptyCanvas": "", "cannotExportEmptyCanvas": "Non se pode exportar un lenzo baleiro.",
"couldNotCopyToClipboard": "", "couldNotCopyToClipboard": "Non se puido copiar ao portapapeis.",
"decryptFailed": "Non se poideron descifrar os datos.", "decryptFailed": "Non se poideron descifrar os datos.",
"uploadedSecurly": "A carga foi asegurada con cifrado de extremo a extremo, o que significa que o servidor de Excalidraw e terceiros non poder ler o contenido.", "uploadedSecurly": "A carga foi asegurada con cifrado de extremo a extremo, o que significa que o servidor de Excalidraw e terceiros non poden ler o contido.",
"loadSceneOverridePrompt": "Si carga este debuxo externo, reemprazará o que ten. ¿Desexa continuar?", "loadSceneOverridePrompt": "A carga dun debuxo externo substituirá o contido existente. Desexa continuar?",
"collabStopOverridePrompt": "", "collabStopOverridePrompt": "Deter a sesión, sobrescribirá o seu debuxo local previamente almacenado. Está seguro?\n\n(Se quere manter o seu debuxo local, simplemente peche a lapela do navegador.)",
"errorAddingToLibrary": "", "errorAddingToLibrary": "Non se puido engadir o elemento á biblioteca",
"errorRemovingFromLibrary": "", "errorRemovingFromLibrary": "Non se puido eliminar o elemento da biblioteca",
"confirmAddLibrary": "", "confirmAddLibrary": "Isto engadirá {{numShapes}} forma(s) a túa biblioteca. Estás seguro?",
"imageDoesNotContainScene": "", "imageDoesNotContainScene": "Esta imaxe non parece conter ningún dato da escena. Activou a inserción de escenas durante a exportación?",
"cannotRestoreFromImage": "", "cannotRestoreFromImage": "Non se puido restaurar a escena dende este arquivo de imaxe",
"invalidSceneUrl": "", "invalidSceneUrl": "Non se puido importar a escena dende a URL proporcionada. Ou ben está malformada ou non contén un JSON con información válida para Excalidraw.",
"resetLibrary": "", "resetLibrary": "Isto limpará a súa biblioteca. Está seguro?",
"removeItemsFromsLibrary": "", "removeItemsFromsLibrary": "Eliminar {{count}} elemento(s) da biblioteca?",
"invalidEncryptionKey": "" "invalidEncryptionKey": "A clave de cifrado debe ter 22 caracteres. A colaboración en directo está desactivada."
}, },
"errors": { "errors": {
"unsupportedFileType": "", "unsupportedFileType": "Tipo de ficheiro non soportado.",
"imageInsertError": "", "imageInsertError": "Non se puido inserir a imaxe. Probe de novo máis tarde...",
"fileTooBig": "", "fileTooBig": "O ficheiro é demasiado grande. O tamaño máximo permitido é {{maxSize}}.",
"svgImageInsertError": "", "svgImageInsertError": "Non se puido inserir como imaxe SVG. O marcado SVG semella inválido.",
"invalidSVGString": "", "invalidSVGString": "SVG inválido.",
"cannotResolveCollabServer": "", "cannotResolveCollabServer": "Non se puido conectar ao servidor de colaboración. Por favor recargue a páxina e probe de novo.",
"importLibraryError": "" "importLibraryError": "Non se puido cargar a biblioteca"
}, },
"toolBar": { "toolBar": {
"selection": "Selección", "selection": "Selección",
"image": "", "image": "Inserir imaxe",
"rectangle": "Rectángulo", "rectangle": "Rectángulo",
"diamond": "Diamante", "diamond": "Diamante",
"ellipse": "Elipse", "ellipse": "Elipse",
@ -214,230 +215,240 @@
"text": "Texto", "text": "Texto",
"library": "Biblioteca", "library": "Biblioteca",
"lock": "Manter a ferramenta seleccionada activa despois de debuxar", "lock": "Manter a ferramenta seleccionada activa despois de debuxar",
"penMode": "", "penMode": "Modo lapis - evitar o contacto",
"link": "", "link": "Engadir/ Actualizar ligazón para a forma seleccionada",
"eraser": "" "eraser": "Goma de borrar"
}, },
"headings": { "headings": {
"canvasActions": "Accións do lenzo", "canvasActions": "Accións do lenzo",
"selectedShapeActions": "", "selectedShapeActions": "Accións da forma seleccionada",
"shapes": "" "shapes": "Formas"
}, },
"hints": { "hints": {
"canvasPanning": "", "canvasPanning": "Para mover o lenzo, manteña a roda do rato ou a barra de espazo mentres arrastra",
"linearElement": "", "linearElement": "Faga clic para iniciar varios puntos, arrastre para unha sola liña",
"freeDraw": "", "freeDraw": "Fai clic e arrastra, solta cando acabes",
"text": "", "text": "Consello: tamén podes engadir texto facendo dobre-clic en calquera lugar coa ferramenta de selección",
"text_selected": "", "text_selected": "Dobre-clic ou prema ENTER para editar o texto",
"text_editing": "", "text_editing": "Prema Escape ou CtrlOrCmd+ENTER para finalizar a edición",
"linearElementMulti": "", "linearElementMulti": "Faga clic no último punto ou prema Escape ou Enter para rematar",
"lockAngle": "", "lockAngle": "Pode reducir o ángulo mantendo SHIFT",
"resize": "", "resize": "Pode reducir as proporcións mantendo SHIFT mentres axusta o tamaño,\nmanteña ALT para axustalo dende o centro",
"resizeImage": "", "resizeImage": "Pode axustar o tamaño libremente mantendo SHIFT,\nmanteña ALT para axustalo dende o centro",
"rotate": "", "rotate": "Podes reducir os ángulos mantendo SHIFT mentres os rotas",
"lineEditor_info": "", "lineEditor_info": "",
"lineEditor_pointSelected": "", "lineEditor_pointSelected": "Prema Suprimir para eliminar o(s) punto(s)\nCtrlOrCmd+D para duplicalos, ou arrastre para movelos",
"lineEditor_nothingSelected": "", "lineEditor_nothingSelected": "Seleccione un punto para editar (manteña pulsado SHIFT para selección múltiple),\nou manteña pulsado Alt e faga clic para engadir novos puntos",
"placeImage": "", "placeImage": "Faga clic para colocar a imaxe, ou faga clic e arrastre para establecer o seu tamaño manualmente",
"publishLibrary": "", "publishLibrary": "Publica a túa propia biblioteca",
"bindTextToElement": "", "bindTextToElement": "Prema a tecla enter para engadir texto",
"deepBoxSelect": "", "deepBoxSelect": "Manteña pulsado CtrlOrCmd para seleccionar en profundidade e evitar o arrastre",
"eraserRevert": "" "eraserRevert": "Manteña pulsado Alt para reverter os elementos marcados para a súa eliminación"
}, },
"canvasError": { "canvasError": {
"cannotShowPreview": "", "cannotShowPreview": "Non se pode mostrar a vista previa",
"canvasTooBig": "", "canvasTooBig": "Pode que o lenzo sexa demasiado grande.",
"canvasTooBigTip": "" "canvasTooBigTip": "Consello: Probe a acercar un pouco os elementos máis afastados."
}, },
"errorSplash": { "errorSplash": {
"headingMain_pre": "", "headingMain_pre": "Atopouse un erro. Probe ",
"headingMain_button": "", "headingMain_button": "recargando a páxina.",
"clearCanvasMessage": "", "clearCanvasMessage": "Se recargar non funcionou, probe ",
"clearCanvasMessage_button": "", "clearCanvasMessage_button": "limpando o lenzo.",
"clearCanvasCaveat": "", "clearCanvasCaveat": " Isto resultará nunha perda do seu traballo ",
"trackedToSentry_pre": "", "trackedToSentry_pre": "O erro con identificador ",
"trackedToSentry_post": "", "trackedToSentry_post": " foi rastrexado no noso sistema.",
"openIssueMessage_pre": "", "openIssueMessage_pre": "Fomos moi cautelosos de non incluír a información da súa escena no erro. Se a súa escena non é privada, por favor, considere o seguimento do noso ",
"openIssueMessage_button": "", "openIssueMessage_button": "rastrexador de erros.",
"openIssueMessage_post": "", "openIssueMessage_post": " Por favor inclúa a seguinte información copiándoa e pegándoa na issue de Github.",
"sceneContent": "" "sceneContent": "Contido da escena:"
}, },
"roomDialog": { "roomDialog": {
"desc_intro": "", "desc_intro": "Podes invitar xente a colaborar contigo na túa escena actual.",
"desc_privacy": "", "desc_privacy": "Non te preocupes, a sesión usa cifrado de punto a punto, polo que calquera cousa que debuxes mantense privada. Nin tan sequera o noso servidor será capaz de ver o que fas.",
"button_startSession": "", "button_startSession": "Comezar sesión",
"button_stopSession": "", "button_stopSession": "Rematar sesión",
"desc_inProgressIntro": "", "desc_inProgressIntro": "A sesión de colaboración en directo está agora en progreso.",
"desc_shareLink": "", "desc_shareLink": "Comparte esta ligazón con calquera que queiras colaborar:",
"desc_exitSession": "", "desc_exitSession": "Deter a sesión desconectarao da sala, pero poderá seguir traballando coa escena de maneira local. Teña en conta que isto non afectará a outras persoas, que poderán seguir colaborando na súa versión.",
"shareTitle": "" "shareTitle": "Únase a unha sesión de colaboración en directo en Excalidraw"
}, },
"errorDialog": { "errorDialog": {
"title": "Erro" "title": "Erro"
}, },
"exportDialog": { "exportDialog": {
"disk_title": "", "disk_title": "Gardar no disco",
"disk_details": "", "disk_details": "Exporte os datos da escena a un ficheiro que poderás importar máis tarde.",
"disk_button": "", "disk_button": "Gardar nun ficheiro",
"link_title": "", "link_title": "Ligazón para compartir",
"link_details": "", "link_details": "Exportar como unha ligazón de só lectura.",
"link_button": "", "link_button": "Exportar a unha ligazón",
"excalidrawplus_description": "", "excalidrawplus_description": "Garde a escena no seu espazo de traballo en Excalidraw+.",
"excalidrawplus_button": "", "excalidrawplus_button": "Exportar",
"excalidrawplus_exportError": "" "excalidrawplus_exportError": "Non se puido exportar a Excalidraw+ neste momento..."
}, },
"helpDialog": { "helpDialog": {
"blog": "", "blog": "Le o noso blog",
"click": "", "click": "clic",
"deepSelect": "", "deepSelect": "Selección en profundidade",
"deepBoxSelect": "", "deepBoxSelect": "Selección en profundidade dentro da caixa, evitando o arrastre",
"curvedArrow": "", "curvedArrow": "Frecha curva",
"curvedLine": "", "curvedLine": "Liña curva",
"documentation": "", "documentation": "Documentación",
"doubleClick": "", "doubleClick": "dobre-clic",
"drag": "", "drag": "arrastrar",
"editor": "", "editor": "Editor",
"editSelectedShape": "", "editSelectedShape": "Editar a forma seleccionada (texto/frecha/liña)",
"github": "", "github": "Encontrou un problema? Envíeo",
"howto": "", "howto": "Sigue as nosas normas",
"or": "", "or": "ou",
"preventBinding": "", "preventBinding": "Evitar a unión de frechas",
"tools": "", "tools": "Ferramentas",
"shortcuts": "", "shortcuts": "Atallos de teclado",
"textFinish": "", "textFinish": "Rematar de editar (editor de texto)",
"textNewLine": "", "textNewLine": "Engadir unha nova liña (editor de texto)",
"title": "", "title": "Axuda",
"view": "", "view": "Vista",
"zoomToFit": "", "zoomToFit": "Zoom que se axuste a todos os elementos",
"zoomToSelection": "", "zoomToSelection": "Zoom á selección",
"toggleElementLock": "" "toggleElementLock": "Bloquear/desbloquear selección",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "" "title": "Limpar lenzo"
}, },
"publishDialog": { "publishDialog": {
"title": "", "title": "Publicar biblioteca",
"itemName": "", "itemName": "Nome do elemento",
"authorName": "", "authorName": "Nome do autor",
"githubUsername": "", "githubUsername": "Nome de usuario en Github",
"twitterUsername": "", "twitterUsername": "Nome de usuario en Twitter",
"libraryName": "", "libraryName": "Nome da biblioteca",
"libraryDesc": "", "libraryDesc": "Descrición da biblioteca",
"website": "", "website": "Páxina web",
"placeholder": { "placeholder": {
"authorName": "", "authorName": "O seu nome ou nome de usuario",
"libraryName": "", "libraryName": "Nome da súa biblioteca",
"libraryDesc": "", "libraryDesc": "Descrición da súa biblioteca para axudar a xente a entender o seu uso",
"githubHandle": "", "githubHandle": "Nome de usuario de GitHub (opcional), así poderás editar a biblioteca unha vez enviada para a súa revisión",
"twitterHandle": "", "twitterHandle": "Nome de usuario en Twitter(opcional), así sabemos a quen darlle crédito cando se lle de promoción a través de Twitter",
"website": "" "website": "Ligazón ao teu sitio web persoal ou a outro sitio (opcional)"
}, },
"errors": { "errors": {
"required": "", "required": "Obrigatorio",
"website": "" "website": "Introduza unha URL válida"
}, },
"noteDescription": { "noteDescription": {
"pre": "", "pre": "Envíe a súa biblioteca para que sexa incluída no ",
"link": "", "link": "repositorio público de bibliotecas",
"post": "" "post": "para que outra xente a poida usar nos seus debuxos."
}, },
"noteGuidelines": { "noteGuidelines": {
"pre": "", "pre": "A biblioteca necesita ser aprobada manualmente primeiro. Por favor, lea as ",
"link": "", "link": "normas",
"post": "" "post": " antes de ser enviado. Necesitarás unha conta de GitHub para comunicarte ou facer cambios se se solicitan, pero non é estritamente necesario."
}, },
"noteLicense": { "noteLicense": {
"pre": "", "pre": "Ao enviar, estás de acordo con que a biblioteca sexa publicada baixo a ",
"link": "", "link": "Licenza MIT, ",
"post": "" "post": "o cal significa que, en resumo, calquera pode usalo sen restricións."
}, },
"noteItems": "", "noteItems": "Cada elemento da biblioteca debe ter o seu nome propio para que se poida filtrar. Os seguintes elementos da biblioteca serán incluídos:",
"atleastOneLibItem": "", "atleastOneLibItem": "Por favor seleccione polo menos un elemento da biblioteca para comezar",
"republishWarning": "" "republishWarning": "Nota: algúns dos elementos seleccionados están marcados como xa publicados/enviados. Só deberías reenviar elementos cando se actualice unha biblioteca ou envío."
}, },
"publishSuccessDialog": { "publishSuccessDialog": {
"title": "", "title": "Biblioteca enviada",
"content": "", "content": "Grazas {{authorName}}. A súa biblioteca foi enviada para ser revisada. Pode seguir o estado",
"link": "" "link": "aquí"
}, },
"confirmDialog": { "confirmDialog": {
"resetLibrary": "", "resetLibrary": "Restablecer biblioteca",
"removeItemsFromLib": "" "removeItemsFromLib": "Eliminar os elementos seleccionados da biblioteca"
}, },
"encrypted": { "encrypted": {
"tooltip": "", "tooltip": "Os teus debuxos están cifrados de punto a punto, polo que os servidores de Excalidraw nunca os verán.",
"link": "" "link": "Entrada do blog acerca do cifrado de punto a punto en Excalidraw"
}, },
"stats": { "stats": {
"angle": "", "angle": "Ángulo",
"element": "", "element": "Elemento",
"elements": "", "elements": "Elementos",
"height": "", "height": "Alto",
"scene": "", "scene": "Escena",
"selected": "", "selected": "Seleccionado",
"storage": "", "storage": "Almacenamento",
"title": "", "title": "Estadísticas para nerds",
"total": "", "total": "Total",
"version": "", "version": "Versión",
"versionCopy": "", "versionCopy": "Faga clic para copiar",
"versionNotAvailable": "", "versionNotAvailable": "Versión non dispoñible",
"width": "" "width": "Ancho"
}, },
"toast": { "toast": {
"addedToLibrary": "", "addedToLibrary": "Engadido á biblioteca",
"copyStyles": "", "copyStyles": "Estilos copiados.",
"copyToClipboard": "", "copyToClipboard": "Copiado ao portapapeis.",
"copyToClipboardAsPng": "", "copyToClipboardAsPng": "Copiar {{exportSelection}} ao portapapeis como PNG\n({{exportColorScheme}})",
"fileSaved": "", "fileSaved": "Ficheiro gardado.",
"fileSavedToFilename": "", "fileSavedToFilename": "Gardado en {filename}",
"canvas": "", "canvas": "lenzo",
"selection": "" "selection": "selección",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "", "ffffff": "Branco",
"f8f9fa": "", "f8f9fa": "Gris 0",
"f1f3f5": "", "f1f3f5": "Gris 1",
"fff5f5": "", "fff5f5": "Vermello 0",
"fff0f6": "", "fff0f6": "Rosa 0",
"f8f0fc": "", "f8f0fc": "Uva 0",
"f3f0ff": "", "f3f0ff": "Violeta 0",
"edf2ff": "", "edf2ff": "Índigo 0",
"e7f5ff": "", "e7f5ff": "Azul 0",
"e3fafc": "", "e3fafc": "Ciano 0",
"e6fcf5": "", "e6fcf5": "Turquesa 0",
"ebfbee": "", "ebfbee": "Verde 0",
"f4fce3": "", "f4fce3": "Lima 0",
"fff9db": "", "fff9db": "Amarelo 0",
"fff4e6": "", "fff4e6": "Laranxa 0",
"transparent": "", "transparent": "Transparente",
"ced4da": "", "ced4da": "Gris 4",
"868e96": "", "868e96": "Gris 6",
"fa5252": "", "fa5252": "Vermello 6",
"e64980": "", "e64980": "Rosa 6",
"be4bdb": "", "be4bdb": "Uva 6",
"7950f2": "", "7950f2": "Violeta 6",
"4c6ef5": "", "4c6ef5": "Índigo 6",
"228be6": "", "228be6": "Azul 6",
"15aabf": "", "15aabf": "Ciano 6",
"12b886": "", "12b886": "Turquesa 6",
"40c057": "", "40c057": "Verde 6",
"82c91e": "", "82c91e": "Lima 6",
"fab005": "", "fab005": "Amarelo 6",
"fd7e14": "", "fd7e14": "Laranxa 6",
"000000": "", "000000": "Negro",
"343a40": "", "343a40": "Gris 8",
"495057": "", "495057": "Gris 7",
"c92a2a": "", "c92a2a": "Vermello 9",
"a61e4d": "", "a61e4d": "Rosa 9",
"862e9c": "", "862e9c": "Uva 9",
"5f3dc4": "", "5f3dc4": "Violeta 9",
"364fc7": "", "364fc7": "Índigo 9",
"1864ab": "", "1864ab": "Azul 9",
"0b7285": "", "0b7285": "Ciano 9",
"087f5b": "", "087f5b": "Turquesa 9",
"2b8a3e": "", "2b8a3e": "Verde 9",
"5c940d": "", "5c940d": "Lima 9",
"e67700": "", "e67700": "Amarelo 9",
"d9480f": "" "d9480f": "Laranxa 9"
},
"welcomeScreen": {
"data": "Toda a información é gardada de maneira local no seu navegador.",
"switchToPlusApp": "Queres ir a Excalidraw+ no seu lugar?",
"menuHints": "Exportar, preferencias, idiomas, ...",
"toolbarHints": "Escolle unha ferramenta & Comeza a debuxar!",
"helpHints": "Atallos & axuda"
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "הדבק", "paste": "הדבק",
"pasteAsPlaintext": "",
"pasteCharts": "הדבק גרפים", "pasteCharts": "הדבק גרפים",
"selectAll": "בחר הכל", "selectAll": "בחר הכל",
"multiSelect": "הוסף אובייקט לבחירה", "multiSelect": "הוסף אובייקט לבחירה",
@ -71,7 +72,7 @@
"layers": "שכבות", "layers": "שכבות",
"actions": "פעולות", "actions": "פעולות",
"language": "שפה", "language": "שפה",
"liveCollaboration": "התחל שיתוף חי", "liveCollaboration": "",
"duplicateSelection": "שכפל", "duplicateSelection": "שכפל",
"untitled": "ללא כותרת", "untitled": "ללא כותרת",
"name": "שם", "name": "שם",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "אפס את הלוח", "clearReset": "אפס את הלוח",
"exportJSON": "ייצא לקובץ", "exportJSON": "ייצא לקובץ",
"exportImage": "שמירה כתמונה", "exportImage": "ייצוא התמונה...",
"export": "ייצא", "export": "שמור ל...",
"exportToPng": "יצא ל PNG", "exportToPng": "יצא ל PNG",
"exportToSvg": "יצא ל SVG", "exportToSvg": "יצא ל SVG",
"copyToClipboard": "העתק ללוח", "copyToClipboard": "העתק ללוח",
@ -144,7 +145,7 @@
"scale": "קנה מידה", "scale": "קנה מידה",
"save": "שמירת קובץ נוכחי", "save": "שמירת קובץ נוכחי",
"saveAs": "שמירה בשם", "saveAs": "שמירה בשם",
"load": "טען", "load": "פתח",
"getShareableLink": "קבל קישור לשיתוף", "getShareableLink": "קבל קישור לשיתוף",
"close": "סגור", "close": "סגור",
"selectLanguage": "בחר שפה", "selectLanguage": "בחר שפה",
@ -235,7 +236,7 @@
"resize": "ניתן להגביל פרופורציות על ידי לחיצה על SHIFT תוך כדי שינוי גודל,\nהחזק ALT בשביל לשנות גודל ביחס למרכז", "resize": "ניתן להגביל פרופורציות על ידי לחיצה על SHIFT תוך כדי שינוי גודל,\nהחזק ALT בשביל לשנות גודל ביחס למרכז",
"resizeImage": "", "resizeImage": "",
"rotate": "ניתן להגביל זוויות על ידי לחיצה על SHIFT תוך כדי סיבוב", "rotate": "ניתן להגביל זוויות על ידי לחיצה על SHIFT תוך כדי סיבוב",
"lineEditor_info": "לחץ לחיצה כפולה או אנטר לעריכת הנקודות", "lineEditor_info": "",
"lineEditor_pointSelected": "", "lineEditor_pointSelected": "",
"lineEditor_nothingSelected": "", "lineEditor_nothingSelected": "",
"placeImage": "", "placeImage": "",
@ -310,7 +311,9 @@
"view": "תצוגה", "view": "תצוגה",
"zoomToFit": "גלילה להצגת כל האלמנטים במסך", "zoomToFit": "גלילה להצגת כל האלמנטים במסך",
"zoomToSelection": "התמקד בבחירה", "zoomToSelection": "התמקד בבחירה",
"toggleElementLock": "נעילה/ביטול הנעילה של הרכיבים הנבחרים" "toggleElementLock": "נעילה/ביטול הנעילה של הרכיבים הנבחרים",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "ניקוי הקנבס" "title": "ניקוי הקנבס"
@ -391,7 +394,8 @@
"fileSaved": "קובץ נשמר.", "fileSaved": "קובץ נשמר.",
"fileSavedToFilename": "נשמר לקובץ {filename}", "fileSavedToFilename": "נשמר לקובץ {filename}",
"canvas": "משטח ציור", "canvas": "משטח ציור",
"selection": "בחירה" "selection": "בחירה",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "לבן", "ffffff": "לבן",
@ -439,5 +443,12 @@
"5c940d": "ליים 9", "5c940d": "ליים 9",
"e67700": "ירוק 9", "e67700": "ירוק 9",
"d9480f": "כתום 9" "d9480f": "כתום 9"
},
"welcomeScreen": {
"data": "",
"switchToPlusApp": "",
"menuHints": "",
"toolbarHints": "",
"helpHints": ""
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "चिपकाएँ", "paste": "चिपकाएँ",
"pasteAsPlaintext": "",
"pasteCharts": "चार्ट चिपकाएँ", "pasteCharts": "चार्ट चिपकाएँ",
"selectAll": "सभी चुनें", "selectAll": "सभी चुनें",
"multiSelect": "आकार को चयन में जोड़ें", "multiSelect": "आकार को चयन में जोड़ें",
@ -52,7 +53,7 @@
"large": "बड़ा", "large": "बड़ा",
"veryLarge": "बहुत बड़ा", "veryLarge": "बहुत बड़ा",
"solid": "दृढ़", "solid": "दृढ़",
"hachure": "हाचुरे", "hachure": "हैशूर",
"crossHatch": "क्रॉस हैच", "crossHatch": "क्रॉस हैच",
"thin": "पतला", "thin": "पतला",
"bold": "मोटा", "bold": "मोटा",
@ -71,7 +72,7 @@
"layers": "परतें", "layers": "परतें",
"actions": "कार्रवाई", "actions": "कार्रवाई",
"language": "भाषा", "language": "भाषा",
"liveCollaboration": "जीवंत सहयोग", "liveCollaboration": "जीवंत सहयोग...",
"duplicateSelection": "डुप्लिकेट", "duplicateSelection": "डुप्लिकेट",
"untitled": "अशीर्षित", "untitled": "अशीर्षित",
"name": "नाम", "name": "नाम",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "कैनवास रीसेट करें", "clearReset": "कैनवास रीसेट करें",
"exportJSON": "", "exportJSON": "",
"exportImage": "", "exportImage": "प्रतिमा निर्यात करे...",
"export": "निर्यात", "export": "यंहा सुरक्षित करे...",
"exportToPng": "पीएनजी के रूप में निर्यात करे", "exportToPng": "पीएनजी के रूप में निर्यात करे",
"exportToSvg": "Svg के रूप में निर्यात करे", "exportToSvg": "Svg के रूप में निर्यात करे",
"copyToClipboard": "क्लिपबोर्ड पर प्रतिलिपि बनाएँ", "copyToClipboard": "क्लिपबोर्ड पर प्रतिलिपि बनाएँ",
@ -144,7 +145,7 @@
"scale": "पैमाना", "scale": "पैमाना",
"save": "", "save": "",
"saveAs": "सेव करे इस तरह", "saveAs": "सेव करे इस तरह",
"load": "लोड करें", "load": "खोलें",
"getShareableLink": "साझा करने योग्य लिंक प्राप्त करें", "getShareableLink": "साझा करने योग्य लिंक प्राप्त करें",
"close": "बंद करें", "close": "बंद करें",
"selectLanguage": "भाषा चुनें", "selectLanguage": "भाषा चुनें",
@ -214,7 +215,7 @@
"text": "पाठ", "text": "पाठ",
"library": "लाइब्रेरी", "library": "लाइब्रेरी",
"lock": "ड्राइंग के बाद चयनित टूल को सक्रिय रखें", "lock": "ड्राइंग के बाद चयनित टूल को सक्रिय रखें",
"penMode": "", "penMode": "पेन का मोड - स्पर्श टाले",
"link": "", "link": "",
"eraser": "रबड़" "eraser": "रबड़"
}, },
@ -235,7 +236,7 @@
"resize": "आकार बदलते समय आप SHIFT को पकड़ कर अनुपात में कमी कर सकते हैं,\nकेंद्र से आकार बदलने के लिए ALT दबाए रखें", "resize": "आकार बदलते समय आप SHIFT को पकड़ कर अनुपात में कमी कर सकते हैं,\nकेंद्र से आकार बदलने के लिए ALT दबाए रखें",
"resizeImage": "", "resizeImage": "",
"rotate": "आप घूर्णन करते समय SHIFT पकड़कर कोणों को विवश कर सकते हैं", "rotate": "आप घूर्णन करते समय SHIFT पकड़कर कोणों को विवश कर सकते हैं",
"lineEditor_info": "बिंदुओं को संपादित करने के लिए Enter पर डबल-क्लिक करें या दबाएँ", "lineEditor_info": "",
"lineEditor_pointSelected": "", "lineEditor_pointSelected": "",
"lineEditor_nothingSelected": "", "lineEditor_nothingSelected": "",
"placeImage": "", "placeImage": "",
@ -310,7 +311,9 @@
"view": "दृश्य", "view": "दृश्य",
"zoomToFit": "सभी तत्वों को फिट करने के लिए ज़ूम करें", "zoomToFit": "सभी तत्वों को फिट करने के लिए ज़ूम करें",
"zoomToSelection": "चयन तक ज़ूम करे", "zoomToSelection": "चयन तक ज़ूम करे",
"toggleElementLock": "ताले के अंदर/बाहर चुनाव" "toggleElementLock": "ताले के अंदर/बाहर चुनाव",
"movePageUpDown": "पृष्ठ ऊपर/नीचे करे",
"movePageLeftRight": "पृष्ठ बायी/दायी तरफ करे"
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "" "title": ""
@ -391,7 +394,8 @@
"fileSaved": "", "fileSaved": "",
"fileSavedToFilename": "", "fileSavedToFilename": "",
"canvas": "", "canvas": "",
"selection": "" "selection": "",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "सफेद", "ffffff": "सफेद",
@ -439,5 +443,12 @@
"5c940d": "", "5c940d": "",
"e67700": "पीला", "e67700": "पीला",
"d9480f": "नारंगी" "d9480f": "नारंगी"
},
"welcomeScreen": {
"data": "आपका सर्व डेटा ब्राउज़र के भीतर स्थानिक जगह पे सुरक्षित किया गया.",
"switchToPlusApp": "बजाय आपको Excalidraw+ जगह जाना है?",
"menuHints": "निर्यात, पसंद, भाषायें, ...",
"toolbarHints": "औजार चुने और चित्रकारी प्रारंभ करे!",
"helpHints": "शॉर्ट्कट & सहाय्य"
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Beillesztés", "paste": "Beillesztés",
"pasteAsPlaintext": "",
"pasteCharts": "Grafikon beillesztése", "pasteCharts": "Grafikon beillesztése",
"selectAll": "Összes kijelölése", "selectAll": "Összes kijelölése",
"multiSelect": "Elem hozzáadása a kijelöléshez", "multiSelect": "Elem hozzáadása a kijelöléshez",
@ -71,7 +72,7 @@
"layers": "Rétegek", "layers": "Rétegek",
"actions": "Műveletek", "actions": "Műveletek",
"language": "Nyelv", "language": "Nyelv",
"liveCollaboration": "Élő együttműködés", "liveCollaboration": "",
"duplicateSelection": "Duplikálás", "duplicateSelection": "Duplikálás",
"untitled": "Névtelen", "untitled": "Névtelen",
"name": "Név", "name": "Név",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "Vászon törlése", "clearReset": "Vászon törlése",
"exportJSON": "Exportálás fájlba", "exportJSON": "Exportálás fájlba",
"exportImage": "Mentés képként", "exportImage": "",
"export": "Exportálás", "export": "",
"exportToPng": "Exportálás PNG-be", "exportToPng": "Exportálás PNG-be",
"exportToSvg": "Exportálás SVG-be", "exportToSvg": "Exportálás SVG-be",
"copyToClipboard": "Vágólapra másolás", "copyToClipboard": "Vágólapra másolás",
@ -144,7 +145,7 @@
"scale": "Nagyítás", "scale": "Nagyítás",
"save": "Mentés az aktuális fájlba", "save": "Mentés az aktuális fájlba",
"saveAs": "Mentés másként", "saveAs": "Mentés másként",
"load": "Betöltés", "load": "",
"getShareableLink": "Megosztható link létrehozása", "getShareableLink": "Megosztható link létrehozása",
"close": "Bezárás", "close": "Bezárás",
"selectLanguage": "Nyelv kiválasztása", "selectLanguage": "Nyelv kiválasztása",
@ -214,7 +215,7 @@
"text": "Szöveg", "text": "Szöveg",
"library": "Könyvtár", "library": "Könyvtár",
"lock": "Rajzolás után az aktív eszközt tartsa kijelölve", "lock": "Rajzolás után az aktív eszközt tartsa kijelölve",
"penMode": "Akadályozza meg a kicsinyítést, és csak tollról fogadja el a szabadkézi bevitelt", "penMode": "",
"link": "Hivatkozás hozzáadása/frissítése a kiválasztott alakzathoz", "link": "Hivatkozás hozzáadása/frissítése a kiválasztott alakzathoz",
"eraser": "" "eraser": ""
}, },
@ -235,7 +236,7 @@
"resize": "A SHIFT billentyű lenyomva tartásával az átméretezés megtartja az arányokat,\naz ALT lenyomva tartásával pedig a középpont egy helyben marad", "resize": "A SHIFT billentyű lenyomva tartásával az átméretezés megtartja az arányokat,\naz ALT lenyomva tartásával pedig a középpont egy helyben marad",
"resizeImage": "A SHIFT billentyű lenyomva tartásával szabadon átméretezheted,\ntartsd lenyomva az ALT billentyűt a középről való átméretezéshez", "resizeImage": "A SHIFT billentyű lenyomva tartásával szabadon átméretezheted,\ntartsd lenyomva az ALT billentyűt a középről való átméretezéshez",
"rotate": "A SHIFT billentyű lenyomva tartásával korlátozhatja a szögek illesztését", "rotate": "A SHIFT billentyű lenyomva tartásával korlátozhatja a szögek illesztését",
"lineEditor_info": "Kattints duplán, vagy nyomj entert a pontok szerkesztéséhez", "lineEditor_info": "",
"lineEditor_pointSelected": "Nyomd meg a Törlés gombot a pont(ok) eltávolításához,\nA Ctrl/Cmd+D a többszörözéshez, vagy húzással mozgathatja", "lineEditor_pointSelected": "Nyomd meg a Törlés gombot a pont(ok) eltávolításához,\nA Ctrl/Cmd+D a többszörözéshez, vagy húzással mozgathatja",
"lineEditor_nothingSelected": "Válaszd ki a szerkeszteni kívánt pontot (több kijelöléséhez tartsd lenyomva a SHIFT billentyűt),\nvagy Alt, és kattintson az új pontok hozzáadásához", "lineEditor_nothingSelected": "Válaszd ki a szerkeszteni kívánt pontot (több kijelöléséhez tartsd lenyomva a SHIFT billentyűt),\nvagy Alt, és kattintson az új pontok hozzáadásához",
"placeImage": "Kattints a kép elhelyezéséhez, vagy kattints és méretezd manuálisan", "placeImage": "Kattints a kép elhelyezéséhez, vagy kattints és méretezd manuálisan",
@ -310,7 +311,9 @@
"view": "Nézet", "view": "Nézet",
"zoomToFit": "Az összes elem látótérbe hozása", "zoomToFit": "Az összes elem látótérbe hozása",
"zoomToSelection": "Kijelölésre nagyítás", "zoomToSelection": "Kijelölésre nagyítás",
"toggleElementLock": "" "toggleElementLock": "",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Rajzvászon alaphelyzetbe" "title": "Rajzvászon alaphelyzetbe"
@ -391,7 +394,8 @@
"fileSaved": "Fájl elmentve.", "fileSaved": "Fájl elmentve.",
"fileSavedToFilename": "Mentve mint {filename}", "fileSavedToFilename": "Mentve mint {filename}",
"canvas": "rajzvászon", "canvas": "rajzvászon",
"selection": "kijelölés" "selection": "kijelölés",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "Fehér", "ffffff": "Fehér",
@ -441,9 +445,10 @@
"d9480f": "Narancs 9" "d9480f": "Narancs 9"
}, },
"welcomeScreen": { "welcomeScreen": {
"data": "Minden adatodat kizárólag a böngésződben tároljuk.", "data": "",
"menuHints": "Export, beállítások, nyelvek, ...", "switchToPlusApp": "",
"toolbarHints": "Válassz egy eszközt & kezdj alkotni!", "menuHints": "",
"helpHints": "Gyorsbillentyűk & súgó" "toolbarHints": "",
"helpHints": ""
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Tempel", "paste": "Tempel",
"pasteAsPlaintext": "Tempel sebagai teks biasa",
"pasteCharts": "Tempel diagram", "pasteCharts": "Tempel diagram",
"selectAll": "Pilih semua", "selectAll": "Pilih semua",
"multiSelect": "Tambahkan elemen ke pilihan", "multiSelect": "Tambahkan elemen ke pilihan",
@ -71,7 +72,7 @@
"layers": "Lapisan", "layers": "Lapisan",
"actions": "Aksi", "actions": "Aksi",
"language": "Bahasa", "language": "Bahasa",
"liveCollaboration": "Kolaborasi langsung", "liveCollaboration": "Kolaborasi langsung...",
"duplicateSelection": "Duplikat", "duplicateSelection": "Duplikat",
"untitled": "Tanpa judul", "untitled": "Tanpa judul",
"name": "Nama", "name": "Nama",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "Setel Ulang Kanvas", "clearReset": "Setel Ulang Kanvas",
"exportJSON": "Ekspor ke file", "exportJSON": "Ekspor ke file",
"exportImage": "Simpan gambar", "exportImage": "Ekspor gambar...",
"export": "Ekspor", "export": "Simpan ke...",
"exportToPng": "Ekspor ke PNG", "exportToPng": "Ekspor ke PNG",
"exportToSvg": "Ekspor ke SVG", "exportToSvg": "Ekspor ke SVG",
"copyToClipboard": "Salin ke Papan Klip", "copyToClipboard": "Salin ke Papan Klip",
@ -144,7 +145,7 @@
"scale": "Skala", "scale": "Skala",
"save": "Simpan ke file sekarang", "save": "Simpan ke file sekarang",
"saveAs": "Simpan sebagai", "saveAs": "Simpan sebagai",
"load": "Muat", "load": "Buka",
"getShareableLink": "Buat Tautan yang Bisa Dibagian", "getShareableLink": "Buat Tautan yang Bisa Dibagian",
"close": "Tutup", "close": "Tutup",
"selectLanguage": "Pilih bahasa", "selectLanguage": "Pilih bahasa",
@ -214,7 +215,7 @@
"text": "Teks", "text": "Teks",
"library": "Pustaka", "library": "Pustaka",
"lock": "Biarkan alat yang dipilih aktif setelah menggambar", "lock": "Biarkan alat yang dipilih aktif setelah menggambar",
"penMode": "Cegah jepit perbesar dan terima hanya input freedraw dari pena", "penMode": "Mode pena - mencegah sentuhan",
"link": "Tambah/Perbarui tautan untuk bentuk yang dipilih", "link": "Tambah/Perbarui tautan untuk bentuk yang dipilih",
"eraser": "Penghapus" "eraser": "Penghapus"
}, },
@ -235,7 +236,7 @@
"resize": "Anda dapat menjaga proposi dengan menekan SHIFT sambil mengubah ukuran,\ntekan AlT untuk mengubah ukuran dari tengah", "resize": "Anda dapat menjaga proposi dengan menekan SHIFT sambil mengubah ukuran,\ntekan AlT untuk mengubah ukuran dari tengah",
"resizeImage": "Anda dapat mengubah secara bebas dengan menekan SHIFT,\nTekan ALT untuk mengubah dari tengah", "resizeImage": "Anda dapat mengubah secara bebas dengan menekan SHIFT,\nTekan ALT untuk mengubah dari tengah",
"rotate": "Anda dapat menjaga sudut dengan menahan SHIFT sambil memutar", "rotate": "Anda dapat menjaga sudut dengan menahan SHIFT sambil memutar",
"lineEditor_info": "Klik ganda atau tekan Enter untuk mengedit titik", "lineEditor_info": "Tekan Ctrl/Cmd dan Dobel-klik atau tekan Ctrl/Cmd +Enter untuk mengedit poin",
"lineEditor_pointSelected": "Tekan Delete untuk menghapus titik, Ctrl/Cmd + D untuk menduplikasi, atau seret untuk memindahkan", "lineEditor_pointSelected": "Tekan Delete untuk menghapus titik, Ctrl/Cmd + D untuk menduplikasi, atau seret untuk memindahkan",
"lineEditor_nothingSelected": "Pilih titik untuk mengedit (tekan SHIFT untuk pilih banyak), atau tekan Alt dan klik untuk tambahkan titik baru", "lineEditor_nothingSelected": "Pilih titik untuk mengedit (tekan SHIFT untuk pilih banyak), atau tekan Alt dan klik untuk tambahkan titik baru",
"placeImage": "Klik untuk tempatkan gambar, atau klik dan jatuhkan untuk tetapkan ukuran secara manual", "placeImage": "Klik untuk tempatkan gambar, atau klik dan jatuhkan untuk tetapkan ukuran secara manual",
@ -310,7 +311,9 @@
"view": "Tampilan", "view": "Tampilan",
"zoomToFit": "Perbesar agar sesuai dengan semua elemen", "zoomToFit": "Perbesar agar sesuai dengan semua elemen",
"zoomToSelection": "Perbesar ke seleksi", "zoomToSelection": "Perbesar ke seleksi",
"toggleElementLock": "Kunci/lepas seleksi" "toggleElementLock": "Kunci/lepas seleksi",
"movePageUpDown": "Pindah halaman keatas/kebawah",
"movePageLeftRight": "Pindah halaman kebawah/keatas"
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Hapus kanvas" "title": "Hapus kanvas"
@ -391,7 +394,8 @@
"fileSaved": "File tersimpan.", "fileSaved": "File tersimpan.",
"fileSavedToFilename": "Disimpan ke {filename}", "fileSavedToFilename": "Disimpan ke {filename}",
"canvas": "kanvas", "canvas": "kanvas",
"selection": "pilihan" "selection": "pilihan",
"pasteAsSingleElement": "Gunakan {{shortcut}} untuk menempelkan sebagai satu elemen,\natau tempelkan ke teks editor yang ada"
}, },
"colors": { "colors": {
"ffffff": "Putih", "ffffff": "Putih",
@ -439,5 +443,12 @@
"5c940d": "Lime 9", "5c940d": "Lime 9",
"e67700": "Kuning 9", "e67700": "Kuning 9",
"d9480f": "Jingga 9" "d9480f": "Jingga 9"
},
"welcomeScreen": {
"data": "Semua data Anda tersimpan secara lokal di browser.",
"switchToPlusApp": "Apa Anda ingin berpindah ke Excalidraw+?",
"menuHints": "Ekspor, preferensi, bahasa, ...",
"toolbarHints": "Ambil alat & mulai menggambar!",
"helpHints": "Pintasan & bantuan"
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Incolla", "paste": "Incolla",
"pasteAsPlaintext": "Incolla come testo normale",
"pasteCharts": "Incolla grafici", "pasteCharts": "Incolla grafici",
"selectAll": "Seleziona tutto", "selectAll": "Seleziona tutto",
"multiSelect": "Aggiungi elemento alla selezione", "multiSelect": "Aggiungi elemento alla selezione",
@ -71,7 +72,7 @@
"layers": "Livelli", "layers": "Livelli",
"actions": "Azioni", "actions": "Azioni",
"language": "Lingua", "language": "Lingua",
"liveCollaboration": "Collaborazione live", "liveCollaboration": "Collaborazione dal vivo...",
"duplicateSelection": "Duplica", "duplicateSelection": "Duplica",
"untitled": "Senza titolo", "untitled": "Senza titolo",
"name": "Nome", "name": "Nome",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "Svuota la tela", "clearReset": "Svuota la tela",
"exportJSON": "Esporta su file", "exportJSON": "Esporta su file",
"exportImage": "Salva come immagine", "exportImage": "Esporta immagine...",
"export": "Esporta", "export": "Salva in...",
"exportToPng": "Esporta come PNG", "exportToPng": "Esporta come PNG",
"exportToSvg": "Esporta come SVG", "exportToSvg": "Esporta come SVG",
"copyToClipboard": "Copia negli appunti", "copyToClipboard": "Copia negli appunti",
@ -144,7 +145,7 @@
"scale": "Scala", "scale": "Scala",
"save": "Salva sul file corrente", "save": "Salva sul file corrente",
"saveAs": "Salva con nome", "saveAs": "Salva con nome",
"load": "Carica", "load": "Apri",
"getShareableLink": "Ottieni link condivisibile", "getShareableLink": "Ottieni link condivisibile",
"close": "Chiudi", "close": "Chiudi",
"selectLanguage": "Seleziona lingua", "selectLanguage": "Seleziona lingua",
@ -214,7 +215,7 @@
"text": "Testo", "text": "Testo",
"library": "Libreria", "library": "Libreria",
"lock": "Mantieni lo strumento selezionato attivo dopo aver disegnato", "lock": "Mantieni lo strumento selezionato attivo dopo aver disegnato",
"penMode": "Impedisci il pinch-zoom e accetta l'input di disegno libero solo dalla penna", "penMode": "Modalità penna - previene il tocco",
"link": "Aggiungi/ aggiorna il link per una forma selezionata", "link": "Aggiungi/ aggiorna il link per una forma selezionata",
"eraser": "Gomma" "eraser": "Gomma"
}, },
@ -235,7 +236,7 @@
"resize": "Per vincolare le proporzioni, tieni premuto MAIUSC durante il ridimensionamento;\nper ridimensionare dal centro, tieni premuto ALT", "resize": "Per vincolare le proporzioni, tieni premuto MAIUSC durante il ridimensionamento;\nper ridimensionare dal centro, tieni premuto ALT",
"resizeImage": "Puoi ridimensionare liberamente tenendo premuto SHIFT,\ntieni premuto ALT per ridimensionare dal centro", "resizeImage": "Puoi ridimensionare liberamente tenendo premuto SHIFT,\ntieni premuto ALT per ridimensionare dal centro",
"rotate": "Puoi mantenere gli angoli tenendo premuto SHIFT durante la rotazione", "rotate": "Puoi mantenere gli angoli tenendo premuto SHIFT durante la rotazione",
"lineEditor_info": "Fai doppio click o premi invio per modificare i punti", "lineEditor_info": "Tieni premuto Ctrl o Cmd e doppio clic oppure premi Ctrl o Cmd + Invio per modificare i punti",
"lineEditor_pointSelected": "Premi Elimina per rimuovere il punto(i),\nCtrlOCmd+D per duplicare o trascinare per spostare", "lineEditor_pointSelected": "Premi Elimina per rimuovere il punto(i),\nCtrlOCmd+D per duplicare o trascinare per spostare",
"lineEditor_nothingSelected": "Seleziona un punto da modificare (tieni premuto MAIUSC per selezionare più punti),\noppure tieni premuto Alt e fai clic per aggiungere nuovi punti", "lineEditor_nothingSelected": "Seleziona un punto da modificare (tieni premuto MAIUSC per selezionare più punti),\noppure tieni premuto Alt e fai clic per aggiungere nuovi punti",
"placeImage": "Fai click per posizionare l'immagine, o click e trascina per impostarne la dimensione manualmente", "placeImage": "Fai click per posizionare l'immagine, o click e trascina per impostarne la dimensione manualmente",
@ -310,7 +311,9 @@
"view": "Vista", "view": "Vista",
"zoomToFit": "Adatta zoom per mostrare tutti gli elementi", "zoomToFit": "Adatta zoom per mostrare tutti gli elementi",
"zoomToSelection": "Zoom alla selezione", "zoomToSelection": "Zoom alla selezione",
"toggleElementLock": "Blocca/sblocca selezione" "toggleElementLock": "Blocca/sblocca selezione",
"movePageUpDown": "Sposta la pagina su/giù",
"movePageLeftRight": "Sposta la pagina a sinistra/destra"
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Svuota la tela" "title": "Svuota la tela"
@ -391,7 +394,8 @@
"fileSaved": "File salvato.", "fileSaved": "File salvato.",
"fileSavedToFilename": "Salvato in {filename}", "fileSavedToFilename": "Salvato in {filename}",
"canvas": "tela", "canvas": "tela",
"selection": "selezione" "selection": "selezione",
"pasteAsSingleElement": "Usa {{shortcut}} per incollare come un singolo elemento,\no incollare in un editor di testo esistente"
}, },
"colors": { "colors": {
"ffffff": "Bianco", "ffffff": "Bianco",
@ -439,5 +443,12 @@
"5c940d": "Lime 9", "5c940d": "Lime 9",
"e67700": "Giallo 9", "e67700": "Giallo 9",
"d9480f": "Arancio 9" "d9480f": "Arancio 9"
},
"welcomeScreen": {
"data": "Tutti i tuoi dati sono salvati localmente nel browser.",
"switchToPlusApp": "Volevi invece andare su Excalidraw+?",
"menuHints": "Esporta, preferenze, lingue, ...",
"toolbarHints": "Scegli uno strumento & Inizia a disegnare!",
"helpHints": "Scorciatoie & aiuto"
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "貼り付け", "paste": "貼り付け",
"pasteAsPlaintext": "",
"pasteCharts": "チャートの貼り付け", "pasteCharts": "チャートの貼り付け",
"selectAll": "すべて選択", "selectAll": "すべて選択",
"multiSelect": "複数選択", "multiSelect": "複数選択",
@ -71,7 +72,7 @@
"layers": "レイヤー", "layers": "レイヤー",
"actions": "操作", "actions": "操作",
"language": "言語", "language": "言語",
"liveCollaboration": "共同編集", "liveCollaboration": "共同編集...",
"duplicateSelection": "複製", "duplicateSelection": "複製",
"untitled": "無題", "untitled": "無題",
"name": "名前", "name": "名前",
@ -115,8 +116,8 @@
"label": "リンク" "label": "リンク"
}, },
"lineEditor": { "lineEditor": {
"edit": "", "edit": "行を編集",
"exit": "" "exit": "行エディタを終了"
}, },
"elementLock": { "elementLock": {
"lock": "ロック", "lock": "ロック",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "キャンバスのリセット", "clearReset": "キャンバスのリセット",
"exportJSON": "ファイルへエクスポート", "exportJSON": "ファイルへエクスポート",
"exportImage": "画像として保存", "exportImage": "画像のエクスポート...",
"export": "エクスポート", "export": "名前を付けて保存...",
"exportToPng": "PNG にエクスポート", "exportToPng": "PNG にエクスポート",
"exportToSvg": "SVG にエクスポート", "exportToSvg": "SVG にエクスポート",
"copyToClipboard": "クリップボードにコピー", "copyToClipboard": "クリップボードにコピー",
@ -144,7 +145,7 @@
"scale": "スケール", "scale": "スケール",
"save": "現在のファイルに保存", "save": "現在のファイルに保存",
"saveAs": "名前を付けて保存", "saveAs": "名前を付けて保存",
"load": "読み込み...", "load": "開く",
"getShareableLink": "共有URLの取得", "getShareableLink": "共有URLの取得",
"close": "閉じる", "close": "閉じる",
"selectLanguage": "言語の選択", "selectLanguage": "言語の選択",
@ -214,7 +215,7 @@
"text": "テキスト", "text": "テキスト",
"library": "ライブラリ", "library": "ライブラリ",
"lock": "描画後も使用中のツールを選択したままにする", "lock": "描画後も使用中のツールを選択したままにする",
"penMode": "ピンチとズームを抑止し、ペンからのみ自由な入力を受け付けます", "penMode": "ペンモード - タッチ防止",
"link": "選択した図形のリンクを追加/更新", "link": "選択した図形のリンクを追加/更新",
"eraser": "消しゴム" "eraser": "消しゴム"
}, },
@ -235,7 +236,7 @@
"resize": "サイズを変更中にSHIFTを押すと縦横比を固定できます。Altを押すと中央からサイズを変更できます", "resize": "サイズを変更中にSHIFTを押すと縦横比を固定できます。Altを押すと中央からサイズを変更できます",
"resizeImage": "SHIFTを長押しすると自由にサイズを変更できます。\n中央からサイズを変更するにはALTを長押しします", "resizeImage": "SHIFTを長押しすると自由にサイズを変更できます。\n中央からサイズを変更するにはALTを長押しします",
"rotate": "回転中にSHIFT キーを押すと角度を制限することができます", "rotate": "回転中にSHIFT キーを押すと角度を制限することができます",
"lineEditor_info": "ポイントを編集するには、ダブルクリックまたはEnterキーを押します", "lineEditor_info": "",
"lineEditor_pointSelected": "Deleteキーを押すと点を削除、CtrlOrCmd+Dで複製、マウスドラッグで移動", "lineEditor_pointSelected": "Deleteキーを押すと点を削除、CtrlOrCmd+Dで複製、マウスドラッグで移動",
"lineEditor_nothingSelected": "編集する点を選択SHIFTを押したままで複数選択、\nAltキーを押しながらクリックすると新しい点を追加", "lineEditor_nothingSelected": "編集する点を選択SHIFTを押したままで複数選択、\nAltキーを押しながらクリックすると新しい点を追加",
"placeImage": "クリックして画像を配置するか、クリックしてドラッグしてサイズを手動で設定します", "placeImage": "クリックして画像を配置するか、クリックしてドラッグしてサイズを手動で設定します",
@ -310,7 +311,9 @@
"view": "表示", "view": "表示",
"zoomToFit": "すべての要素が収まるようにズーム", "zoomToFit": "すべての要素が収まるようにズーム",
"zoomToSelection": "選択要素にズーム", "zoomToSelection": "選択要素にズーム",
"toggleElementLock": "選択したアイテムをロック/ロック解除" "toggleElementLock": "選択したアイテムをロック/ロック解除",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "キャンバスを消去" "title": "キャンバスを消去"
@ -391,7 +394,8 @@
"fileSaved": "ファイルを保存しました", "fileSaved": "ファイルを保存しました",
"fileSavedToFilename": "{filename} に保存しました", "fileSavedToFilename": "{filename} に保存しました",
"canvas": "キャンバス", "canvas": "キャンバス",
"selection": "選択" "selection": "選択",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "ホワイト", "ffffff": "ホワイト",
@ -439,5 +443,12 @@
"5c940d": "ライム 9", "5c940d": "ライム 9",
"e67700": "イエロー 9", "e67700": "イエロー 9",
"d9480f": "オレンジ 9" "d9480f": "オレンジ 9"
},
"welcomeScreen": {
"data": "すべてのデータはブラウザにローカル保存されます。",
"switchToPlusApp": "代わりにExcalidraw+を開きますか?",
"menuHints": "エクスポート, 設定, 言語, ...",
"toolbarHints": "ツールを選んで描き始めよう!",
"helpHints": "ショートカットとヘルプ"
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Senṭeḍ", "paste": "Senṭeḍ",
"pasteAsPlaintext": "",
"pasteCharts": "Senṭeḍ udlifen", "pasteCharts": "Senṭeḍ udlifen",
"selectAll": "Fren akk", "selectAll": "Fren akk",
"multiSelect": "Rnu aferdis ɣer tefrayt", "multiSelect": "Rnu aferdis ɣer tefrayt",
@ -71,7 +72,7 @@
"layers": "Tissiyin", "layers": "Tissiyin",
"actions": "Tigawin", "actions": "Tigawin",
"language": "Tutlayt", "language": "Tutlayt",
"liveCollaboration": "Amɛiwen s srid", "liveCollaboration": "",
"duplicateSelection": "Sisleg", "duplicateSelection": "Sisleg",
"untitled": "War azwel", "untitled": "War azwel",
"name": "Isem", "name": "Isem",
@ -115,8 +116,8 @@
"label": "Aseɣwen" "label": "Aseɣwen"
}, },
"lineEditor": { "lineEditor": {
"edit": "", "edit": "Ẓreg izirig",
"exit": "" "exit": "Ffeɣ seg umaẓrag n yizirig"
}, },
"elementLock": { "elementLock": {
"lock": "Sekkeṛ", "lock": "Sekkeṛ",
@ -125,18 +126,18 @@
"unlockAll": "Serreḥ akk" "unlockAll": "Serreḥ akk"
}, },
"statusPublished": "Yeffeɣ-d", "statusPublished": "Yeffeɣ-d",
"sidebarLock": "" "sidebarLock": "Eǧǧ afeggag n yidis yeldi"
}, },
"library": { "library": {
"noItems": "", "noItems": "Ulac iferdisen yettwarnan yakan...",
"hint_emptyLibrary": "", "hint_emptyLibrary": "Fren aferdis di teɣzut nusuneɣ akken at-ternuḍ dagi, neɣ sbedd tamkarḍit seg usarsay azayez, ukessar-agi.",
"hint_emptyPrivateLibrary": "" "hint_emptyPrivateLibrary": "Fren aferdis di teɣzut nusuneɣ akken at-ternuḍ dagi."
}, },
"buttons": { "buttons": {
"clearReset": "Ales awennez n teɣzut n usuneɣ", "clearReset": "Ales awennez n teɣzut n usuneɣ",
"exportJSON": "Sifeḍ afaylu", "exportJSON": "Sifeḍ afaylu",
"exportImage": "Sekles am tugna", "exportImage": "Sifeḍ tugna...",
"export": "Sifeḍ", "export": "Sekles di...",
"exportToPng": "Sifeḍ ɣer PNG", "exportToPng": "Sifeḍ ɣer PNG",
"exportToSvg": "Sifeḍ ɣer SVG", "exportToSvg": "Sifeḍ ɣer SVG",
"copyToClipboard": "Nɣel ɣer tecfawit", "copyToClipboard": "Nɣel ɣer tecfawit",
@ -144,7 +145,7 @@
"scale": "Taskala", "scale": "Taskala",
"save": "Sekles deg ufaylu amiran", "save": "Sekles deg ufaylu amiran",
"saveAs": "Sekles am", "saveAs": "Sekles am",
"load": "Sali-d", "load": "Ldi",
"getShareableLink": "Awi-d aseɣwen n beṭṭu", "getShareableLink": "Awi-d aseɣwen n beṭṭu",
"close": "Mdel", "close": "Mdel",
"selectLanguage": "Fren tutlayt", "selectLanguage": "Fren tutlayt",
@ -235,7 +236,7 @@
"resize": "Tzemreḍ ad tḥettemeḍ assaɣ s tuṭṭfa n tqeffalt SHIFT mi ara tettbeddileḍ tiddi,\nma teṭṭfeḍ ALT abeddel n tiddi ad yili si tlemmast", "resize": "Tzemreḍ ad tḥettemeḍ assaɣ s tuṭṭfa n tqeffalt SHIFT mi ara tettbeddileḍ tiddi,\nma teṭṭfeḍ ALT abeddel n tiddi ad yili si tlemmast",
"resizeImage": "Tzemreḍ ad talseḍ tiddi s tilelli s tuṭṭfa n SHIFT,\nṭṭef ALT akken ad talseḍ tiddi si tlemmast", "resizeImage": "Tzemreḍ ad talseḍ tiddi s tilelli s tuṭṭfa n SHIFT,\nṭṭef ALT akken ad talseḍ tiddi si tlemmast",
"rotate": "Tzemreḍ ad tḥettemeḍ tiɣemmar s tuṭṭfa n SHIFT di tuzzya", "rotate": "Tzemreḍ ad tḥettemeḍ tiɣemmar s tuṭṭfa n SHIFT di tuzzya",
"lineEditor_info": "Ssit snat n tikkal neɣ ssed taqeffalt Kcem akken ad tẓergeḍ tinqiḍin", "lineEditor_info": "",
"lineEditor_pointSelected": "Ssed taqeffalt kkes akken ad tekkseḍ tanqiḍ (tinqiḍin),\nCtrlOrCmd+D akken ad tsiselgeḍ, neɣ zuɣer akken ad tesmuttiḍ", "lineEditor_pointSelected": "Ssed taqeffalt kkes akken ad tekkseḍ tanqiḍ (tinqiḍin),\nCtrlOrCmd+D akken ad tsiselgeḍ, neɣ zuɣer akken ad tesmuttiḍ",
"lineEditor_nothingSelected": "Fren tanqiḍt akken ad tẓergeḍ (ṭṭef SHIFT akken ad tferneḍ aṭas),\nneɣ ṭṭef Alt akken ad ternuḍ tinqiḍin timaynutin", "lineEditor_nothingSelected": "Fren tanqiḍt akken ad tẓergeḍ (ṭṭef SHIFT akken ad tferneḍ aṭas),\nneɣ ṭṭef Alt akken ad ternuḍ tinqiḍin timaynutin",
"placeImage": "Ssit akken ad tserseḍ tugna, neɣ ssit u zuɣer akken ad tesbaduḍ tiddi-ines s ufus", "placeImage": "Ssit akken ad tserseḍ tugna, neɣ ssit u zuɣer akken ad tesbaduḍ tiddi-ines s ufus",
@ -310,7 +311,9 @@
"view": "Tamuɣli", "view": "Tamuɣli",
"zoomToFit": "Simɣur akken ad twliḍ akk iferdisen", "zoomToFit": "Simɣur akken ad twliḍ akk iferdisen",
"zoomToSelection": "Simɣur ɣer tefrayt", "zoomToSelection": "Simɣur ɣer tefrayt",
"toggleElementLock": "Sekkeṛ/kkes asekker i tefrayt" "toggleElementLock": "Sekkeṛ/kkes asekker i tefrayt",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Sfeḍ taɣzut n usuneɣ" "title": "Sfeḍ taɣzut n usuneɣ"
@ -391,7 +394,8 @@
"fileSaved": "Afaylu yettwasekles.", "fileSaved": "Afaylu yettwasekles.",
"fileSavedToFilename": "Yettwasekles di {filename}", "fileSavedToFilename": "Yettwasekles di {filename}",
"canvas": "taɣzut n usuneɣ", "canvas": "taɣzut n usuneɣ",
"selection": "tafrayt" "selection": "tafrayt",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "Amellal", "ffffff": "Amellal",
@ -439,5 +443,12 @@
"5c940d": "Llim 9", "5c940d": "Llim 9",
"e67700": "Awraɣ 9", "e67700": "Awraɣ 9",
"d9480f": "Aččinawi 9" "d9480f": "Aččinawi 9"
},
"welcomeScreen": {
"data": "Akk isefka-inek•inem ttwakelsen s wudem adigan deg yiminig-inek•inem.",
"switchToPlusApp": "Tebɣiḍ ad tedduḍ ɣer Excalidraw+ deg umḍiq?",
"menuHints": "Asifeḍ, ismenyifen, tutlayin, ...",
"toolbarHints": "Fren afecku tebduḍ asuneɣ!",
"helpHints": "Inegzumen akked tallelt"
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Қою", "paste": "Қою",
"pasteAsPlaintext": "",
"pasteCharts": "Диаграммаларды қою", "pasteCharts": "Диаграммаларды қою",
"selectAll": "Бәрін таңдау", "selectAll": "Бәрін таңдау",
"multiSelect": "", "multiSelect": "",
@ -136,7 +137,7 @@
"clearReset": "", "clearReset": "",
"exportJSON": "", "exportJSON": "",
"exportImage": "", "exportImage": "",
"export": "Экспорт", "export": "",
"exportToPng": "", "exportToPng": "",
"exportToSvg": "", "exportToSvg": "",
"copyToClipboard": "", "copyToClipboard": "",
@ -310,7 +311,9 @@
"view": "Көру", "view": "Көру",
"zoomToFit": "Барлық элементтердің көлеміне сәйкес үлкейту", "zoomToFit": "Барлық элементтердің көлеміне сәйкес үлкейту",
"zoomToSelection": "Таңдалғанды үлкейту", "zoomToSelection": "Таңдалғанды үлкейту",
"toggleElementLock": "" "toggleElementLock": "",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "" "title": ""
@ -391,7 +394,8 @@
"fileSaved": "Файл сақталды.", "fileSaved": "Файл сақталды.",
"fileSavedToFilename": "{filename} сақталды", "fileSavedToFilename": "{filename} сақталды",
"canvas": "", "canvas": "",
"selection": "таңдау" "selection": "таңдау",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "", "ffffff": "",
@ -439,5 +443,12 @@
"5c940d": "", "5c940d": "",
"e67700": "", "e67700": "",
"d9480f": "" "d9480f": ""
},
"welcomeScreen": {
"data": "",
"switchToPlusApp": "",
"menuHints": "",
"toolbarHints": "",
"helpHints": ""
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "붙여넣기", "paste": "붙여넣기",
"pasteAsPlaintext": "",
"pasteCharts": "차트 붙여넣기", "pasteCharts": "차트 붙여넣기",
"selectAll": "전체 선택", "selectAll": "전체 선택",
"multiSelect": "선택 영역에 추가하기", "multiSelect": "선택 영역에 추가하기",
@ -71,7 +72,7 @@
"layers": "레이어", "layers": "레이어",
"actions": "동작", "actions": "동작",
"language": "언어", "language": "언어",
"liveCollaboration": "실시간 협업", "liveCollaboration": "",
"duplicateSelection": "복제", "duplicateSelection": "복제",
"untitled": "제목 없음", "untitled": "제목 없음",
"name": "이름", "name": "이름",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "캔버스 초기화", "clearReset": "캔버스 초기화",
"exportJSON": "파일로 내보내기", "exportJSON": "파일로 내보내기",
"exportImage": "이미지로 저장", "exportImage": "",
"export": "내보내기", "export": "",
"exportToPng": "PNG로 내보내기", "exportToPng": "PNG로 내보내기",
"exportToSvg": "SVG로 내보내기", "exportToSvg": "SVG로 내보내기",
"copyToClipboard": "클립보드로 복사", "copyToClipboard": "클립보드로 복사",
@ -144,7 +145,7 @@
"scale": "크기", "scale": "크기",
"save": "현재 파일에 저장", "save": "현재 파일에 저장",
"saveAs": "다른 이름으로 저장", "saveAs": "다른 이름으로 저장",
"load": "불러오기", "load": "",
"getShareableLink": "공유 가능한 링크 생성", "getShareableLink": "공유 가능한 링크 생성",
"close": "닫기", "close": "닫기",
"selectLanguage": "언어 선택", "selectLanguage": "언어 선택",
@ -214,7 +215,7 @@
"text": "텍스트", "text": "텍스트",
"library": "라이브러리", "library": "라이브러리",
"lock": "선택된 도구 유지하기", "lock": "선택된 도구 유지하기",
"penMode": "핀치 줌을 하지 않도록 하고 펜을 통해서 자유롭게 그리기", "penMode": "",
"link": "선택한 도형에 대해서 링크를 추가/업데이트", "link": "선택한 도형에 대해서 링크를 추가/업데이트",
"eraser": "지우개" "eraser": "지우개"
}, },
@ -235,7 +236,7 @@
"resize": "SHIFT 키를 누르면서 조정하면 크기의 비율이 제한됩니다.\nALT를 누르면서 조정하면 중앙을 기준으로 크기를 조정합니다.", "resize": "SHIFT 키를 누르면서 조정하면 크기의 비율이 제한됩니다.\nALT를 누르면서 조정하면 중앙을 기준으로 크기를 조정합니다.",
"resizeImage": "SHIFT를 눌러서 자유롭게 크기를 변경하거나,\nALT를 눌러서 중앙을 고정하고 크기를 변경하기", "resizeImage": "SHIFT를 눌러서 자유롭게 크기를 변경하거나,\nALT를 눌러서 중앙을 고정하고 크기를 변경하기",
"rotate": "SHIFT 키를 누르면서 회전하면 각도를 제한할 수 있습니다.", "rotate": "SHIFT 키를 누르면서 회전하면 각도를 제한할 수 있습니다.",
"lineEditor_info": "지점을 수정하려면 두 번 클릭하거나 Enter 키를 누르세요.", "lineEditor_info": "",
"lineEditor_pointSelected": "Delete 키로 꼭짓점을 제거하거나,\nCtrlOrCmd+D 로 복제하거나, 드래그 해서 이동시키기", "lineEditor_pointSelected": "Delete 키로 꼭짓점을 제거하거나,\nCtrlOrCmd+D 로 복제하거나, 드래그 해서 이동시키기",
"lineEditor_nothingSelected": "꼭짓점을 선택해서 수정하거나 (SHIFT를 눌러서 여러개 선택),\nAlt를 누르고 클릭해서 새로운 꼭짓점 추가하기", "lineEditor_nothingSelected": "꼭짓점을 선택해서 수정하거나 (SHIFT를 눌러서 여러개 선택),\nAlt를 누르고 클릭해서 새로운 꼭짓점 추가하기",
"placeImage": "클릭해서 이미지를 배치하거나, 클릭하고 드래그해서 사이즈를 조정하기", "placeImage": "클릭해서 이미지를 배치하거나, 클릭하고 드래그해서 사이즈를 조정하기",
@ -310,7 +311,9 @@
"view": "보기", "view": "보기",
"zoomToFit": "모든 요소가 보이도록 확대/축소", "zoomToFit": "모든 요소가 보이도록 확대/축소",
"zoomToSelection": "선택 영역으로 확대/축소", "zoomToSelection": "선택 영역으로 확대/축소",
"toggleElementLock": "선택한 항목을 잠금/잠금 해제" "toggleElementLock": "선택한 항목을 잠금/잠금 해제",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "캔버스 지우기" "title": "캔버스 지우기"
@ -391,7 +394,8 @@
"fileSaved": "파일이 저장되었습니다.", "fileSaved": "파일이 저장되었습니다.",
"fileSavedToFilename": "{filename} 로 저장되었습니다", "fileSavedToFilename": "{filename} 로 저장되었습니다",
"canvas": "캔버스", "canvas": "캔버스",
"selection": "선택한 요소" "selection": "선택한 요소",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "화이트", "ffffff": "화이트",
@ -439,5 +443,12 @@
"5c940d": "라임 9", "5c940d": "라임 9",
"e67700": "노란색 9", "e67700": "노란색 9",
"d9480f": "주황색 9" "d9480f": "주황색 9"
},
"welcomeScreen": {
"data": "",
"switchToPlusApp": "",
"menuHints": "",
"toolbarHints": "",
"helpHints": ""
} }
} }

View File

@ -1,36 +1,37 @@
{ {
"labels": { "labels": {
"paste": "دانانەوە", "paste": "دانانەوە",
"pasteAsPlaintext": "",
"pasteCharts": "دانانەوەی خشتەکان", "pasteCharts": "دانانەوەی خشتەکان",
"selectAll": "دیاریکردنی هەموو", "selectAll": "دیاریکردنی هەموو",
"multiSelect": "زیادکردنی بۆ دیاریکراوەکان", "multiSelect": "زیادکردنی بۆ دیاریکراوەکان",
"moveCanvas": "کانڤای زیاتر", "moveCanvas": "تابلۆ بجوڵێنە",
"cut": "بڕین", "cut": "بڕین",
"copy": "لەبەرگرتنەوە", "copy": "لەبەرگرتنەوە",
"copyAsPng": "PNGلەبەرگرتنەوە بۆ تەختەنووس وەک", "copyAsPng": "PNGلەبەرگرتنەوە بۆ تەختەنووس وەک",
"copyAsSvg": "SVGلەبەرگرتنەوە بۆ تەختەنووس وەک", "copyAsSvg": "SVGلەبەرگرتنەوە بۆ تەختەنووس وەک",
"copyText": "لەبەرگرتنەوە بۆ تەختەنووس وەک نوسین", "copyText": "لەبەرگرتنەوە بۆ تەختەنووس وەک نوسین",
"bringForward": یهێنە پێش", "bringForward": هێنە پێشتر",
"sendToBack": "بنێرە دواوە", "sendToBack": "بنێرە دواوە",
"bringToFront": "بهێنە بەردەم", "bringToFront": "بهێنە پێشەوە",
"sendBackward": "بنێرە کۆتای", "sendBackward": "بنێرە دواتر",
"delete": "سڕینەوە", "delete": "سڕینەوە",
"copyStyles": "لەبەرگرتنەوەی ستایل", "copyStyles": "لەبەرگرتنەوەی ستایل",
"pasteStyles": "دانانەوەی ستایل", "pasteStyles": "دانانەوەی ستایل",
"stroke": "هێڵکار", "stroke": "هێڵکار",
"background": "باکگراوند", "background": "پاشبنەما",
"fill": "پڕکردنەوە", "fill": "پڕکردنەوە",
"strokeWidth": "پانی هێڵکاری", "strokeWidth": "پانی هێڵکاری",
"strokeStyle": "ستایلی هێڵکاری", "strokeStyle": "ستایلی هێڵکاری",
"strokeStyle_solid": "سادە", "strokeStyle_solid": "سادە",
"strokeStyle_dashed": "داشاوی", "strokeStyle_dashed": "پچڕ پچڕ",
"strokeStyle_dotted": "خاڵدار", "strokeStyle_dotted": "خاڵدار",
"sloppiness": "خواری", "sloppiness": "لێژی",
"opacity": "ناڕونی", "opacity": "ڕوونی",
"textAlign": "ڕێکخستنی دەق", "textAlign": "ڕێکخستنی دەق",
"edges": "لێوارەکان", "edges": "لێوارەکان",
"sharp": "تیژ", "sharp": "تیژ",
"round": "چەماو", "round": "چەماوە",
"arrowheads": "سەرەتیر", "arrowheads": "سەرەتیر",
"arrowhead_none": "هیچیان", "arrowhead_none": "هیچیان",
"arrowhead_arrow": "تیر", "arrowhead_arrow": "تیر",
@ -65,13 +66,13 @@
"cartoonist": "کارتۆنی", "cartoonist": "کارتۆنی",
"fileTitle": "ناوی فایل", "fileTitle": "ناوی فایل",
"colorPicker": "ڕەنگ هەڵگر", "colorPicker": "ڕەنگ هەڵگر",
"canvasColors": "کانڤای بەکارهاتوو", "canvasColors": "بەکارهاتووە لەسەر تابلۆ",
"canvasBackground": "باکگراوندی کانڤاکان", "canvasBackground": "پاشبنەمای تابلۆ",
"drawingCanvas": "کێشانی کانڤا", "drawingCanvas": "کێشانی تابلۆ",
"layers": "چینەکان", "layers": "چینەکان",
"actions": "کردارەکان", "actions": "کردارەکان",
"language": "زمان", "language": "زمان",
"liveCollaboration": "هاوکاری ڕاستەوخۆ", "liveCollaboration": "هاوکاریکردنی زیندو...",
"duplicateSelection": "لەبەرگرتنەوە", "duplicateSelection": "لەبەرگرتنەوە",
"untitled": "Untitled", "untitled": "Untitled",
"name": "ناو", "name": "ناو",
@ -129,14 +130,14 @@
}, },
"library": { "library": {
"noItems": "هێشتا هیچ بڕگەیەک زیاد نەکراوە...", "noItems": "هێشتا هیچ بڕگەیەک زیاد نەکراوە...",
"hint_emptyLibrary": "شتێک لەسەر کانڤاس هەڵبژێرە بۆ ئەوەی لێرە زیاد بکەیت، یان کتێبخانەیەک لە کۆگای گشتیەوە دابمەزرێنە، لە خوارەوە.", "hint_emptyLibrary": "شتێک لەسەر تابلۆ هەڵبژێرە بۆ ئەوەی لێرە زیادی بکەیت، یان کتێبخانەیەک لە کۆگا گشتیەکەوە دابمەزرێنە، لە خوارەوە.",
"hint_emptyPrivateLibrary": "شتێک لەسەر کانڤاس هەڵبژێرە بۆ ئەوەی لێرە زیاد بکەیت." "hint_emptyPrivateLibrary": "شتێک لەسەر تابلۆ هەڵبژێرە بۆ ئەوەی لێرە زیادی بکەیت."
}, },
"buttons": { "buttons": {
"clearReset": "کانڤاسەکە ڕێست بکەرەوە", "clearReset": "تابلۆکە وەک سەرەتا لێبکەوە",
"exportJSON": "هەناردەکردن بۆ فایل", "exportJSON": "هەناردەکردن بۆ فایل",
"exportImage": "پاشەکەوتکرد وەک وێنە", "exportImage": "وێنە هەناردە بکە...",
"export": "هەناردەکردن", "export": "پاشەکەوت بکە بۆ...",
"exportToPng": "هەناردەکردن بۆ PNG", "exportToPng": "هەناردەکردن بۆ PNG",
"exportToSvg": "هەناردەکردن بۆ SVG", "exportToSvg": "هەناردەکردن بۆ SVG",
"copyToClipboard": "له‌به‌ری بگره‌وه‌ بۆ ته‌خته‌نووس", "copyToClipboard": "له‌به‌ری بگره‌وه‌ بۆ ته‌خته‌نووس",
@ -144,7 +145,7 @@
"scale": "پێوەر", "scale": "پێوەر",
"save": "پاشەکەوت بکە بۆ فایلی بەردەست", "save": "پاشەکەوت بکە بۆ فایلی بەردەست",
"saveAs": "پاشەکەوتکردن وەک", "saveAs": "پاشەکەوتکردن وەک",
"load": ارکردن", "load": کەرەوە",
"getShareableLink": "بەستەری هاوبەشیپێکردن بەدەستبهێنە", "getShareableLink": "بەستەری هاوبەشیپێکردن بەدەستبهێنە",
"close": "داخستن", "close": "داخستن",
"selectLanguage": "دیاریکردنی زمان", "selectLanguage": "دیاریکردنی زمان",
@ -172,12 +173,12 @@
"confirm": "دوپاتکردنەوە" "confirm": "دوپاتکردنەوە"
}, },
"alerts": { "alerts": {
"clearReset": "ئەمە هەموو کانڤاکە خاوێن دەکاتەوە، دڵنیایت؟", "clearReset": "ئەمە هەموو تابلۆکە خاوێن دەکاتەوە، دڵنیایت؟",
"couldNotCreateShareableLink": "نەتوانرا بەستەری هاوبەشیپێکردن دروستبکرێت", "couldNotCreateShareableLink": "نەتوانرا بەستەری هاوبەشیپێکردن دروستبکرێت",
"couldNotCreateShareableLinkTooBig": "نەتوانرا بەستەری هاوبەشیپێکردن دروستبکرێت: دیمەنەکە زۆر گەورەیە", "couldNotCreateShareableLinkTooBig": "نەتوانرا بەستەری هاوبەشیپێکردن دروستبکرێت: دیمەنەکە زۆر گەورەیە",
"couldNotLoadInvalidFile": "ناتوانرا باربکرێت، فایلەکە دروستنییە", "couldNotLoadInvalidFile": "ناتوانرا باربکرێت، فایلەکە دروستنییە",
"importBackendFailed": "هاوردەکردن لە پاشکۆکە سەرکەوتوو نەبوو.", "importBackendFailed": "هاوردەکردن لە پاشکۆکە سەرکەوتوو نەبوو.",
"cannotExportEmptyCanvas": "ناتوانرێت کانڤای بەتاڵ هەناردەبکرێت", "cannotExportEmptyCanvas": "ناتوانرێت تابلۆی بەتاڵ هەناردەبکرێت.",
"couldNotCopyToClipboard": "ناتوانرا لەبەربگیرێتەوە بۆ تەختەنوس", "couldNotCopyToClipboard": "ناتوانرا لەبەربگیرێتەوە بۆ تەختەنوس",
"decryptFailed": "ناتوانرا داتاکان شیبکرێتەوە", "decryptFailed": "ناتوانرا داتاکان شیبکرێتەوە",
"uploadedSecurly": "بارکردنەکە بە کۆدکردنی کۆتایی بۆ کۆتایی پارێزراوە، ئەمەش واتە سێرڤەری Excalidraw و لایەنی سێیەم ناتوانن ناوەڕۆکەکە بخوێننەوە.", "uploadedSecurly": "بارکردنەکە بە کۆدکردنی کۆتایی بۆ کۆتایی پارێزراوە، ئەمەش واتە سێرڤەری Excalidraw و لایەنی سێیەم ناتوانن ناوەڕۆکەکە بخوێننەوە.",
@ -214,17 +215,17 @@
"text": "دەق", "text": "دەق",
"library": "کتێبخانە", "library": "کتێبخانە",
"lock": "ئامێرە دیاریکراوەکان چالاک بهێڵەوە دوای وێنەکێشان", "lock": "ئامێرە دیاریکراوەکان چالاک بهێڵەوە دوای وێنەکێشان",
"penMode": "ڕێگری بکە لە گەورەکردنەوەی پینچ و قبولکردنی تێکردنی فریدراو تەنها لە پێنووسەوە", "penMode": "شێوازی قەڵەم - دەست لێدان ڕابگرە",
"link": "زیادکردن/ نوێکردنەوەی لینک بۆ شێوەی دیاریکراو", "link": "زیادکردن/ نوێکردنەوەی لینک بۆ شێوەی دیاریکراو",
"eraser": "سڕەر" "eraser": "سڕەر"
}, },
"headings": { "headings": {
"canvasActions": "کردارەکانی کانڤا", "canvasActions": "کردارەکانی تابلۆ",
"selectedShapeActions": "کردارەکانی شێوەی دەستنیشانکراو", "selectedShapeActions": "کردارەکانی شێوەی دەستنیشانکراو",
"shapes": "شێوەکان" "shapes": "شێوەکان"
}, },
"hints": { "hints": {
"canvasPanning": "بۆ جوڵاندنی کانڤاکە، لە کاتی ڕاکێشاندا ویل ماوس یان سپەیسبار دابگرە", "canvasPanning": "بۆ جوڵاندنی تابلۆ، لە کاتی ڕاکێشاندا ویلی ماوس یان شریتی بۆشایی دابگرە",
"linearElement": "کرتە بکە بۆ دەستپێکردنی چەند خاڵێک، ڕایبکێشە بۆ یەک هێڵ", "linearElement": "کرتە بکە بۆ دەستپێکردنی چەند خاڵێک، ڕایبکێشە بۆ یەک هێڵ",
"freeDraw": "کرتە بکە و ڕایبکێشە، کاتێک تەواو بوویت دەست هەڵگرە", "freeDraw": "کرتە بکە و ڕایبکێشە، کاتێک تەواو بوویت دەست هەڵگرە",
"text": "زانیاری: هەروەها دەتوانیت دەق زیادبکەیت بە دوو کرتەکردن لە هەر شوێنێک لەگەڵ ئامڕازی دەستنیشانکردن", "text": "زانیاری: هەروەها دەتوانیت دەق زیادبکەیت بە دوو کرتەکردن لە هەر شوێنێک لەگەڵ ئامڕازی دەستنیشانکردن",
@ -235,7 +236,7 @@
"resize": "دەتوانیت ڕێژەکان سنووردار بکەیت بە ڕاگرتنی SHIFT لەکاتی گۆڕینی قەبارەدا،\nALT ڕابگرە بۆ گۆڕینی قەبارە لە ناوەندەوە", "resize": "دەتوانیت ڕێژەکان سنووردار بکەیت بە ڕاگرتنی SHIFT لەکاتی گۆڕینی قەبارەدا،\nALT ڕابگرە بۆ گۆڕینی قەبارە لە ناوەندەوە",
"resizeImage": "دەتوانیت بە ئازادی قەبارە بگۆڕیت بە ڕاگرتنی SHIFT،\nALT ڕابگرە بۆ گۆڕینی قەبارە لە ناوەندەوە", "resizeImage": "دەتوانیت بە ئازادی قەبارە بگۆڕیت بە ڕاگرتنی SHIFT،\nALT ڕابگرە بۆ گۆڕینی قەبارە لە ناوەندەوە",
"rotate": "دەتوانیت گۆشەکان سنووردار بکەیت بە ڕاگرتنی SHIFT لەکاتی سوڕانەوەدا", "rotate": "دەتوانیت گۆشەکان سنووردار بکەیت بە ڕاگرتنی SHIFT لەکاتی سوڕانەوەدا",
"lineEditor_info": "دووجار کلیک بکە یان Enter بکە بۆ دەستکاریکردنی خاڵەکان", "lineEditor_info": "",
"lineEditor_pointSelected": "بۆ لابردنی خاڵەکان Delete دابگرە، Ctrl Cmd+D بکە بۆ لەبەرگرتنەوە، یان بۆ جووڵە ڕاکێشان بکە", "lineEditor_pointSelected": "بۆ لابردنی خاڵەکان Delete دابگرە، Ctrl Cmd+D بکە بۆ لەبەرگرتنەوە، یان بۆ جووڵە ڕاکێشان بکە",
"lineEditor_nothingSelected": "خاڵێک هەڵبژێرە بۆ دەستکاریکردن (SHIFT ڕابگرە بۆ هەڵبژاردنی چەندین)،\nیان Alt ڕابگرە و کلیک بکە بۆ زیادکردنی خاڵە نوێیەکان", "lineEditor_nothingSelected": "خاڵێک هەڵبژێرە بۆ دەستکاریکردن (SHIFT ڕابگرە بۆ هەڵبژاردنی چەندین)،\nیان Alt ڕابگرە و کلیک بکە بۆ زیادکردنی خاڵە نوێیەکان",
"placeImage": "کلیک بکە بۆ دانانی وێنەکە، یان کلیک بکە و ڕایبکێشە بۆ ئەوەی قەبارەکەی بە دەستی دابنێیت", "placeImage": "کلیک بکە بۆ دانانی وێنەکە، یان کلیک بکە و ڕایبکێشە بۆ ئەوەی قەبارەکەی بە دەستی دابنێیت",
@ -245,15 +246,15 @@
"eraserRevert": "بۆ گەڕاندنەوەی ئەو توخمانەی کە بۆ سڕینەوە نیشانە کراون، Alt ڕابگرە" "eraserRevert": "بۆ گەڕاندنەوەی ئەو توخمانەی کە بۆ سڕینەوە نیشانە کراون، Alt ڕابگرە"
}, },
"canvasError": { "canvasError": {
"cannotShowPreview": "ناتوانێت پێشبینین پیشان بدرێت", "cannotShowPreview": "ناتوانرێ پێشبینین پیشان بدرێت",
"canvasTooBig": "کانڤاکە لەوانەیە زۆر گەورەبێت.", "canvasTooBig": "تابلۆکە لەوانەیە زۆر گەورەبێت.",
"canvasTooBigTip": "زانیاری: هەوڵ بدە دوورترین توخمەکان کەمێک نزیکتر لە یەکتر بجوڵێنن." "canvasTooBigTip": "زانیاری: هەوڵ بدە دوورترین توخمەکان کەمێک لە یەکتر نزیک بکەوە."
}, },
"errorSplash": { "errorSplash": {
"headingMain_pre": "تووشی هەڵەیەک بوو. هەوڵ بدە ", "headingMain_pre": "تووشی هەڵەیەک بوو. هەوڵ بدە ",
"headingMain_button": "دووبارە بارکردنی لاپەڕەکە.", "headingMain_button": "دووبارە بارکردنی لاپەڕەکە.",
"clearCanvasMessage": "ئەگەر دووبارە بارکردنەوە کار نەکات، هەوڵبدە ", "clearCanvasMessage": "ئەگەر دووبارە بارکردنەوە کار ناکات، هەوڵبدە ",
"clearCanvasMessage_button": "کانڤاکە خاوێن بکەیتەوە.", "clearCanvasMessage_button": "خاوێنکردنەوەی تابلۆکە.",
"clearCanvasCaveat": " ئەمە دەبێتە هۆی لەدەستدانی ئەوەی کە کردوتە ", "clearCanvasCaveat": " ئەمە دەبێتە هۆی لەدەستدانی ئەوەی کە کردوتە ",
"trackedToSentry_pre": "هەڵەکە لەگەڵ ناسێنەری ", "trackedToSentry_pre": "هەڵەکە لەگەڵ ناسێنەری ",
"trackedToSentry_post": " لەسەر سیستەمەکەمان بەدواداچوونی بۆ کرا.", "trackedToSentry_post": " لەسەر سیستەمەکەمان بەدواداچوونی بۆ کرا.",
@ -310,10 +311,12 @@
"view": "دیمەن", "view": "دیمەن",
"zoomToFit": "زووم بکە بۆ ئەوەی لەگەڵ هەموو توخمەکاندا بگونجێت", "zoomToFit": "زووم بکە بۆ ئەوەی لەگەڵ هەموو توخمەکاندا بگونجێت",
"zoomToSelection": "زووم بکە بۆ دەستنیشانکراوەکان", "zoomToSelection": "زووم بکە بۆ دەستنیشانکراوەکان",
"toggleElementLock": "قفڵ/کردنەوەی دەستنیشانکراوەکان" "toggleElementLock": "قفڵ/کردنەوەی دەستنیشانکراوەکان",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "خاوێنکردنەوەی کانڤا" "title": "تابلۆکە خاوێن بکەرەوە"
}, },
"publishDialog": { "publishDialog": {
"title": "پێشکەشکردنی کتێبخانە", "title": "پێشکەشکردنی کتێبخانە",
@ -390,8 +393,9 @@
"copyToClipboardAsPng": "کۆپی کراوە {{exportSelection}} بۆ کلیپبۆرد وەک PNG\n({{exportColorScheme}})", "copyToClipboardAsPng": "کۆپی کراوە {{exportSelection}} بۆ کلیپبۆرد وەک PNG\n({{exportColorScheme}})",
"fileSaved": "فایل هەڵگیرا.", "fileSaved": "فایل هەڵگیرا.",
"fileSavedToFilename": "هەڵگیراوە بۆ {filename}", "fileSavedToFilename": "هەڵگیراوە بۆ {filename}",
"canvas": "کانڤاکان", "canvas": "تابلۆ",
"selection": "دەستنیشانکراوەکان" "selection": "دەستنیشانکراوەکان",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "سپی", "ffffff": "سپی",
@ -439,5 +443,12 @@
"5c940d": "نارنجی 9", "5c940d": "نارنجی 9",
"e67700": "زەرد 9", "e67700": "زەرد 9",
"d9480f": "پرتەقاڵی 9" "d9480f": "پرتەقاڵی 9"
},
"welcomeScreen": {
"data": "هەموو داتاکانت لە ناو بڕاوزەرەکەتدا پاشەکەوت کراوە.",
"switchToPlusApp": "دەتویست بچیت بۆ Excalidraw+؟",
"menuHints": "هەناردەکردن، پەسندکردنەکان، زمانەکان، ...",
"toolbarHints": "ئامرازێک هەڵبژێرە و دەستبکە بە وێنەکێشان!",
"helpHints": "قەدبڕەکان و یارمەتی"
} }
} }

View File

@ -1,19 +1,20 @@
{ {
"labels": { "labels": {
"paste": "Įklijuoti", "paste": "Įklijuoti",
"pasteAsPlaintext": "Įklijuoti kaip paprastą tekstą",
"pasteCharts": "Įklijuoti diagramas", "pasteCharts": "Įklijuoti diagramas",
"selectAll": "Pažymėti viską", "selectAll": "Pažymėti viską",
"multiSelect": "", "multiSelect": "Pridėkite elementą prie pasirinktų",
"moveCanvas": "", "moveCanvas": "Judinti drobę",
"cut": "Iškirpti", "cut": "Iškirpti",
"copy": "Kopijuoti", "copy": "Kopijuoti",
"copyAsPng": "", "copyAsPng": "Kopijuoti į iškarpinę kaip PNG",
"copyAsSvg": "", "copyAsSvg": "Kopijuoti į iškarpinę kaip SVG",
"copyText": "", "copyText": "Kopijuoti į iškarpinę kaip tekstą",
"bringForward": "", "bringForward": "Kelti priekio link",
"sendToBack": "", "sendToBack": "Nustumti į užnugarį",
"bringToFront": "", "bringToFront": "Iškelti į priekį",
"sendBackward": "", "sendBackward": "Nustumti link užnugario",
"delete": "Ištrinti", "delete": "Ištrinti",
"copyStyles": "Kopijuoti stilius", "copyStyles": "Kopijuoti stilius",
"pasteStyles": "Įklijuoti stilius", "pasteStyles": "Įklijuoti stilius",
@ -22,56 +23,56 @@
"fill": "Užpildymas", "fill": "Užpildymas",
"strokeWidth": "Linijos storis", "strokeWidth": "Linijos storis",
"strokeStyle": "Linijos stilius", "strokeStyle": "Linijos stilius",
"strokeStyle_solid": "", "strokeStyle_solid": "Ištisinė",
"strokeStyle_dashed": "", "strokeStyle_dashed": "Brūkšniuota",
"strokeStyle_dotted": "", "strokeStyle_dotted": "Taškuota",
"sloppiness": "", "sloppiness": "Netvarkingumas",
"opacity": "", "opacity": "Nepermatomumas",
"textAlign": "", "textAlign": "Teksto lygiavimas",
"edges": "Kraštai", "edges": "Kraštai",
"sharp": "", "sharp": "Aštrus",
"round": "", "round": "Užapvalintas",
"arrowheads": "", "arrowheads": "Rodyklės viršūnės",
"arrowhead_none": "", "arrowhead_none": "Jokios",
"arrowhead_arrow": "", "arrowhead_arrow": "Rodyklė",
"arrowhead_bar": "", "arrowhead_bar": "Brukšnys",
"arrowhead_dot": "", "arrowhead_dot": "Taškas",
"arrowhead_triangle": "Trikampis", "arrowhead_triangle": "Trikampis",
"fontSize": "", "fontSize": "Šrifto dydis",
"fontFamily": "", "fontFamily": "Šriftas",
"onlySelected": "", "onlySelected": "Tik pasirinktus",
"withBackground": "", "withBackground": "Fonas",
"exportEmbedScene": "", "exportEmbedScene": "Įterpti sceną",
"exportEmbedScene_details": "", "exportEmbedScene_details": "Scenos duomenys bus išsaugoti eksportuotame PNG/SVG faile taip, jog vėliau scena galėtu būti iš jo atkurta.\nTai padydins eksportuoto failo dydį.",
"addWatermark": "Sukurta su Excalidraw", "addWatermark": "Sukurta su Excalidraw",
"handDrawn": "", "handDrawn": "Ranka rašytas",
"normal": "Normalus", "normal": "Normalus",
"code": "Kodas", "code": "Kodas",
"small": "Mažas", "small": "Mažas",
"medium": "Vidutinis", "medium": "Vidutinis",
"large": "Didelis", "large": "Didelis",
"veryLarge": "", "veryLarge": "Labai didelis",
"solid": "", "solid": "",
"hachure": "", "hachure": "",
"crossHatch": "", "crossHatch": "",
"thin": "", "thin": "Plonas",
"bold": "", "bold": "Pastorintas",
"left": "", "left": "Kairėje",
"center": "", "center": "Centre",
"right": "", "right": "Dešinėje",
"extraBold": "", "extraBold": "Labiau pastorintas",
"architect": "", "architect": "Architektas",
"artist": "", "artist": "Menininkas",
"cartoonist": "", "cartoonist": "Karikatūristas",
"fileTitle": "Failo pavadinimas", "fileTitle": "Failo pavadinimas",
"colorPicker": "", "colorPicker": "Spalvos parinkiklis",
"canvasColors": "", "canvasColors": "",
"canvasBackground": "", "canvasBackground": "Drobės fonas",
"drawingCanvas": "", "drawingCanvas": "",
"layers": "", "layers": "Sluoksniai",
"actions": "", "actions": "Veiksmai",
"language": "", "language": "Kalba",
"liveCollaboration": "", "liveCollaboration": "Bendradarbiavimas gyvai...",
"duplicateSelection": "", "duplicateSelection": "",
"untitled": "", "untitled": "",
"name": "", "name": "",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "", "clearReset": "",
"exportJSON": "Eksportuoti į failą", "exportJSON": "Eksportuoti į failą",
"exportImage": "Išsaugoti kaip paveikslėlį", "exportImage": "",
"export": "Eksportuoti", "export": "",
"exportToPng": "Eksportuoti į PNG", "exportToPng": "Eksportuoti į PNG",
"exportToSvg": "Eksportuoti į SVG", "exportToSvg": "Eksportuoti į SVG",
"copyToClipboard": "Kopijuoti į iškarpinę", "copyToClipboard": "Kopijuoti į iškarpinę",
@ -144,7 +145,7 @@
"scale": "", "scale": "",
"save": "", "save": "",
"saveAs": "Išsaugoti kaip", "saveAs": "Išsaugoti kaip",
"load": "Įkelti", "load": "",
"getShareableLink": "Gauti nuorodą dalinimuisi", "getShareableLink": "Gauti nuorodą dalinimuisi",
"close": "Uždaryti", "close": "Uždaryti",
"selectLanguage": "Pasirinkite kalbą", "selectLanguage": "Pasirinkite kalbą",
@ -182,52 +183,52 @@
"decryptFailed": "", "decryptFailed": "",
"uploadedSecurly": "", "uploadedSecurly": "",
"loadSceneOverridePrompt": "", "loadSceneOverridePrompt": "",
"collabStopOverridePrompt": "", "collabStopOverridePrompt": "Sesijos nutraukimas perrašys ankstesnį, lokaliai išsaugotą piešinį. Ar tikrai to nori?\n\n(Jei nori išlaikyti lokalų piešinį, tiesiog uždaryk naršyklės skirtuką.)",
"errorAddingToLibrary": "", "errorAddingToLibrary": "Nepavyko įtraukti elemento į biblioteką",
"errorRemovingFromLibrary": "", "errorRemovingFromLibrary": "Nepavyko pašalinti elemento iš bibliotekos",
"confirmAddLibrary": "", "confirmAddLibrary": "Tai įtrauks {{numShapes}} figūrą/-as į tavo biblioteką. Ar tikrai to nori?",
"imageDoesNotContainScene": "", "imageDoesNotContainScene": "Panašu, jog šis paveiksliukas neturi scenos duomenų. Ar yra įjuntas scenos įtraukimas ekportavimo metu?",
"cannotRestoreFromImage": "", "cannotRestoreFromImage": "Nepavyko atstatyti scenos iš šio nuotraukos failo",
"invalidSceneUrl": "", "invalidSceneUrl": "Nepavyko suimportuoti scenos iš pateiktos nuorodos (URL). Ji arba blogai suformatuota, arba savyje neturi teisingų Excalidraw JSON duomenų.",
"resetLibrary": "", "resetLibrary": "Tai išvalys tavo biblioteką. Ar tikrai to nori?",
"removeItemsFromsLibrary": "", "removeItemsFromsLibrary": "Ištrinti {{count}} elementą/-us iš bibliotekos?",
"invalidEncryptionKey": "" "invalidEncryptionKey": "Šifravimo raktas turi būti iš 22 simbolių. Redagavimas gyvai yra išjungtas."
}, },
"errors": { "errors": {
"unsupportedFileType": "", "unsupportedFileType": "Nepalaikomas failo tipas.",
"imageInsertError": "", "imageInsertError": "Nepyko įkelti paveiksliuko. Pabandyk vėliau...",
"fileTooBig": "", "fileTooBig": "Per didelis failas. Didžiausias leidžiamas dydis yra {{maxSize}}.",
"svgImageInsertError": "", "svgImageInsertError": "Nepavyko įtraukti SVG paveiksliuko. Panašu, jog SVG yra nevalidus.",
"invalidSVGString": "", "invalidSVGString": "Nevalidus SVG.",
"cannotResolveCollabServer": "", "cannotResolveCollabServer": "Nepavyko prisijungti prie serverio bendradarbiavimui. Perkrauk puslapį ir pabandyk prisijungti dar kartą.",
"importLibraryError": "" "importLibraryError": "Nepavyko įkelti bibliotekos"
}, },
"toolBar": { "toolBar": {
"selection": "", "selection": "Žymėjimas",
"image": "", "image": "Įkelti paveiksliuką",
"rectangle": "", "rectangle": "Stačiakampis",
"diamond": "", "diamond": "Deimantas",
"ellipse": "", "ellipse": "Elipsė",
"arrow": "", "arrow": "Rodyklė",
"line": "", "line": "Linija",
"freedraw": "Piešti", "freedraw": "Piešti",
"text": "Tekstas", "text": "Tekstas",
"library": "Biblioteka", "library": "Biblioteka",
"lock": "", "lock": "Baigus piešti, išlaikyti pasirinktą įrankį",
"penMode": "", "penMode": "Rašyklio režimas - neleisti prisilietimų",
"link": "", "link": "Pridėti / Atnaujinti pasirinktos figūros nuorodą",
"eraser": "" "eraser": "Trintukas"
}, },
"headings": { "headings": {
"canvasActions": "", "canvasActions": "Veiksmai su drobe",
"selectedShapeActions": "", "selectedShapeActions": "Veiksmai su pasirinkta figūra",
"shapes": "Figūros" "shapes": "Figūros"
}, },
"hints": { "hints": {
"canvasPanning": "", "canvasPanning": "Norint judinti drobę, judink pelę kartu įspaudus pelės ratuką arba tarpo klavišą",
"linearElement": "", "linearElement": "Paspaudimai sukurs papildomus taškus, nepertraukiamas tempimas sukurs liniją",
"freeDraw": "", "freeDraw": "Spausk ir tempk, paleisk kai norėsi pabaigti",
"text": "", "text": "Užuomina: tekstą taip pat galima pridėti bet kur su dvigubu pelės paspaudimu, kol parinkas žymėjimo įrankis",
"text_selected": "", "text_selected": "",
"text_editing": "", "text_editing": "",
"linearElementMulti": "", "linearElementMulti": "",
@ -283,72 +284,74 @@
"link_details": "", "link_details": "",
"link_button": "", "link_button": "",
"excalidrawplus_description": "", "excalidrawplus_description": "",
"excalidrawplus_button": "", "excalidrawplus_button": "Eksportuoti",
"excalidrawplus_exportError": "" "excalidrawplus_exportError": ""
}, },
"helpDialog": { "helpDialog": {
"blog": "", "blog": "",
"click": "", "click": "paspaudimas",
"deepSelect": "", "deepSelect": "",
"deepBoxSelect": "", "deepBoxSelect": "",
"curvedArrow": "", "curvedArrow": "Banguota rodyklė",
"curvedLine": "", "curvedLine": "Banguota linija",
"documentation": "", "documentation": "Dokumentacija",
"doubleClick": "", "doubleClick": "dvigubas paspaudimas",
"drag": "vilkti", "drag": "vilkti",
"editor": "", "editor": "Redaktorius",
"editSelectedShape": "", "editSelectedShape": "",
"github": "", "github": "Radai klaidą? Pateik",
"howto": "", "howto": "Vadovaukis mūsų gidu",
"or": "", "or": "arba",
"preventBinding": "", "preventBinding": "",
"tools": "", "tools": "Įrankiai",
"shortcuts": "", "shortcuts": "Spartieji klavišai",
"textFinish": "", "textFinish": "Baigti redagavimą (teksto redaktoriuje)",
"textNewLine": "", "textNewLine": "Pridėti naują eilutę (tekto redaktoriuje)",
"title": "", "title": "Pagalba",
"view": "", "view": "",
"zoomToFit": "", "zoomToFit": "",
"zoomToSelection": "", "zoomToSelection": "Priartinti iki pažymėtos vietos",
"toggleElementLock": "" "toggleElementLock": "",
"movePageUpDown": "Pajudinti puslapį aukštyn/žemyn",
"movePageLeftRight": "Pajudinti puslapį kairėn/dešinėn"
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "" "title": "Išvalyti drobę"
}, },
"publishDialog": { "publishDialog": {
"title": "", "title": "Paviešinti biblioteką",
"itemName": "", "itemName": "Elemento pavadinimas",
"authorName": "", "authorName": "Autoriaus vardas",
"githubUsername": "", "githubUsername": "Github spalyvardis",
"twitterUsername": "", "twitterUsername": "Twitter slapyvardis",
"libraryName": "", "libraryName": "Bibliotekos pavadinimas",
"libraryDesc": "", "libraryDesc": "Bibliotekos aprašas",
"website": "Tinklalapis", "website": "Tinklalapis",
"placeholder": { "placeholder": {
"authorName": "", "authorName": "Tavo vardas arba spalyvardis",
"libraryName": "", "libraryName": "Tavo bibliotekos pavadinimas",
"libraryDesc": "", "libraryDesc": "Tavo bibliotekos aprašas, padėti žmonėms geriau suprasti jos paskirtį",
"githubHandle": "", "githubHandle": "",
"twitterHandle": "", "twitterHandle": "",
"website": "" "website": ""
}, },
"errors": { "errors": {
"required": "", "required": "Privalomas",
"website": "" "website": "Įveskite teisingą nuorodą (URL)"
}, },
"noteDescription": { "noteDescription": {
"pre": "", "pre": "Pateik savo biblioteką, jog ji galėtų būti įtraukta į ",
"link": "", "link": "",
"post": "" "post": "jog kiti žmonės galėtų tai naudoti savo piešiniuose."
}, },
"noteGuidelines": { "noteGuidelines": {
"pre": "", "pre": "Visų pirma, biblioteka turi būti rankiniu būdu patvirtinta. Prašome paskaityti ",
"link": "", "link": "gairės",
"post": "" "post": ""
}, },
"noteLicense": { "noteLicense": {
"pre": "", "pre": "",
"link": "", "link": "MIT licencija, ",
"post": "" "post": ""
}, },
"noteItems": "", "noteItems": "",
@ -356,13 +359,13 @@
"republishWarning": "" "republishWarning": ""
}, },
"publishSuccessDialog": { "publishSuccessDialog": {
"title": "", "title": "Biblioteka pateikta",
"content": "", "content": "Ačiū {{authorName}}. Tavo biblioteka buvo pateikta peržiūrai. Gali sekti būseną",
"link": "čia" "link": "čia"
}, },
"confirmDialog": { "confirmDialog": {
"resetLibrary": "", "resetLibrary": "Atstatyti biblioteką",
"removeItemsFromLib": "" "removeItemsFromLib": "Pašalinti pasirinktus elementus iš bibliotekos"
}, },
"encrypted": { "encrypted": {
"tooltip": "", "tooltip": "",
@ -370,74 +373,82 @@
}, },
"stats": { "stats": {
"angle": "", "angle": "",
"element": "", "element": "Elementas",
"elements": "", "elements": "Elementai",
"height": "", "height": "Aukštis",
"scene": "", "scene": "Scena",
"selected": "", "selected": "Pasirinkta",
"storage": "", "storage": "Saugykla",
"title": "", "title": "Informacija moksliukams",
"total": "", "total": "",
"version": "", "version": "",
"versionCopy": "", "versionCopy": "",
"versionNotAvailable": "", "versionNotAvailable": "",
"width": "" "width": "Plotis"
}, },
"toast": { "toast": {
"addedToLibrary": "", "addedToLibrary": "Pridėta į biblioteką",
"copyStyles": "", "copyStyles": "",
"copyToClipboard": "", "copyToClipboard": "Nukopijuota į iškarpinę.",
"copyToClipboardAsPng": "", "copyToClipboardAsPng": "",
"fileSaved": "", "fileSaved": "Failas išsaugotas.",
"fileSavedToFilename": "", "fileSavedToFilename": "Išsaugota į {filename}",
"canvas": "", "canvas": "drobė",
"selection": "" "selection": "",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "", "ffffff": "Balta",
"f8f9fa": "", "f8f9fa": "Pilka 0",
"f1f3f5": "", "f1f3f5": "Pilka 1",
"fff5f5": "", "fff5f5": "Raudona 0",
"fff0f6": "", "fff0f6": "Rožinė 0",
"f8f0fc": "", "f8f0fc": "",
"f3f0ff": "", "f3f0ff": "Violetinė 0",
"edf2ff": "", "edf2ff": "Indigo 0",
"e7f5ff": "", "e7f5ff": "Mėlyna 0",
"e3fafc": "", "e3fafc": "",
"e6fcf5": "", "e6fcf5": "",
"ebfbee": "", "ebfbee": "Žalia 0",
"f4fce3": "", "f4fce3": "",
"fff9db": "", "fff9db": "Geltona 0",
"fff4e6": "", "fff4e6": "Oranžinė 0",
"transparent": "", "transparent": "Permatoma",
"ced4da": "", "ced4da": "Pilka 4",
"868e96": "", "868e96": "Pilka 6",
"fa5252": "", "fa5252": "Raudona 6",
"e64980": "", "e64980": "Rožinė 6",
"be4bdb": "", "be4bdb": "",
"7950f2": "", "7950f2": "Violetinė 6",
"4c6ef5": "", "4c6ef5": "Indigo 6",
"228be6": "", "228be6": "Mėlyna 6",
"15aabf": "", "15aabf": "",
"12b886": "", "12b886": "",
"40c057": "", "40c057": "Žalia 6",
"82c91e": "", "82c91e": "",
"fab005": "", "fab005": "Geltona 6",
"fd7e14": "", "fd7e14": "Oranžinė 6",
"000000": "", "000000": "Juoda",
"343a40": "", "343a40": "Pilna 8",
"495057": "", "495057": "Pilka 7",
"c92a2a": "", "c92a2a": "Raudona 9",
"a61e4d": "", "a61e4d": "Rožinė 9",
"862e9c": "", "862e9c": "",
"5f3dc4": "", "5f3dc4": "Violetinė 9",
"364fc7": "", "364fc7": "Indigo 9",
"1864ab": "", "1864ab": "Mėlyna 9",
"0b7285": "", "0b7285": "",
"087f5b": "", "087f5b": "",
"2b8a3e": "", "2b8a3e": "Žalia 9",
"5c940d": "", "5c940d": "",
"e67700": "", "e67700": "Geltona 9",
"d9480f": "" "d9480f": "Oranžinė 9"
},
"welcomeScreen": {
"data": "Visi tavo duomenys išsaugoti lokaliai naršyklėje.",
"switchToPlusApp": "Ar vietoj to norėjai patekti į Excalidraw+?",
"menuHints": "Eksportavimas, parinktys, kalbos, ...",
"toolbarHints": "Pasirink įrankį ir Pradėk piešti!",
"helpHints": "Spartieji klavišai ir pagalba"
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Ielīmēt", "paste": "Ielīmēt",
"pasteAsPlaintext": "",
"pasteCharts": "Ielīmēt grafikus", "pasteCharts": "Ielīmēt grafikus",
"selectAll": "Atlasīt visu", "selectAll": "Atlasīt visu",
"multiSelect": "Pievienot elementu atlasei", "multiSelect": "Pievienot elementu atlasei",
@ -71,7 +72,7 @@
"layers": "Slāņi", "layers": "Slāņi",
"actions": "Darbības", "actions": "Darbības",
"language": "Valoda", "language": "Valoda",
"liveCollaboration": "Sadarbība tiešsaistē", "liveCollaboration": "Sadarbība tiešsaistē...",
"duplicateSelection": "Izveidot kopiju", "duplicateSelection": "Izveidot kopiju",
"untitled": "Bez nosaukuma", "untitled": "Bez nosaukuma",
"name": "Vārds", "name": "Vārds",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "Atiestatīt tāfeli", "clearReset": "Atiestatīt tāfeli",
"exportJSON": "Eksportēt kā failu", "exportJSON": "Eksportēt kā failu",
"exportImage": "Saglabāt kā attēlu", "exportImage": "Eksportēt attēlu...",
"export": "Eksportēt", "export": "Saglabāt uz...",
"exportToPng": "Eksportēt kā PNG", "exportToPng": "Eksportēt kā PNG",
"exportToSvg": "Eksportēt kā SVG", "exportToSvg": "Eksportēt kā SVG",
"copyToClipboard": "Kopēt starpliktuvē", "copyToClipboard": "Kopēt starpliktuvē",
@ -144,7 +145,7 @@
"scale": "Mērogs", "scale": "Mērogs",
"save": "Saglabāt pašreizējo datni", "save": "Saglabāt pašreizējo datni",
"saveAs": "Saglabāt kā", "saveAs": "Saglabāt kā",
"load": "Ielādēt", "load": "Atvērt",
"getShareableLink": "Iegūt kopīgošanas saiti", "getShareableLink": "Iegūt kopīgošanas saiti",
"close": "Aizvērt", "close": "Aizvērt",
"selectLanguage": "Izvēlieties valodu", "selectLanguage": "Izvēlieties valodu",
@ -214,7 +215,7 @@
"text": "Teksts", "text": "Teksts",
"library": "Bibliotēka", "library": "Bibliotēka",
"lock": "Paturēt izvēlēto rīku pēc darbības", "lock": "Paturēt izvēlēto rīku pēc darbības",
"penMode": "Lietojot pildspalvu, bloķēt tuvināšanu un atļaut tikai zīmēšanu", "penMode": "Pildspalvas režīms novērst pieskaršanos",
"link": "Pievienot/rediģēt atlasītās figūras saiti", "link": "Pievienot/rediģēt atlasītās figūras saiti",
"eraser": "Dzēšgumija" "eraser": "Dzēšgumija"
}, },
@ -235,7 +236,7 @@
"resize": "Kad maināt izmēru, varat ierobežot proporcijas, turot nospiestu SHIFT,\nvai arī ALT, lai mainītu izmēru ap centru", "resize": "Kad maināt izmēru, varat ierobežot proporcijas, turot nospiestu SHIFT,\nvai arī ALT, lai mainītu izmēru ap centru",
"resizeImage": "Varat brīvi mainīt izmēru, turot nospiestu SHIFT;\nturiet nospiestu ALT, lai mainītu izmēru ap centru", "resizeImage": "Varat brīvi mainīt izmēru, turot nospiestu SHIFT;\nturiet nospiestu ALT, lai mainītu izmēru ap centru",
"rotate": "Rotējot varat ierobežot leņķi, turot nospiestu SHIFT", "rotate": "Rotējot varat ierobežot leņķi, turot nospiestu SHIFT",
"lineEditor_info": "Dubultklikšķiniet vai spiediet ievades taustiņu, lai rediģētu punktus", "lineEditor_info": "",
"lineEditor_pointSelected": "Spiediet dzēšanas taustiņu, lai noņemtu punktus, CtrlOrCmd+D, lai to kopētu, vai velciet, lai pārvietotu", "lineEditor_pointSelected": "Spiediet dzēšanas taustiņu, lai noņemtu punktus, CtrlOrCmd+D, lai to kopētu, vai velciet, lai pārvietotu",
"lineEditor_nothingSelected": "Atlasiet punktu, lai labotu (turiet nospiestu SHIFT, lai atlasītu vairākus),\nvai turiet Alt un clikšķiniet, lai pievienotu jaunus punktus", "lineEditor_nothingSelected": "Atlasiet punktu, lai labotu (turiet nospiestu SHIFT, lai atlasītu vairākus),\nvai turiet Alt un clikšķiniet, lai pievienotu jaunus punktus",
"placeImage": "Klikšķiniet, lai novietotu attēlu, vai spiediet un velciet, lai iestatītu tā izmēru", "placeImage": "Klikšķiniet, lai novietotu attēlu, vai spiediet un velciet, lai iestatītu tā izmēru",
@ -310,7 +311,9 @@
"view": "Skatīt", "view": "Skatīt",
"zoomToFit": "Iestatīt mērogu, kas iekļauj visus elementus", "zoomToFit": "Iestatīt mērogu, kas iekļauj visus elementus",
"zoomToSelection": "Iestatīt mērogu, lai rādītu atlasi", "zoomToSelection": "Iestatīt mērogu, lai rādītu atlasi",
"toggleElementLock": "Fiksēt/atbrīvot atlasīto" "toggleElementLock": "Fiksēt/atbrīvot atlasīto",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Notīrīt tāfeli" "title": "Notīrīt tāfeli"
@ -391,7 +394,8 @@
"fileSaved": "Datne saglabāta.", "fileSaved": "Datne saglabāta.",
"fileSavedToFilename": "Saglabāts kā {filename}", "fileSavedToFilename": "Saglabāts kā {filename}",
"canvas": "tāfeli", "canvas": "tāfeli",
"selection": "atlasi" "selection": "atlasi",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "Balts", "ffffff": "Balts",
@ -439,5 +443,12 @@
"5c940d": "Laims 9", "5c940d": "Laims 9",
"e67700": "Dzeltens 9", "e67700": "Dzeltens 9",
"d9480f": "Oranžs 9" "d9480f": "Oranžs 9"
},
"welcomeScreen": {
"data": "Visi jūsu dati tiek glabāti uz vietas jūsu pārlūkā.",
"switchToPlusApp": "",
"menuHints": "Eksportēšana, iestatījumi, valodas...",
"toolbarHints": "Izvēlieties rīku un sāciet zīmēt!",
"helpHints": "Saīsnes un palīdzība"
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "चिटकवा", "paste": "चिटकवा",
"pasteAsPlaintext": "",
"pasteCharts": "चार्ट चिकटवा", "pasteCharts": "चार्ट चिकटवा",
"selectAll": "समस्त निवडा", "selectAll": "समस्त निवडा",
"multiSelect": "निवडित तत्व जोडा", "multiSelect": "निवडित तत्व जोडा",
@ -71,7 +72,7 @@
"layers": "स्तर", "layers": "स्तर",
"actions": "क्रिया", "actions": "क्रिया",
"language": "भाषा", "language": "भाषा",
"liveCollaboration": "थेट सहयोग", "liveCollaboration": "ज्वलंत सहयोग...",
"duplicateSelection": "प्रतिलिपि", "duplicateSelection": "प्रतिलिपि",
"untitled": "अशीर्षकांकित", "untitled": "अशीर्षकांकित",
"name": "नाव", "name": "नाव",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "पटल पुसा", "clearReset": "पटल पुसा",
"exportJSON": "फ़ाइलमधे बाहेर ठेवा", "exportJSON": "फ़ाइलमधे बाहेर ठेवा",
"exportImage": "प्रतिमेस्वरूप जतन करा", "exportImage": "प्रतिमा निर्यात करा...",
"export": "बाहेर ठेवा", "export": "येथे सुरक्षित करा...",
"exportToPng": "पी-एन-जी स्वरूपात बाहेर ठेवा", "exportToPng": "पी-एन-जी स्वरूपात बाहेर ठेवा",
"exportToSvg": "एस-वी-जी स्वरूपात बाहेर ठेवा", "exportToSvg": "एस-वी-जी स्वरूपात बाहेर ठेवा",
"copyToClipboard": "फळी वर कॉपी करा", "copyToClipboard": "फळी वर कॉपी करा",
@ -144,7 +145,7 @@
"scale": "मोजपट्टी", "scale": "मोजपट्टी",
"save": "वर्तमान फ़ाइल मधे जतन करा", "save": "वर्तमान फ़ाइल मधे जतन करा",
"saveAs": "ह्या नावाने जतन करा", "saveAs": "ह्या नावाने जतन करा",
"load": "बाहेरुन भरा", "load": "उघडा",
"getShareableLink": "सामायिके साठी दुवा प्राप्त करा", "getShareableLink": "सामायिके साठी दुवा प्राप्त करा",
"close": "बंद करा", "close": "बंद करा",
"selectLanguage": "भाषा निवड करा", "selectLanguage": "भाषा निवड करा",
@ -214,7 +215,7 @@
"text": "टेक्स्ट", "text": "टेक्स्ट",
"library": "संग्रह", "library": "संग्रह",
"lock": "निवडलेले यंत्र चित्रकरण झाल्या नंतर ही सक्रिय ठेवा", "lock": "निवडलेले यंत्र चित्रकरण झाल्या नंतर ही सक्रिय ठेवा",
"penMode": "पिंच-झूम प्रतिबंधित करा आणि फक्त पेन हे यंत्र मुक्त चित्री करण साठी स्वीकारा", "penMode": "पेन चा मोड - स्पर्श टाळा",
"link": "निवडलेल्या आकारासाठी दुवा जोडा/बदल करा", "link": "निवडलेल्या आकारासाठी दुवा जोडा/बदल करा",
"eraser": "खोड रबर" "eraser": "खोड रबर"
}, },
@ -235,7 +236,7 @@
"resize": "आकार छोटा मोठा करताना SHIFT धरून तुम्ही प्रमाण मर्यादित करू शकता, \nकेंद्रापासून आकार छोटा मोठा करण्यासाठी ALT धरून ठेवा", "resize": "आकार छोटा मोठा करताना SHIFT धरून तुम्ही प्रमाण मर्यादित करू शकता, \nकेंद्रापासून आकार छोटा मोठा करण्यासाठी ALT धरून ठेवा",
"resizeImage": "SHIFT धरून तुम्ही मुक्तपणे आकार मोठा छोटा करु शकता,\nकेंद्रापासून आकार मोठा छोटा करण्यासाठी ALT धरून ठेवा", "resizeImage": "SHIFT धरून तुम्ही मुक्तपणे आकार मोठा छोटा करु शकता,\nकेंद्रापासून आकार मोठा छोटा करण्यासाठी ALT धरून ठेवा",
"rotate": "फिरवत असताना शिफ्ट धरून तुम्ही कोन मर्यादित करू शकता", "rotate": "फिरवत असताना शिफ्ट धरून तुम्ही कोन मर्यादित करू शकता",
"lineEditor_info": "बिंदु संपादित करण्या साठी दुहेरी क्लिक किव्हा एंटर की दाबा", "lineEditor_info": "",
"lineEditor_pointSelected": "बिंदु (एक किव्हा अनेक) काढ़ण्या साठी डिलीट की दाबा,\nCtrlOrCmd बरोबार D प्रति साठी,\nकिव्हा ड्रेग हलवण्या साठी", "lineEditor_pointSelected": "बिंदु (एक किव्हा अनेक) काढ़ण्या साठी डिलीट की दाबा,\nCtrlOrCmd बरोबार D प्रति साठी,\nकिव्हा ड्रेग हलवण्या साठी",
"lineEditor_nothingSelected": "संपादित करण्यासाठी एक बिंदू निवडा (अनेक निवडण्यासाठी SHIFT धरून ठेवा),\nकिंवा Alt धरून ठेवा आणि नवीन बिंदू जोडण्यासाठी क्लिक करा", "lineEditor_nothingSelected": "संपादित करण्यासाठी एक बिंदू निवडा (अनेक निवडण्यासाठी SHIFT धरून ठेवा),\nकिंवा Alt धरून ठेवा आणि नवीन बिंदू जोडण्यासाठी क्लिक करा",
"placeImage": "प्रतिमा ठेवण्यासाठी क्लिक करा, किंवा त्याचा आकार बदलण्या साठी क्लिक करा आणि ड्रॅग करा", "placeImage": "प्रतिमा ठेवण्यासाठी क्लिक करा, किंवा त्याचा आकार बदलण्या साठी क्लिक करा आणि ड्रॅग करा",
@ -310,7 +311,9 @@
"view": "दृश्य", "view": "दृश्य",
"zoomToFit": "सर्व तत्व दिसतील असे दृश्यरूप आकार करा", "zoomToFit": "सर्व तत्व दिसतील असे दृश्यरूप आकार करा",
"zoomToSelection": "निवडी प्रयंत दृश्यरूप आकार करा", "zoomToSelection": "निवडी प्रयंत दृश्यरूप आकार करा",
"toggleElementLock": "कुलूपातून आत/बाहेर निवड" "toggleElementLock": "कुलूपातून आत/बाहेर निवड",
"movePageUpDown": "पान वर/खाली करा",
"movePageLeftRight": "पान डावी/उजवी कडे करा"
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "पटल स्वच्छ करा" "title": "पटल स्वच्छ करा"
@ -391,7 +394,8 @@
"fileSaved": "फ़ाइल जतन झाली.", "fileSaved": "फ़ाइल जतन झाली.",
"fileSavedToFilename": "{filename} मधे जतन झाली", "fileSavedToFilename": "{filename} मधे जतन झाली",
"canvas": "पटल", "canvas": "पटल",
"selection": "निवड" "selection": "निवड",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "पांढरा", "ffffff": "पांढरा",
@ -439,5 +443,12 @@
"5c940d": "नीबू 9", "5c940d": "नीबू 9",
"e67700": "पीला 9", "e67700": "पीला 9",
"d9480f": "नारंगी 9" "d9480f": "नारंगी 9"
},
"welcomeScreen": {
"data": "तुमचा सर्व डेटा ब्राउज़र मधे स्थानिक जागेत सुरक्षित झाला.",
"switchToPlusApp": "त्याएवजी तुम्हाला Excalidraw+ पर्याय हवा आहे का?",
"menuHints": "निर्यात, पसंती, भाषा, ...",
"toolbarHints": "साधन निवडा आणि चित्रीकरण सुरु करा!",
"helpHints": "शॉर्टकट & सहाय"
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "ထား", "paste": "ထား",
"pasteAsPlaintext": "",
"pasteCharts": "", "pasteCharts": "",
"selectAll": "အကုန်ရွေး", "selectAll": "အကုန်ရွေး",
"multiSelect": "ရွေးထားသည့်ထဲပုံထည့်", "multiSelect": "ရွေးထားသည့်ထဲပုံထည့်",
@ -136,7 +137,7 @@
"clearReset": "ကားချပ်ရှင်းလင်း", "clearReset": "ကားချပ်ရှင်းလင်း",
"exportJSON": "", "exportJSON": "",
"exportImage": "", "exportImage": "",
"export": "ထုတ်", "export": "",
"exportToPng": "PNG ထုတ်", "exportToPng": "PNG ထုတ်",
"exportToSvg": "SVG ထုတ်", "exportToSvg": "SVG ထုတ်",
"copyToClipboard": "ကူးယူ", "copyToClipboard": "ကူးယူ",
@ -144,7 +145,7 @@
"scale": "စကေး", "scale": "စကေး",
"save": "", "save": "",
"saveAs": "ပြောင်းသိမ်း", "saveAs": "ပြောင်းသိမ်း",
"load": "တင်သွင်း", "load": "",
"getShareableLink": "မျှဝေရန် လင့်ခ်ရယူ", "getShareableLink": "မျှဝေရန် လင့်ခ်ရယူ",
"close": "ပိတ်", "close": "ပိတ်",
"selectLanguage": "ဘာသာစကားရွေးပါ", "selectLanguage": "ဘာသာစကားရွေးပါ",
@ -235,7 +236,7 @@
"resize": "အချိုးအစားကန့်သတ်ရန် Shift နှင့် ဗဟိုမှချိန်ညှိရန် Alt တို့ကိုနှိပ်ထားနိုင်သည်", "resize": "အချိုးအစားကန့်သတ်ရန် Shift နှင့် ဗဟိုမှချိန်ညှိရန် Alt တို့ကိုနှိပ်ထားနိုင်သည်",
"resizeImage": "", "resizeImage": "",
"rotate": "Shift ကိုနှိပ်ထားခြင်းဖြင့် ထောင့်အလိုက်လှည့်နိုင်သည်", "rotate": "Shift ကိုနှိပ်ထားခြင်းဖြင့် ထောင့်အလိုက်လှည့်နိုင်သည်",
"lineEditor_info": "အမှတ်များပြင်ဆင်သတ်မှတ်ရင် ကလစ်နှစ်ချက် (သို့) Enter ကိုနှိပ်ပါ", "lineEditor_info": "",
"lineEditor_pointSelected": "", "lineEditor_pointSelected": "",
"lineEditor_nothingSelected": "", "lineEditor_nothingSelected": "",
"placeImage": "", "placeImage": "",
@ -310,7 +311,9 @@
"view": "", "view": "",
"zoomToFit": "", "zoomToFit": "",
"zoomToSelection": "", "zoomToSelection": "",
"toggleElementLock": "" "toggleElementLock": "",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "" "title": ""
@ -391,7 +394,8 @@
"fileSaved": "", "fileSaved": "",
"fileSavedToFilename": "", "fileSavedToFilename": "",
"canvas": "", "canvas": "",
"selection": "" "selection": "",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "", "ffffff": "",
@ -439,5 +443,12 @@
"5c940d": "", "5c940d": "",
"e67700": "", "e67700": "",
"d9480f": "" "d9480f": ""
},
"welcomeScreen": {
"data": "",
"switchToPlusApp": "",
"menuHints": "",
"toolbarHints": "",
"helpHints": ""
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Lim inn", "paste": "Lim inn",
"pasteAsPlaintext": "Lim inn som klartekst",
"pasteCharts": "Lim inn diagrammer", "pasteCharts": "Lim inn diagrammer",
"selectAll": "Velg alt", "selectAll": "Velg alt",
"multiSelect": "Legg til element i utvalg", "multiSelect": "Legg til element i utvalg",
@ -71,7 +72,7 @@
"layers": "Lag", "layers": "Lag",
"actions": "Handlinger", "actions": "Handlinger",
"language": "Språk", "language": "Språk",
"liveCollaboration": "Sanntids-samarbeid", "liveCollaboration": "Sanntids-samarbeid...",
"duplicateSelection": "Dupliser", "duplicateSelection": "Dupliser",
"untitled": "Uten navn", "untitled": "Uten navn",
"name": "Navn", "name": "Navn",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "Tøm lerretet og tilbakestill bakgrunnsfargen", "clearReset": "Tøm lerretet og tilbakestill bakgrunnsfargen",
"exportJSON": "Eksporter til fil", "exportJSON": "Eksporter til fil",
"exportImage": "Lagre som bilde", "exportImage": "Eksporter bilde...",
"export": "Eksporter", "export": "Lagre som...",
"exportToPng": "Eksporter til PNG", "exportToPng": "Eksporter til PNG",
"exportToSvg": "Eksporter til SVG", "exportToSvg": "Eksporter til SVG",
"copyToClipboard": "Kopier til utklippstavle", "copyToClipboard": "Kopier til utklippstavle",
@ -214,7 +215,7 @@
"text": "Tekst", "text": "Tekst",
"library": "Bibliotek", "library": "Bibliotek",
"lock": "Behold merket verktøy som aktivt", "lock": "Behold merket verktøy som aktivt",
"penMode": "Forhindre zoom ved kniping og godta frihåndstegning kun fra penn", "penMode": "Pennemodus - forhindre berøring",
"link": "Legg til / oppdater link for en valgt figur", "link": "Legg til / oppdater link for en valgt figur",
"eraser": "Viskelær" "eraser": "Viskelær"
}, },
@ -235,7 +236,7 @@
"resize": "Du kan beholde forholdet ved å trykke SHIFT mens du endrer størrelse,\ntrykk ALT for å endre størrelsen fra midten", "resize": "Du kan beholde forholdet ved å trykke SHIFT mens du endrer størrelse,\ntrykk ALT for å endre størrelsen fra midten",
"resizeImage": "Du kan endre størrelse fritt ved å holde SHIFT,\nhold ALT for å endre størrelse fra midten", "resizeImage": "Du kan endre størrelse fritt ved å holde SHIFT,\nhold ALT for å endre størrelse fra midten",
"rotate": "Du kan låse vinklene ved å holde SHIFT mens du roterer", "rotate": "Du kan låse vinklene ved å holde SHIFT mens du roterer",
"lineEditor_info": "Dobbeltklikk eller trykk Enter for å redigere punkter", "lineEditor_info": "Hold Ctrl/Cmd og dobbelklikk eller trykk Ctrl/Cmd + Enter for å endre punkter",
"lineEditor_pointSelected": "Trykk på Slett for å fjerne punktet, Ctrl / Cmd+D for å duplisere, eller dra for å flytte", "lineEditor_pointSelected": "Trykk på Slett for å fjerne punktet, Ctrl / Cmd+D for å duplisere, eller dra for å flytte",
"lineEditor_nothingSelected": "Velg et punkt å redigere (hold SHIFT for å velge flere),\neller hold Alt og klikk for å legge til nye punkter", "lineEditor_nothingSelected": "Velg et punkt å redigere (hold SHIFT for å velge flere),\neller hold Alt og klikk for å legge til nye punkter",
"placeImage": "Klikk for å plassere bildet, eller klikk og dra for å angi størrelsen manuelt", "placeImage": "Klikk for å plassere bildet, eller klikk og dra for å angi størrelsen manuelt",
@ -310,7 +311,9 @@
"view": "Vis", "view": "Vis",
"zoomToFit": "Zoom for å se alle elementer", "zoomToFit": "Zoom for å se alle elementer",
"zoomToSelection": "Zoom til utvalg", "zoomToSelection": "Zoom til utvalg",
"toggleElementLock": "Lås/lås opp utvalg" "toggleElementLock": "Lås/lås opp utvalg",
"movePageUpDown": "Flytt side opp/ned",
"movePageLeftRight": "Flytt siden til venstre/høyre"
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Tøm lerret" "title": "Tøm lerret"
@ -391,7 +394,8 @@
"fileSaved": "Fil lagret.", "fileSaved": "Fil lagret.",
"fileSavedToFilename": "Lagret til {filename}", "fileSavedToFilename": "Lagret til {filename}",
"canvas": "lerret", "canvas": "lerret",
"selection": "utvalg" "selection": "utvalg",
"pasteAsSingleElement": "Bruk {{shortcut}} for å lime inn som ett enkelt element,\neller lim inn i en eksisterende tekstbehandler"
}, },
"colors": { "colors": {
"ffffff": "Hvit", "ffffff": "Hvit",
@ -439,5 +443,12 @@
"5c940d": "Limegrønn 9", "5c940d": "Limegrønn 9",
"e67700": "Gul 9", "e67700": "Gul 9",
"d9480f": "Oransje 9" "d9480f": "Oransje 9"
},
"welcomeScreen": {
"data": "Alle dine data lagres lokalt i din nettleser.",
"switchToPlusApp": "Ønsker du å gå til Excalidraw+ i stedet?",
"menuHints": "Eksporter, innstillinger, språk, ...",
"toolbarHints": "Velg et verktøy og start å tegne!",
"helpHints": "Snarveier & hjelp"
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Plakken", "paste": "Plakken",
"pasteAsPlaintext": "Plakken als platte tekst",
"pasteCharts": "Plak grafieken", "pasteCharts": "Plak grafieken",
"selectAll": "Alles selecteren", "selectAll": "Alles selecteren",
"multiSelect": "Voeg element toe aan selectie", "multiSelect": "Voeg element toe aan selectie",
@ -9,14 +10,14 @@
"copy": "Kopiëren", "copy": "Kopiëren",
"copyAsPng": "Kopieer als PNG", "copyAsPng": "Kopieer als PNG",
"copyAsSvg": "Kopieer naar klembord als SVG", "copyAsSvg": "Kopieer naar klembord als SVG",
"copyText": "Kopiëren naar klembord als tekst", "copyText": "Kopieer naar klembord als tekst",
"bringForward": "Breng naar voren", "bringForward": "Breng naar voren",
"sendToBack": "Stuur naar achtergrond", "sendToBack": "Stuur naar achtergrond",
"bringToFront": "Breng naar voorgrond", "bringToFront": "Breng naar voorgrond",
"sendBackward": "Breng naar achter", "sendBackward": "Breng naar achter",
"delete": "Verwijderen", "delete": "Verwijderen",
"copyStyles": "Opmaak kopiëren", "copyStyles": "Kopieer opmaak",
"pasteStyles": "Opmaak plakken", "pasteStyles": "Plak opmaak",
"stroke": "Lijn", "stroke": "Lijn",
"background": "Achtergrond", "background": "Achtergrond",
"fill": "Invulling", "fill": "Invulling",
@ -71,7 +72,7 @@
"layers": "Lagen", "layers": "Lagen",
"actions": "Acties", "actions": "Acties",
"language": "Taal", "language": "Taal",
"liveCollaboration": "Live Samenwerking", "liveCollaboration": "Live Samenwerking...",
"duplicateSelection": "Dupliceer", "duplicateSelection": "Dupliceer",
"untitled": "Naamloos", "untitled": "Naamloos",
"name": "Naam", "name": "Naam",
@ -105,38 +106,38 @@
"toggleTheme": "Thema aan/uit", "toggleTheme": "Thema aan/uit",
"personalLib": "Persoonlijke bibliotheek", "personalLib": "Persoonlijke bibliotheek",
"excalidrawLib": "Excalidraw bibliotheek", "excalidrawLib": "Excalidraw bibliotheek",
"decreaseFontSize": "", "decreaseFontSize": "Letters verkleinen",
"increaseFontSize": "", "increaseFontSize": "Letters vergroten",
"unbindText": "Ontkoppel tekst", "unbindText": "Ontkoppel tekst",
"bindText": "", "bindText": "Koppel tekst aan de container",
"link": { "link": {
"edit": "", "edit": "Wijzig link",
"create": "", "create": "Maak link",
"label": "" "label": "Link"
}, },
"lineEditor": { "lineEditor": {
"edit": "Bewerk regel", "edit": "Bewerk regel",
"exit": "Verlaat regel-editor" "exit": "Verlaat regel-editor"
}, },
"elementLock": { "elementLock": {
"lock": "", "lock": "Vergrendel",
"unlock": "", "unlock": "Ontgrendel",
"lockAll": "", "lockAll": "Vergrendel alles",
"unlockAll": "" "unlockAll": "Ontgrendel alles"
}, },
"statusPublished": "", "statusPublished": "Gepubliceerd",
"sidebarLock": "" "sidebarLock": "Zijbalk open houden"
}, },
"library": { "library": {
"noItems": "", "noItems": "Nog geen items toegevoegd...",
"hint_emptyLibrary": "", "hint_emptyLibrary": "Selecteer een item op het canvas om het hier toe te voegen of installeer een bibliotheek uit de openbare repository, hieronder.",
"hint_emptyPrivateLibrary": "" "hint_emptyPrivateLibrary": "Selecteer een item op het canvas om het hier toe te voegen."
}, },
"buttons": { "buttons": {
"clearReset": "Canvas opnieuw instellen", "clearReset": "Canvas opnieuw instellen",
"exportJSON": "Exporteren naar bestand", "exportJSON": "Exporteren naar bestand",
"exportImage": "Als afbeelding opslaan", "exportImage": "Exporteer afbeelding...",
"export": "Exporteren", "export": "Sla op...",
"exportToPng": "Exporteren naar PNG", "exportToPng": "Exporteren naar PNG",
"exportToSvg": "Exporteren naar SVG", "exportToSvg": "Exporteren naar SVG",
"copyToClipboard": "Kopieer", "copyToClipboard": "Kopieer",
@ -181,11 +182,11 @@
"couldNotCopyToClipboard": "Kon niet naar klembord kopiëren.", "couldNotCopyToClipboard": "Kon niet naar klembord kopiëren.",
"decryptFailed": "Kan gegevens niet decoderen.", "decryptFailed": "Kan gegevens niet decoderen.",
"uploadedSecurly": "De upload is beveiligd met end-to-end encryptie, wat betekent dat de Excalidraw server en derden de inhoud niet kunnen lezen.", "uploadedSecurly": "De upload is beveiligd met end-to-end encryptie, wat betekent dat de Excalidraw server en derden de inhoud niet kunnen lezen.",
"loadSceneOverridePrompt": "Het laden van externe tekening zal uw bestaande inhoud vervangen. Wil je doorgaan?", "loadSceneOverridePrompt": "Het inladen van een externe tekening zal je bestaande inhoud vervangen. Wil je verdergaan?",
"collabStopOverridePrompt": "Wanneer de sessie wordt gestopt, overschrijft u de eerdere, lokaal opgeslagen tekening. Weet je het zeker?\n\n(Als je de lokale tekening wilt behouden, sluit je in plaats daarvan het browsertabblad)", "collabStopOverridePrompt": "Wanneer de sessie wordt gestopt, overschrijft u de eerdere, lokaal opgeslagen tekening. Weet je het zeker?\n\n(Als je de lokale tekening wilt behouden, sluit je in plaats daarvan het browsertabblad)",
"errorAddingToLibrary": "Kan item niet toevoegen aan de bibliotheek", "errorAddingToLibrary": "Kan item niet toevoegen aan de bibliotheek",
"errorRemovingFromLibrary": "Kan item niet uit de bibliotheek verwijderen", "errorRemovingFromLibrary": "Kan item niet uit de bibliotheek verwijderen",
"confirmAddLibrary": "Hiermee worden {{numShapes}} vorm(n) aan uw bibliotheek toegevoegd. Ben je het zeker?", "confirmAddLibrary": "Dit zal {{numShapes}} vorm(en) toevoegen aan je bibliotheek. Weet je het zeker?",
"imageDoesNotContainScene": "Deze afbeelding lijkt geen scène gegevens te bevatten. Heb je scène embedding tijdens het exporteren ingeschakeld?", "imageDoesNotContainScene": "Deze afbeelding lijkt geen scène gegevens te bevatten. Heb je scène embedding tijdens het exporteren ingeschakeld?",
"cannotRestoreFromImage": "Scène kan niet worden hersteld vanuit dit afbeeldingsbestand", "cannotRestoreFromImage": "Scène kan niet worden hersteld vanuit dit afbeeldingsbestand",
"invalidSceneUrl": "Kan scène niet importeren vanuit de opgegeven URL. Het is onjuist of bevat geen geldige Excalidraw JSON-gegevens.", "invalidSceneUrl": "Kan scène niet importeren vanuit de opgegeven URL. Het is onjuist of bevat geen geldige Excalidraw JSON-gegevens.",
@ -197,26 +198,26 @@
"unsupportedFileType": "Niet-ondersteund bestandstype.", "unsupportedFileType": "Niet-ondersteund bestandstype.",
"imageInsertError": "Afbeelding invoegen mislukt. Probeer het later opnieuw...", "imageInsertError": "Afbeelding invoegen mislukt. Probeer het later opnieuw...",
"fileTooBig": "Bestand is te groot. Maximale grootte is {{maxSize}}.", "fileTooBig": "Bestand is te groot. Maximale grootte is {{maxSize}}.",
"svgImageInsertError": "", "svgImageInsertError": "Kon geen SVG-afbeelding invoegen. De SVG-opmaak ziet er niet geldig uit.",
"invalidSVGString": "Ongeldige SVG.", "invalidSVGString": "Ongeldige SVG.",
"cannotResolveCollabServer": "", "cannotResolveCollabServer": "Kan geen verbinding maken met de collab server. Herlaad de pagina en probeer het opnieuw.",
"importLibraryError": "" "importLibraryError": "Kon bibliotheek niet laden"
}, },
"toolBar": { "toolBar": {
"selection": "Selectie", "selection": "Selectie",
"image": "", "image": "Voeg afbeelding in",
"rectangle": "Rechthoek", "rectangle": "Rechthoek",
"diamond": "Ruit", "diamond": "Ruit",
"ellipse": "Ovaal", "ellipse": "Ovaal",
"arrow": "Pijl", "arrow": "Pijl",
"line": "Lijn", "line": "Lijn",
"freedraw": "Tekenen", "freedraw": "Teken",
"text": "Tekst", "text": "Tekst",
"library": "Bibliotheek", "library": "Bibliotheek",
"lock": "Geselecteerde tool actief houden na tekenen", "lock": "Geselecteerde tool actief houden na tekenen",
"penMode": "Voorkom pinch-zoom en accepteer freedraw invoer alleen van pen", "penMode": "Pen modus - Blokkeer aanraken",
"link": "", "link": "",
"eraser": "" "eraser": "Gum"
}, },
"headings": { "headings": {
"canvasActions": "Canvasacties", "canvasActions": "Canvasacties",
@ -235,7 +236,7 @@
"resize": "Houd tijdens het vergroten SHIFT ingedrukt om verhoudingen te behouden,\ngebruik ALT om vanuit het midden te vergroten/verkleinen", "resize": "Houd tijdens het vergroten SHIFT ingedrukt om verhoudingen te behouden,\ngebruik ALT om vanuit het midden te vergroten/verkleinen",
"resizeImage": "", "resizeImage": "",
"rotate": "Je kan hoeken beperken door SHIFT ingedrukt te houden wanneer je draait", "rotate": "Je kan hoeken beperken door SHIFT ingedrukt te houden wanneer je draait",
"lineEditor_info": "Dubbelklik of druk op Enter om punten te bewerken", "lineEditor_info": "",
"lineEditor_pointSelected": "", "lineEditor_pointSelected": "",
"lineEditor_nothingSelected": "", "lineEditor_nothingSelected": "",
"placeImage": "", "placeImage": "",
@ -258,15 +259,15 @@
"trackedToSentry_pre": "De fout met ID ", "trackedToSentry_pre": "De fout met ID ",
"trackedToSentry_post": " was gevolgd op ons systeem.", "trackedToSentry_post": " was gevolgd op ons systeem.",
"openIssueMessage_pre": "We waren voorzichtig om je scène-informatie niet in de fout toe te voegen. Als je scène niet privé is, overweeg dan alstublieft het opvolgen op onze ", "openIssueMessage_pre": "We waren voorzichtig om je scène-informatie niet in de fout toe te voegen. Als je scène niet privé is, overweeg dan alstublieft het opvolgen op onze ",
"openIssueMessage_button": "bug tracker.", "openIssueMessage_button": "bugtracker.",
"openIssueMessage_post": " Kopieer de informatie hieronder naar de GitHub issue.", "openIssueMessage_post": " Kopieer de informatie hieronder naar de GitHub issue.",
"sceneContent": "Scène-inhoud:" "sceneContent": "Scène-inhoud:"
}, },
"roomDialog": { "roomDialog": {
"desc_intro": "Je kunt mensen uitnodigen om met je samen te werken.", "desc_intro": "Je kunt mensen uitnodigen om met je samen te werken.",
"desc_privacy": "Geen zorgen, de sessie gebruikt end-to-end encryptie, dus wat je tekent blijft privé. Zelfs onze server zal niet kunnen zien wat je tekent.", "desc_privacy": "Geen zorgen, de sessie gebruikt end-to-end encryptie, dus wat je tekent blijft privé. Zelfs onze server zal niet kunnen zien wat je tekent.",
"button_startSession": "Sessie starten", "button_startSession": "Start sessie",
"button_stopSession": "Sessie afbreken", "button_stopSession": "Stop sessie",
"desc_inProgressIntro": "De live-samenwerkingssessie is nu gestart.", "desc_inProgressIntro": "De live-samenwerkingssessie is nu gestart.",
"desc_shareLink": "Deel deze link met iedereen waarmee je wil samenwerken:", "desc_shareLink": "Deel deze link met iedereen waarmee je wil samenwerken:",
"desc_exitSession": "Het stoppen van de sessie zal je loskoppelen van de kamer, maar je kunt lokaal doorwerken met de scène.\nPas op: dit heeft geen invloed op andere mensen en dat zij nog steeds in staat zullen zijn om samen te werken aan hun versie.", "desc_exitSession": "Het stoppen van de sessie zal je loskoppelen van de kamer, maar je kunt lokaal doorwerken met de scène.\nPas op: dit heeft geen invloed op andere mensen en dat zij nog steeds in staat zullen zijn om samen te werken aan hun versie.",
@ -283,7 +284,7 @@
"link_details": "Exporteren als een alleen-lezen link.", "link_details": "Exporteren als een alleen-lezen link.",
"link_button": "Exporteer naar link", "link_button": "Exporteer naar link",
"excalidrawplus_description": "Sla de scène op in je Excalidraw+ werkruimte.", "excalidrawplus_description": "Sla de scène op in je Excalidraw+ werkruimte.",
"excalidrawplus_button": "Exporteren", "excalidrawplus_button": "Exporteer",
"excalidrawplus_exportError": "Kan op dit moment niet exporteren naar Excalidraw+..." "excalidrawplus_exportError": "Kan op dit moment niet exporteren naar Excalidraw+..."
}, },
"helpDialog": { "helpDialog": {
@ -302,7 +303,7 @@
"howto": "Volg onze handleidingen", "howto": "Volg onze handleidingen",
"or": "of", "or": "of",
"preventBinding": "Pijlbinding voorkomen", "preventBinding": "Pijlbinding voorkomen",
"tools": "", "tools": "Tools",
"shortcuts": "Sneltoetsen", "shortcuts": "Sneltoetsen",
"textFinish": "Voltooi het bewerken (teksteditor)", "textFinish": "Voltooi het bewerken (teksteditor)",
"textNewLine": "Nieuwe regel toevoegen (teksteditor)", "textNewLine": "Nieuwe regel toevoegen (teksteditor)",
@ -310,10 +311,12 @@
"view": "Weergave", "view": "Weergave",
"zoomToFit": "Zoom in op alle elementen", "zoomToFit": "Zoom in op alle elementen",
"zoomToSelection": "Inzoomen op selectie", "zoomToSelection": "Inzoomen op selectie",
"toggleElementLock": "" "toggleElementLock": "",
"movePageUpDown": "Pagina omhoog/omlaag",
"movePageLeftRight": "Verplaats pagina links/rechts"
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "" "title": "Wis canvas"
}, },
"publishDialog": { "publishDialog": {
"title": "Publiceer bibliotheek", "title": "Publiceer bibliotheek",
@ -321,13 +324,13 @@
"authorName": "Naam auteur", "authorName": "Naam auteur",
"githubUsername": "GitHub gebruikersnaam", "githubUsername": "GitHub gebruikersnaam",
"twitterUsername": "Twitter gebruikersnaam", "twitterUsername": "Twitter gebruikersnaam",
"libraryName": "Bibliotheek naam", "libraryName": "Naam bibliotheek",
"libraryDesc": "Bibliotheek beschrijving", "libraryDesc": "Beschrijving van de bibliotheek",
"website": "Website", "website": "Website",
"placeholder": { "placeholder": {
"authorName": "Uw naam of gebruikersnaam:", "authorName": "Je naam of gebruikersnaam",
"libraryName": "Naam van je bibliotheek", "libraryName": "Naam van je bibliotheek",
"libraryDesc": "Beschrijving van uw bibliotheek om mensen te helpen het gebruik ervan te begrijpen", "libraryDesc": "Beschrijving van je bibliotheek om mensen te helpen het gebruik ervan te begrijpen",
"githubHandle": "", "githubHandle": "",
"twitterHandle": "", "twitterHandle": "",
"website": "Link naar je persoonlijke website of elders (optioneel)" "website": "Link naar je persoonlijke website of elders (optioneel)"
@ -343,12 +346,12 @@
}, },
"noteGuidelines": { "noteGuidelines": {
"pre": "", "pre": "",
"link": "", "link": "richtlijnen",
"post": "" "post": ""
}, },
"noteLicense": { "noteLicense": {
"pre": "", "pre": "",
"link": "", "link": "MIT-licentie, ",
"post": "" "post": ""
}, },
"noteItems": "", "noteItems": "",
@ -391,7 +394,8 @@
"fileSaved": "Bestand opgeslagen.", "fileSaved": "Bestand opgeslagen.",
"fileSavedToFilename": "Opgeslagen als {filename}", "fileSavedToFilename": "Opgeslagen als {filename}",
"canvas": "canvas", "canvas": "canvas",
"selection": "selectie" "selection": "selectie",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "Wit", "ffffff": "Wit",
@ -439,5 +443,12 @@
"5c940d": "Limoen 9", "5c940d": "Limoen 9",
"e67700": "Geel 9", "e67700": "Geel 9",
"d9480f": "Oranje 9" "d9480f": "Oranje 9"
},
"welcomeScreen": {
"data": "",
"switchToPlusApp": "",
"menuHints": "",
"toolbarHints": "",
"helpHints": ""
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Lim inn", "paste": "Lim inn",
"pasteAsPlaintext": "",
"pasteCharts": "Lim inn diagram", "pasteCharts": "Lim inn diagram",
"selectAll": "Vel alt", "selectAll": "Vel alt",
"multiSelect": "Legg til element i utval", "multiSelect": "Legg til element i utval",
@ -71,7 +72,7 @@
"layers": "Lag", "layers": "Lag",
"actions": "Handlingar", "actions": "Handlingar",
"language": "Språk", "language": "Språk",
"liveCollaboration": "Sanntids-samarbeid", "liveCollaboration": "",
"duplicateSelection": "Dupliser", "duplicateSelection": "Dupliser",
"untitled": "Utan namn", "untitled": "Utan namn",
"name": "Namn", "name": "Namn",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "Tilbakestill lerretet", "clearReset": "Tilbakestill lerretet",
"exportJSON": "Eksporter til fil", "exportJSON": "Eksporter til fil",
"exportImage": "Lagre som bilete", "exportImage": "",
"export": "Eksporter", "export": "",
"exportToPng": "Eksporter til PNG", "exportToPng": "Eksporter til PNG",
"exportToSvg": "Eksporter til SVG", "exportToSvg": "Eksporter til SVG",
"copyToClipboard": "Kopier til utklippstavla", "copyToClipboard": "Kopier til utklippstavla",
@ -144,7 +145,7 @@
"scale": "Skaler", "scale": "Skaler",
"save": "Lagre til noverande fil", "save": "Lagre til noverande fil",
"saveAs": "Lagre som", "saveAs": "Lagre som",
"load": "Opne", "load": "",
"getShareableLink": "Hent delingslenke", "getShareableLink": "Hent delingslenke",
"close": "Lukk", "close": "Lukk",
"selectLanguage": "Vel språk", "selectLanguage": "Vel språk",
@ -214,7 +215,7 @@
"text": "Tekst", "text": "Tekst",
"library": "Bibliotek", "library": "Bibliotek",
"lock": "Hald fram med valt verktøy", "lock": "Hald fram med valt verktøy",
"penMode": "Forhindre zoom ved kniping og godta frihandsteikning kun frå penn", "penMode": "",
"link": "Legg til/ oppdater lenke til valt figur", "link": "Legg til/ oppdater lenke til valt figur",
"eraser": "Viskelêr" "eraser": "Viskelêr"
}, },
@ -235,7 +236,7 @@
"resize": "Du kan halde fram med forholdet ved å trykke SHIFT medan du endrar storleik,\ntrykk ALT for å endre storleiken frå midten", "resize": "Du kan halde fram med forholdet ved å trykke SHIFT medan du endrar storleik,\ntrykk ALT for å endre storleiken frå midten",
"resizeImage": "Du kan endre storleiken fritt ved å halde inne SHIFT,\nhald ALT for å endre storleik frå sentrum", "resizeImage": "Du kan endre storleiken fritt ved å halde inne SHIFT,\nhald ALT for å endre storleik frå sentrum",
"rotate": "Du kan låse vinklane ved å halde SHIFT medan du roterer", "rotate": "Du kan låse vinklane ved å halde SHIFT medan du roterer",
"lineEditor_info": "Dobbeltklikk eller trykk Enter for å redigere punkt", "lineEditor_info": "",
"lineEditor_pointSelected": "Trykk på Slett for å fjerne punkt(a),\nCtrl / Cmd+D for å duplisere, eller drag for å flytte", "lineEditor_pointSelected": "Trykk på Slett for å fjerne punkt(a),\nCtrl / Cmd+D for å duplisere, eller drag for å flytte",
"lineEditor_nothingSelected": "Vel eit punkt å redigere (hald inne SHIFT for å velje fleire),\neller hald inne Alt og klikk for å legge til nye punkt", "lineEditor_nothingSelected": "Vel eit punkt å redigere (hald inne SHIFT for å velje fleire),\neller hald inne Alt og klikk for å legge til nye punkt",
"placeImage": "Klikk for å plassere biletet, eller klikk og drag for å velje storleik manuelt", "placeImage": "Klikk for å plassere biletet, eller klikk og drag for å velje storleik manuelt",
@ -310,7 +311,9 @@
"view": "Vising", "view": "Vising",
"zoomToFit": "Zoom for å sjå alle elementa", "zoomToFit": "Zoom for å sjå alle elementa",
"zoomToSelection": "Zoom til utval", "zoomToSelection": "Zoom til utval",
"toggleElementLock": "" "toggleElementLock": "",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Tøm lerretet" "title": "Tøm lerretet"
@ -391,7 +394,8 @@
"fileSaved": "Fila er lagra.", "fileSaved": "Fila er lagra.",
"fileSavedToFilename": "Lagra som {filename}", "fileSavedToFilename": "Lagra som {filename}",
"canvas": "lerret", "canvas": "lerret",
"selection": "val" "selection": "val",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "Kvit", "ffffff": "Kvit",
@ -439,5 +443,12 @@
"5c940d": "Limegrøn 9", "5c940d": "Limegrøn 9",
"e67700": "Gul 9", "e67700": "Gul 9",
"d9480f": "Oransj 9" "d9480f": "Oransj 9"
},
"welcomeScreen": {
"data": "",
"switchToPlusApp": "",
"menuHints": "",
"toolbarHints": "",
"helpHints": ""
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Pegar", "paste": "Pegar",
"pasteAsPlaintext": "Pegar en tèxt brut",
"pasteCharts": "Pegar los grafics", "pasteCharts": "Pegar los grafics",
"selectAll": "Tot seleccionar", "selectAll": "Tot seleccionar",
"multiSelect": "Apondre un element a la seleccion", "multiSelect": "Apondre un element a la seleccion",
@ -71,7 +72,7 @@
"layers": "Calques", "layers": "Calques",
"actions": "Accions", "actions": "Accions",
"language": "Lenga", "language": "Lenga",
"liveCollaboration": "Collaboracion en dirèct", "liveCollaboration": "Collaboracion en dirèct...",
"duplicateSelection": "Duplicar", "duplicateSelection": "Duplicar",
"untitled": "Sens títol", "untitled": "Sens títol",
"name": "Nom", "name": "Nom",
@ -129,14 +130,14 @@
}, },
"library": { "library": {
"noItems": "Cap delement pas encara apondut...", "noItems": "Cap delement pas encara apondut...",
"hint_emptyLibrary": "", "hint_emptyLibrary": "Seleccionatz un element dapondre aquí, o installatz una bibliotèca del depaus public, çai-jos.",
"hint_emptyPrivateLibrary": "" "hint_emptyPrivateLibrary": "Seleccionatz un element dapondre aquí pel canabàs."
}, },
"buttons": { "buttons": {
"clearReset": "Reïnicializar lo canabàs", "clearReset": "Reïnicializar lo canabàs",
"exportJSON": "Exportar en fichièr", "exportJSON": "Exportar en fichièr",
"exportImage": "Salvar coma imatge", "exportImage": "Exportar imatges...",
"export": "Exportar", "export": "Enregistrar dins...",
"exportToPng": "Exportar en PNG", "exportToPng": "Exportar en PNG",
"exportToSvg": "Exportar en SVG", "exportToSvg": "Exportar en SVG",
"copyToClipboard": "Copiar al quichapapièrs", "copyToClipboard": "Copiar al quichapapièrs",
@ -144,7 +145,7 @@
"scale": "Escala", "scale": "Escala",
"save": "Salvar al fichièr actual", "save": "Salvar al fichièr actual",
"saveAs": "Enregistrar jos", "saveAs": "Enregistrar jos",
"load": "Cargar", "load": "Dobrir",
"getShareableLink": "Obténer lo ligam de partatge", "getShareableLink": "Obténer lo ligam de partatge",
"close": "Tampar", "close": "Tampar",
"selectLanguage": "Causir una lenga", "selectLanguage": "Causir una lenga",
@ -214,7 +215,7 @@
"text": "Tèxt", "text": "Tèxt",
"library": "Bibliotèca", "library": "Bibliotèca",
"lock": "Mantenir activa laisina aprèp dessenhar", "lock": "Mantenir activa laisina aprèp dessenhar",
"penMode": "Empachar lagradiment tactil e acceptar la picada liura solament amb un estilò", "penMode": "Mòde estilo - empachar lo contact",
"link": "Apondre/Actualizar lo ligam per una fòrma seleccionada", "link": "Apondre/Actualizar lo ligam per una fòrma seleccionada",
"eraser": "Goma" "eraser": "Goma"
}, },
@ -235,7 +236,7 @@
"resize": "Podètz servar las proporcions en mantenent la tòca MAJ pendent lo redimensionament,\nmantenètz la tòca ALT per redimensionar a partir del centre", "resize": "Podètz servar las proporcions en mantenent la tòca MAJ pendent lo redimensionament,\nmantenètz la tòca ALT per redimensionar a partir del centre",
"resizeImage": "Podètz retalhar liurament en quichant CTRL,\nquichatz ALT per retalhar a partir del centre", "resizeImage": "Podètz retalhar liurament en quichant CTRL,\nquichatz ALT per retalhar a partir del centre",
"rotate": "Podètz restrénger los angles en mantenent MAJ pendent la rotacion", "rotate": "Podètz restrénger los angles en mantenent MAJ pendent la rotacion",
"lineEditor_info": "Doble-clicatz o quichatz Entrada per modificar los punts", "lineEditor_info": "",
"lineEditor_pointSelected": "Quichar Suprimir per tirar lo(s) punt(s),\nCtrlOCmd+D per duplicar, o lisatz per desplaçar", "lineEditor_pointSelected": "Quichar Suprimir per tirar lo(s) punt(s),\nCtrlOCmd+D per duplicar, o lisatz per desplaçar",
"lineEditor_nothingSelected": "Seleccionar un punt deditar (manténer Maj. per ne seleccionar mantun),\no manténer Alt e clicar per napondre de novèls", "lineEditor_nothingSelected": "Seleccionar un punt deditar (manténer Maj. per ne seleccionar mantun),\no manténer Alt e clicar per napondre de novèls",
"placeImage": "Clicatz per plaçar limatge, o clicatz e lisatz per definir sa talha manualament", "placeImage": "Clicatz per plaçar limatge, o clicatz e lisatz per definir sa talha manualament",
@ -310,7 +311,9 @@
"view": "Vista", "view": "Vista",
"zoomToFit": "Zoomar per veire totes los elements", "zoomToFit": "Zoomar per veire totes los elements",
"zoomToSelection": "Zoomar la seleccion", "zoomToSelection": "Zoomar la seleccion",
"toggleElementLock": "Verrolhar/Desverrolhar la seleccion" "toggleElementLock": "Verrolhar/Desverrolhar la seleccion",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Escafar canabàs" "title": "Escafar canabàs"
@ -353,7 +356,7 @@
}, },
"noteItems": "Cada element de bibliotèca deu aver un nom pròpri per èsser filtrable. Los elements de bibliotèca seguentas seràn incluses:", "noteItems": "Cada element de bibliotèca deu aver un nom pròpri per èsser filtrable. Los elements de bibliotèca seguentas seràn incluses:",
"atleastOneLibItem": "Volgatz seleccionar almens un element de bibliotèca per començar", "atleastOneLibItem": "Volgatz seleccionar almens un element de bibliotèca per començar",
"republishWarning": "" "republishWarning": "Nòta: dunes elements seleccionats son marcats ja coma publicats/enviats. Deuriatz sonque tornar enviar los elements pendent lactualizacion duna bibliotèca existenta o un mandadís."
}, },
"publishSuccessDialog": { "publishSuccessDialog": {
"title": "Bibliotèca somesa", "title": "Bibliotèca somesa",
@ -391,7 +394,8 @@
"fileSaved": "Fichièr enregistrat.", "fileSaved": "Fichièr enregistrat.",
"fileSavedToFilename": "Enregistrat jos {filename}", "fileSavedToFilename": "Enregistrat jos {filename}",
"canvas": "canabàs", "canvas": "canabàs",
"selection": "seleccion" "selection": "seleccion",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "Blanc", "ffffff": "Blanc",
@ -439,5 +443,12 @@
"5c940d": "Verd citron 9", "5c940d": "Verd citron 9",
"e67700": "Jaune 9", "e67700": "Jaune 9",
"d9480f": "Irange 9" "d9480f": "Irange 9"
},
"welcomeScreen": {
"data": "Totas las donadas son enregistradas dins vòstre navegador.",
"switchToPlusApp": "Volètz puslèu utilizar Excalidraw+?",
"menuHints": "Exportar, preferéncias, lengas, ...",
"toolbarHints": "Prenètz un esplech e començatz de dessenhar!",
"helpHints": "Acorchis e ajuda"
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "ਪੇਸਟ ਕਰੋ", "paste": "ਪੇਸਟ ਕਰੋ",
"pasteAsPlaintext": "",
"pasteCharts": "ਚਾਰਟ ਪੇਸਟ ਕਰੋ", "pasteCharts": "ਚਾਰਟ ਪੇਸਟ ਕਰੋ",
"selectAll": "ਸਾਰੇ ਚੁਣੋ", "selectAll": "ਸਾਰੇ ਚੁਣੋ",
"multiSelect": "ਐਲੀਮੈਂਟ ਨੂੰ ਚੋਣ ਵਿੱਚ ਜੋੜੋ", "multiSelect": "ਐਲੀਮੈਂਟ ਨੂੰ ਚੋਣ ਵਿੱਚ ਜੋੜੋ",
@ -71,7 +72,7 @@
"layers": "ਪਰਤਾਂ", "layers": "ਪਰਤਾਂ",
"actions": "ਕਾਰਵਾਈਆਂ", "actions": "ਕਾਰਵਾਈਆਂ",
"language": "ਭਾਸ਼ਾ", "language": "ਭਾਸ਼ਾ",
"liveCollaboration": "ਲਾਇਵ ਸਹਿਯੋਗ", "liveCollaboration": "",
"duplicateSelection": "ਡੁਪਲੀਕੇਟ ਬਣਾਓ", "duplicateSelection": "ਡੁਪਲੀਕੇਟ ਬਣਾਓ",
"untitled": "ਬੇ-ਸਿਰਨਾਵਾਂ", "untitled": "ਬੇ-ਸਿਰਨਾਵਾਂ",
"name": "ਨਾਂ", "name": "ਨਾਂ",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "ਕੈਨਵਸ ਰੀਸੈੱਟ ਕਰੋ", "clearReset": "ਕੈਨਵਸ ਰੀਸੈੱਟ ਕਰੋ",
"exportJSON": "ਫਾਈਲ ਵਿੱਚ ਨਿਰਯਾਤ ਕਰੋ", "exportJSON": "ਫਾਈਲ ਵਿੱਚ ਨਿਰਯਾਤ ਕਰੋ",
"exportImage": "ਤਸਵੀਰ ਵਜੋਂ ਸਾਂਭੋ", "exportImage": "",
"export": "ਨਿਰਯਾਤ", "export": "",
"exportToPng": "PNG ਵਿੱਚ ਨਿਰਯਾਤ ਕਰੋ", "exportToPng": "PNG ਵਿੱਚ ਨਿਰਯਾਤ ਕਰੋ",
"exportToSvg": "SVG ਵਿੱਚ ਨਿਰਯਾਤ ਕਰੋ", "exportToSvg": "SVG ਵਿੱਚ ਨਿਰਯਾਤ ਕਰੋ",
"copyToClipboard": "ਕਲਿੱਪਬੋਰਡ 'ਤੇ ਕਾਪੀ ਕਰੋ", "copyToClipboard": "ਕਲਿੱਪਬੋਰਡ 'ਤੇ ਕਾਪੀ ਕਰੋ",
@ -144,7 +145,7 @@
"scale": "ਪੈਮਾਇਸ਼", "scale": "ਪੈਮਾਇਸ਼",
"save": "ਮੌਜੂਦਾ ਫਾਈਲ ਵਿੱਚ ਸਾਂਭੋ", "save": "ਮੌਜੂਦਾ ਫਾਈਲ ਵਿੱਚ ਸਾਂਭੋ",
"saveAs": "ਇਸ ਵਜੋਂ ਸਾਂਭੋ", "saveAs": "ਇਸ ਵਜੋਂ ਸਾਂਭੋ",
"load": "ਲੋਡ ਕਰੋ", "load": "",
"getShareableLink": "ਸਾਂਝੀ ਕਰਨ ਵਾਲੀ ਲਿੰਕ ਲਵੋ", "getShareableLink": "ਸਾਂਝੀ ਕਰਨ ਵਾਲੀ ਲਿੰਕ ਲਵੋ",
"close": "ਬੰਦ ਕਰੋ", "close": "ਬੰਦ ਕਰੋ",
"selectLanguage": "ਭਾਸ਼ਾ ਚੁਣੋ", "selectLanguage": "ਭਾਸ਼ਾ ਚੁਣੋ",
@ -235,7 +236,7 @@
"resize": "ਤੁਸੀਂ ਅਕਾਰ ਬਦਲਦੇ ਸਮੇਂ SHIFT ਦਬਾਈ ਰੱਖ ਕੇ ਅਨੁਪਾਤ ਨੂੰ ਕਾਬੂ ਕਰ ਸਕਦੇ ਹੋ, ਵਿਚਕਾਰ ਤੋਂ ਅਕਾਰ ਬਦਲਣ ਲਈ ALT ਦਬਾਓ", "resize": "ਤੁਸੀਂ ਅਕਾਰ ਬਦਲਦੇ ਸਮੇਂ SHIFT ਦਬਾਈ ਰੱਖ ਕੇ ਅਨੁਪਾਤ ਨੂੰ ਕਾਬੂ ਕਰ ਸਕਦੇ ਹੋ, ਵਿਚਕਾਰ ਤੋਂ ਅਕਾਰ ਬਦਲਣ ਲਈ ALT ਦਬਾਓ",
"resizeImage": "", "resizeImage": "",
"rotate": "ਤੁਸੀਂ ਘੁਮਾਉਂਦੇ ਹੋਏ SHIFT ਦਬਾਈ ਰੱਖ ਕੇ ਕੋਣਾਂ ਨੂੰ ਕਾਬੂ ਕਰ ਸਕਦੇ ਹੋ", "rotate": "ਤੁਸੀਂ ਘੁਮਾਉਂਦੇ ਹੋਏ SHIFT ਦਬਾਈ ਰੱਖ ਕੇ ਕੋਣਾਂ ਨੂੰ ਕਾਬੂ ਕਰ ਸਕਦੇ ਹੋ",
"lineEditor_info": "ਬਿੰਦੂਆਂ ਨੂੰ ਸੋਧਣ ਲਈ ਡਬਲ-ਕਲਿੱਕ ਜਾਂ ਐਂਟਰ ਦਬਾਓ", "lineEditor_info": "",
"lineEditor_pointSelected": "", "lineEditor_pointSelected": "",
"lineEditor_nothingSelected": "", "lineEditor_nothingSelected": "",
"placeImage": "", "placeImage": "",
@ -310,7 +311,9 @@
"view": "ਦਿੱਖ", "view": "ਦਿੱਖ",
"zoomToFit": "ਸਾਰੇ ਐਲੀਮੈਂਟਾਂ ਨੂੰ ਫਿੱਟ ਕਰਨ ਲਈ ਜ਼ੂਮ ਕਰੋ", "zoomToFit": "ਸਾਰੇ ਐਲੀਮੈਂਟਾਂ ਨੂੰ ਫਿੱਟ ਕਰਨ ਲਈ ਜ਼ੂਮ ਕਰੋ",
"zoomToSelection": "ਚੋਣ ਤੱਕ ਜ਼ੂਮ ਕਰੋ", "zoomToSelection": "ਚੋਣ ਤੱਕ ਜ਼ੂਮ ਕਰੋ",
"toggleElementLock": "" "toggleElementLock": "",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "ਕੈਨਵਸ ਨੂੰ ਸਾਫ਼ ਕਰੋ" "title": "ਕੈਨਵਸ ਨੂੰ ਸਾਫ਼ ਕਰੋ"
@ -391,7 +394,8 @@
"fileSaved": "ਫਾਈਲ ਸਾਂਭੀ ਗਈ।", "fileSaved": "ਫਾਈਲ ਸਾਂਭੀ ਗਈ।",
"fileSavedToFilename": "{filename} ਵਿੱਚ ਸਾਂਭੀ", "fileSavedToFilename": "{filename} ਵਿੱਚ ਸਾਂਭੀ",
"canvas": "ਕੈਨਵਸ", "canvas": "ਕੈਨਵਸ",
"selection": "ਚੋਣ" "selection": "ਚੋਣ",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "ਚਿੱਟਾ", "ffffff": "ਚਿੱਟਾ",
@ -439,5 +443,12 @@
"5c940d": "ਲਾਇਮ 9", "5c940d": "ਲਾਇਮ 9",
"e67700": "ਪੀਲਾ 9", "e67700": "ਪੀਲਾ 9",
"d9480f": "ਸੰਤਰੀ 9" "d9480f": "ਸੰਤਰੀ 9"
},
"welcomeScreen": {
"data": "",
"switchToPlusApp": "",
"menuHints": "",
"toolbarHints": "",
"helpHints": ""
} }
} }

View File

@ -1,52 +1,52 @@
{ {
"ar-SA": 90, "ar-SA": 87,
"bg-BG": 58, "bg-BG": 55,
"bn-BD": 64, "bn-BD": 61,
"ca-ES": 99, "ca-ES": 95,
"cs-CZ": 66, "cs-CZ": 76,
"da-DK": 34, "da-DK": 33,
"de-DE": 100, "de-DE": 99,
"el-GR": 99, "el-GR": 95,
"en": 100, "en": 100,
"es-ES": 99, "es-ES": 100,
"eu-ES": 99, "eu-ES": 98,
"fa-IR": 98, "fa-IR": 98,
"fi-FI": 97, "fi-FI": 94,
"fr-FR": 100, "fr-FR": 98,
"gl-ES": 45, "gl-ES": 98,
"he-IL": 94, "he-IL": 91,
"hi-IN": 69, "hi-IN": 70,
"hu-HU": 94, "hu-HU": 90,
"id-ID": 100, "id-ID": 100,
"it-IT": 100, "it-IT": 100,
"ja-JP": 99, "ja-JP": 98,
"kab-KAB": 95, "kab-KAB": 95,
"kk-KZ": 22, "kk-KZ": 21,
"ko-KR": 100, "ko-KR": 96,
"ku-TR": 100, "ku-TR": 98,
"lt-LT": 23, "lt-LT": 66,
"lv-LV": 100, "lv-LV": 98,
"mr-IN": 100, "mr-IN": 99,
"my-MM": 44, "my-MM": 42,
"nb-NO": 100, "nb-NO": 100,
"nl-NL": 86, "nl-NL": 91,
"nn-NO": 95, "nn-NO": 91,
"oc-FR": 99, "oc-FR": 98,
"pa-IN": 87, "pa-IN": 84,
"pl-PL": 89, "pl-PL": 85,
"pt-BR": 100, "pt-BR": 97,
"pt-PT": 99, "pt-PT": 98,
"ro-RO": 100, "ro-RO": 100,
"ru-RU": 99, "ru-RU": 100,
"si-LK": 8, "si-LK": 8,
"sk-SK": 100, "sk-SK": 100,
"sl-SI": 100, "sl-SI": 100,
"sv-SE": 99, "sv-SE": 98,
"ta-IN": 97, "ta-IN": 94,
"tr-TR": 100, "tr-TR": 99,
"uk-UA": 100, "uk-UA": 98,
"vi-VN": 16, "vi-VN": 20,
"zh-CN": 100, "zh-CN": 98,
"zh-HK": 27, "zh-HK": 26,
"zh-TW": 100 "zh-TW": 100
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Wklej", "paste": "Wklej",
"pasteAsPlaintext": "",
"pasteCharts": "Wklej wykresy", "pasteCharts": "Wklej wykresy",
"selectAll": "Zaznacz wszystko", "selectAll": "Zaznacz wszystko",
"multiSelect": "Dodaj element do zaznaczenia", "multiSelect": "Dodaj element do zaznaczenia",
@ -71,7 +72,7 @@
"layers": "Warstwy", "layers": "Warstwy",
"actions": "Akcje", "actions": "Akcje",
"language": "Język", "language": "Język",
"liveCollaboration": "Współpraca na żywo", "liveCollaboration": "",
"duplicateSelection": "Powiel", "duplicateSelection": "Powiel",
"untitled": "Bez tytułu", "untitled": "Bez tytułu",
"name": "Nazwa", "name": "Nazwa",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "Wyczyść dokument i zresetuj kolor dokumentu", "clearReset": "Wyczyść dokument i zresetuj kolor dokumentu",
"exportJSON": "Eksportuj do pliku", "exportJSON": "Eksportuj do pliku",
"exportImage": "Zapisz jako obraz", "exportImage": "",
"export": "Zapisz jako", "export": "",
"exportToPng": "Zapisz jako PNG", "exportToPng": "Zapisz jako PNG",
"exportToSvg": "Zapisz jako SVG", "exportToSvg": "Zapisz jako SVG",
"copyToClipboard": "Skopiuj do schowka", "copyToClipboard": "Skopiuj do schowka",
@ -144,7 +145,7 @@
"scale": "Skala", "scale": "Skala",
"save": "", "save": "",
"saveAs": "Zapisz jako", "saveAs": "Zapisz jako",
"load": "Otwórz", "load": "",
"getShareableLink": "Udostępnij", "getShareableLink": "Udostępnij",
"close": "Zamknij", "close": "Zamknij",
"selectLanguage": "Wybierz język", "selectLanguage": "Wybierz język",
@ -235,7 +236,7 @@
"resize": "Możesz zachować proporcję trzymająć wcisnięty SHIFT, przytrzymaj ALT by zmienić rozmiar względem środka", "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", "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", "rotate": "Możesz obracać element w równych odstępach trzymając wciśnięty SHIFT",
"lineEditor_info": "Kliknij dwukrotnie lub naciśnij Enter, aby edytować punkty", "lineEditor_info": "",
"lineEditor_pointSelected": "", "lineEditor_pointSelected": "",
"lineEditor_nothingSelected": "", "lineEditor_nothingSelected": "",
"placeImage": "Kliknij, aby umieścić obraz, lub kliknij i przeciągnij, aby ustawić jego rozmiar ręcznie", "placeImage": "Kliknij, aby umieścić obraz, lub kliknij i przeciągnij, aby ustawić jego rozmiar ręcznie",
@ -310,7 +311,9 @@
"view": "Widok", "view": "Widok",
"zoomToFit": "Powiększ, aby wyświetlić wszystkie elementy", "zoomToFit": "Powiększ, aby wyświetlić wszystkie elementy",
"zoomToSelection": "Przybliż do zaznaczenia", "zoomToSelection": "Przybliż do zaznaczenia",
"toggleElementLock": "" "toggleElementLock": "",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Wyczyść płótno" "title": "Wyczyść płótno"
@ -391,7 +394,8 @@
"fileSaved": "Zapisano plik.", "fileSaved": "Zapisano plik.",
"fileSavedToFilename": "Zapisano jako {filename}", "fileSavedToFilename": "Zapisano jako {filename}",
"canvas": "płótno", "canvas": "płótno",
"selection": "zaznaczenie" "selection": "zaznaczenie",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "Biały", "ffffff": "Biały",
@ -439,5 +443,12 @@
"5c940d": "Limonkowy 9", "5c940d": "Limonkowy 9",
"e67700": "Żółty 9", "e67700": "Żółty 9",
"d9480f": "Pomarańczowy 9" "d9480f": "Pomarańczowy 9"
},
"welcomeScreen": {
"data": "",
"switchToPlusApp": "",
"menuHints": "",
"toolbarHints": "",
"helpHints": ""
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Colar", "paste": "Colar",
"pasteAsPlaintext": "",
"pasteCharts": "Colar gráficos", "pasteCharts": "Colar gráficos",
"selectAll": "Selecionar tudo", "selectAll": "Selecionar tudo",
"multiSelect": "Adicionar elemento à seleção", "multiSelect": "Adicionar elemento à seleção",
@ -71,7 +72,7 @@
"layers": "Camadas", "layers": "Camadas",
"actions": "Ações", "actions": "Ações",
"language": "Idioma", "language": "Idioma",
"liveCollaboration": "Colaboração ao vivo", "liveCollaboration": "Colaboração ao vivo...",
"duplicateSelection": "Duplicar", "duplicateSelection": "Duplicar",
"untitled": "Sem título", "untitled": "Sem título",
"name": "Nome", "name": "Nome",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "Limpar o canvas e redefinir a cor de fundo", "clearReset": "Limpar o canvas e redefinir a cor de fundo",
"exportJSON": "Exportar arquivo", "exportJSON": "Exportar arquivo",
"exportImage": "Salvar como imagem", "exportImage": "Exportar imagem...",
"export": "Exportar", "export": "Salvar como...",
"exportToPng": "Exportar em PNG", "exportToPng": "Exportar em PNG",
"exportToSvg": "Exportar em SVG", "exportToSvg": "Exportar em SVG",
"copyToClipboard": "Copiar para o clipboard", "copyToClipboard": "Copiar para o clipboard",
@ -144,7 +145,7 @@
"scale": "Escala", "scale": "Escala",
"save": "Salvar para o arquivo atual", "save": "Salvar para o arquivo atual",
"saveAs": "Salvar como", "saveAs": "Salvar como",
"load": "Carregar", "load": "Abrir",
"getShareableLink": "Obter um link de compartilhamento", "getShareableLink": "Obter um link de compartilhamento",
"close": "Fechar", "close": "Fechar",
"selectLanguage": "Selecionar idioma", "selectLanguage": "Selecionar idioma",
@ -214,7 +215,7 @@
"text": "Texto", "text": "Texto",
"library": "Biblioteca", "library": "Biblioteca",
"lock": "Manter ativa a ferramenta selecionada após desenhar", "lock": "Manter ativa a ferramenta selecionada após desenhar",
"penMode": "Prevenir a ação de tocar-ampliar e permitir apenas interações da caneta", "penMode": "",
"link": "Adicionar/Atualizar link para uma forma selecionada", "link": "Adicionar/Atualizar link para uma forma selecionada",
"eraser": "Borracha" "eraser": "Borracha"
}, },
@ -235,7 +236,7 @@
"resize": "Você pode restringir proporções segurando SHIFT enquanto redimensiona,\nsegure ALT para redimensionar do centro", "resize": "Você pode restringir proporções segurando SHIFT enquanto redimensiona,\nsegure ALT para redimensionar do centro",
"resizeImage": "Você pode redimensionar livremente segurando SHIFT,\nsegure ALT para redimensionar a partir do centro", "resizeImage": "Você pode redimensionar livremente segurando SHIFT,\nsegure ALT para redimensionar a partir do centro",
"rotate": "Você pode restringir os ângulos segurando SHIFT enquanto gira", "rotate": "Você pode restringir os ângulos segurando SHIFT enquanto gira",
"lineEditor_info": "Clique duas vezes ou pressione Enter para editar os pontos", "lineEditor_info": "",
"lineEditor_pointSelected": "Pressione Delete para remover o(s) ponto(s),\nCtrl/Cmd+D para duplicar ou arraste para mover", "lineEditor_pointSelected": "Pressione Delete para remover o(s) ponto(s),\nCtrl/Cmd+D para duplicar ou arraste para mover",
"lineEditor_nothingSelected": "Selecione um ponto para editar (segure SHIFT para selecionar vários) ou segure Alt e clique para adicionar novos pontos", "lineEditor_nothingSelected": "Selecione um ponto para editar (segure SHIFT para selecionar vários) ou segure Alt e clique para adicionar novos pontos",
"placeImage": "Clique para colocar a imagem, ou clique e arraste para definir manualmente o seu tamanho", "placeImage": "Clique para colocar a imagem, ou clique e arraste para definir manualmente o seu tamanho",
@ -310,7 +311,9 @@
"view": "Visualizar", "view": "Visualizar",
"zoomToFit": "Ampliar para encaixar todos os elementos", "zoomToFit": "Ampliar para encaixar todos os elementos",
"zoomToSelection": "Ampliar a seleção", "zoomToSelection": "Ampliar a seleção",
"toggleElementLock": "Bloquear/desbloquear seleção" "toggleElementLock": "Bloquear/desbloquear seleção",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Limpar a tela" "title": "Limpar a tela"
@ -391,7 +394,8 @@
"fileSaved": "Arquivo salvo.", "fileSaved": "Arquivo salvo.",
"fileSavedToFilename": "Salvo em {filename}", "fileSavedToFilename": "Salvo em {filename}",
"canvas": "tela", "canvas": "tela",
"selection": "seleção" "selection": "seleção",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "Braco", "ffffff": "Braco",
@ -439,5 +443,12 @@
"5c940d": "Lima 9", "5c940d": "Lima 9",
"e67700": "Amarelo 9", "e67700": "Amarelo 9",
"d9480f": "Laranja 9" "d9480f": "Laranja 9"
},
"welcomeScreen": {
"data": "Todos os dados são salvos localmente no seu navegador.",
"switchToPlusApp": "",
"menuHints": "",
"toolbarHints": "",
"helpHints": ""
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Colar", "paste": "Colar",
"pasteAsPlaintext": "",
"pasteCharts": "Colar gráficos", "pasteCharts": "Colar gráficos",
"selectAll": "Selecionar tudo", "selectAll": "Selecionar tudo",
"multiSelect": "Adicionar elemento à seleção", "multiSelect": "Adicionar elemento à seleção",
@ -71,7 +72,7 @@
"layers": "Camadas", "layers": "Camadas",
"actions": "Ações", "actions": "Ações",
"language": "Idioma", "language": "Idioma",
"liveCollaboration": "Colaboração ao vivo", "liveCollaboration": "Colaboração ao vivo...",
"duplicateSelection": "Duplicar", "duplicateSelection": "Duplicar",
"untitled": "Sem título", "untitled": "Sem título",
"name": "Nome", "name": "Nome",
@ -115,8 +116,8 @@
"label": "Ligação" "label": "Ligação"
}, },
"lineEditor": { "lineEditor": {
"edit": "", "edit": "Editar linha",
"exit": "" "exit": "Sair do editor de linha"
}, },
"elementLock": { "elementLock": {
"lock": "Bloquear", "lock": "Bloquear",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "Limpar a área de desenho e redefinir a cor de fundo", "clearReset": "Limpar a área de desenho e redefinir a cor de fundo",
"exportJSON": "Exportar para ficheiro", "exportJSON": "Exportar para ficheiro",
"exportImage": "Guardar como imagem", "exportImage": "Exportar imagem...",
"export": "Exportar", "export": "Guardar para...",
"exportToPng": "Exportar em PNG", "exportToPng": "Exportar em PNG",
"exportToSvg": "Exportar em SVG", "exportToSvg": "Exportar em SVG",
"copyToClipboard": "Copiar para o clipboard", "copyToClipboard": "Copiar para o clipboard",
@ -144,7 +145,7 @@
"scale": "Escala", "scale": "Escala",
"save": "Guardar no ficheiro atual", "save": "Guardar no ficheiro atual",
"saveAs": "Guardar como", "saveAs": "Guardar como",
"load": "Carregar", "load": "Abrir",
"getShareableLink": "Obter um link de partilha", "getShareableLink": "Obter um link de partilha",
"close": "Fechar", "close": "Fechar",
"selectLanguage": "Selecionar idioma", "selectLanguage": "Selecionar idioma",
@ -214,7 +215,7 @@
"text": "Texto", "text": "Texto",
"library": "Biblioteca", "library": "Biblioteca",
"lock": "Manter a ferramenta selecionada ativa após desenhar", "lock": "Manter a ferramenta selecionada ativa após desenhar",
"penMode": "Impedir o <em>pinch-zoom</em> e aceitar desenho livre apenas da caneta", "penMode": "Modo caneta - impedir toque",
"link": "Acrescentar/ Adicionar ligação para uma forma seleccionada", "link": "Acrescentar/ Adicionar ligação para uma forma seleccionada",
"eraser": "Borracha" "eraser": "Borracha"
}, },
@ -235,7 +236,7 @@
"resize": "Pode restringir as proporções mantendo a tecla SHIFT premida enquanto redimensiona,\nmantenha a tecla ALT premida para redimensionar a partir do centro", "resize": "Pode restringir as proporções mantendo a tecla SHIFT premida enquanto redimensiona,\nmantenha a tecla ALT premida para redimensionar a partir do centro",
"resizeImage": "Pode redimensionar livremente mantendo pressionada a tecla SHIFT,\nmantenha pressionada a tecla ALT para redimensionar do centro", "resizeImage": "Pode redimensionar livremente mantendo pressionada a tecla SHIFT,\nmantenha pressionada a tecla ALT para redimensionar do centro",
"rotate": "Pode restringir os ângulos mantendo a tecla SHIFT premida enquanto roda", "rotate": "Pode restringir os ângulos mantendo a tecla SHIFT premida enquanto roda",
"lineEditor_info": "Clique duas vezes ou pressione a tecla Enter para editar os pontos", "lineEditor_info": "",
"lineEditor_pointSelected": "Carregue na tecla Delete para remover o(s) ponto(s), CtrlOuCmd+D para duplicar, ou arraste para mover", "lineEditor_pointSelected": "Carregue na tecla Delete para remover o(s) ponto(s), CtrlOuCmd+D para duplicar, ou arraste para mover",
"lineEditor_nothingSelected": "Seleccione um ponto para editar (carregue em SHIFT para seleccionar vários),\nou carregue em Alt e clique para acrescentar novos pontos", "lineEditor_nothingSelected": "Seleccione um ponto para editar (carregue em SHIFT para seleccionar vários),\nou carregue em Alt e clique para acrescentar novos pontos",
"placeImage": "Clique para colocar a imagem ou clique e arraste para definir o seu tamanho manualmente", "placeImage": "Clique para colocar a imagem ou clique e arraste para definir o seu tamanho manualmente",
@ -310,7 +311,9 @@
"view": "Visualizar", "view": "Visualizar",
"zoomToFit": "Ajustar para todos os elementos caberem", "zoomToFit": "Ajustar para todos os elementos caberem",
"zoomToSelection": "Ampliar a seleção", "zoomToSelection": "Ampliar a seleção",
"toggleElementLock": "Trancar/destrancar selecção" "toggleElementLock": "Trancar/destrancar selecção",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Apagar tela" "title": "Apagar tela"
@ -391,7 +394,8 @@
"fileSaved": "Ficheiro guardado.", "fileSaved": "Ficheiro guardado.",
"fileSavedToFilename": "Guardado como {filename}", "fileSavedToFilename": "Guardado como {filename}",
"canvas": "área de desenho", "canvas": "área de desenho",
"selection": "seleção" "selection": "seleção",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "Branco", "ffffff": "Branco",
@ -439,5 +443,12 @@
"5c940d": "Lima 9", "5c940d": "Lima 9",
"e67700": "Amarelo 9", "e67700": "Amarelo 9",
"d9480f": "Laranja 9" "d9480f": "Laranja 9"
},
"welcomeScreen": {
"data": "Todos os dados estão guardados no seu navegador local.",
"switchToPlusApp": "Queria antes ir para o Excalidraw+?",
"menuHints": "Exportar, preferências, idiomas...",
"toolbarHints": "Escolha uma ferramenta e comece a desenhar!",
"helpHints": "Atalhos e ajuda"
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Lipire", "paste": "Lipire",
"pasteAsPlaintext": "Inserare ca text simplu",
"pasteCharts": "Lipire diagrame", "pasteCharts": "Lipire diagrame",
"selectAll": "Selectare totală", "selectAll": "Selectare totală",
"multiSelect": "Adaugă element la selecție", "multiSelect": "Adaugă element la selecție",
@ -71,7 +72,7 @@
"layers": "Straturi", "layers": "Straturi",
"actions": "Acțiuni", "actions": "Acțiuni",
"language": "Limbă", "language": "Limbă",
"liveCollaboration": "Colaborare în direct", "liveCollaboration": "Colaborare în direct...",
"duplicateSelection": "Duplicare", "duplicateSelection": "Duplicare",
"untitled": "Nedenumit", "untitled": "Nedenumit",
"name": "Nume", "name": "Nume",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "Resetare pânză", "clearReset": "Resetare pânză",
"exportJSON": "Exportare la fișiere", "exportJSON": "Exportare la fișiere",
"exportImage": "Salvare ca imagine", "exportImage": "Exportare imagine...",
"export": "Exportare", "export": "Salvare în...",
"exportToPng": "Exportare ca PNG", "exportToPng": "Exportare ca PNG",
"exportToSvg": "Exportare ca SVG", "exportToSvg": "Exportare ca SVG",
"copyToClipboard": "Copiere în memoria temporară", "copyToClipboard": "Copiere în memoria temporară",
@ -144,7 +145,7 @@
"scale": "Scală", "scale": "Scală",
"save": "Salvare în fișierul curent", "save": "Salvare în fișierul curent",
"saveAs": "Salvare ca", "saveAs": "Salvare ca",
"load": "Încărcare", "load": "Deschidere",
"getShareableLink": "Obține URL partajabil", "getShareableLink": "Obține URL partajabil",
"close": "Închidere", "close": "Închidere",
"selectLanguage": "Selectare limbă", "selectLanguage": "Selectare limbă",
@ -214,7 +215,7 @@
"text": "Text", "text": "Text",
"library": "Bibliotecă", "library": "Bibliotecă",
"lock": "Menține activ instrumentul selectat după desenare", "lock": "Menține activ instrumentul selectat după desenare",
"penMode": "Împiedică mărirea prin ciupire și acceptă desenarea liberă doar de la stilou", "penMode": "Mod stilou împiedică atingerea",
"link": "Adăugare/actualizare URL pentru forma selectată", "link": "Adăugare/actualizare URL pentru forma selectată",
"eraser": "Radieră" "eraser": "Radieră"
}, },
@ -235,7 +236,7 @@
"resize": "Poți constrânge proporțiile, ținând apăsată tasta SHIFT în timp ce redimensionezi,\nține apăsată tasta ALT pentru a redimensiona de la centru", "resize": "Poți constrânge proporțiile, ținând apăsată tasta SHIFT în timp ce redimensionezi,\nține apăsată tasta ALT pentru a redimensiona de la centru",
"resizeImage": "Poți redimensiona liber ținând apăsată tasta SHIFT,\nține apăsată tasta ALT pentru a redimensiona din centru", "resizeImage": "Poți redimensiona liber ținând apăsată tasta SHIFT,\nține apăsată tasta ALT pentru a redimensiona din centru",
"rotate": "Poți constrânge unghiurile, ținând apăsată tasta SHIFT în timp ce rotești", "rotate": "Poți constrânge unghiurile, ținând apăsată tasta SHIFT în timp ce rotești",
"lineEditor_info": "Dă dublu clic sau apasă tasta Enter pentru a edita punctele", "lineEditor_info": "Ține apăsată tasta Ctrl sau Cmd și dă dublu clic sau apasă tasta Ctrl sau Cmd + Enter pentru a edita puncte",
"lineEditor_pointSelected": "Apasă tasta Delete pentru a elimina punctele,\ncombinația de taste Ctrl sau Cmd + D pentru a le duplica sau glisează-le pentru a le schimba poziția", "lineEditor_pointSelected": "Apasă tasta Delete pentru a elimina punctele,\ncombinația de taste Ctrl sau Cmd + D pentru a le duplica sau glisează-le pentru a le schimba poziția",
"lineEditor_nothingSelected": "Selectează un punct pentru a-l edita (ține apăsată tasta SHIFT pentru a selecta mai multe),\nsau ține apăsată tasta Alt și dă clic pentru a adăuga puncte noi", "lineEditor_nothingSelected": "Selectează un punct pentru a-l edita (ține apăsată tasta SHIFT pentru a selecta mai multe),\nsau ține apăsată tasta Alt și dă clic pentru a adăuga puncte noi",
"placeImage": "Dă clic pentru a poziționa imaginea sau dă clic și glisează pentru a seta manual dimensiunea imaginii", "placeImage": "Dă clic pentru a poziționa imaginea sau dă clic și glisează pentru a seta manual dimensiunea imaginii",
@ -310,7 +311,9 @@
"view": "Vizualizare", "view": "Vizualizare",
"zoomToFit": "Transfocare pentru a cuprinde totul", "zoomToFit": "Transfocare pentru a cuprinde totul",
"zoomToSelection": "Transfocare la selecție", "zoomToSelection": "Transfocare la selecție",
"toggleElementLock": "Blocare/deblocare selecție" "toggleElementLock": "Blocare/deblocare selecție",
"movePageUpDown": "Deplasare pagină sus/jos",
"movePageLeftRight": "Deplasare pagină stânga/dreapta"
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Ștergere pânză" "title": "Ștergere pânză"
@ -391,7 +394,8 @@
"fileSaved": "Fișier salvat.", "fileSaved": "Fișier salvat.",
"fileSavedToFilename": "Salvat în {filename}", "fileSavedToFilename": "Salvat în {filename}",
"canvas": "pânza", "canvas": "pânza",
"selection": "selecția" "selection": "selecția",
"pasteAsSingleElement": "Folosește {{shortcut}} pentru a insera ca un singur element\nsau insera într-un editor de text existent"
}, },
"colors": { "colors": {
"ffffff": "Alb", "ffffff": "Alb",
@ -439,5 +443,12 @@
"5c940d": "Verde-limetă 9", "5c940d": "Verde-limetă 9",
"e67700": "Galben 9", "e67700": "Galben 9",
"d9480f": "Portocaliu 9" "d9480f": "Portocaliu 9"
},
"welcomeScreen": {
"data": "Toate datele tale sunt salvate local în navigatorul tău.",
"switchToPlusApp": "Ai vrut să mergi în schimb la Excalidraw+?",
"menuHints": "Exportare, preferințe, limbi, ...",
"toolbarHints": "Alege un instrument și începe să desenezi!",
"helpHints": "Comenzi rapide și ajutor"
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Вставить", "paste": "Вставить",
"pasteAsPlaintext": "Вставить как обычный текст",
"pasteCharts": "Вставить диаграммы", "pasteCharts": "Вставить диаграммы",
"selectAll": "Выбрать всё", "selectAll": "Выбрать всё",
"multiSelect": "Добавить элемент в выделенный фрагмент", "multiSelect": "Добавить элемент в выделенный фрагмент",
@ -71,7 +72,7 @@
"layers": "Слои", "layers": "Слои",
"actions": "Действия", "actions": "Действия",
"language": "Язык", "language": "Язык",
"liveCollaboration": "Совместное взаимодействие", "liveCollaboration": "Онлайн взаимодействие...",
"duplicateSelection": "Дубликат", "duplicateSelection": "Дубликат",
"untitled": "Безымянный", "untitled": "Безымянный",
"name": "Имя", "name": "Имя",
@ -115,8 +116,8 @@
"label": "Ссылка" "label": "Ссылка"
}, },
"lineEditor": { "lineEditor": {
"edit": "", "edit": "Редактирование строки",
"exit": "" "exit": "Выход из редактора строки"
}, },
"elementLock": { "elementLock": {
"lock": "Блокировать", "lock": "Блокировать",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "Очистить холст и сбросить цвет фона", "clearReset": "Очистить холст и сбросить цвет фона",
"exportJSON": "Сохранить в", "exportJSON": "Сохранить в",
"exportImage": "Сохранить как изображение", "exportImage": "Экспортировать изображение...",
"export": "Экспортировать", "export": "Сохранить как...",
"exportToPng": "Экспорт в PNG", "exportToPng": "Экспорт в PNG",
"exportToSvg": "Экспорт в SVG", "exportToSvg": "Экспорт в SVG",
"copyToClipboard": "Скопировать в буфер обмена", "copyToClipboard": "Скопировать в буфер обмена",
@ -144,7 +145,7 @@
"scale": "Масштаб", "scale": "Масштаб",
"save": "Сохранить в текущий файл", "save": "Сохранить в текущий файл",
"saveAs": "Сохранить как", "saveAs": "Сохранить как",
"load": "Загрузить", "load": "Открыть",
"getShareableLink": "Получить доступ по ссылке", "getShareableLink": "Получить доступ по ссылке",
"close": "Закрыть", "close": "Закрыть",
"selectLanguage": "Выбрать язык", "selectLanguage": "Выбрать язык",
@ -214,7 +215,7 @@
"text": "Текст", "text": "Текст",
"library": "Библиотека", "library": "Библиотека",
"lock": "Сохранять выбранный инструмент активным после рисования", "lock": "Сохранять выбранный инструмент активным после рисования",
"penMode": "Отключить масштабирование щипком и рисовать только с помощью пера", "penMode": "Режим пера - предотвращение касания",
"link": "Добавить/обновить ссылку для выбранной фигуры", "link": "Добавить/обновить ссылку для выбранной фигуры",
"eraser": "Ластик" "eraser": "Ластик"
}, },
@ -235,7 +236,7 @@
"resize": "Вы можете ограничить пропорции, удерживая SHIFT во время изменения размеров,\nудерживайте ALT чтобы изменить размер из центра", "resize": "Вы можете ограничить пропорции, удерживая SHIFT во время изменения размеров,\nудерживайте ALT чтобы изменить размер из центра",
"resizeImage": "Вы можете свободно изменять размеры, удерживая кнопку SHIFT,\nудерживайте кнопку ALT, чтобы изменять размер относительно центра", "resizeImage": "Вы можете свободно изменять размеры, удерживая кнопку SHIFT,\nудерживайте кнопку ALT, чтобы изменять размер относительно центра",
"rotate": "Вы можете ограничить углы, удерживая SHIFT во время вращения", "rotate": "Вы можете ограничить углы, удерживая SHIFT во время вращения",
"lineEditor_info": "Дважды кликните или нажмите Enter, чтобы редактировать точки", "lineEditor_info": "Удерживайте CtrlOrCmd и дважды кликните или нажмите CtrlOrCmd + Enter для редактирования точек",
"lineEditor_pointSelected": "Нажмите Delete для удаления точки (точек),\nCtrl+D или Cmd+D для дублирования, перетащите для перемещения", "lineEditor_pointSelected": "Нажмите Delete для удаления точки (точек),\nCtrl+D или Cmd+D для дублирования, перетащите для перемещения",
"lineEditor_nothingSelected": "Выберите точку для редактирования (удерживайте SHIFT выбора нескольких точек),\nили удерживайте Alt и кликните для добавления новых точек", "lineEditor_nothingSelected": "Выберите точку для редактирования (удерживайте SHIFT выбора нескольких точек),\nили удерживайте Alt и кликните для добавления новых точек",
"placeImage": "Щелкните, чтобы разместить изображение, или нажмите и перетащите, чтобы установить его размер вручную", "placeImage": "Щелкните, чтобы разместить изображение, или нажмите и перетащите, чтобы установить его размер вручную",
@ -310,7 +311,9 @@
"view": "Просмотр", "view": "Просмотр",
"zoomToFit": "Отмастштабировать, чтобы поместились все элементы", "zoomToFit": "Отмастштабировать, чтобы поместились все элементы",
"zoomToSelection": "Увеличить до выделенного", "zoomToSelection": "Увеличить до выделенного",
"toggleElementLock": "Заблокировать/разблокировать выделение" "toggleElementLock": "Заблокировать/разблокировать выделение",
"movePageUpDown": "Сдвинуть страницу вверх/вниз",
"movePageLeftRight": "Сдвинуть страницу вправо/влево"
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Очистить холст" "title": "Очистить холст"
@ -391,7 +394,8 @@
"fileSaved": "Файл сохранён.", "fileSaved": "Файл сохранён.",
"fileSavedToFilename": "Сохранено в {filename}", "fileSavedToFilename": "Сохранено в {filename}",
"canvas": "холст", "canvas": "холст",
"selection": "выделение" "selection": "выделение",
"pasteAsSingleElement": "Используйте {{shortcut}}, чтобы вставить один объект,\nили вставьте в существующий текстовый редактор"
}, },
"colors": { "colors": {
"ffffff": "Белый", "ffffff": "Белый",
@ -439,5 +443,12 @@
"5c940d": "Лайм 9", "5c940d": "Лайм 9",
"e67700": "Жёлтый 9", "e67700": "Жёлтый 9",
"d9480f": "Оранжевый 9" "d9480f": "Оранжевый 9"
},
"welcomeScreen": {
"data": "Все ваши данные сохраняются локально в вашем браузере.",
"switchToPlusApp": "Хотите перейти на Excalidraw+?",
"menuHints": "Экспорт, настройки, языки, ...",
"toolbarHints": "Выберите инструмент и начните рисовать!",
"helpHints": "Сочетания клавиш и помощь"
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "අලවන්න", "paste": "අලවන්න",
"pasteAsPlaintext": "",
"pasteCharts": "ප්‍රස්ථාරය", "pasteCharts": "ප්‍රස්ථාරය",
"selectAll": "සියල්ලම", "selectAll": "සියල්ලම",
"multiSelect": "තෝරා ගැනීමට අංගය එකතු කරන්න", "multiSelect": "තෝරා ගැනීමට අංගය එකතු කරන්න",
@ -310,7 +311,9 @@
"view": "", "view": "",
"zoomToFit": "", "zoomToFit": "",
"zoomToSelection": "", "zoomToSelection": "",
"toggleElementLock": "" "toggleElementLock": "",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "" "title": ""
@ -391,7 +394,8 @@
"fileSaved": "", "fileSaved": "",
"fileSavedToFilename": "", "fileSavedToFilename": "",
"canvas": "", "canvas": "",
"selection": "" "selection": "",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "", "ffffff": "",
@ -439,5 +443,12 @@
"5c940d": "", "5c940d": "",
"e67700": "", "e67700": "",
"d9480f": "" "d9480f": ""
},
"welcomeScreen": {
"data": "",
"switchToPlusApp": "",
"menuHints": "",
"toolbarHints": "",
"helpHints": ""
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Vložiť", "paste": "Vložiť",
"pasteAsPlaintext": "Vložiť ako obyčajný text",
"pasteCharts": "Vložiť grafy", "pasteCharts": "Vložiť grafy",
"selectAll": "Vybrať všetko", "selectAll": "Vybrať všetko",
"multiSelect": "Pridať prvok do výberu", "multiSelect": "Pridať prvok do výberu",
@ -71,7 +72,7 @@
"layers": "Vrstvy", "layers": "Vrstvy",
"actions": "Akcie", "actions": "Akcie",
"language": "Jazyk", "language": "Jazyk",
"liveCollaboration": "Živá spolupráca", "liveCollaboration": "Živá spolupráca...",
"duplicateSelection": "Duplikovať", "duplicateSelection": "Duplikovať",
"untitled": "Bez názvu", "untitled": "Bez názvu",
"name": "Meno", "name": "Meno",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "Obnoviť plátno", "clearReset": "Obnoviť plátno",
"exportJSON": "Exportovať do súboru", "exportJSON": "Exportovať do súboru",
"exportImage": "Uložiť ako obrázok", "exportImage": "Exportovať obrázok...",
"export": "Exportovať", "export": "Uložiť do...",
"exportToPng": "Exportovať do PNG", "exportToPng": "Exportovať do PNG",
"exportToSvg": "Exportovať do SVG", "exportToSvg": "Exportovať do SVG",
"copyToClipboard": "Kopírovať do schránky", "copyToClipboard": "Kopírovať do schránky",
@ -144,7 +145,7 @@
"scale": "Mierka", "scale": "Mierka",
"save": "Uložiť do aktuálneho súboru", "save": "Uložiť do aktuálneho súboru",
"saveAs": "Uložiť ako", "saveAs": "Uložiť ako",
"load": "Nahrať", "load": "Otvoriť",
"getShareableLink": "Získať odkaz na zdieľanie", "getShareableLink": "Získať odkaz na zdieľanie",
"close": "Zavrieť", "close": "Zavrieť",
"selectLanguage": "Zvoliť jazyk", "selectLanguage": "Zvoliť jazyk",
@ -214,7 +215,7 @@
"text": "Text", "text": "Text",
"library": "Knižnica", "library": "Knižnica",
"lock": "Nechať zvolený nástroj aktívny po skončení kreslenia", "lock": "Nechať zvolený nástroj aktívny po skončení kreslenia",
"penMode": "Zabrániť priblíženiu potiahnutím a povoliť vstup voľnou rokou iba z pera", "penMode": "Režim pera zabrániť dotyku",
"link": "Pridať/ Upraviť odkaz pre vybraný tvar", "link": "Pridať/ Upraviť odkaz pre vybraný tvar",
"eraser": "Guma" "eraser": "Guma"
}, },
@ -235,7 +236,7 @@
"resize": "Počas zmeny veľkosti zachováte proporcie podržaním SHIFT,\\npodržaním ALT meníte veľkosť so zachovaním stredu", "resize": "Počas zmeny veľkosti zachováte proporcie podržaním SHIFT,\\npodržaním ALT meníte veľkosť so zachovaním stredu",
"resizeImage": "Podržte SHIFT pre voľnú zmenu veľkosti, podržte ALT pre zmenu veľkosti od stredu", "resizeImage": "Podržte SHIFT pre voľnú zmenu veľkosti, podržte ALT pre zmenu veľkosti od stredu",
"rotate": "Počas rotácie obmedzíte uhol podržaním SHIFT", "rotate": "Počas rotácie obmedzíte uhol podržaním SHIFT",
"lineEditor_info": "Použite dvojklik alebo stlačte Enter na editáciu bodov", "lineEditor_info": "Podržte CtrlOrCmd a kliknite dva krát alebo stlačte CtrlOrCmd + Enter pre editáciu bodov",
"lineEditor_pointSelected": "Stačte Delete na vymazanie bodu (bodov), CtrlOrCmd+D na duplikovanie, alebo potiahnite na presunutie", "lineEditor_pointSelected": "Stačte Delete na vymazanie bodu (bodov), CtrlOrCmd+D na duplikovanie, alebo potiahnite na presunutie",
"lineEditor_nothingSelected": "Zvoľte bod na upravovanie (podržte SHIFT pre zvolenie viacerých bodov) alebo podržte Alt a kliknite na pridanie nového bodu", "lineEditor_nothingSelected": "Zvoľte bod na upravovanie (podržte SHIFT pre zvolenie viacerých bodov) alebo podržte Alt a kliknite na pridanie nového bodu",
"placeImage": "Kliknite pre umiestnenie obrázka alebo kliknite a ťahajte pre zmenu jeho veľkosti", "placeImage": "Kliknite pre umiestnenie obrázka alebo kliknite a ťahajte pre zmenu jeho veľkosti",
@ -310,7 +311,9 @@
"view": "Zobrazenie", "view": "Zobrazenie",
"zoomToFit": "Priblížiť aby boli zahrnuté všetky prvky", "zoomToFit": "Priblížiť aby boli zahrnuté všetky prvky",
"zoomToSelection": "Priblížiť na výber", "zoomToSelection": "Priblížiť na výber",
"toggleElementLock": "Zamknúť/odomknúť vybrané" "toggleElementLock": "Zamknúť/odomknúť vybrané",
"movePageUpDown": "Posunúť stranu hore/dole",
"movePageLeftRight": "Posunúť stranu doľava/doprava"
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Vyčistiť plátno" "title": "Vyčistiť plátno"
@ -391,7 +394,8 @@
"fileSaved": "Súbor uložený.", "fileSaved": "Súbor uložený.",
"fileSavedToFilename": "Uložený ako {filename}", "fileSavedToFilename": "Uložený ako {filename}",
"canvas": "plátna", "canvas": "plátna",
"selection": "výberu" "selection": "výberu",
"pasteAsSingleElement": "Použitím {{shortcut}} vložte ako samostatný prvok alebo vložte do existujúceho editovaného textu"
}, },
"colors": { "colors": {
"ffffff": "Biela", "ffffff": "Biela",
@ -439,5 +443,12 @@
"5c940d": "Limetková 9", "5c940d": "Limetková 9",
"e67700": "Žltá 9", "e67700": "Žltá 9",
"d9480f": "Oranžová 9" "d9480f": "Oranžová 9"
},
"welcomeScreen": {
"data": "Všetky vaše dáta sú uložené lokálne vo vašom prehliadači.",
"switchToPlusApp": "Chceli ste namiesto toho prejsť do Excalidraw+?",
"menuHints": "Exportovanie, nastavenia, jazyky, ...",
"toolbarHints": "Zvoľte nástroj a začnite kresliť!",
"helpHints": "Klávesové skratky a pomocník"
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Prilepi", "paste": "Prilepi",
"pasteAsPlaintext": "Prilepi kot navadno besedilo",
"pasteCharts": "Prilepi grafikone", "pasteCharts": "Prilepi grafikone",
"selectAll": "Izberi vse", "selectAll": "Izberi vse",
"multiSelect": "Dodaj element v izbor", "multiSelect": "Dodaj element v izbor",
@ -71,7 +72,7 @@
"layers": "Plasti", "layers": "Plasti",
"actions": "Dejanja", "actions": "Dejanja",
"language": "Jezik", "language": "Jezik",
"liveCollaboration": "Sodelovanje v živo", "liveCollaboration": "Sodelovanje v živo...",
"duplicateSelection": "Podvoji", "duplicateSelection": "Podvoji",
"untitled": "Neimenovana", "untitled": "Neimenovana",
"name": "Ime", "name": "Ime",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "Ponastavi platno", "clearReset": "Ponastavi platno",
"exportJSON": "Izvozi v datoteko", "exportJSON": "Izvozi v datoteko",
"exportImage": "Shrani kot sliko", "exportImage": "Izvozi sliko...",
"export": "Izvoz", "export": "Shrani v...",
"exportToPng": "Izvozi v PNG", "exportToPng": "Izvozi v PNG",
"exportToSvg": "Izvozi v SVG", "exportToSvg": "Izvozi v SVG",
"copyToClipboard": "Kopiraj v odložišče", "copyToClipboard": "Kopiraj v odložišče",
@ -144,7 +145,7 @@
"scale": "Povečava", "scale": "Povečava",
"save": "Shrani v trenutno datoteko", "save": "Shrani v trenutno datoteko",
"saveAs": "Shrani kot", "saveAs": "Shrani kot",
"load": "Naloži", "load": "Odpri",
"getShareableLink": "Pridobi povezavo za deljenje", "getShareableLink": "Pridobi povezavo za deljenje",
"close": "Zapri", "close": "Zapri",
"selectLanguage": "Izberi jezik", "selectLanguage": "Izberi jezik",
@ -214,7 +215,7 @@
"text": "Besedilo", "text": "Besedilo",
"library": "Knjižnica", "library": "Knjižnica",
"lock": "Ohrani izbrano orodje aktivno po risanju", "lock": "Ohrani izbrano orodje aktivno po risanju",
"penMode": "Prepreči povečavo s prsti in dovoli samo risanje s peresom", "penMode": "Način peresa - prepreči dotik",
"link": "Dodaj/posodobi povezavo za izbrano obliko", "link": "Dodaj/posodobi povezavo za izbrano obliko",
"eraser": "Radirka" "eraser": "Radirka"
}, },
@ -235,7 +236,7 @@
"resize": "Razmerja lahko omejite tako, da držite tipko Shift med spreminjanjem velikosti. Držite tipko Alt, da spremenite velikost od središča", "resize": "Razmerja lahko omejite tako, da držite tipko Shift med spreminjanjem velikosti. Držite tipko Alt, da spremenite velikost od središča",
"resizeImage": "Velikost lahko prosto spreminjate tako, da držite tipko Shift. Držite tipko Alt, da spremenite velikost od središča", "resizeImage": "Velikost lahko prosto spreminjate tako, da držite tipko Shift. Držite tipko Alt, da spremenite velikost od središča",
"rotate": "Kote lahko omejite tako, da med vrtenjem držite tipko Shift", "rotate": "Kote lahko omejite tako, da med vrtenjem držite tipko Shift",
"lineEditor_info": "Dvokliknite ali pritisnite tipko Enter, da uredite točke", "lineEditor_info": "Držite CtrlOrCmd in dvokliknite ali pritisnite CtrlOrCmd + Enter za urejanje točk",
"lineEditor_pointSelected": "Pritisnite tipko Delete, da odstranite točko(e), CtrlOrCmd+D za podvojitev ali povlecite za premikanje", "lineEditor_pointSelected": "Pritisnite tipko Delete, da odstranite točko(e), CtrlOrCmd+D za podvojitev ali povlecite za premikanje",
"lineEditor_nothingSelected": "Izberite točko za urejanje (pridržite tipko Shift za izbiro več točk), ali držite tipko Alt in kliknite za dodajanje novih točk", "lineEditor_nothingSelected": "Izberite točko za urejanje (pridržite tipko Shift za izbiro več točk), ali držite tipko Alt in kliknite za dodajanje novih točk",
"placeImage": "Kliknite, da postavite sliko, ali kliknite in povlecite, da ročno nastavite njeno velikost", "placeImage": "Kliknite, da postavite sliko, ali kliknite in povlecite, da ročno nastavite njeno velikost",
@ -310,7 +311,9 @@
"view": "Pogled", "view": "Pogled",
"zoomToFit": "Približaj na vse elemente", "zoomToFit": "Približaj na vse elemente",
"zoomToSelection": "Približaj na izbor", "zoomToSelection": "Približaj na izbor",
"toggleElementLock": "Zakleni/odkleni izbor" "toggleElementLock": "Zakleni/odkleni izbor",
"movePageUpDown": "Premakni stran gor/dol",
"movePageLeftRight": "Premakni stran levo/desno"
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Počisti platno" "title": "Počisti platno"
@ -391,7 +394,8 @@
"fileSaved": "Datoteka shranjena.", "fileSaved": "Datoteka shranjena.",
"fileSavedToFilename": "Shranjeno v {filename}", "fileSavedToFilename": "Shranjeno v {filename}",
"canvas": "platno", "canvas": "platno",
"selection": "izbor" "selection": "izbor",
"pasteAsSingleElement": "Uporabite {{shortcut}}, da prilepite kot en element,\n ali prilepite v obstoječ urejevalnik besedil"
}, },
"colors": { "colors": {
"ffffff": "Bela", "ffffff": "Bela",
@ -439,5 +443,12 @@
"5c940d": "Limeta 9", "5c940d": "Limeta 9",
"e67700": "Rumena 9", "e67700": "Rumena 9",
"d9480f": "Oranžna 9" "d9480f": "Oranžna 9"
},
"welcomeScreen": {
"data": "Vsi vaši podatki so shranjeni lokalno v vašem brskalniku.",
"switchToPlusApp": "Ste namesto tega želeli odpreti Excalidraw+?",
"menuHints": "Izvoz, nastavitve, jeziki, ...",
"toolbarHints": "Izberi orodje in začni z risanjem!",
"helpHints": "Bljižnice in pomoč"
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Klistra in", "paste": "Klistra in",
"pasteAsPlaintext": "",
"pasteCharts": "Klistra in diagram", "pasteCharts": "Klistra in diagram",
"selectAll": "Markera alla", "selectAll": "Markera alla",
"multiSelect": "Lägg till element till markering", "multiSelect": "Lägg till element till markering",
@ -71,7 +72,7 @@
"layers": "Lager", "layers": "Lager",
"actions": "Åtgärder", "actions": "Åtgärder",
"language": "Språk", "language": "Språk",
"liveCollaboration": "Samarbeta live", "liveCollaboration": "Samarbeta live...",
"duplicateSelection": "Duplicera", "duplicateSelection": "Duplicera",
"untitled": "Namnlös", "untitled": "Namnlös",
"name": "Namn", "name": "Namn",
@ -115,8 +116,8 @@
"label": "Länk" "label": "Länk"
}, },
"lineEditor": { "lineEditor": {
"edit": "", "edit": "Redigera linje",
"exit": "" "exit": "Avsluta linjeredigerare"
}, },
"elementLock": { "elementLock": {
"lock": "Lås", "lock": "Lås",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "Återställ canvasen", "clearReset": "Återställ canvasen",
"exportJSON": "Exportera till fil", "exportJSON": "Exportera till fil",
"exportImage": "Spara som bild", "exportImage": "Exportera bild...",
"export": "Exportera", "export": "Spara till...",
"exportToPng": "Exportera till PNG", "exportToPng": "Exportera till PNG",
"exportToSvg": "Exportera till SVG", "exportToSvg": "Exportera till SVG",
"copyToClipboard": "Kopiera till urklipp", "copyToClipboard": "Kopiera till urklipp",
@ -214,7 +215,7 @@
"text": "Text", "text": "Text",
"library": "Bibliotek", "library": "Bibliotek",
"lock": "Håll valt verktyg aktivt efter ritande", "lock": "Håll valt verktyg aktivt efter ritande",
"penMode": "Förhindra nypzoom och acceptera endast frihandsteckning från penna", "penMode": "Pennläge - förhindra touch",
"link": "Lägg till / Uppdatera länk för en vald form", "link": "Lägg till / Uppdatera länk för en vald form",
"eraser": "Radergummi" "eraser": "Radergummi"
}, },
@ -235,7 +236,7 @@
"resize": "Du kan behålla proportioner genom att hålla SHIFT medan du ändrar storlek,\nhåller du ALT ändras storlek relativt mitten", "resize": "Du kan behålla proportioner genom att hålla SHIFT medan du ändrar storlek,\nhåller du ALT ändras storlek relativt mitten",
"resizeImage": "Du kan ändra storlek fritt genom att hålla SHIFT,\nhåll ALT för att ändra storlek från mitten", "resizeImage": "Du kan ändra storlek fritt genom att hålla SHIFT,\nhåll ALT för att ändra storlek från mitten",
"rotate": "Du kan begränsa vinklar genom att hålla SHIFT medan du roterar", "rotate": "Du kan begränsa vinklar genom att hålla SHIFT medan du roterar",
"lineEditor_info": "Dubbelklicka eller tryck på Enter för att redigera punkter", "lineEditor_info": "",
"lineEditor_pointSelected": "Tryck på Ta bort för att ta bort punkt(er), Ctrl + D eller Cmd + D för att duplicera, eller dra för att flytta", "lineEditor_pointSelected": "Tryck på Ta bort för att ta bort punkt(er), Ctrl + D eller Cmd + D för att duplicera, eller dra för att flytta",
"lineEditor_nothingSelected": "Välj en punkt att redigera (håll SHIFT för att välja flera),\neller håll ned Alt och klicka för att lägga till nya punkter", "lineEditor_nothingSelected": "Välj en punkt att redigera (håll SHIFT för att välja flera),\neller håll ned Alt och klicka för att lägga till nya punkter",
"placeImage": "Klicka för att placera bilden, eller klicka och dra för att ställa in dess storlek manuellt", "placeImage": "Klicka för att placera bilden, eller klicka och dra för att ställa in dess storlek manuellt",
@ -310,7 +311,9 @@
"view": "Visa", "view": "Visa",
"zoomToFit": "Zooma för att rymma alla element", "zoomToFit": "Zooma för att rymma alla element",
"zoomToSelection": "Zooma till markering", "zoomToSelection": "Zooma till markering",
"toggleElementLock": "Lås/Lås upp valda" "toggleElementLock": "Lås/Lås upp valda",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Rensa canvas" "title": "Rensa canvas"
@ -391,7 +394,8 @@
"fileSaved": "Fil sparad.", "fileSaved": "Fil sparad.",
"fileSavedToFilename": "Sparad till {filename}", "fileSavedToFilename": "Sparad till {filename}",
"canvas": "canvas", "canvas": "canvas",
"selection": "markering" "selection": "markering",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "Vit", "ffffff": "Vit",
@ -439,5 +443,12 @@
"5c940d": "Limegrön 9", "5c940d": "Limegrön 9",
"e67700": "Gul 9", "e67700": "Gul 9",
"d9480f": "Orange 9" "d9480f": "Orange 9"
},
"welcomeScreen": {
"data": "All din data sparas lokalt i din webbläsare.",
"switchToPlusApp": "Ville du gå till Excalidraw+ istället?",
"menuHints": "Export, inställningar, språk, ...",
"toolbarHints": "Välj ett verktyg och börja rita!",
"helpHints": "Genvägar och hjälp"
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "ஒட்டு", "paste": "ஒட்டு",
"pasteAsPlaintext": "",
"pasteCharts": "விளக்கப்படங்களை ஒட்டு", "pasteCharts": "விளக்கப்படங்களை ஒட்டு",
"selectAll": "எல்லாம் தேர்ந்தெடு", "selectAll": "எல்லாம் தேர்ந்தெடு",
"multiSelect": "உறுப்பைத் தெரிவில் சேர்", "multiSelect": "உறுப்பைத் தெரிவில் சேர்",
@ -71,7 +72,7 @@
"layers": "அடுக்குகள்", "layers": "அடுக்குகள்",
"actions": "செயல்கள்", "actions": "செயல்கள்",
"language": "மொழி", "language": "மொழி",
"liveCollaboration": "நேரடி கூட்டுப்பணி", "liveCollaboration": "",
"duplicateSelection": "நகலாக்கு", "duplicateSelection": "நகலாக்கு",
"untitled": "தலைப்பற்றது", "untitled": "தலைப்பற்றது",
"name": "பெயர்", "name": "பெயர்",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "கித்தானை அகரமாக்கு", "clearReset": "கித்தானை அகரமாக்கு",
"exportJSON": "கோப்புக்கு ஏற்றுமதிசெய்", "exportJSON": "கோப்புக்கு ஏற்றுமதிசெய்",
"exportImage": "படமாகச் சேமி", "exportImage": "",
"export": "ஏற்றுமதி", "export": "",
"exportToPng": "PNGக்கு ஏற்றுமதிசெய்", "exportToPng": "PNGக்கு ஏற்றுமதிசெய்",
"exportToSvg": "SVGக்கு ஏற்றுமதிசெய்", "exportToSvg": "SVGக்கு ஏற்றுமதிசெய்",
"copyToClipboard": "நகலகத்திற்கு நகலெடு", "copyToClipboard": "நகலகத்திற்கு நகலெடு",
@ -144,7 +145,7 @@
"scale": "அளவு", "scale": "அளவு",
"save": "தற்போதைய கோப்புக்குச் சேமி", "save": "தற்போதைய கோப்புக்குச் சேமி",
"saveAs": "இப்படி சேமி", "saveAs": "இப்படி சேமி",
"load": "ஏற்று", "load": "",
"getShareableLink": "பகிரக்கூடிய தொடுப்பைப் பெறு", "getShareableLink": "பகிரக்கூடிய தொடுப்பைப் பெறு",
"close": "மூடு", "close": "மூடு",
"selectLanguage": "மொழியைத் தேர்ந்தெடு", "selectLanguage": "மொழியைத் தேர்ந்தெடு",
@ -214,7 +215,7 @@
"text": "உரை", "text": "உரை",
"library": "நூலகம்", "library": "நூலகம்",
"lock": "தேர்ந்த கருவியை வரைந்த பின்பும் வைத்திரு", "lock": "தேர்ந்த கருவியை வரைந்த பின்பும் வைத்திரு",
"penMode": "கிள்ளிப்பெரிதாக்குவதைத் தவிர் மற்றும் பேனாவிலிருந்து மட்டும் கட்டற்றவரைவை ஏல்", "penMode": "",
"link": "தேர்தெடுத்த வடிவத்திற்குத் தொடுப்பைச் சேர்/ புதுப்பி", "link": "தேர்தெடுத்த வடிவத்திற்குத் தொடுப்பைச் சேர்/ புதுப்பி",
"eraser": "அழிப்பி" "eraser": "அழிப்பி"
}, },
@ -235,7 +236,7 @@
"resize": "மறுஅளவிடுகையில் SHIFTஐ அழுத்திப்பிடித்து விகிதசமத்தை வற்புறுத்தலாம்,\nமையத்திலிருந்து மறுஅளவிட ALTஐ அழுத்திப்பிடி", "resize": "மறுஅளவிடுகையில் SHIFTஐ அழுத்திப்பிடித்து விகிதசமத்தை வற்புறுத்தலாம்,\nமையத்திலிருந்து மறுஅளவிட ALTஐ அழுத்திப்பிடி",
"resizeImage": "SHIFTஐ நீண்டழுத்தி கட்டற்று அளவுமாற்றலாம்,\nமையத்திலிருந்து அளவுமாற்ற ALTஐ நீண்டழுத்துக", "resizeImage": "SHIFTஐ நீண்டழுத்தி கட்டற்று அளவுமாற்றலாம்,\nமையத்திலிருந்து அளவுமாற்ற ALTஐ நீண்டழுத்துக",
"rotate": "சுழற்றுகையில் SHIFTஐ அழுத்திப்பிடித்து கோணங்களை வற்புறுத்தலாம்", "rotate": "சுழற்றுகையில் SHIFTஐ அழுத்திப்பிடித்து கோணங்களை வற்புறுத்தலாம்",
"lineEditor_info": "புள்ளிகளைத் திருத்த இரு-சொடுக்கு அ Enterஐ அழுத்து", "lineEditor_info": "",
"lineEditor_pointSelected": "புள்ளி(கள்)ஐ நீக்க Deleteஐ அழுத்து,\nநகலாக்க CtrlOrCmd+D, அ நகர்த்த பிடித்திழு", "lineEditor_pointSelected": "புள்ளி(கள்)ஐ நீக்க Deleteஐ அழுத்து,\nநகலாக்க CtrlOrCmd+D, அ நகர்த்த பிடித்திழு",
"lineEditor_nothingSelected": "திருத்த புள்ளியைத் தேர்ந்தெடு (பலவற்றை தேர SHIFTஐ அழுத்திப்பிடி),\nஅ புதிய புள்ளிகளைச் சேர்க்க Altஐ அழுத்திப்பிடித்துச் சொடுக்கு", "lineEditor_nothingSelected": "திருத்த புள்ளியைத் தேர்ந்தெடு (பலவற்றை தேர SHIFTஐ அழுத்திப்பிடி),\nஅ புதிய புள்ளிகளைச் சேர்க்க Altஐ அழுத்திப்பிடித்துச் சொடுக்கு",
"placeImage": "படத்தை வைக்கச் சொடுக்கு, அ கைமுறையாக அளவு அமைக்க சொடுக்கி பிடித்திழு", "placeImage": "படத்தை வைக்கச் சொடுக்கு, அ கைமுறையாக அளவு அமைக்க சொடுக்கி பிடித்திழு",
@ -310,7 +311,9 @@
"view": "பார்", "view": "பார்",
"zoomToFit": "அனைத்துறுப்புகளும் பொருந்தும்படி விரிவாக்கு", "zoomToFit": "அனைத்துறுப்புகளும் பொருந்தும்படி விரிவாக்கு",
"zoomToSelection": "தெரிவுக்கு விரிவாக்கு", "zoomToSelection": "தெரிவுக்கு விரிவாக்கு",
"toggleElementLock": "தேர்ந்தெடுப்பைப் பூட்டு/பூட்டவிழ்" "toggleElementLock": "தேர்ந்தெடுப்பைப் பூட்டு/பூட்டவிழ்",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "கித்தானைத் துடை" "title": "கித்தானைத் துடை"
@ -391,7 +394,8 @@
"fileSaved": "கோப்பு சேமிக்கப்பட்டது.", "fileSaved": "கோப்பு சேமிக்கப்பட்டது.",
"fileSavedToFilename": "{filename}-க்கு சேமிக்கப்பட்டது", "fileSavedToFilename": "{filename}-க்கு சேமிக்கப்பட்டது",
"canvas": "கித்தான்", "canvas": "கித்தான்",
"selection": "தெரிவு" "selection": "தெரிவு",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "வெள்ளை", "ffffff": "வெள்ளை",
@ -439,5 +443,12 @@
"5c940d": "தேசிக்காய்நிறம் 9", "5c940d": "தேசிக்காய்நிறம் 9",
"e67700": "மஞ்சள் 9", "e67700": "மஞ்சள் 9",
"d9480f": "ஆரஞ்சு 9" "d9480f": "ஆரஞ்சு 9"
},
"welcomeScreen": {
"data": "",
"switchToPlusApp": "",
"menuHints": "",
"toolbarHints": "",
"helpHints": ""
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Yapıştır", "paste": "Yapıştır",
"pasteAsPlaintext": "Düz metin olarak yapıştır",
"pasteCharts": "Grafikleri yapıştır", "pasteCharts": "Grafikleri yapıştır",
"selectAll": "Tümünü seç", "selectAll": "Tümünü seç",
"multiSelect": "Seçime öge ekle", "multiSelect": "Seçime öge ekle",
@ -71,7 +72,7 @@
"layers": "Katmanlar", "layers": "Katmanlar",
"actions": "Eylemler", "actions": "Eylemler",
"language": "Dil", "language": "Dil",
"liveCollaboration": "Canlı ortak çalışma alanı", "liveCollaboration": "Canlı ortak çalışma alanı...",
"duplicateSelection": "Çoğalt", "duplicateSelection": "Çoğalt",
"untitled": "Adsız", "untitled": "Adsız",
"name": "İsim", "name": "İsim",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "Tuvali sıfırla", "clearReset": "Tuvali sıfırla",
"exportJSON": "Dosyaya aktar", "exportJSON": "Dosyaya aktar",
"exportImage": "Görüntü olarak kaydet", "exportImage": "Resimleri dışa aktar...",
"export": "Dışa aktar", "export": "Şuraya kaydet...",
"exportToPng": "PNG olarak dışa aktar", "exportToPng": "PNG olarak dışa aktar",
"exportToSvg": "SVG olarak dışa aktar", "exportToSvg": "SVG olarak dışa aktar",
"copyToClipboard": "Panoya kopyala", "copyToClipboard": "Panoya kopyala",
@ -144,7 +145,7 @@
"scale": "Ölçek", "scale": "Ölçek",
"save": "Geçerli dosyaya kaydet", "save": "Geçerli dosyaya kaydet",
"saveAs": "Farklı kaydet", "saveAs": "Farklı kaydet",
"load": "Yükle", "load": "",
"getShareableLink": "Paylaşılabilir bağlantı al", "getShareableLink": "Paylaşılabilir bağlantı al",
"close": "Kapat", "close": "Kapat",
"selectLanguage": "Dil seçin", "selectLanguage": "Dil seçin",
@ -214,7 +215,7 @@
"text": "Yazı", "text": "Yazı",
"library": "Kütüphane", "library": "Kütüphane",
"lock": "Seçilen aracı çizimden sonra aktif tut", "lock": "Seçilen aracı çizimden sonra aktif tut",
"penMode": "Çift parmak sıkıştırmayı önle ve serbest çizimi yalnızca kalemle yap", "penMode": "Kalem modu - dokunmayı engelle",
"link": "Seçilen şekil için bağlantı Ekle/Güncelle", "link": "Seçilen şekil için bağlantı Ekle/Güncelle",
"eraser": "Silgi" "eraser": "Silgi"
}, },
@ -235,7 +236,7 @@
"resize": "Yeniden boyutlandırırken SHIFT tuşunu basılı tutarak oranları sınırlayabilirsiniz,\nmerkezden yeniden boyutlandırmak için ALT tuşunu basılı tutun", "resize": "Yeniden boyutlandırırken SHIFT tuşunu basılı tutarak oranları sınırlayabilirsiniz,\nmerkezden yeniden boyutlandırmak için ALT tuşunu basılı tutun",
"resizeImage": "SHIFT'e basılı tutarak serbestçe yeniden boyutlandırabilirsiniz, merkezden yeniden boyutlandırmak için ALT tuşunu basılı tutun", "resizeImage": "SHIFT'e basılı tutarak serbestçe yeniden boyutlandırabilirsiniz, merkezden yeniden boyutlandırmak için ALT tuşunu basılı tutun",
"rotate": "Döndürürken SHIFT tuşuna basılı tutarak açıları koruyabilirsiniz", "rotate": "Döndürürken SHIFT tuşuna basılı tutarak açıları koruyabilirsiniz",
"lineEditor_info": "Noktaları düzenlemek için çift-tıklayın veya Enter'a basın", "lineEditor_info": "Puanları düzenlemek için ctrl veya cmd tuşuna basılı tutup çift tıklayın veya enter tuşuna basın",
"lineEditor_pointSelected": "Sil tuşuna basarak noktaları silin,\nCtrl/Cmd + D ile çoğaltın, ya da sürükleyerek taşıyın", "lineEditor_pointSelected": "Sil tuşuna basarak noktaları silin,\nCtrl/Cmd + D ile çoğaltın, ya da sürükleyerek taşıyın",
"lineEditor_nothingSelected": "Düzenlemek için bir nokta seçin (birden fazla seçmek için SHIFT tuşunu basılı tutun),\nveya Alt tuşunu basılı tutun ve yeni noktalar eklemek için tıklayın", "lineEditor_nothingSelected": "Düzenlemek için bir nokta seçin (birden fazla seçmek için SHIFT tuşunu basılı tutun),\nveya Alt tuşunu basılı tutun ve yeni noktalar eklemek için tıklayın",
"placeImage": "Resmi yerleştirmek için tıklayın ya da boyutunu manuel olarak ayarlamak için tıklayıp sürükleyin", "placeImage": "Resmi yerleştirmek için tıklayın ya da boyutunu manuel olarak ayarlamak için tıklayıp sürükleyin",
@ -310,7 +311,9 @@
"view": "Görünüm", "view": "Görünüm",
"zoomToFit": "Tüm öğeleri sığdırmak için yakınlaştır", "zoomToFit": "Tüm öğeleri sığdırmak için yakınlaştır",
"zoomToSelection": "Seçime yakınlaş", "zoomToSelection": "Seçime yakınlaş",
"toggleElementLock": "Seçimi Kilitle/çöz" "toggleElementLock": "Seçimi Kilitle/çöz",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Tuvali temizle" "title": "Tuvali temizle"
@ -391,7 +394,8 @@
"fileSaved": "Dosya kaydedildi.", "fileSaved": "Dosya kaydedildi.",
"fileSavedToFilename": "{filename} kaydedildi", "fileSavedToFilename": "{filename} kaydedildi",
"canvas": "tuval", "canvas": "tuval",
"selection": "seçim" "selection": "seçim",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "Beyaz", "ffffff": "Beyaz",
@ -439,5 +443,12 @@
"5c940d": "Yeşil 9", "5c940d": "Yeşil 9",
"e67700": "Sarı 9", "e67700": "Sarı 9",
"d9480f": "Turuncu 9" "d9480f": "Turuncu 9"
},
"welcomeScreen": {
"data": "Tüm veri internet gezgininize yerel olarak kaydedildi.",
"switchToPlusApp": "Excalidraw+ kullanmak ister miydiniz?",
"menuHints": "Dışa aktar, seçenkeler, diller, ...",
"toolbarHints": "Bir araç seçin & Çizime başlayın!",
"helpHints": "Kısayollar & yardım"
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Вставити", "paste": "Вставити",
"pasteAsPlaintext": "Вставити як простий текст",
"pasteCharts": "Вставити діаграми", "pasteCharts": "Вставити діаграми",
"selectAll": "Вибрати все", "selectAll": "Вибрати все",
"multiSelect": "Додати елемент до вибраного", "multiSelect": "Додати елемент до вибраного",
@ -71,7 +72,7 @@
"layers": "Шари", "layers": "Шари",
"actions": "Дії", "actions": "Дії",
"language": "Мова", "language": "Мова",
"liveCollaboration": "Спільна робота", "liveCollaboration": "",
"duplicateSelection": "Дублювати", "duplicateSelection": "Дублювати",
"untitled": "Без назви", "untitled": "Без назви",
"name": "Ім’я", "name": "Ім’я",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "Очистити полотно", "clearReset": "Очистити полотно",
"exportJSON": "Експорт у файл", "exportJSON": "Експорт у файл",
"exportImage": "Зберегти як зображення", "exportImage": "Експорт зображення...",
"export": "Експортувати", "export": "Зберегти як...",
"exportToPng": "Експортувати в PNG", "exportToPng": "Експортувати в PNG",
"exportToSvg": "Експортувати в SVG", "exportToSvg": "Експортувати в SVG",
"copyToClipboard": "Скопіювати до буферу обміну", "copyToClipboard": "Скопіювати до буферу обміну",
@ -144,7 +145,7 @@
"scale": "Масштаб", "scale": "Масштаб",
"save": "Зберегти до поточного файлу", "save": "Зберегти до поточного файлу",
"saveAs": "Зберегти як", "saveAs": "Зберегти як",
"load": "Завантажити", "load": "Відкрити",
"getShareableLink": "Отримати посилання", "getShareableLink": "Отримати посилання",
"close": "Закрити", "close": "Закрити",
"selectLanguage": "Обрати мову", "selectLanguage": "Обрати мову",
@ -214,7 +215,7 @@
"text": "Текст", "text": "Текст",
"library": "Бібліотека", "library": "Бібліотека",
"lock": "Залишити обраний інструмент після креслення", "lock": "Залишити обраний інструмент після креслення",
"penMode": "Вимкнути масштабування через мультитач та малювати тільки з допомогою пера", "penMode": "Режим пера - запобігання дотику",
"link": "Додати/Оновити посилання для вибраної форми", "link": "Додати/Оновити посилання для вибраної форми",
"eraser": "Очищувач" "eraser": "Очищувач"
}, },
@ -235,7 +236,7 @@
"resize": "Ви можете зберегти пропорції, утримуючи SHIFT під час зміни розміру,\nутримуйте ALT для змінення розміру від центру", "resize": "Ви можете зберегти пропорції, утримуючи SHIFT під час зміни розміру,\nутримуйте ALT для змінення розміру від центру",
"resizeImage": "Ви можете змінювати розміри утримуючи клавішу SHIFT, втримуйте клавішу ALT щоб змінювати розмір відносно центру", "resizeImage": "Ви можете змінювати розміри утримуючи клавішу SHIFT, втримуйте клавішу ALT щоб змінювати розмір відносно центру",
"rotate": "Ви можете обмежити кути, утримуючи SHIFT під час обертання", "rotate": "Ви можете обмежити кути, утримуючи SHIFT під час обертання",
"lineEditor_info": "Двічі клацніть або натисніть Enter щоб редагувати точки", "lineEditor_info": "",
"lineEditor_pointSelected": "Натисніть Delete для видалення точку (точок), або Ctrl/Cmd+D для дублювання, перетаскування працює як звично", "lineEditor_pointSelected": "Натисніть Delete для видалення точку (точок), або Ctrl/Cmd+D для дублювання, перетаскування працює як звично",
"lineEditor_nothingSelected": "Виберіть точку для редагування (втримуйте клавішу SHIFT для вибору кількох точок), або клавішу Alt для додавання нових точок", "lineEditor_nothingSelected": "Виберіть точку для редагування (втримуйте клавішу SHIFT для вибору кількох точок), або клавішу Alt для додавання нових точок",
"placeImage": "Клацніть, щоб розмістити зображення, або натисніть та потягніть щоб змінити його розмір", "placeImage": "Клацніть, щоб розмістити зображення, або натисніть та потягніть щоб змінити його розмір",
@ -310,7 +311,9 @@
"view": "Вигляд", "view": "Вигляд",
"zoomToFit": "Збільшити щоб умістити всі елементи", "zoomToFit": "Збільшити щоб умістити всі елементи",
"zoomToSelection": "Наблизити вибране", "zoomToSelection": "Наблизити вибране",
"toggleElementLock": "Заблокувати/розблокувати вибране" "toggleElementLock": "Заблокувати/розблокувати вибране",
"movePageUpDown": "Пересунути сторінку вгору/вниз",
"movePageLeftRight": "Пересунути сторінку вліво/вправо"
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "Очистити полотно" "title": "Очистити полотно"
@ -391,7 +394,8 @@
"fileSaved": "Файл збережено.", "fileSaved": "Файл збережено.",
"fileSavedToFilename": "Збережено в {filename}", "fileSavedToFilename": "Збережено в {filename}",
"canvas": "полотно", "canvas": "полотно",
"selection": "виділення" "selection": "виділення",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "Білий", "ffffff": "Білий",
@ -439,5 +443,12 @@
"5c940d": "Лаймовий 9", "5c940d": "Лаймовий 9",
"e67700": "Жовтий 9", "e67700": "Жовтий 9",
"d9480f": "Помаранчевий 9" "d9480f": "Помаранчевий 9"
},
"welcomeScreen": {
"data": "",
"switchToPlusApp": "",
"menuHints": "",
"toolbarHints": "Оберіть інструмент і почніть малювати!",
"helpHints": "Комбінації клавіш і допомога"
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "Dán", "paste": "Dán",
"pasteAsPlaintext": "",
"pasteCharts": "Dán biểu đồ", "pasteCharts": "Dán biểu đồ",
"selectAll": "Chọn tất cả", "selectAll": "Chọn tất cả",
"multiSelect": "Thêm mới vào Select", "multiSelect": "Thêm mới vào Select",
@ -44,7 +45,7 @@
"exportEmbedScene": "", "exportEmbedScene": "",
"exportEmbedScene_details": "", "exportEmbedScene_details": "",
"addWatermark": "Làm với Excalidraw\"", "addWatermark": "Làm với Excalidraw\"",
"handDrawn": "", "handDrawn": "Vẽ tay",
"normal": "Bình thường", "normal": "Bình thường",
"code": "Mã", "code": "Mã",
"small": "Nhỏ", "small": "Nhỏ",
@ -52,34 +53,34 @@
"large": "Lớn", "large": "Lớn",
"veryLarge": "Rất lớn", "veryLarge": "Rất lớn",
"solid": "Đặc", "solid": "Đặc",
"hachure": "", "hachure": "Nét gạch gạch",
"crossHatch": "", "crossHatch": "Nét gạch chéo",
"thin": "Mỏng", "thin": "Mỏng",
"bold": "In đậm", "bold": "In đậm",
"left": "Trái", "left": "Trái",
"center": "Giữa", "center": "Giữa",
"right": "Phải", "right": "Phải",
"extraBold": "", "extraBold": "",
"architect": "", "architect": "Kiến trúc sư",
"artist": "", "artist": "Nghệ sỹ",
"cartoonist": "", "cartoonist": "Hoạt hình",
"fileTitle": "", "fileTitle": "",
"colorPicker": "", "colorPicker": "Chọn màu",
"canvasColors": "", "canvasColors": "",
"canvasBackground": "", "canvasBackground": "",
"drawingCanvas": "", "drawingCanvas": "",
"layers": "", "layers": "Lớp",
"actions": "", "actions": "Chức năng",
"language": "", "language": "Ngôn ngữ",
"liveCollaboration": "", "liveCollaboration": "",
"duplicateSelection": "", "duplicateSelection": "Tạo bản sao",
"untitled": "", "untitled": "Không có tiêu đề",
"name": "", "name": "Tên",
"yourName": "", "yourName": "Tên của bạn",
"madeWithExcalidraw": "Làm với Excalidraw", "madeWithExcalidraw": "Làm với Excalidraw",
"group": "", "group": "",
"ungroup": "", "ungroup": "",
"collaborators": "", "collaborators": "Cộng tác viên",
"showGrid": "", "showGrid": "",
"addToLibrary": "", "addToLibrary": "",
"removeFromLibrary": "", "removeFromLibrary": "",
@ -310,7 +311,9 @@
"view": "", "view": "",
"zoomToFit": "", "zoomToFit": "",
"zoomToSelection": "", "zoomToSelection": "",
"toggleElementLock": "" "toggleElementLock": "",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "" "title": ""
@ -391,7 +394,8 @@
"fileSaved": "", "fileSaved": "",
"fileSavedToFilename": "", "fileSavedToFilename": "",
"canvas": "", "canvas": "",
"selection": "" "selection": "",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "", "ffffff": "",
@ -439,5 +443,12 @@
"5c940d": "", "5c940d": "",
"e67700": "", "e67700": "",
"d9480f": "" "d9480f": ""
},
"welcomeScreen": {
"data": "",
"switchToPlusApp": "",
"menuHints": "",
"toolbarHints": "",
"helpHints": ""
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "粘贴", "paste": "粘贴",
"pasteAsPlaintext": "",
"pasteCharts": "粘贴图表", "pasteCharts": "粘贴图表",
"selectAll": "全部选中", "selectAll": "全部选中",
"multiSelect": "添加元素到选区", "multiSelect": "添加元素到选区",
@ -45,12 +46,12 @@
"exportEmbedScene_details": "画布数据将被保存到导出的 PNG/SVG 文件,以便恢复。\n将会增加导出的文件大小。", "exportEmbedScene_details": "画布数据将被保存到导出的 PNG/SVG 文件,以便恢复。\n将会增加导出的文件大小。",
"addWatermark": "添加 “使用 Excalidraw 创建” 水印", "addWatermark": "添加 “使用 Excalidraw 创建” 水印",
"handDrawn": "手写", "handDrawn": "手写",
"normal": "正常", "normal": "普通",
"code": "代码", "code": "代码",
"small": "小", "small": "小",
"medium": "中", "medium": "中",
"large": "大", "large": "大",
"veryLarge": "大", "veryLarge": "大",
"solid": "实心", "solid": "实心",
"hachure": "线条", "hachure": "线条",
"crossHatch": "交叉线条", "crossHatch": "交叉线条",
@ -71,7 +72,7 @@
"layers": "图层", "layers": "图层",
"actions": "操作", "actions": "操作",
"language": "语言", "language": "语言",
"liveCollaboration": "实时协作", "liveCollaboration": "实时协作...",
"duplicateSelection": "复制", "duplicateSelection": "复制",
"untitled": "无标题", "untitled": "无标题",
"name": "名字", "name": "名字",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "重置画布", "clearReset": "重置画布",
"exportJSON": "导出为文件", "exportJSON": "导出为文件",
"exportImage": "保存为图像", "exportImage": "导出图片...",
"export": "导出", "export": "保存到...",
"exportToPng": "导出为 PNG", "exportToPng": "导出为 PNG",
"exportToSvg": "导出为 SVG", "exportToSvg": "导出为 SVG",
"copyToClipboard": "复制到剪贴板", "copyToClipboard": "复制到剪贴板",
@ -144,7 +145,7 @@
"scale": "缩放", "scale": "缩放",
"save": "保存至当前文件", "save": "保存至当前文件",
"saveAs": "保存为", "saveAs": "保存为",
"load": "载入文件", "load": "打开",
"getShareableLink": "获取共享链接", "getShareableLink": "获取共享链接",
"close": "关闭", "close": "关闭",
"selectLanguage": "选择语言", "selectLanguage": "选择语言",
@ -214,7 +215,7 @@
"text": "文字", "text": "文字",
"library": "素材库", "library": "素材库",
"lock": "绘制后保持所选的工具栏状态", "lock": "绘制后保持所选的工具栏状态",
"penMode": "禁用手势缩放并只接收来自触控笔的输入", "penMode": "笔模式 避免误触",
"link": "为选中的形状添加/更新链接", "link": "为选中的形状添加/更新链接",
"eraser": "橡皮" "eraser": "橡皮"
}, },
@ -235,7 +236,7 @@
"resize": "您可以按住SHIFT来限制比例大小\n按住ALT来调整中心大小", "resize": "您可以按住SHIFT来限制比例大小\n按住ALT来调整中心大小",
"resizeImage": "按住SHIFT可以自由缩放\n按住ALT可以从中间缩放", "resizeImage": "按住SHIFT可以自由缩放\n按住ALT可以从中间缩放",
"rotate": "旋转时可以按住 Shift 来约束角度", "rotate": "旋转时可以按住 Shift 来约束角度",
"lineEditor_info": "双击或按回车键编辑", "lineEditor_info": "",
"lineEditor_pointSelected": "按下 Delete 移除点Ctrl 或 Cmd+D 以复制,拖动以移动", "lineEditor_pointSelected": "按下 Delete 移除点Ctrl 或 Cmd+D 以复制,拖动以移动",
"lineEditor_nothingSelected": "选择要编辑的点 (按住 SHIFT 选择多个)\n或按住 Alt 并点击以添加新点", "lineEditor_nothingSelected": "选择要编辑的点 (按住 SHIFT 选择多个)\n或按住 Alt 并点击以添加新点",
"placeImage": "点击放置图像,或者点击并拖动以手动设置图像大小", "placeImage": "点击放置图像,或者点击并拖动以手动设置图像大小",
@ -310,7 +311,9 @@
"view": "视图", "view": "视图",
"zoomToFit": "缩放以适应所有元素", "zoomToFit": "缩放以适应所有元素",
"zoomToSelection": "缩放到选区", "zoomToSelection": "缩放到选区",
"toggleElementLock": "锁定/解锁" "toggleElementLock": "锁定/解锁",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "清除画布" "title": "清除画布"
@ -391,7 +394,8 @@
"fileSaved": "文件已保存。", "fileSaved": "文件已保存。",
"fileSavedToFilename": "保存到 {filename}", "fileSavedToFilename": "保存到 {filename}",
"canvas": "画布", "canvas": "画布",
"selection": "选择项" "selection": "选择项",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "白", "ffffff": "白",
@ -439,5 +443,12 @@
"5c940d": "柠檬绿 9", "5c940d": "柠檬绿 9",
"e67700": "黄 9", "e67700": "黄 9",
"d9480f": "橙 9" "d9480f": "橙 9"
},
"welcomeScreen": {
"data": "您的所有数据都储存在浏览器本地。",
"switchToPlusApp": "是否前往 Excalidraw+ ",
"menuHints": "导出、首选项、语言...",
"toolbarHints": "选择工具并开始绘图!",
"helpHints": "快捷键和帮助"
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "貼上", "paste": "貼上",
"pasteAsPlaintext": "",
"pasteCharts": "貼上圖表", "pasteCharts": "貼上圖表",
"selectAll": "全選", "selectAll": "全選",
"multiSelect": "多重選取", "multiSelect": "多重選取",
@ -71,7 +72,7 @@
"layers": "圖層", "layers": "圖層",
"actions": "動作", "actions": "動作",
"language": "🌏 語言", "language": "🌏 語言",
"liveCollaboration": "多人連線", "liveCollaboration": "",
"duplicateSelection": "製作副本", "duplicateSelection": "製作副本",
"untitled": "未命名的作品", "untitled": "未命名的作品",
"name": "", "name": "",
@ -310,7 +311,9 @@
"view": "", "view": "",
"zoomToFit": "", "zoomToFit": "",
"zoomToSelection": "", "zoomToSelection": "",
"toggleElementLock": "" "toggleElementLock": "",
"movePageUpDown": "",
"movePageLeftRight": ""
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "" "title": ""
@ -391,7 +394,8 @@
"fileSaved": "", "fileSaved": "",
"fileSavedToFilename": "", "fileSavedToFilename": "",
"canvas": "畫布", "canvas": "畫布",
"selection": "" "selection": "",
"pasteAsSingleElement": ""
}, },
"colors": { "colors": {
"ffffff": "", "ffffff": "",
@ -439,5 +443,12 @@
"5c940d": "", "5c940d": "",
"e67700": "", "e67700": "",
"d9480f": "" "d9480f": ""
},
"welcomeScreen": {
"data": "",
"switchToPlusApp": "",
"menuHints": "",
"toolbarHints": "",
"helpHints": ""
} }
} }

View File

@ -1,6 +1,7 @@
{ {
"labels": { "labels": {
"paste": "貼上", "paste": "貼上",
"pasteAsPlaintext": "以純文字貼上",
"pasteCharts": "貼上圖表", "pasteCharts": "貼上圖表",
"selectAll": "全選", "selectAll": "全選",
"multiSelect": "將物件加入選取範圍", "multiSelect": "將物件加入選取範圍",
@ -71,7 +72,7 @@
"layers": "圖層", "layers": "圖層",
"actions": "動作", "actions": "動作",
"language": "語言", "language": "語言",
"liveCollaboration": "即時協作", "liveCollaboration": "即時協作...",
"duplicateSelection": "複製", "duplicateSelection": "複製",
"untitled": "無標題", "untitled": "無標題",
"name": "名稱", "name": "名稱",
@ -135,8 +136,8 @@
"buttons": { "buttons": {
"clearReset": "重置 canvas", "clearReset": "重置 canvas",
"exportJSON": "匯出至檔案", "exportJSON": "匯出至檔案",
"exportImage": "另存為圖片", "exportImage": "匯出圖片",
"export": "輸出", "export": "儲存至...",
"exportToPng": "輸出成 PNG", "exportToPng": "輸出成 PNG",
"exportToSvg": "輸出成 SVG", "exportToSvg": "輸出成 SVG",
"copyToClipboard": "複製至剪貼簿", "copyToClipboard": "複製至剪貼簿",
@ -144,7 +145,7 @@
"scale": "縮放比例", "scale": "縮放比例",
"save": "儲存目前檔案", "save": "儲存目前檔案",
"saveAs": "儲存為", "saveAs": "儲存為",
"load": "載入", "load": "開啟",
"getShareableLink": "取得共享連結", "getShareableLink": "取得共享連結",
"close": "關閉", "close": "關閉",
"selectLanguage": "選擇語言", "selectLanguage": "選擇語言",
@ -214,7 +215,7 @@
"text": "文字", "text": "文字",
"library": "資料庫", "library": "資料庫",
"lock": "可連續使用選取的工具", "lock": "可連續使用選取的工具",
"penMode": "停止使用手勢縮放並接受以繪圖筆繪圖輸入", "penMode": "筆模式 - 避免觸摸",
"link": "為所選的形狀增加\b/更新連結", "link": "為所選的形狀增加\b/更新連結",
"eraser": "橡皮擦" "eraser": "橡皮擦"
}, },
@ -235,7 +236,7 @@
"resize": "縮放時按住 Shift 可保持原比例縮放;\\n按住 Alt 可由中心點進行縮放", "resize": "縮放時按住 Shift 可保持原比例縮放;\\n按住 Alt 可由中心點進行縮放",
"resizeImage": "按住 SHIFT 可任意縮放,按住 ALT 可由中央縮放。", "resizeImage": "按住 SHIFT 可任意縮放,按住 ALT 可由中央縮放。",
"rotate": "旋轉時按住 Shift 可限制旋轉角度", "rotate": "旋轉時按住 Shift 可限制旋轉角度",
"lineEditor_info": "雙擊滑鼠左鍵或按 Enter 來編輯控制點", "lineEditor_info": "按住 Ctrl 或 Cmd 並雙擊或按住 Ctrl 或 Cmd + Enter 來編輯控制點",
"lineEditor_pointSelected": "按下 Delete 可移除錨點Ctrl 或 Cmd + D 可複製;或可拖曳來移動", "lineEditor_pointSelected": "按下 Delete 可移除錨點Ctrl 或 Cmd + D 可複製;或可拖曳來移動",
"lineEditor_nothingSelected": "選擇要編輯的錨點(按住 SHIFT 可多選),\n或按住 Alt 並點擊以增加新錨點。", "lineEditor_nothingSelected": "選擇要編輯的錨點(按住 SHIFT 可多選),\n或按住 Alt 並點擊以增加新錨點。",
"placeImage": "點擊以放置圖片,或點擊並拖曳以手動調整其尺寸。", "placeImage": "點擊以放置圖片,或點擊並拖曳以手動調整其尺寸。",
@ -310,7 +311,9 @@
"view": "檢視", "view": "檢視",
"zoomToFit": "放大至填滿畫面", "zoomToFit": "放大至填滿畫面",
"zoomToSelection": "縮放至選取區", "zoomToSelection": "縮放至選取區",
"toggleElementLock": "鎖定/解鎖已選的項目" "toggleElementLock": "鎖定/解鎖已選的項目",
"movePageUpDown": "向上/下移動頁面",
"movePageLeftRight": "向左/右移動頁面"
}, },
"clearCanvasDialog": { "clearCanvasDialog": {
"title": "清除畫布" "title": "清除畫布"
@ -391,7 +394,8 @@
"fileSaved": "已儲存檔案。", "fileSaved": "已儲存檔案。",
"fileSavedToFilename": "儲存為 {filename}", "fileSavedToFilename": "儲存為 {filename}",
"canvas": "畫布", "canvas": "畫布",
"selection": "已選項目" "selection": "已選項目",
"pasteAsSingleElement": "使用 {{shortcut}} 以做為單一物件貼上,\n或貼上至現有的文字編輯器"
}, },
"colors": { "colors": {
"ffffff": "白", "ffffff": "白",
@ -439,5 +443,12 @@
"5c940d": "黃綠 9", "5c940d": "黃綠 9",
"e67700": "黃 9", "e67700": "黃 9",
"d9480f": "橘 9" "d9480f": "橘 9"
},
"welcomeScreen": {
"data": "您的所有資料都儲存在本機瀏覽器。",
"switchToPlusApp": "您是否是要前往 Excalidraw+ ",
"menuHints": "輸出、偏好設定、語言...",
"toolbarHints": "選個工具開始畫圖吧!",
"helpHints": "快速鍵與說明"
} }
} }

View File

@ -15,6 +15,8 @@ Please add the latest change on the top under the correct section.
### Features ### Features
- Expose component API for the Excalidraw main menu [#6034](https://github.com/excalidraw/excalidraw/pull/6034), You can read more about its usage [here](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#MainMenu)
- Render Footer as a component instead of render prop [#5970](https://github.com/excalidraw/excalidraw/pull/5970). You can read more about its usage [here](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#Footer) - Render Footer as a component instead of render prop [#5970](https://github.com/excalidraw/excalidraw/pull/5970). You can read more about its usage [here](https://github.com/excalidraw/excalidraw/blob/master/src/packages/excalidraw/README.md#Footer)
#### BREAKING CHANGE #### BREAKING CHANGE

View File

@ -405,6 +405,195 @@ const App = () => {
}; };
``` ```
This will only for `Desktop` devices.
For `mobile` you will need to render it inside the [MainMenu](#mainmenu). You can use the [`useDevice`](#useDevice) hook to check the type of device, this will be available only inside the `children` of `Excalidraw` component.
```js
import { useDevice, Footer } from "@excalidraw/excalidraw";
const MobileFooter = ({
}) => {
const device = useDevice();
if (device.isMobile) {
return (
<Footer>
<button
className="custom-footer"
onClick={() => alert("This is custom footer in mobile menu")}
>
{" "}
custom footer{" "}
</button>
</Footer>
);
}
return null;
};
const App = () => {
<Excalidraw>
<MainMenu>
<MainMenu.Item onSelect={() => window.alert("Item1")}> Item1 </MainMenu.Item>
<MainMenu.Item onSelect={() => window.alert("Item2")}> Item 2 </>
<MobileFooter/>
</MainMenu>
</Excalidraw>
}
```
You can visit the[ example](https://ehlz3.csb.app/) for working demo.
#### MainMenu
By default Excalidraw will render the `MainMenu` with default options. If you want to customise the `MainMenu`, you can pass the `MainMenu` component with the list options. You can visit [codesandbox example](https://ehlz3.csb.app/) for a working demo.
**Usage**
```js
import { MainMenu } from "@excalidraw/excalidraw";
const App = () => {
<Excalidraw>
<MainMenu>
<MainMenu.Item onSelect={() => window.alert("Item1")}> Item1 </MainMenu.Item>
<MainMenu.Item onSelect={() => window.alert("Item2")}> Item 2 </>
</MainMenu>
</Excalidraw>
}
```
**MainMenu**
This is the `MainMenu` component which you need to import to render the menu with custom options.
**MainMenu.Item**
To render an item, its recommended to use `MainMenu.Item`.
| Prop | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `onSelect` | `Function` | Yes | `undefined` | The handler is triggered when the item is selected. |
| `children` | `React.ReactNode` | Yes | `undefined` | The content of the menu item |
| `icon` | `JSX.Element` | No | `undefined` | The icon used in the menu item |
| `shortcut` | `string` | No | `undefined` | The shortcut to be shown for the menu item |
| `className` | `string` | No | "" | The class names to be added to the menu item |
| `style` | `React.CSSProperties` | No | `undefined` | The inline styles to be added to the menu item |
| `ariaLabel` | `string` | `undefined` | No | The `aria-label` to be added to the item for accessibility |
| `dataTestId` | `string` | `undefined` | No | The `data-testid` to be added to the item. |
**MainMenu.ItemLink**
To render an item as a link, its recommended to use `MainMenu.ItemLink`.
**Usage**
```js
import { MainMenu } from "@excalidraw/excalidraw";
const App = () => {
<Excalidraw>
<MainMenu>
<MainMenu.ItemLink href="https://google.com">Google</MainMenu.ItemLink>
<MainMenu.ItemLink href="https://excalidraw.com">
Excalidraw
</MainMenu.ItemLink>
</MainMenu>
</Excalidraw>;
};
```
| Prop | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `href` | `string` | Yes | `undefined` | The `href` attribute to be added to the `anchor` element. |
| `children` | `React.ReactNode` | Yes | `undefined` | The content of the menu item |
| `icon` | `JSX.Element` | No | `undefined` | The icon used in the menu item |
| `shortcut` | `string` | No | `undefined` | The shortcut to be shown for the menu item |
| `className` | `string` | No | "" | The class names to be added to the menu item |
| `style` | `React.CSSProperties` | No | `undefined` | The inline styles to be added to the menu item |
| `ariaLabel` | `string` | No | `undefined` | The `aria-label` to be added to the item for accessibility |
| `dataTestId` | `string` | No | `undefined` | The `data-testid` to be added to the item. |
**MainMenu.ItemCustom**
To render a custom item, you can use `MainMenu.ItemCustom`.
**Usage**
```js
import { MainMenu } from "@excalidraw/excalidraw";
const App = () => {
<Excalidraw>
<MainMenu>
<MainMenu.ItemCustom>
<button
style={{ height: "2rem" }}
onClick={() => window.alert("custom menu item")}
>
{" "}
custom item
</button>
</MainMenu.ItemCustom>
</MainMenu>
</Excalidraw>;
};
```
| Prop | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `children` | `React.ReactNode` | Yes | `undefined` | The content of the menu item |
| `className` | `string` | No | "" | The class names to be added to the menu item |
| `style` | `React.CSSProperties` | No | `undefined` | The inline styles to be added to the menu item |
| `dataTestId` | `string` | No | `undefined` | The `data-testid` to be added to the item. |
**MainMenu.DefaultItems**
For the items which are shown in the menu in [excalidraw.com](https://excalidraw.com), you can use `MainMenu.DefaultItems`
```js
import { MainMenu } from "@excalidraw/excalidraw";
const App = () => {
<Excalidraw>
<MainMenu>
<MainMenu.DefaultItems.Socials/>
<MainMenu.DefaultItems.Export/>
<MainMenu.Item onSelect={() => window.alert("Item1")}> Item1 </MainMenu.Item>
<MainMenu.Item onSelect={() => window.alert("Item2")}> Item 2 </>
</MainMenu>
</Excalidraw>
}
```
Here is a [complete list](https://github.com/excalidraw/excalidraw/blob/master/src/components/mainMenu/DefaultItems.tsx) of the default items.
**MainMenu.Group**
To Group item in the main menu, you can use `MainMenu.Group`
```js
import { MainMenu } from "@excalidraw/excalidraw";
const App = () => {
<Excalidraw>
<MainMenu>
<MainMenu.Group title="Excalidraw items">
<MainMenu.DefaultItems.Socials/>
<MainMenu.DefaultItems.Export/>
</MainMenu.Group>
<MainMenu.Group title="custom items">
<MainMenu.Item onSelect={() => window.alert("Item1")}> Item1 </MainMenu.Item>
<MainMenu.Item onSelect={() => window.alert("Item2")}> Item 2 </>
</MainMenu.Group>
</MainMenu>
</Excalidraw>
}
```
| Prop | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `children ` | `React.ReactNode` | Yes | `undefined` | The content of the `Menu Group` |
| `title` | `string` | No | `undefined` | The `title` for the grouped items |
| `className` | `string` | No | "" | The `classname` to be added to the group |
| `style` | `React.CSsSProperties` | No | `undefined` | The inline `styles` to be added to the group |
### Props ### Props
| Name | Type | Default | Description | | Name | Type | Default | Description |
@ -1369,6 +1558,53 @@ viewportCoordsToSceneCoords({clientX: number, clientY: number}, appState: <a hre
This function returns equivalent scene coords for the provided viewport coords in params. This function returns equivalent scene coords for the provided viewport coords in params.
#### useDevice
This hook can be used to check the type of device which is being used. It can only be used inside the `children` of `Excalidraw` component
```js
import { useDevice, Footer } from "@excalidraw/excalidraw";
const MobileFooter = ({
}) => {
const device = useDevice();
if (device.isMobile) {
return (
<Footer>
<button
className="custom-footer"
onClick={() => alert("This is custom footer in mobile menu")}
>
{" "}
custom footer{" "}
</button>
</Footer>
);
}
return null;
};
const App = () => {
<Excalidraw>
<MainMenu>
<MainMenu.Item> Item1 </MainMenu.Item>
<MainMenu.Item> Item 2 </>
<MobileFooter/>
</MainMenu>
</Excalidraw>
}
```
The `device` has the following `attributes`
| Name | Type | Description |
| --- | --- | --- |
| `isSmScreen` | `boolean` | Set to `true` when the device small screen is small (Width < `640px` ) |
| `isMobile` | `boolean` | Set to `true` when the device is `mobile` |
| `isTouchScreen` | `boolean` | Set to `true` for `touch` devices |
| `canDeviceFitSidebar` | `boolean` | Implies whether there is enough space to fit the `sidebar` |
### Exported constants ### Exported constants
#### `FONT_FAMILY` #### `FONT_FAMILY`

View File

@ -73,9 +73,4 @@
.custom-element { .custom-element {
padding: 0.1rem; padding: 0.1rem;
} }
&.excalidraw-container .layer-ui__wrapper .layer-ui__wrapper__footer-center {
// Remove once we stop importing langauge list from excalidraw app
justify-content: flex-start;
}
} }

Some files were not shown because too many files have changed in this diff Show More