mirror of
https://github.com/outline/outline.git
synced 2026-06-14 03:45:00 +03:00
Compare commits
31 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4ac31eec2e | |||
| 9c85371f1d | |||
| be62497f2a | |||
| 9b807f7a9e | |||
| 17493ca0cf | |||
| 1d4b05c9f6 | |||
| 8a5e42071f | |||
| 6b53755f5a | |||
| 709e4f44fd | |||
| c37646b5ad | |||
| 36ca667c50 | |||
| 009e66a466 | |||
| 7adda26c6d | |||
| 62860c593b | |||
| bdc2357984 | |||
| 4fc1ed0d7e | |||
| 5d068361cc | |||
| 176cfff7f8 | |||
| 2fd18f7fdb | |||
| 34f951c511 | |||
| f0c26cf8c8 | |||
| d77ddbd7de | |||
| 4e1038837b | |||
| c54fcc3536 | |||
| c4fa63df3d | |||
| 2b42ce0c0f | |||
| 3208156591 | |||
| e8577ef2a8 | |||
| ca66dec22b | |||
| 41ccad7cce | |||
| bd52b364dd |
@@ -108,8 +108,7 @@ jobs:
|
||||
executor: docker-publisher
|
||||
steps:
|
||||
- checkout
|
||||
- setup_remote_docker:
|
||||
version: 20.10.6
|
||||
- setup_remote_docker
|
||||
- run:
|
||||
name: Install Docker buildx
|
||||
command: |
|
||||
|
||||
@@ -3,7 +3,7 @@ Business Source License 1.1
|
||||
Parameters
|
||||
|
||||
Licensor: General Outline, Inc.
|
||||
Licensed Work: Outline 0.79.1
|
||||
Licensed Work: Outline 0.80.2
|
||||
The Licensed Work is (c) 2024 General Outline, Inc.
|
||||
Additional Use Grant: You may make use of the Licensed Work, provided that
|
||||
you may not use the Licensed Work for a Document
|
||||
@@ -15,7 +15,7 @@ Additional Use Grant: You may make use of the Licensed Work, provided that
|
||||
Licensed Work by creating teams and documents
|
||||
controlled by such third parties.
|
||||
|
||||
Change Date: 2028-09-05
|
||||
Change Date: 2028-09-26
|
||||
|
||||
Change License: Apache License, Version 2.0
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@ import Text from "~/components/Text";
|
||||
import useBoolean from "~/hooks/useBoolean";
|
||||
import useCurrentTeam from "~/hooks/useCurrentTeam";
|
||||
import { EmptySelectValue } from "~/types";
|
||||
import { Feature, FeatureFlags } from "~/utils/FeatureFlags";
|
||||
|
||||
const IconPicker = React.lazy(() => import("~/components/IconPicker"));
|
||||
|
||||
@@ -156,18 +155,16 @@ export const CollectionForm = observer(function CollectionForm_({
|
||||
/>
|
||||
)}
|
||||
|
||||
{team.sharing &&
|
||||
(!collection ||
|
||||
FeatureFlags.isEnabled(Feature.newCollectionSharing)) && (
|
||||
<Switch
|
||||
id="sharing"
|
||||
label={t("Public document sharing")}
|
||||
note={t(
|
||||
"Allow documents within this collection to be shared publicly on the internet."
|
||||
)}
|
||||
{...register("sharing")}
|
||||
/>
|
||||
)}
|
||||
{team.sharing && (
|
||||
<Switch
|
||||
id="sharing"
|
||||
label={t("Public document sharing")}
|
||||
note={t(
|
||||
"Allow documents within this collection to be shared publicly on the internet."
|
||||
)}
|
||||
{...register("sharing")}
|
||||
/>
|
||||
)}
|
||||
|
||||
<Flex justify="flex-end">
|
||||
<Button
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { runInAction } from "mobx";
|
||||
import { observer } from "mobx-react";
|
||||
import * as React from "react";
|
||||
import { toast } from "sonner";
|
||||
import Collection from "~/models/Collection";
|
||||
import useStores from "~/hooks/useStores";
|
||||
import history from "~/utils/history";
|
||||
import { CollectionForm, FormData } from "./CollectionForm";
|
||||
@@ -17,8 +17,11 @@ export const CollectionNew = observer(function CollectionNew_({
|
||||
const handleSubmit = React.useCallback(
|
||||
async (data: FormData) => {
|
||||
try {
|
||||
const collection = new Collection(data, collections);
|
||||
await collection.save();
|
||||
const collection = await collections.save(data);
|
||||
// Avoid flash of loading state for the new collection, we know it's empty.
|
||||
runInAction(() => {
|
||||
collection.documents = [];
|
||||
});
|
||||
onSubmit?.();
|
||||
history.push(collection.path);
|
||||
} catch (error) {
|
||||
|
||||
@@ -11,7 +11,7 @@ import * as React from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import AutoSizer from "react-virtualized-auto-sizer";
|
||||
import { FixedSizeList as List } from "react-window";
|
||||
import scrollIntoView from "smooth-scroll-into-view-if-needed";
|
||||
import scrollIntoView from "scroll-into-view-if-needed";
|
||||
import styled, { useTheme } from "styled-components";
|
||||
import breakpoint from "styled-components-breakpoint";
|
||||
import { NavigationNode } from "@shared/types";
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { observer } from "mobx-react";
|
||||
import * as React from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import scrollIntoView from "smooth-scroll-into-view-if-needed";
|
||||
import scrollIntoView from "scroll-into-view-if-needed";
|
||||
import styled from "styled-components";
|
||||
import { ellipsis } from "@shared/styles";
|
||||
import { Node as SearchResult } from "~/components/DocumentExplorerNode";
|
||||
|
||||
@@ -140,7 +140,7 @@ const DocumentMeta: React.FC<Props> = ({
|
||||
}
|
||||
|
||||
const nestedDocumentsCount = collection
|
||||
? collection.getDocumentChildren(document.id).length
|
||||
? collection.getChildrenForDocument(document.id).length
|
||||
: 0;
|
||||
const canShowProgressBar = isTasks && !isTemplate;
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import {
|
||||
} from "@getoutline/react-roving-tabindex";
|
||||
import { LocationDescriptor } from "history";
|
||||
import * as React from "react";
|
||||
import scrollIntoView from "smooth-scroll-into-view-if-needed";
|
||||
import scrollIntoView from "scroll-into-view-if-needed";
|
||||
import styled, { useTheme } from "styled-components";
|
||||
import { s, ellipsis } from "@shared/styles";
|
||||
import Flex from "~/components/Flex";
|
||||
|
||||
@@ -5,6 +5,7 @@ import { useTranslation } from "react-i18next";
|
||||
import styled, { useTheme } from "styled-components";
|
||||
import Squircle from "@shared/components/Squircle";
|
||||
import { Pagination } from "@shared/constants";
|
||||
import { s } from "@shared/styles";
|
||||
import { CollectionPermission, IconType } from "@shared/types";
|
||||
import { determineIconType } from "@shared/utils/icon";
|
||||
import type Collection from "~/models/Collection";
|
||||
@@ -67,7 +68,7 @@ export const AccessControlList = observer(
|
||||
const containerRef = React.useRef<HTMLDivElement | null>(null);
|
||||
const { maxHeight, calcMaxHeight } = useMaxHeight({
|
||||
elementRef: containerRef,
|
||||
maxViewportPercentage: 70,
|
||||
maxViewportPercentage: 65,
|
||||
margin: 24,
|
||||
});
|
||||
|
||||
@@ -201,7 +202,7 @@ export const AccessControlList = observer(
|
||||
</>
|
||||
)}
|
||||
{team.sharing && can.share && !collectionSharingDisabled && visible && (
|
||||
<>
|
||||
<Sticky>
|
||||
{document.members.length ? <Separator /> : null}
|
||||
<PublicAccess
|
||||
document={document}
|
||||
@@ -209,7 +210,7 @@ export const AccessControlList = observer(
|
||||
sharedParent={sharedParent}
|
||||
onRequestClose={onRequestClose}
|
||||
/>
|
||||
</>
|
||||
</Sticky>
|
||||
)}
|
||||
</ScrollableContainer>
|
||||
);
|
||||
@@ -274,6 +275,12 @@ function useUsersInCollection(collection?: Collection) {
|
||||
: false;
|
||||
}
|
||||
|
||||
const Sticky = styled.div`
|
||||
background: ${s("menuBackground")};
|
||||
position: sticky;
|
||||
bottom: -12px;
|
||||
`;
|
||||
|
||||
const ScrollableContainer = styled(Scrollable)`
|
||||
padding: 12px 24px;
|
||||
margin: -12px -24px;
|
||||
|
||||
@@ -203,7 +203,7 @@ const StyledInfoIcon = styled(InfoIcon)`
|
||||
`;
|
||||
|
||||
const Wrapper = styled.div`
|
||||
margin-bottom: 8px;
|
||||
padding-bottom: 8px;
|
||||
`;
|
||||
|
||||
const DomainPrefix = styled.span`
|
||||
|
||||
@@ -15,7 +15,7 @@ export const Wrapper = styled.div`
|
||||
|
||||
export const Separator = styled.div`
|
||||
border-top: 1px dashed ${s("divider")};
|
||||
margin: 12px 0;
|
||||
margin: 8px 0;
|
||||
`;
|
||||
|
||||
export const HeaderInput = styled(Flex)`
|
||||
|
||||
@@ -116,7 +116,9 @@ function AppSidebar() {
|
||||
{t("Drafts")}
|
||||
{documents.totalDrafts > 0 ? (
|
||||
<Drafts size="xsmall" type="tertiary">
|
||||
{documents.totalDrafts}
|
||||
{documents.totalDrafts > 25
|
||||
? "25+"
|
||||
: documents.totalDrafts}
|
||||
</Drafts>
|
||||
) : null}
|
||||
</Flex>
|
||||
|
||||
@@ -8,19 +8,23 @@ import Collection from "~/models/Collection";
|
||||
import Document from "~/models/Document";
|
||||
import DocumentsLoader from "~/components/DocumentsLoader";
|
||||
import { ResizingHeightContainer } from "~/components/ResizingHeightContainer";
|
||||
import Text from "~/components/Text";
|
||||
import usePolicy from "~/hooks/usePolicy";
|
||||
import useStores from "~/hooks/useStores";
|
||||
import history from "~/utils/history";
|
||||
import useCollectionDocuments from "../hooks/useCollectionDocuments";
|
||||
import DocumentLink from "./DocumentLink";
|
||||
import DropCursor from "./DropCursor";
|
||||
import EmptyCollectionPlaceholder from "./EmptyCollectionPlaceholder";
|
||||
import Folder from "./Folder";
|
||||
import PlaceholderCollections from "./PlaceholderCollections";
|
||||
import { DragObject } from "./SidebarLink";
|
||||
import useCollectionDocuments from "./useCollectionDocuments";
|
||||
import SidebarLink, { DragObject } from "./SidebarLink";
|
||||
|
||||
type Props = {
|
||||
/** The collection to render the children of. */
|
||||
collection: Collection;
|
||||
/** Whether the children are shown in an expanded state. */
|
||||
expanded: boolean;
|
||||
/** Function to prefetch a document by ID. */
|
||||
prefetchDocument?: (documentId: string) => Promise<Document | void>;
|
||||
};
|
||||
|
||||
@@ -33,7 +37,6 @@ function CollectionLinkChildren({
|
||||
const manualSort = collection.sort.field === "index";
|
||||
const { documents } = useStores();
|
||||
const { t } = useTranslation();
|
||||
|
||||
const childDocuments = useCollectionDocuments(collection, documents.active);
|
||||
|
||||
// Drop to reorder document
|
||||
@@ -91,7 +94,17 @@ function CollectionLinkChildren({
|
||||
index={index}
|
||||
/>
|
||||
))}
|
||||
{childDocuments?.length === 0 && <EmptyCollectionPlaceholder />}
|
||||
{childDocuments?.length === 0 && (
|
||||
<SidebarLink
|
||||
label={
|
||||
<Text type="tertiary" size="small" italic>
|
||||
{t("Empty")}
|
||||
</Text>
|
||||
}
|
||||
onClick={() => history.push(collection.url)}
|
||||
depth={2}
|
||||
/>
|
||||
)}
|
||||
</DocumentsLoader>
|
||||
</Folder>
|
||||
);
|
||||
|
||||
@@ -19,6 +19,11 @@ import usePolicy from "~/hooks/usePolicy";
|
||||
import useStores from "~/hooks/useStores";
|
||||
import DocumentMenu from "~/menus/DocumentMenu";
|
||||
import { newNestedDocumentPath } from "~/utils/routeHelpers";
|
||||
import {
|
||||
useDragDocument,
|
||||
useDropToReorderDocument,
|
||||
useDropToReparentDocument,
|
||||
} from "../hooks/useDragAndDrop";
|
||||
import DropCursor from "./DropCursor";
|
||||
import DropToImport from "./DropToImport";
|
||||
import EditableTitle, { RefHandle } from "./EditableTitle";
|
||||
@@ -26,11 +31,6 @@ import Folder from "./Folder";
|
||||
import Relative from "./Relative";
|
||||
import { SidebarContextType, useSidebarContext } from "./SidebarContext";
|
||||
import SidebarLink from "./SidebarLink";
|
||||
import {
|
||||
useDragDocument,
|
||||
useDropToReorderDocument,
|
||||
useDropToReparentDocument,
|
||||
} from "./useDragAndDrop";
|
||||
|
||||
type Props = {
|
||||
node: NavigationNode;
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
import * as React from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import styled from "styled-components";
|
||||
import Text from "~/components/Text";
|
||||
|
||||
const EmptyCollectionPlaceholder = () => {
|
||||
const { t } = useTranslation();
|
||||
return (
|
||||
<Empty type="tertiary" size="small">
|
||||
{t("Empty")}
|
||||
</Empty>
|
||||
);
|
||||
};
|
||||
|
||||
const Empty = styled(Text)`
|
||||
margin-left: 46px;
|
||||
margin-bottom: 0;
|
||||
line-height: 34px;
|
||||
font-style: italic;
|
||||
`;
|
||||
|
||||
export default EmptyCollectionPlaceholder;
|
||||
@@ -10,7 +10,7 @@ import {
|
||||
match,
|
||||
} from "react-router";
|
||||
import { Link } from "react-router-dom";
|
||||
import scrollIntoView from "smooth-scroll-into-view-if-needed";
|
||||
import scrollIntoView from "scroll-into-view-if-needed";
|
||||
import history from "~/utils/history";
|
||||
|
||||
const resolveToLocation = (
|
||||
|
||||
@@ -11,6 +11,7 @@ import Flex from "~/components/Flex";
|
||||
import useCurrentUser from "~/hooks/useCurrentUser";
|
||||
import usePaginatedRequest from "~/hooks/usePaginatedRequest";
|
||||
import useStores from "~/hooks/useStores";
|
||||
import { useDropToReorderUserMembership } from "../hooks/useDragAndDrop";
|
||||
import DropCursor from "./DropCursor";
|
||||
import GroupLink from "./GroupLink";
|
||||
import Header from "./Header";
|
||||
@@ -19,7 +20,6 @@ import Relative from "./Relative";
|
||||
import SharedWithMeLink from "./SharedWithMeLink";
|
||||
import SidebarContext from "./SidebarContext";
|
||||
import SidebarLink from "./SidebarLink";
|
||||
import { useDropToReorderUserMembership } from "./useDragAndDrop";
|
||||
|
||||
function SharedWithMe() {
|
||||
const { userMemberships, groupMemberships } = useStores();
|
||||
|
||||
@@ -11,19 +11,19 @@ import Fade from "~/components/Fade";
|
||||
import useBoolean from "~/hooks/useBoolean";
|
||||
import useStores from "~/hooks/useStores";
|
||||
import DocumentMenu from "~/menus/DocumentMenu";
|
||||
import {
|
||||
useDragMembership,
|
||||
useDropToReorderUserMembership,
|
||||
useDropToReparentDocument,
|
||||
} from "../hooks/useDragAndDrop";
|
||||
import { useLocationState } from "../hooks/useLocationState";
|
||||
import { useSidebarLabelAndIcon } from "../hooks/useSidebarLabelAndIcon";
|
||||
import DocumentLink from "./DocumentLink";
|
||||
import DropCursor from "./DropCursor";
|
||||
import Folder from "./Folder";
|
||||
import Relative from "./Relative";
|
||||
import { useSidebarContext, type SidebarContextType } from "./SidebarContext";
|
||||
import SidebarLink from "./SidebarLink";
|
||||
import {
|
||||
useDragMembership,
|
||||
useDropToReorderUserMembership,
|
||||
useDropToReparentDocument,
|
||||
} from "./useDragAndDrop";
|
||||
import { useSidebarLabelAndIcon } from "./useSidebarLabelAndIcon";
|
||||
|
||||
type Props = {
|
||||
membership: UserMembership | GroupMembership;
|
||||
|
||||
@@ -7,6 +7,10 @@ import DelayedMount from "~/components/DelayedMount";
|
||||
import Flex from "~/components/Flex";
|
||||
import usePaginatedRequest from "~/hooks/usePaginatedRequest";
|
||||
import useStores from "~/hooks/useStores";
|
||||
import {
|
||||
useDropToCreateStar,
|
||||
useDropToReorderStar,
|
||||
} from "../hooks/useDragAndDrop";
|
||||
import DropCursor from "./DropCursor";
|
||||
import Header from "./Header";
|
||||
import PlaceholderCollections from "./PlaceholderCollections";
|
||||
@@ -14,7 +18,6 @@ import Relative from "./Relative";
|
||||
import SidebarContext from "./SidebarContext";
|
||||
import SidebarLink from "./SidebarLink";
|
||||
import StarredLink from "./StarredLink";
|
||||
import { useDropToCreateStar, useDropToReorderStar } from "./useDragAndDrop";
|
||||
|
||||
const STARRED_PAGINATION_LIMIT = 10;
|
||||
|
||||
|
||||
@@ -10,7 +10,13 @@ import Fade from "~/components/Fade";
|
||||
import useBoolean from "~/hooks/useBoolean";
|
||||
import useStores from "~/hooks/useStores";
|
||||
import DocumentMenu from "~/menus/DocumentMenu";
|
||||
import {
|
||||
useDragStar,
|
||||
useDropToCreateStar,
|
||||
useDropToReorderStar,
|
||||
} from "../hooks/useDragAndDrop";
|
||||
import { useLocationState } from "../hooks/useLocationState";
|
||||
import { useSidebarLabelAndIcon } from "../hooks/useSidebarLabelAndIcon";
|
||||
import CollectionLink from "./CollectionLink";
|
||||
import CollectionLinkChildren from "./CollectionLinkChildren";
|
||||
import DocumentLink from "./DocumentLink";
|
||||
@@ -22,12 +28,6 @@ import SidebarContext, {
|
||||
useSidebarContext,
|
||||
} from "./SidebarContext";
|
||||
import SidebarLink from "./SidebarLink";
|
||||
import {
|
||||
useDragStar,
|
||||
useDropToCreateStar,
|
||||
useDropToReorderStar,
|
||||
} from "./useDragAndDrop";
|
||||
import { useSidebarLabelAndIcon } from "./useSidebarLabelAndIcon";
|
||||
|
||||
type Props = {
|
||||
star: Star;
|
||||
@@ -116,7 +116,7 @@ function StarredLink({ star }: Props) {
|
||||
? collections.get(document.collectionId)
|
||||
: undefined;
|
||||
const childDocuments = collection
|
||||
? collection.getDocumentChildren(documentId)
|
||||
? collection.getChildrenForDocument(documentId)
|
||||
: [];
|
||||
const hasChildDocuments = childDocuments.length > 0;
|
||||
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ import UserMembership from "~/models/UserMembership";
|
||||
import Icon from "~/components/Icon";
|
||||
import useCurrentUser from "~/hooks/useCurrentUser";
|
||||
import useStores from "~/hooks/useStores";
|
||||
import { DragObject } from "./SidebarLink";
|
||||
import { DragObject } from "../components/SidebarLink";
|
||||
import { useSidebarLabelAndIcon } from "./useSidebarLabelAndIcon";
|
||||
|
||||
/**
|
||||
@@ -1,7 +1,7 @@
|
||||
import { observer } from "mobx-react";
|
||||
import * as React from "react";
|
||||
import { useHistory, useLocation } from "react-router-dom";
|
||||
import scrollIntoView from "smooth-scroll-into-view-if-needed";
|
||||
import scrollIntoView from "scroll-into-view-if-needed";
|
||||
import useQuery from "~/hooks/useQuery";
|
||||
import lazyWithRetry from "~/utils/lazyWithRetry";
|
||||
import type { Props } from "./Table";
|
||||
|
||||
@@ -12,6 +12,8 @@ type Props = {
|
||||
selectable?: boolean;
|
||||
/** The font weight of the text */
|
||||
weight?: "xbold" | "bold" | "normal";
|
||||
/** Whether the text should be italic */
|
||||
italic?: boolean;
|
||||
/** Whether the text should be truncated with an ellipsis */
|
||||
ellipsis?: boolean;
|
||||
};
|
||||
@@ -56,6 +58,8 @@ const Text = styled.span<Props>`
|
||||
: "inherit"};
|
||||
`}
|
||||
|
||||
font-style: ${(props) => (props.italic ? "italic" : "normal")};
|
||||
|
||||
white-space: normal;
|
||||
user-select: ${(props) => (props.selectable ? "text" : "none")};
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import * as React from "react";
|
||||
import scrollIntoView from "smooth-scroll-into-view-if-needed";
|
||||
import scrollIntoView from "scroll-into-view-if-needed";
|
||||
import styled, { css } from "styled-components";
|
||||
import { s, ellipsis } from "@shared/styles";
|
||||
|
||||
@@ -22,7 +22,7 @@ function LinkSearchResult({
|
||||
const ref = React.useCallback(
|
||||
(node: HTMLElement | null) => {
|
||||
if (selected && node) {
|
||||
void scrollIntoView(node, {
|
||||
scrollIntoView(node, {
|
||||
scrollMode: "if-needed",
|
||||
block: "center",
|
||||
boundary: (parent) =>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import * as React from "react";
|
||||
import scrollIntoView from "smooth-scroll-into-view-if-needed";
|
||||
import scrollIntoView from "scroll-into-view-if-needed";
|
||||
import styled from "styled-components";
|
||||
import MenuItem from "~/components/ContextMenu/MenuItem";
|
||||
import { usePortalContext } from "~/components/Portal";
|
||||
@@ -31,7 +31,7 @@ function SuggestionsMenuItem({
|
||||
const ref = React.useCallback(
|
||||
(node) => {
|
||||
if (selected && node) {
|
||||
void scrollIntoView(node, {
|
||||
scrollIntoView(node, {
|
||||
scrollMode: "if-needed",
|
||||
block: "nearest",
|
||||
boundary: (parent) =>
|
||||
|
||||
@@ -4,7 +4,7 @@ import { Node } from "prosemirror-model";
|
||||
import { Command, Plugin, PluginKey } from "prosemirror-state";
|
||||
import { Decoration, DecorationSet } from "prosemirror-view";
|
||||
import * as React from "react";
|
||||
import scrollIntoView from "smooth-scroll-into-view-if-needed";
|
||||
import scrollIntoView from "scroll-into-view-if-needed";
|
||||
import Extension, { WidgetProps } from "@shared/editor/lib/Extension";
|
||||
import FindAndReplace from "../components/FindAndReplace";
|
||||
|
||||
@@ -184,7 +184,7 @@ export default class FindAndReplaceExtension extends Extension {
|
||||
`.${this.options.resultCurrentClassName}`
|
||||
);
|
||||
if (element) {
|
||||
void scrollIntoView(element, {
|
||||
scrollIntoView(element, {
|
||||
scrollMode: "if-needed",
|
||||
block: "center",
|
||||
});
|
||||
|
||||
@@ -3,7 +3,7 @@ import { getCookie, removeCookie, setCookie } from "tiny-cookie";
|
||||
import usePersistedState from "~/hooks/usePersistedState";
|
||||
import Logger from "~/utils/Logger";
|
||||
import history from "~/utils/history";
|
||||
import { isValidPostLoginRedirect } from "~/utils/urls";
|
||||
import { isAllowedLoginRedirect } from "~/utils/urls";
|
||||
|
||||
/**
|
||||
* Hook to set locally and return the document or collection that the user last visited. This is
|
||||
@@ -20,7 +20,9 @@ export function useLastVisitedPath(): [string, (path: string) => void] {
|
||||
|
||||
const setPathAsLastVisitedPath = React.useCallback(
|
||||
(path: string) => {
|
||||
path !== lastVisitedPath && setLastVisitedPath(path);
|
||||
if (isAllowedLoginRedirect(path) && path !== lastVisitedPath) {
|
||||
setLastVisitedPath(path);
|
||||
}
|
||||
},
|
||||
[lastVisitedPath, setLastVisitedPath]
|
||||
);
|
||||
@@ -36,7 +38,7 @@ export function useLastVisitedPath(): [string, (path: string) => void] {
|
||||
export function setPostLoginPath(path: string) {
|
||||
const key = "postLoginRedirectPath";
|
||||
|
||||
if (isValidPostLoginRedirect(path)) {
|
||||
if (isAllowedLoginRedirect(path)) {
|
||||
setCookie(key, path, { expires: 1 });
|
||||
|
||||
try {
|
||||
@@ -74,7 +76,7 @@ export function usePostLoginPath() {
|
||||
cleanup?.();
|
||||
});
|
||||
|
||||
if (isValidPostLoginRedirect(path)) {
|
||||
if (isAllowedLoginRedirect(path)) {
|
||||
return path;
|
||||
}
|
||||
}
|
||||
|
||||
+22
-58
@@ -1,5 +1,5 @@
|
||||
import invariant from "invariant";
|
||||
import { action, computed, observable, reaction, runInAction } from "mobx";
|
||||
import { action, computed, observable, runInAction } from "mobx";
|
||||
import {
|
||||
CollectionPermission,
|
||||
FileOperationFormat,
|
||||
@@ -21,43 +21,27 @@ export default class Collection extends ParanoidModel {
|
||||
|
||||
store: CollectionsStore;
|
||||
|
||||
@observable
|
||||
isSaving: boolean;
|
||||
|
||||
isFetching = false;
|
||||
|
||||
@Field
|
||||
@observable
|
||||
id: string;
|
||||
|
||||
/**
|
||||
* The name of the collection.
|
||||
*/
|
||||
/** The name of the collection. */
|
||||
@Field
|
||||
@observable
|
||||
name: string;
|
||||
|
||||
/** Collection description in Prosemirror format. */
|
||||
@Field
|
||||
@observable.shallow
|
||||
data: ProsemirrorData;
|
||||
|
||||
/**
|
||||
* An icon (or) emoji to use as the collection icon.
|
||||
*/
|
||||
/** An icon (or) emoji to use as the collection icon. */
|
||||
@Field
|
||||
@observable
|
||||
icon: string;
|
||||
|
||||
/**
|
||||
* The color to use for the collection icon and other highlights.
|
||||
*/
|
||||
/** The color to use for the collection icon and other highlights. */
|
||||
@Field
|
||||
@observable
|
||||
color?: string | null;
|
||||
|
||||
/**
|
||||
* The default permission for workspace users.
|
||||
*/
|
||||
/** The default permission for workspace users. */
|
||||
@Field
|
||||
@observable
|
||||
permission?: CollectionPermission;
|
||||
@@ -70,16 +54,12 @@ export default class Collection extends ParanoidModel {
|
||||
@observable
|
||||
sharing: boolean;
|
||||
|
||||
/**
|
||||
* The sort index for the collection.
|
||||
*/
|
||||
/** The sort index for the collection. */
|
||||
@Field
|
||||
@observable
|
||||
index: string;
|
||||
|
||||
/**
|
||||
* The sort field and direction for documents in the collection.
|
||||
*/
|
||||
/** The sort field and direction for documents in the collection. */
|
||||
@Field
|
||||
@observable
|
||||
sort: {
|
||||
@@ -87,33 +67,19 @@ export default class Collection extends ParanoidModel {
|
||||
direction: "asc" | "desc";
|
||||
};
|
||||
|
||||
/** The child documents of the collection. */
|
||||
@observable
|
||||
documents?: NavigationNode[];
|
||||
|
||||
/**
|
||||
* @deprecated Use path instead.
|
||||
*/
|
||||
/** @deprecated Use path instead. */
|
||||
@observable
|
||||
url: string;
|
||||
|
||||
/** The ID that appears in the collection slug. */
|
||||
@observable
|
||||
urlId: string;
|
||||
|
||||
constructor(fields: Partial<Collection>, store: CollectionsStore) {
|
||||
super(fields, store);
|
||||
|
||||
const resetDocumentPolicies = () => {
|
||||
this.store.rootStore.documents
|
||||
.inCollection(this.id)
|
||||
.forEach((document) => {
|
||||
this.store.rootStore.policies.remove(document.id);
|
||||
});
|
||||
};
|
||||
|
||||
reaction(() => this.permission, resetDocumentPolicies);
|
||||
reaction(() => this.sharing, resetDocumentPolicies);
|
||||
}
|
||||
|
||||
/** Returns whether the collection is empty, or undefined if not loaded. */
|
||||
@computed
|
||||
get isEmpty(): boolean | undefined {
|
||||
if (!this.documents) {
|
||||
@@ -137,11 +103,7 @@ export default class Collection extends ParanoidModel {
|
||||
return !this.permission;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check whether this collection has a description.
|
||||
*
|
||||
* @returns boolean
|
||||
*/
|
||||
/** Returns whether the collection description is not empty. */
|
||||
@computed
|
||||
get hasDescription(): boolean {
|
||||
return this.data ? !ProsemirrorHelper.isEmptyData(this.data) : false;
|
||||
@@ -167,11 +129,7 @@ export default class Collection extends ParanoidModel {
|
||||
return sortNavigationNodes(this.documents, this.sort);
|
||||
}
|
||||
|
||||
/**
|
||||
* The initial letter of the collection name.
|
||||
*
|
||||
* @returns string
|
||||
*/
|
||||
/** The initial letter of the collection name as a string. */
|
||||
@computed
|
||||
get initial() {
|
||||
return (this.name ? this.name[0] : "?").toUpperCase();
|
||||
@@ -277,7 +235,7 @@ export default class Collection extends ParanoidModel {
|
||||
this.index = index;
|
||||
}
|
||||
|
||||
getDocumentChildren(documentId: string) {
|
||||
getChildrenForDocument(documentId: string) {
|
||||
let result: NavigationNode[] = [];
|
||||
|
||||
const travelNodes = (nodes: NavigationNode[]) => {
|
||||
@@ -356,7 +314,11 @@ export default class Collection extends ParanoidModel {
|
||||
model: Collection,
|
||||
previousAttributes: Partial<Collection>
|
||||
) {
|
||||
if (previousAttributes && model.sharing !== previousAttributes?.sharing) {
|
||||
if (
|
||||
previousAttributes &&
|
||||
(model.sharing !== previousAttributes?.sharing ||
|
||||
model.permission !== previousAttributes?.permission)
|
||||
) {
|
||||
const { documents, policies } = model.store.rootStore;
|
||||
|
||||
documents.inCollection(model.id).forEach((document) => {
|
||||
@@ -364,4 +326,6 @@ export default class Collection extends ParanoidModel {
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private isFetching = false;
|
||||
}
|
||||
|
||||
@@ -1,81 +1,47 @@
|
||||
import { observer } from "mobx-react";
|
||||
import { NewDocumentIcon } from "outline-icons";
|
||||
import * as React from "react";
|
||||
import { Trans, useTranslation } from "react-i18next";
|
||||
import { Link } from "react-router-dom";
|
||||
import { Trans } from "react-i18next";
|
||||
import styled from "styled-components";
|
||||
import Collection from "~/models/Collection";
|
||||
import Button from "~/components/Button";
|
||||
import Fade from "~/components/Fade";
|
||||
import Flex from "~/components/Flex";
|
||||
import Text from "~/components/Text";
|
||||
import { editCollectionPermissions } from "~/actions/definitions/collections";
|
||||
import useActionContext from "~/hooks/useActionContext";
|
||||
import usePolicy from "~/hooks/usePolicy";
|
||||
import { Feature, FeatureFlags } from "~/utils/FeatureFlags";
|
||||
import { newDocumentPath } from "~/utils/routeHelpers";
|
||||
|
||||
type Props = {
|
||||
/** The collection to display the empty state for. */
|
||||
collection: Collection;
|
||||
};
|
||||
|
||||
function EmptyCollection({ collection }: Props) {
|
||||
const { t } = useTranslation();
|
||||
const can = usePolicy(collection);
|
||||
const context = useActionContext();
|
||||
const collectionName = collection ? collection.name : "";
|
||||
|
||||
return (
|
||||
<Centered column>
|
||||
<Text as="p" type="secondary">
|
||||
<Trans
|
||||
defaults="<em>{{ collectionName }}</em> doesn’t contain any
|
||||
<Fade>
|
||||
<Centered column>
|
||||
<Text as="p" type="secondary">
|
||||
<Trans
|
||||
defaults="<em>{{ collectionName }}</em> doesn’t contain any
|
||||
documents yet."
|
||||
values={{
|
||||
collectionName,
|
||||
}}
|
||||
components={{
|
||||
em: <strong />,
|
||||
}}
|
||||
/>
|
||||
<br />
|
||||
{can.createDocument && (
|
||||
<Trans>Get started by creating a new one!</Trans>
|
||||
)}
|
||||
</Text>
|
||||
{can.createDocument && (
|
||||
<Empty>
|
||||
<Link to={newDocumentPath(collection.id)}>
|
||||
<Button icon={<NewDocumentIcon />} neutral>
|
||||
{t("Create a document")}
|
||||
</Button>
|
||||
</Link>
|
||||
{FeatureFlags.isEnabled(Feature.newCollectionSharing) ? null : (
|
||||
<Button
|
||||
action={editCollectionPermissions}
|
||||
context={context}
|
||||
hideOnActionDisabled
|
||||
neutral
|
||||
>
|
||||
{t("Manage permissions")}…
|
||||
</Button>
|
||||
)}
|
||||
</Empty>
|
||||
)}
|
||||
</Centered>
|
||||
values={{
|
||||
collectionName,
|
||||
}}
|
||||
components={{
|
||||
em: <strong />,
|
||||
}}
|
||||
/>
|
||||
</Text>
|
||||
</Centered>
|
||||
</Fade>
|
||||
);
|
||||
}
|
||||
|
||||
const Centered = styled(Flex)`
|
||||
text-align: center;
|
||||
margin: 40vh auto 0;
|
||||
max-width: 380px;
|
||||
transform: translateY(-50%);
|
||||
`;
|
||||
|
||||
const Empty = styled(Flex)`
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin: 10px 0;
|
||||
gap: 8px;
|
||||
margin: 0 auto;
|
||||
max-width: 380px;
|
||||
height: 50vh;
|
||||
`;
|
||||
|
||||
export default observer(EmptyCollection);
|
||||
|
||||
@@ -8,11 +8,9 @@ import { Avatar, AvatarSize } from "~/components/Avatar";
|
||||
import Facepile from "~/components/Facepile";
|
||||
import Fade from "~/components/Fade";
|
||||
import NudeButton from "~/components/NudeButton";
|
||||
import { editCollectionPermissions } from "~/actions/definitions/collections";
|
||||
import useActionContext from "~/hooks/useActionContext";
|
||||
import useMobile from "~/hooks/useMobile";
|
||||
import useStores from "~/hooks/useStores";
|
||||
import { Feature, FeatureFlags } from "~/utils/FeatureFlags";
|
||||
|
||||
type Props = {
|
||||
collection: Collection;
|
||||
@@ -71,11 +69,6 @@ const MembershipPreview = ({ collection, limit = 8 }: Props) => {
|
||||
return (
|
||||
<NudeButton
|
||||
context={context}
|
||||
action={
|
||||
FeatureFlags.isEnabled(Feature.newCollectionSharing)
|
||||
? undefined
|
||||
: editCollectionPermissions
|
||||
}
|
||||
tooltip={{
|
||||
content:
|
||||
usersCount > 0
|
||||
|
||||
+117
-139
@@ -17,7 +17,6 @@ import { colorPalette } from "@shared/utils/collections";
|
||||
import Collection from "~/models/Collection";
|
||||
import Search from "~/scenes/Search";
|
||||
import { Action } from "~/components/Actions";
|
||||
import Badge from "~/components/Badge";
|
||||
import CenteredContent from "~/components/CenteredContent";
|
||||
import CollectionDescription from "~/components/CollectionDescription";
|
||||
import Heading from "~/components/Heading";
|
||||
@@ -31,14 +30,12 @@ import PlaceholderText from "~/components/PlaceholderText";
|
||||
import Scene from "~/components/Scene";
|
||||
import Tab from "~/components/Tab";
|
||||
import Tabs from "~/components/Tabs";
|
||||
import Tooltip from "~/components/Tooltip";
|
||||
import { editCollection } from "~/actions/definitions/collections";
|
||||
import useCommandBarActions from "~/hooks/useCommandBarActions";
|
||||
import { useLastVisitedPath } from "~/hooks/useLastVisitedPath";
|
||||
import { usePinnedDocuments } from "~/hooks/usePinnedDocuments";
|
||||
import usePolicy from "~/hooks/usePolicy";
|
||||
import useStores from "~/hooks/useStores";
|
||||
import { Feature, FeatureFlags } from "~/utils/FeatureFlags";
|
||||
import { collectionPath, updateCollectionPath } from "~/utils/routeHelpers";
|
||||
import Actions from "./components/Actions";
|
||||
import DropToImport from "./components/DropToImport";
|
||||
@@ -154,8 +151,7 @@ function CollectionScene() {
|
||||
<>
|
||||
<MembershipPreview collection={collection} />
|
||||
<Action>
|
||||
{FeatureFlags.isEnabled(Feature.newCollectionSharing) &&
|
||||
can.update && <ShareButton collection={collection} />}
|
||||
{can.update && <ShareButton collection={collection} />}
|
||||
</Action>
|
||||
<Actions collection={collection} />
|
||||
</>
|
||||
@@ -167,142 +163,124 @@ function CollectionScene() {
|
||||
collectionId={collection.id}
|
||||
>
|
||||
<CenteredContent withStickyHeader>
|
||||
{collection.isEmpty ? (
|
||||
<Empty collection={collection} />
|
||||
) : (
|
||||
<>
|
||||
<CollectionHeading>
|
||||
<IconTitleWrapper>
|
||||
{can.update ? (
|
||||
<React.Suspense fallback={fallbackIcon}>
|
||||
<IconPicker
|
||||
icon={collection.icon ?? "collection"}
|
||||
color={collection.color ?? colorPalette[0]}
|
||||
initial={collection.name[0]}
|
||||
size={40}
|
||||
popoverPosition="bottom-start"
|
||||
onChange={handleIconChange}
|
||||
borderOnHover
|
||||
/>
|
||||
</React.Suspense>
|
||||
) : (
|
||||
fallbackIcon
|
||||
)}
|
||||
</IconTitleWrapper>
|
||||
{collection.name}
|
||||
{collection.isPrivate &&
|
||||
!FeatureFlags.isEnabled(Feature.newCollectionSharing) && (
|
||||
<Tooltip
|
||||
content={t(
|
||||
"This collection is only visible to those given access"
|
||||
)}
|
||||
placement="bottom"
|
||||
>
|
||||
<Badge>{t("Private")}</Badge>
|
||||
</Tooltip>
|
||||
)}
|
||||
</CollectionHeading>
|
||||
<CollectionHeading>
|
||||
<IconTitleWrapper>
|
||||
{can.update ? (
|
||||
<React.Suspense fallback={fallbackIcon}>
|
||||
<IconPicker
|
||||
icon={collection.icon ?? "collection"}
|
||||
color={collection.color ?? colorPalette[0]}
|
||||
initial={collection.name[0]}
|
||||
size={40}
|
||||
popoverPosition="bottom-start"
|
||||
onChange={handleIconChange}
|
||||
borderOnHover
|
||||
/>
|
||||
</React.Suspense>
|
||||
) : (
|
||||
fallbackIcon
|
||||
)}
|
||||
</IconTitleWrapper>
|
||||
{collection.name}
|
||||
</CollectionHeading>
|
||||
|
||||
<PinnedDocuments
|
||||
pins={pins}
|
||||
canUpdate={can.update}
|
||||
placeholderCount={count}
|
||||
/>
|
||||
<CollectionDescription collection={collection} />
|
||||
<PinnedDocuments
|
||||
pins={pins}
|
||||
canUpdate={can.update}
|
||||
placeholderCount={count}
|
||||
/>
|
||||
<CollectionDescription collection={collection} />
|
||||
|
||||
<Documents>
|
||||
<Tabs>
|
||||
<Tab to={collectionPath(collection.path)} exact>
|
||||
{t("Documents")}
|
||||
</Tab>
|
||||
<Tab to={collectionPath(collection.path, "updated")} exact>
|
||||
{t("Recently updated")}
|
||||
</Tab>
|
||||
<Tab to={collectionPath(collection.path, "published")} exact>
|
||||
{t("Recently published")}
|
||||
</Tab>
|
||||
<Tab to={collectionPath(collection.path, "old")} exact>
|
||||
{t("Least recently updated")}
|
||||
</Tab>
|
||||
<Tab
|
||||
to={collectionPath(collection.path, "alphabetical")}
|
||||
exact
|
||||
>
|
||||
{t("A–Z")}
|
||||
</Tab>
|
||||
</Tabs>
|
||||
<Switch>
|
||||
<Route path={collectionPath(collection.path, "alphabetical")}>
|
||||
<PaginatedDocumentList
|
||||
key="alphabetical"
|
||||
documents={documents.alphabeticalInCollection(
|
||||
collection.id
|
||||
)}
|
||||
fetch={documents.fetchAlphabetical}
|
||||
options={{
|
||||
collectionId: collection.id,
|
||||
}}
|
||||
/>
|
||||
</Route>
|
||||
<Route path={collectionPath(collection.path, "old")}>
|
||||
<PaginatedDocumentList
|
||||
key="old"
|
||||
documents={documents.leastRecentlyUpdatedInCollection(
|
||||
collection.id
|
||||
)}
|
||||
fetch={documents.fetchLeastRecentlyUpdated}
|
||||
options={{
|
||||
collectionId: collection.id,
|
||||
}}
|
||||
/>
|
||||
</Route>
|
||||
<Route path={collectionPath(collection.path, "recent")}>
|
||||
<Redirect
|
||||
to={collectionPath(collection.path, "published")}
|
||||
/>
|
||||
</Route>
|
||||
<Route path={collectionPath(collection.path, "published")}>
|
||||
<PaginatedDocumentList
|
||||
key="published"
|
||||
documents={documents.recentlyPublishedInCollection(
|
||||
collection.id
|
||||
)}
|
||||
fetch={documents.fetchRecentlyPublished}
|
||||
options={{
|
||||
collectionId: collection.id,
|
||||
}}
|
||||
showPublished
|
||||
/>
|
||||
</Route>
|
||||
<Route path={collectionPath(collection.path, "updated")}>
|
||||
<PaginatedDocumentList
|
||||
key="updated"
|
||||
documents={documents.recentlyUpdatedInCollection(
|
||||
collection.id
|
||||
)}
|
||||
fetch={documents.fetchRecentlyUpdated}
|
||||
options={{
|
||||
collectionId: collection.id,
|
||||
}}
|
||||
/>
|
||||
</Route>
|
||||
<Route path={collectionPath(collection.path)} exact>
|
||||
<PaginatedDocumentList
|
||||
documents={documents.rootInCollection(collection.id)}
|
||||
fetch={documents.fetchPage}
|
||||
options={{
|
||||
collectionId: collection.id,
|
||||
parentDocumentId: null,
|
||||
sort: collection.sort.field,
|
||||
direction: collection.sort.direction,
|
||||
}}
|
||||
showParentDocuments
|
||||
/>
|
||||
</Route>
|
||||
</Switch>
|
||||
</Documents>
|
||||
</>
|
||||
)}
|
||||
<Documents>
|
||||
<Tabs>
|
||||
<Tab to={collectionPath(collection.path)} exact>
|
||||
{t("Documents")}
|
||||
</Tab>
|
||||
<Tab to={collectionPath(collection.path, "updated")} exact>
|
||||
{t("Recently updated")}
|
||||
</Tab>
|
||||
<Tab to={collectionPath(collection.path, "published")} exact>
|
||||
{t("Recently published")}
|
||||
</Tab>
|
||||
<Tab to={collectionPath(collection.path, "old")} exact>
|
||||
{t("Least recently updated")}
|
||||
</Tab>
|
||||
<Tab to={collectionPath(collection.path, "alphabetical")} exact>
|
||||
{t("A–Z")}
|
||||
</Tab>
|
||||
</Tabs>
|
||||
{collection.isEmpty ? (
|
||||
<Empty collection={collection} />
|
||||
) : (
|
||||
<Switch>
|
||||
<Route path={collectionPath(collection.path, "alphabetical")}>
|
||||
<PaginatedDocumentList
|
||||
key="alphabetical"
|
||||
documents={documents.alphabeticalInCollection(
|
||||
collection.id
|
||||
)}
|
||||
fetch={documents.fetchAlphabetical}
|
||||
options={{
|
||||
collectionId: collection.id,
|
||||
}}
|
||||
/>
|
||||
</Route>
|
||||
<Route path={collectionPath(collection.path, "old")}>
|
||||
<PaginatedDocumentList
|
||||
key="old"
|
||||
documents={documents.leastRecentlyUpdatedInCollection(
|
||||
collection.id
|
||||
)}
|
||||
fetch={documents.fetchLeastRecentlyUpdated}
|
||||
options={{
|
||||
collectionId: collection.id,
|
||||
}}
|
||||
/>
|
||||
</Route>
|
||||
<Route path={collectionPath(collection.path, "recent")}>
|
||||
<Redirect to={collectionPath(collection.path, "published")} />
|
||||
</Route>
|
||||
<Route path={collectionPath(collection.path, "published")}>
|
||||
<PaginatedDocumentList
|
||||
key="published"
|
||||
documents={documents.recentlyPublishedInCollection(
|
||||
collection.id
|
||||
)}
|
||||
fetch={documents.fetchRecentlyPublished}
|
||||
options={{
|
||||
collectionId: collection.id,
|
||||
}}
|
||||
showPublished
|
||||
/>
|
||||
</Route>
|
||||
<Route path={collectionPath(collection.path, "updated")}>
|
||||
<PaginatedDocumentList
|
||||
key="updated"
|
||||
documents={documents.recentlyUpdatedInCollection(
|
||||
collection.id
|
||||
)}
|
||||
fetch={documents.fetchRecentlyUpdated}
|
||||
options={{
|
||||
collectionId: collection.id,
|
||||
}}
|
||||
/>
|
||||
</Route>
|
||||
<Route path={collectionPath(collection.path)} exact>
|
||||
<PaginatedDocumentList
|
||||
documents={documents.rootInCollection(collection.id)}
|
||||
fetch={documents.fetchPage}
|
||||
options={{
|
||||
collectionId: collection.id,
|
||||
parentDocumentId: null,
|
||||
sort: collection.sort.field,
|
||||
direction: collection.sort.direction,
|
||||
}}
|
||||
showParentDocuments
|
||||
/>
|
||||
</Route>
|
||||
</Switch>
|
||||
)}
|
||||
</Documents>
|
||||
</CenteredContent>
|
||||
</DropToImport>
|
||||
</Scene>
|
||||
|
||||
@@ -3,7 +3,7 @@ import { observer } from "mobx-react";
|
||||
import * as React from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { useHistory, useLocation } from "react-router-dom";
|
||||
import scrollIntoView from "smooth-scroll-into-view-if-needed";
|
||||
import scrollIntoView from "scroll-into-view-if-needed";
|
||||
import styled, { css } from "styled-components";
|
||||
import breakpoint from "styled-components-breakpoint";
|
||||
import { s } from "@shared/styles";
|
||||
@@ -64,6 +64,7 @@ function CommentThread({
|
||||
recessed,
|
||||
focused,
|
||||
}: Props) {
|
||||
const [focusedOnMount] = React.useState(focused);
|
||||
const { editor } = useDocumentContext();
|
||||
const { comments } = useStores();
|
||||
const topRef = React.useRef<HTMLDivElement>(null);
|
||||
@@ -103,7 +104,8 @@ function CommentThread({
|
||||
|
||||
const handleClickThread = () => {
|
||||
history.replace({
|
||||
search: location.search,
|
||||
// Clear any commentId from the URL when explicitly focusing a thread
|
||||
search: "",
|
||||
pathname: location.pathname.replace(/\/history$/, ""),
|
||||
state: { commentId: thread.id },
|
||||
});
|
||||
@@ -117,17 +119,26 @@ function CommentThread({
|
||||
|
||||
React.useEffect(() => {
|
||||
if (focused) {
|
||||
// If the thread is already visible, scroll it into view immediately,
|
||||
// otherwise wait for the sidebar to appear.
|
||||
const isThreadVisible =
|
||||
(topRef.current?.getBoundingClientRect().left ?? 0) < window.innerWidth;
|
||||
|
||||
setTimeout(
|
||||
() => {
|
||||
if (focusedOnMount) {
|
||||
setTimeout(() => {
|
||||
if (!topRef.current) {
|
||||
return;
|
||||
}
|
||||
scrollIntoView(topRef.current, {
|
||||
scrollMode: "if-needed",
|
||||
behavior: "auto",
|
||||
block: "nearest",
|
||||
boundary: (parent) =>
|
||||
// Prevents body and other parent elements from being scrolled
|
||||
parent.id !== "comments",
|
||||
});
|
||||
}, sidebarAppearDuration);
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
if (!replyRef.current) {
|
||||
return;
|
||||
}
|
||||
return scrollIntoView(replyRef.current, {
|
||||
scrollIntoView(replyRef.current, {
|
||||
scrollMode: "if-needed",
|
||||
behavior: "smooth",
|
||||
block: "center",
|
||||
@@ -135,9 +146,8 @@ function CommentThread({
|
||||
// Prevents body and other parent elements from being scrolled
|
||||
parent.id !== "comments",
|
||||
});
|
||||
},
|
||||
isThreadVisible ? 0 : sidebarAppearDuration
|
||||
);
|
||||
}, 0);
|
||||
}
|
||||
|
||||
const getCommentMarkElement = () =>
|
||||
window.document?.getElementById(`comment-${thread.id}`);
|
||||
@@ -153,7 +163,7 @@ function CommentThread({
|
||||
isMarkVisible ? 0 : sidebarAppearDuration
|
||||
);
|
||||
}
|
||||
}, [focused, thread.id]);
|
||||
}, [focused, focusedOnMount, thread.id]);
|
||||
|
||||
const [draft, onSaveDraft] = usePersistedState<ProsemirrorData | undefined>(
|
||||
`draft-${document.id}-${thread.id}`,
|
||||
|
||||
@@ -27,7 +27,7 @@ function References({ document }: Props) {
|
||||
? collections.get(document.collectionId)
|
||||
: undefined;
|
||||
const children = collection
|
||||
? collection.getDocumentChildren(document.id)
|
||||
? collection.getChildrenForDocument(document.id)
|
||||
: [];
|
||||
const showBacklinks = !!backlinks.length;
|
||||
const showChildDocuments = !!children.length;
|
||||
|
||||
@@ -31,7 +31,7 @@ function DocumentDelete({ document, onSubmit }: Props) {
|
||||
? collections.get(document.collectionId)
|
||||
: undefined;
|
||||
const nestedDocumentsCount = collection
|
||||
? collection.getDocumentChildren(document.id).length
|
||||
? collection.getChildrenForDocument(document.id).length
|
||||
: 0;
|
||||
const handleSubmit = React.useCallback(
|
||||
async (ev: React.SyntheticEvent) => {
|
||||
|
||||
@@ -367,8 +367,8 @@ export default class DocumentsStore extends Store<Document> {
|
||||
this.fetchNamedPage("starred", options);
|
||||
|
||||
@action
|
||||
fetchDrafts = (options?: PaginationParams): Promise<Document[]> =>
|
||||
this.fetchNamedPage("drafts", options);
|
||||
fetchDrafts = (options: PaginationParams = {}): Promise<Document[]> =>
|
||||
this.fetchNamedPage("drafts", { limit: 100, ...options });
|
||||
|
||||
@action
|
||||
fetchOwned = (options?: PaginationParams): Promise<Document[]> =>
|
||||
|
||||
+3
-3
@@ -47,10 +47,10 @@ export function redirectTo(url: string) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the path is a valid redirect after login
|
||||
* Check if the path is a valid path for redirect after login.
|
||||
*
|
||||
* @param path
|
||||
* @returns boolean indicating if the path is a valid redirect
|
||||
*/
|
||||
export const isValidPostLoginRedirect = (path: string) =>
|
||||
!["/", "/create", "/home", "/logout"].includes(path);
|
||||
export const isAllowedLoginRedirect = (path: string) =>
|
||||
!["/", "/create", "/home", "/logout", "/auth/"].includes(path);
|
||||
|
||||
+6
-5
@@ -17,6 +17,7 @@
|
||||
"prepare": "husky install",
|
||||
"postinstall": "yarn patch-package",
|
||||
"install-local-ssl": "node ./server/scripts/install-local-ssl.js",
|
||||
"release": "node ./server/scripts/release.js",
|
||||
"heroku-postbuild": "yarn build && yarn db:migrate",
|
||||
"db:create-migration": "sequelize migration:create",
|
||||
"db:create": "sequelize db:create",
|
||||
@@ -94,7 +95,7 @@
|
||||
"babel-plugin-styled-components": "^2.1.4",
|
||||
"babel-plugin-transform-class-properties": "^6.24.1",
|
||||
"body-scroll-lock": "^4.0.0-beta.0",
|
||||
"bull": "^4.12.2",
|
||||
"bull": "^4.16.3",
|
||||
"chalk": "^4.1.0",
|
||||
"class-validator": "^0.14.1",
|
||||
"command-score": "^0.1.2",
|
||||
@@ -183,7 +184,7 @@
|
||||
"prosemirror-state": "^1.4.3",
|
||||
"prosemirror-tables": "^1.4.0",
|
||||
"prosemirror-transform": "^1.10.0",
|
||||
"prosemirror-view": "^1.34.2",
|
||||
"prosemirror-view": "^1.34.3",
|
||||
"query-string": "^7.1.3",
|
||||
"randomstring": "1.3.0",
|
||||
"rate-limiter-flexible": "^2.4.2",
|
||||
@@ -220,7 +221,7 @@
|
||||
"sequelize-typescript": "^2.1.6",
|
||||
"slug": "^5.3.0",
|
||||
"slugify": "^1.6.6",
|
||||
"smooth-scroll-into-view-if-needed": "^1.1.33",
|
||||
"scroll-into-view-if-needed": "^3.1.0",
|
||||
"socket.io": "^4.7.5",
|
||||
"socket.io-client": "^4.7.5",
|
||||
"socket.io-redis": "^6.1.1",
|
||||
@@ -328,7 +329,7 @@
|
||||
"babel-plugin-tsconfig-paths-module-resolver": "^1.0.4",
|
||||
"browserslist-to-esbuild": "^1.2.0",
|
||||
"concurrently": "^8.2.2",
|
||||
"discord-api-types": "^0.37.87",
|
||||
"discord-api-types": "^0.37.101",
|
||||
"eslint": "^8.57.0",
|
||||
"eslint-config-prettier": "^8.10.0",
|
||||
"eslint-import-resolver-typescript": "^3.6.3",
|
||||
@@ -366,5 +367,5 @@
|
||||
"qs": "6.9.7",
|
||||
"rollup": "^4.5.1"
|
||||
},
|
||||
"version": "0.79.1"
|
||||
"version": "0.80.2-ms-debug"
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import { slugifyDomain } from "@shared/utils/domains";
|
||||
import { parseEmail } from "@shared/utils/email";
|
||||
import accountProvisioner from "@server/commands/accountProvisioner";
|
||||
import { MicrosoftGraphError } from "@server/errors";
|
||||
import Logger from "@server/logging/Logger";
|
||||
import passportMiddleware from "@server/middlewares/passport";
|
||||
import { User } from "@server/models";
|
||||
import { AuthenticationResult } from "@server/types";
|
||||
@@ -75,6 +76,18 @@ if (env.AZURE_CLIENT_ID && env.AZURE_CLIENT_SECRET) {
|
||||
);
|
||||
}
|
||||
|
||||
if (!organizationResponse.value) {
|
||||
Logger.info(
|
||||
"authentication",
|
||||
"API response missing value key",
|
||||
organizationResponse
|
||||
);
|
||||
|
||||
throw MicrosoftGraphError(
|
||||
"Unable to load organization value from Microsoft Graph API"
|
||||
);
|
||||
}
|
||||
|
||||
const organization = organizationResponse.value[0];
|
||||
|
||||
// Note: userPrincipalName is last here for backwards compatibility with
|
||||
|
||||
@@ -93,22 +93,29 @@ if (
|
||||
}
|
||||
const team = await getTeamFromContext(ctx);
|
||||
const client = getClientFromContext(ctx);
|
||||
const { domain } = parseEmail(profile.email);
|
||||
|
||||
// Only a single OIDC provider is supported – find the existing, if any.
|
||||
const authenticationProvider = team
|
||||
? await AuthenticationProvider.findOne({
|
||||
? (await AuthenticationProvider.findOne({
|
||||
where: {
|
||||
name: "oidc",
|
||||
teamId: team.id,
|
||||
providerId: domain,
|
||||
},
|
||||
})) ??
|
||||
(await AuthenticationProvider.findOne({
|
||||
where: {
|
||||
name: "oidc",
|
||||
teamId: team.id,
|
||||
},
|
||||
})
|
||||
}))
|
||||
: undefined;
|
||||
|
||||
// Derive a providerId from the OIDC location if there is no existing provider.
|
||||
const oidcURL = new URL(env.OIDC_AUTH_URI!);
|
||||
const providerId =
|
||||
authenticationProvider?.providerId ?? oidcURL.hostname;
|
||||
const { domain } = parseEmail(profile.email);
|
||||
|
||||
if (!domain) {
|
||||
throw OIDCMalformedUserInfoError();
|
||||
|
||||
@@ -111,16 +111,14 @@ export default class PersistenceExtension implements Extension {
|
||||
return;
|
||||
}
|
||||
|
||||
const collaboratorIds = Array.from(documentCollaboratorIds.values());
|
||||
const sessionCollaboratorIds = Array.from(documentCollaboratorIds.values());
|
||||
this.documentCollaboratorIds.delete(documentName);
|
||||
|
||||
try {
|
||||
await documentCollaborativeUpdater({
|
||||
documentId,
|
||||
ydoc: document,
|
||||
// TODO: Right now we're attributing all changes to the last editor,
|
||||
// It would be nice in the future to have multiple editors per revision.
|
||||
userId: collaboratorIds.pop(),
|
||||
sessionCollaboratorIds,
|
||||
isLastConnection: clientsCount === 0,
|
||||
});
|
||||
} catch (err) {
|
||||
|
||||
@@ -10,20 +10,20 @@ import { Document, Event } from "@server/models";
|
||||
import { sequelize } from "@server/storage/database";
|
||||
|
||||
type Props = {
|
||||
/** The document ID to update */
|
||||
/** The document ID to update. */
|
||||
documentId: string;
|
||||
/** Current collaobrative state */
|
||||
/** Current collaobrative state. */
|
||||
ydoc: Y.Doc;
|
||||
/** The user ID that is performing the update, if known */
|
||||
userId?: string;
|
||||
/** Whether the last connection to the document left */
|
||||
/** The user IDs that have modified the document since it was last persisted. */
|
||||
sessionCollaboratorIds: string[];
|
||||
/** Whether the last connection to the document left. */
|
||||
isLastConnection: boolean;
|
||||
};
|
||||
|
||||
export default async function documentCollaborativeUpdater({
|
||||
documentId,
|
||||
ydoc,
|
||||
userId,
|
||||
sessionCollaboratorIds,
|
||||
isLastConnection,
|
||||
}: Props) {
|
||||
return sequelize.transaction(async (transaction) => {
|
||||
@@ -47,7 +47,9 @@ export default async function documentCollaborativeUpdater({
|
||||
const node = Node.fromJSON(schema, content);
|
||||
const text = serializer.serialize(node, undefined);
|
||||
const isUnchanged = isEqual(document.content, content);
|
||||
const lastModifiedById = userId ?? document.lastModifiedById;
|
||||
const lastModifiedById =
|
||||
sessionCollaboratorIds[sessionCollaboratorIds.length - 1] ??
|
||||
document.lastModifiedById;
|
||||
|
||||
if (isUnchanged) {
|
||||
return;
|
||||
@@ -61,7 +63,11 @@ export default async function documentCollaborativeUpdater({
|
||||
// extract collaborators from doc user data
|
||||
const pud = new Y.PermanentUserData(ydoc);
|
||||
const pudIds = Array.from(pud.clients.values());
|
||||
const collaboratorIds = uniq([...document.collaboratorIds, ...pudIds]);
|
||||
const collaboratorIds = uniq([
|
||||
...document.collaboratorIds,
|
||||
...sessionCollaboratorIds,
|
||||
...pudIds,
|
||||
]);
|
||||
|
||||
await document.update(
|
||||
{
|
||||
|
||||
@@ -48,4 +48,37 @@ describe("documentUpdater", () => {
|
||||
|
||||
expect(document.lastModifiedById).not.toEqual(user.id);
|
||||
});
|
||||
|
||||
it("should update document content when changing text", async () => {
|
||||
const user = await buildUser();
|
||||
let document = await buildDocument({
|
||||
teamId: user.teamId,
|
||||
});
|
||||
|
||||
document = await sequelize.transaction(async (transaction) =>
|
||||
documentUpdater({
|
||||
text: "Changed",
|
||||
document,
|
||||
user,
|
||||
ip,
|
||||
transaction,
|
||||
})
|
||||
);
|
||||
|
||||
expect(document.text).toEqual("Changed");
|
||||
expect(document.content).toEqual({
|
||||
type: "doc",
|
||||
content: [
|
||||
{
|
||||
type: "paragraph",
|
||||
content: [
|
||||
{
|
||||
type: "text",
|
||||
text: "Changed",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -233,7 +233,7 @@ class Logger {
|
||||
}
|
||||
|
||||
if (isArray(input)) {
|
||||
return input.map(this.sanitize) as any as T;
|
||||
return input.map((item) => this.sanitize(item, level + 1)) as any as T;
|
||||
}
|
||||
|
||||
if (isObject(input)) {
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import {
|
||||
updateYFragment,
|
||||
yDocToProsemirror,
|
||||
yDocToProsemirrorJSON,
|
||||
} from "@getoutline/y-prosemirror";
|
||||
import { JSDOM } from "jsdom";
|
||||
@@ -442,6 +441,7 @@ export class DocumentHelper {
|
||||
) {
|
||||
document.text = append ? document.text + text : text;
|
||||
const doc = parser.parse(document.text);
|
||||
document.content = doc.toJSON();
|
||||
|
||||
if (document.state) {
|
||||
const ydoc = new Y.Doc();
|
||||
@@ -456,13 +456,9 @@ export class DocumentHelper {
|
||||
updateYFragment(type.doc, type, doc, new Map());
|
||||
|
||||
const state = Y.encodeStateAsUpdate(ydoc);
|
||||
const node = yDocToProsemirror(schema, ydoc);
|
||||
|
||||
document.content = node.toJSON();
|
||||
document.state = Buffer.from(state);
|
||||
document.changed("state", true);
|
||||
} else if (doc) {
|
||||
document.content = doc.toJSON();
|
||||
}
|
||||
|
||||
return document;
|
||||
|
||||
@@ -171,7 +171,7 @@ export default class ImportMarkdownZipTask extends ImportTask {
|
||||
document.text = document.text
|
||||
.replace(new RegExp(escapeRegExp(encodedPath), "g"), reference)
|
||||
.replace(
|
||||
new RegExp(`/?${escapeRegExp(normalizedAttachmentPath)}`, "g"),
|
||||
new RegExp(`\.?/?${escapeRegExp(normalizedAttachmentPath)}`, "g"),
|
||||
reference
|
||||
);
|
||||
}
|
||||
|
||||
@@ -580,7 +580,7 @@ router.post(
|
||||
|
||||
router.post(
|
||||
"collections.export",
|
||||
rateLimiter(RateLimiterStrategy.TenPerHour),
|
||||
rateLimiter(RateLimiterStrategy.FiftyPerHour),
|
||||
auth(),
|
||||
validate(T.CollectionsExportSchema),
|
||||
transaction(),
|
||||
|
||||
@@ -2066,6 +2066,101 @@ describe("#documents.templatize", () => {
|
||||
});
|
||||
|
||||
describe("#documents.archived", () => {
|
||||
it("should succeed with 200 ok if sort parameter in request is set to index", async () => {
|
||||
const user = await buildUser();
|
||||
const document = await buildDocument({
|
||||
userId: user.id,
|
||||
teamId: user.teamId,
|
||||
});
|
||||
await document.archive(user);
|
||||
const res = await server.post("/api/documents.archived", {
|
||||
body: {
|
||||
token: user.getJwtToken(),
|
||||
sort: "index",
|
||||
},
|
||||
});
|
||||
const body = await res.json();
|
||||
expect(res.status).toEqual(200);
|
||||
expect(body.data).toHaveLength(1);
|
||||
expect(body.data[0].id).toEqual(document.id);
|
||||
expect(body.data[0].archivedAt).toBeTruthy();
|
||||
});
|
||||
|
||||
it("should return archived documents in a given collection", async () => {
|
||||
const user = await buildUser();
|
||||
const [firstCollection, secondCollection] = await Promise.all([
|
||||
buildCollection({ teamId: user.teamId }),
|
||||
buildCollection({ teamId: user.teamId }),
|
||||
]);
|
||||
|
||||
const [documentInFirstCollection, documentInSecondCollection] =
|
||||
await Promise.all([
|
||||
buildDocument({
|
||||
userId: user.id,
|
||||
teamId: user.teamId,
|
||||
collectionId: firstCollection.id,
|
||||
}),
|
||||
buildDocument({
|
||||
userId: user.id,
|
||||
teamId: user.teamId,
|
||||
collectionId: secondCollection.id,
|
||||
}),
|
||||
]);
|
||||
|
||||
await Promise.all([
|
||||
documentInFirstCollection.archive(user),
|
||||
documentInSecondCollection.archive(user),
|
||||
]);
|
||||
|
||||
const res = await server.post("/api/documents.archived", {
|
||||
body: {
|
||||
token: user.getJwtToken(),
|
||||
collectionId: firstCollection.id,
|
||||
},
|
||||
});
|
||||
const body = await res.json();
|
||||
expect(res.status).toEqual(200);
|
||||
expect(body.data).toHaveLength(1);
|
||||
expect(body.data[0].id).toEqual(documentInFirstCollection.id);
|
||||
expect(body.data[0].archivedAt).toBeTruthy();
|
||||
});
|
||||
|
||||
it("should return archived documents in all user collections", async () => {
|
||||
const user = await buildUser();
|
||||
const [firstCollection, secondCollection] = await Promise.all([
|
||||
buildCollection({ teamId: user.teamId }),
|
||||
buildCollection({ teamId: user.teamId }),
|
||||
]);
|
||||
|
||||
const [documentInFirstCollection, documentInSecondCollection] =
|
||||
await Promise.all([
|
||||
buildDocument({
|
||||
userId: user.id,
|
||||
teamId: user.teamId,
|
||||
collectionId: firstCollection.id,
|
||||
}),
|
||||
buildDocument({
|
||||
userId: user.id,
|
||||
teamId: user.teamId,
|
||||
collectionId: secondCollection.id,
|
||||
}),
|
||||
]);
|
||||
|
||||
await Promise.all([
|
||||
documentInFirstCollection.archive(user),
|
||||
documentInSecondCollection.archive(user),
|
||||
]);
|
||||
|
||||
const res = await server.post("/api/documents.archived", {
|
||||
body: {
|
||||
token: user.getJwtToken(),
|
||||
},
|
||||
});
|
||||
const body = await res.json();
|
||||
expect(res.status).toEqual(200);
|
||||
expect(body.data).toHaveLength(2);
|
||||
});
|
||||
|
||||
it("should return archived documents", async () => {
|
||||
const user = await buildUser();
|
||||
const document = await buildDocument({
|
||||
|
||||
@@ -247,21 +247,65 @@ router.post(
|
||||
pagination(),
|
||||
validate(T.DocumentsArchivedSchema),
|
||||
async (ctx: APIContext<T.DocumentsArchivedReq>) => {
|
||||
const { sort, direction } = ctx.input.body;
|
||||
const { sort, direction, collectionId } = ctx.input.body;
|
||||
|
||||
const { user } = ctx.state.auth;
|
||||
const collectionIds = await user.collectionIds();
|
||||
const documents = await Document.defaultScopeWithUser(user.id).findAll({
|
||||
where: {
|
||||
teamId: user.teamId,
|
||||
collectionId: collectionIds,
|
||||
archivedAt: {
|
||||
[Op.ne]: null,
|
||||
},
|
||||
|
||||
let where: WhereOptions<Document> = {
|
||||
teamId: user.teamId,
|
||||
archivedAt: {
|
||||
[Op.ne]: null,
|
||||
},
|
||||
order: [[sort, direction]],
|
||||
};
|
||||
|
||||
let documentIds: string[] = [];
|
||||
|
||||
// if a specific collection is passed then we need to check auth to view it
|
||||
if (collectionId) {
|
||||
where = { ...where, collectionId };
|
||||
const collection = await Collection.scope({
|
||||
method: ["withMembership", user.id],
|
||||
}).findByPk(collectionId);
|
||||
authorize(user, "readDocument", collection);
|
||||
|
||||
// index sort is special because it uses the order of the documents in the
|
||||
// collection.documentStructure rather than a database column
|
||||
if (sort === "index") {
|
||||
documentIds = (collection?.documentStructure || [])
|
||||
.map((node) => node.id)
|
||||
.slice(ctx.state.pagination.offset, ctx.state.pagination.limit);
|
||||
where = { ...where, id: documentIds };
|
||||
} // otherwise, filter by all collections the user has access to
|
||||
} else {
|
||||
const collectionIds = await user.collectionIds();
|
||||
where = {
|
||||
...where,
|
||||
collectionId: collectionIds,
|
||||
};
|
||||
}
|
||||
|
||||
const documents = await Document.defaultScopeWithUser(user.id).findAll({
|
||||
where,
|
||||
order: [
|
||||
[
|
||||
// this needs to be done otherwise findAll will throw citing
|
||||
// that the column "document"."index" doesn't exist – value of sort
|
||||
// is required to be a column name
|
||||
sort === "index" ? "updatedAt" : sort,
|
||||
direction,
|
||||
],
|
||||
],
|
||||
offset: ctx.state.pagination.offset,
|
||||
limit: ctx.state.pagination.limit,
|
||||
});
|
||||
|
||||
if (sort === "index") {
|
||||
// sort again so as to retain the order of documents as in collection.documentStructure
|
||||
documents.sort(
|
||||
(a, b) => documentIds.indexOf(a.id) - documentIds.indexOf(b.id)
|
||||
);
|
||||
}
|
||||
|
||||
const data = await Promise.all(
|
||||
documents.map((document) => presentDocument(ctx, document))
|
||||
);
|
||||
|
||||
@@ -82,7 +82,10 @@ export const DocumentsListSchema = BaseSchema.extend({
|
||||
export type DocumentsListReq = z.infer<typeof DocumentsListSchema>;
|
||||
|
||||
export const DocumentsArchivedSchema = BaseSchema.extend({
|
||||
body: DocumentsSortParamsSchema.extend({}),
|
||||
body: DocumentsSortParamsSchema.extend({
|
||||
/** Id of the collection to which archived documents should belong */
|
||||
collectionId: z.string().uuid().optional(),
|
||||
}),
|
||||
});
|
||||
|
||||
export type DocumentsArchivedReq = z.infer<typeof DocumentsArchivedSchema>;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import invariant from "invariant";
|
||||
import Router from "koa-router";
|
||||
import { UserRole } from "@shared/types";
|
||||
import teamCreator from "@server/commands/teamCreator";
|
||||
@@ -147,11 +146,6 @@ router.post(
|
||||
})
|
||||
);
|
||||
|
||||
invariant(
|
||||
authenticationProviders?.length,
|
||||
"Team must have at least one authentication provider"
|
||||
);
|
||||
|
||||
const team = await teamCreator({
|
||||
name,
|
||||
subdomain: name,
|
||||
|
||||
@@ -84,7 +84,10 @@ export const renderApp = async (
|
||||
const page = await readIndexFile();
|
||||
const environment = `
|
||||
<script nonce="${ctx.state.cspNonce}">
|
||||
window.env = ${JSON.stringify(presentEnv(env, options))};
|
||||
window.env = ${JSON.stringify(presentEnv(env, options)).replace(
|
||||
/</g,
|
||||
"\\u003c"
|
||||
)};
|
||||
</script>
|
||||
`;
|
||||
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
/* eslint-disable @typescript-eslint/no-var-requires */
|
||||
|
||||
const { execSync } = require("child_process");
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
const { exit } = require("process");
|
||||
const { addYears } = require("date-fns/addYears");
|
||||
|
||||
const input = process.argv.slice(2);
|
||||
|
||||
if (input.length === 0) {
|
||||
console.log("Usage: yarn release (major|minor|patch|1.2.3)");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
const root = path.resolve(__dirname, "..", "..");
|
||||
const opts = {
|
||||
cwd: root,
|
||||
};
|
||||
|
||||
execSync(`npm version ${input.join(" ")} --no-git-tag-version`, opts);
|
||||
|
||||
const package = require(path.resolve(root, "package.json"));
|
||||
|
||||
const newVersion = package.version;
|
||||
const license = fs.readFileSync(path.resolve(root, "LICENSE"), "utf8", opts);
|
||||
const newDate = addYears(new Date(), 4).toISOString().split("T")[0];
|
||||
|
||||
// Update license
|
||||
const newLicense = license
|
||||
// Update version number
|
||||
.replace(
|
||||
/Licensed Work: {8}Outline (.*)/,
|
||||
`Licensed Work: Outline ${newVersion}`
|
||||
)
|
||||
// Update change date
|
||||
.replace(/Change Date: {9}(.*)/, `Change Date: ${newDate}`)
|
||||
// Update current year
|
||||
.replace(/\(c\) \d{4}/, `(c) ${new Date().getFullYear()}`);
|
||||
|
||||
fs.writeFileSync(path.resolve(root, "LICENSE"), newLicense);
|
||||
|
||||
execSync(`git add package.json`, opts);
|
||||
execSync(`git add LICENSE`, opts);
|
||||
execSync(`git commit -m "v${newVersion}"`, opts);
|
||||
execSync(`git tag v${newVersion}`, opts);
|
||||
execSync(`git push origin v${newVersion}`, opts);
|
||||
execSync(`git push origin main`, opts);
|
||||
|
||||
console.log(`Released v${newVersion} 🚀`);
|
||||
@@ -6,7 +6,7 @@
|
||||
<meta name="slack-app-id" content="{slack-app-id}" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, interactive-widget=resizes-content" />
|
||||
<meta name="color-scheme" content="light dark" />
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="mobile-web-app-capable" content="yes" />
|
||||
<meta name="description" content="{description}" />
|
||||
<meta name="darkreader-lock" />
|
||||
<link rel="manifest" href="{manifest-url}" />
|
||||
|
||||
BIN
Binary file not shown.
@@ -76,6 +76,11 @@ export const RateLimiterStrategy = {
|
||||
duration: 3600,
|
||||
requests: 100,
|
||||
},
|
||||
/** Allows fifty requests per hour, per IP address */
|
||||
FiftyPerHour: {
|
||||
duration: 3600,
|
||||
requests: 50,
|
||||
},
|
||||
/** Allows ten requests per hour, per IP address */
|
||||
TenPerHour: {
|
||||
duration: 3600,
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
import { exitCode } from "prosemirror-commands";
|
||||
import { Command, TextSelection } from "prosemirror-state";
|
||||
import { findStartOfLine } from "../queries/findStartOfLine";
|
||||
import { isInCode } from "../queries/isInCode";
|
||||
|
||||
const newline = "\n";
|
||||
const tabSize = 2;
|
||||
|
||||
/**
|
||||
* Moves the current selection to the previous newline, this is used inside
|
||||
* code fences only, prosemirror handles this functionality fine in other nodes.
|
||||
@@ -24,7 +29,7 @@ export const moveToPreviousNewline: Command = (state, dispatch) => {
|
||||
.split("")
|
||||
.reverse()
|
||||
.join("")
|
||||
.indexOf("\n", $pos.parent.nodeSize - $pos.parentOffset - 2);
|
||||
.indexOf(newline, $pos.parent.nodeSize - $pos.parentOffset - 2);
|
||||
const pos =
|
||||
startOfLine === -1
|
||||
? beginningOfNode
|
||||
@@ -55,7 +60,7 @@ export const moveToNextNewline: Command = (state, dispatch) => {
|
||||
|
||||
// find next newline or end of node
|
||||
const beginningOfNode = $pos.pos - $pos.parentOffset;
|
||||
const endOfLine = $pos.parent.textContent.indexOf("\n", $pos.parentOffset);
|
||||
const endOfLine = $pos.parent.textContent.indexOf(newline, $pos.parentOffset);
|
||||
const pos =
|
||||
endOfLine === -1
|
||||
? beginningOfNode + $pos.parent.nodeSize - 2
|
||||
@@ -81,13 +86,12 @@ export const newlineInCode: Command = (state, dispatch) => {
|
||||
}
|
||||
const { tr, selection } = state;
|
||||
const text = selection.$anchor.nodeBefore?.text;
|
||||
let newText = "\n";
|
||||
let newText = newline;
|
||||
|
||||
if (text) {
|
||||
const splitByNewLine = text.split("\n");
|
||||
const numOfSpaces =
|
||||
splitByNewLine[splitByNewLine.length - 1].search(/\S|$/);
|
||||
newText += " ".repeat(numOfSpaces);
|
||||
const splitByNewLine = text.split(newline);
|
||||
const offset = splitByNewLine[splitByNewLine.length - 1].search(/\S|$/);
|
||||
newText += " ".repeat(offset);
|
||||
}
|
||||
|
||||
dispatch?.(tr.insertText(newText, selection.from, selection.to));
|
||||
@@ -95,16 +99,141 @@ export const newlineInCode: Command = (state, dispatch) => {
|
||||
};
|
||||
|
||||
/**
|
||||
* Insert two spaces to simulate the tab key.
|
||||
* Indent the current selection by two spaces, accounting for multiple lines.
|
||||
*
|
||||
* @returns A prosemirror command
|
||||
*/
|
||||
export const insertSpaceTab: Command = (state, dispatch) => {
|
||||
if (!isInCode(state)) {
|
||||
export const indentInCode: Command = (state, dispatch) => {
|
||||
if (!isInCode(state, { onlyBlock: true })) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const spaces = " ".repeat(tabSize);
|
||||
const { tr, selection } = state;
|
||||
dispatch?.(tr.insertText(" ", selection.from, selection.to));
|
||||
return true;
|
||||
const { $from, from, to } = selection;
|
||||
|
||||
// If the selection is empty, just insert two spaces at the cursor position.
|
||||
if (selection.empty) {
|
||||
dispatch?.(
|
||||
tr
|
||||
.insertText(spaces, from)
|
||||
.setSelection(TextSelection.create(tr.doc, from + spaces.length))
|
||||
);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (dispatch) {
|
||||
let line = 1;
|
||||
tr.insertText(spaces, findStartOfLine($from, tr.doc));
|
||||
|
||||
// Find all newlines in the selection and insert spaces before them.
|
||||
let index = from + 1;
|
||||
while (index <= to - 1 + line * tabSize) {
|
||||
const newLineBefore = tr.doc.textBetween(index - 1, index) === newline;
|
||||
if (newLineBefore) {
|
||||
tr.insertText(spaces, index);
|
||||
line++;
|
||||
}
|
||||
index++;
|
||||
}
|
||||
|
||||
tr.setSelection(
|
||||
TextSelection.create(tr.doc, from + tabSize, to + line * tabSize)
|
||||
);
|
||||
|
||||
dispatch(tr);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
};
|
||||
|
||||
/**
|
||||
* Outdent the current selection by two spaces, accounting for multiple lines.
|
||||
*
|
||||
* @returns A prosemirror command
|
||||
*/
|
||||
export const outdentInCode: Command = (state, dispatch) => {
|
||||
if (!isInCode(state, { onlyBlock: true })) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (dispatch) {
|
||||
const { tr, selection } = state;
|
||||
const { $from, from, to } = selection;
|
||||
const selectionLength = to - from;
|
||||
let line = 1;
|
||||
|
||||
// Find all newlines in the selection and remove tab-sized spaces before
|
||||
// them, working backwards to avoid changing the offset.
|
||||
let index = to - 1;
|
||||
let totalSpacesRemoved = 0;
|
||||
let spacesRemovedOnFirstLine = 0;
|
||||
const startOfFirstLine = findStartOfLine($from, tr.doc);
|
||||
|
||||
while (index >= startOfFirstLine - line * tabSize) {
|
||||
const newLineBefore =
|
||||
tr.doc.textBetween(index - 1, index) === newline ||
|
||||
index === startOfFirstLine;
|
||||
if (newLineBefore) {
|
||||
// Remove upto offset spaces from the start of the line.
|
||||
const textToConsider = tr.doc.textBetween(index, index + tabSize);
|
||||
|
||||
// Find number of spaces in textToConsider
|
||||
let spaces = 0;
|
||||
for (let i = 0; i < textToConsider.length; i++) {
|
||||
if (textToConsider[i] === " ") {
|
||||
spaces++;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
spacesRemovedOnFirstLine = spaces;
|
||||
|
||||
if (spaces > 0) {
|
||||
tr.delete(index, index + spaces);
|
||||
totalSpacesRemoved += spaces;
|
||||
}
|
||||
line++;
|
||||
}
|
||||
index--;
|
||||
}
|
||||
|
||||
tr.setSelection(
|
||||
TextSelection.create(
|
||||
tr.doc,
|
||||
to - selectionLength - spacesRemovedOnFirstLine,
|
||||
to - totalSpacesRemoved
|
||||
)
|
||||
);
|
||||
|
||||
dispatch(tr);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
};
|
||||
|
||||
/**
|
||||
* Exit the code block by moving the cursor to the end of the code block and
|
||||
* inserting a newline character.
|
||||
*
|
||||
* @returns A prosemirror command
|
||||
*/
|
||||
export const enterInCode: Command = (state, dispatch) => {
|
||||
if (!isInCode(state, { onlyBlock: true })) {
|
||||
return false;
|
||||
}
|
||||
const { selection } = state;
|
||||
const text = selection.$anchor.nodeBefore?.text;
|
||||
const selectionAtEnd =
|
||||
selection.$anchor.parentOffset === selection.$anchor.parent.nodeSize - 2;
|
||||
|
||||
if (selectionAtEnd && text?.endsWith(newline)) {
|
||||
exitCode(state, dispatch);
|
||||
return true;
|
||||
}
|
||||
|
||||
return newlineInCode(state, dispatch);
|
||||
};
|
||||
|
||||
@@ -160,7 +160,7 @@ const embeds: EmbedDescriptor[] = [
|
||||
/(?:https?:\/\/)?(www\.bilibili\.com)\/video\/([\w\d]+)?(\?\S+)?/i,
|
||||
],
|
||||
transformMatch: (matches: RegExpMatchArray) =>
|
||||
`https://player.bilibili.com/player.html?bvid=${matches[2]}&page=1&high_quality=1`,
|
||||
`https://player.bilibili.com/player.html?bvid=${matches[2]}&page=1&high_quality=1&autoplay=0`,
|
||||
icon: <Img src="/images/bilibili.png" alt="Bilibili" />,
|
||||
}),
|
||||
new EmbedDescriptor({
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import copy from "copy-to-clipboard";
|
||||
import Token from "markdown-it/lib/token";
|
||||
import { exitCode } from "prosemirror-commands";
|
||||
import { textblockTypeInputRule } from "prosemirror-inputrules";
|
||||
import {
|
||||
NodeSpec,
|
||||
@@ -67,9 +66,11 @@ import { isMac } from "../../utils/browser";
|
||||
import backspaceToParagraph from "../commands/backspaceToParagraph";
|
||||
import {
|
||||
newlineInCode,
|
||||
insertSpaceTab,
|
||||
indentInCode,
|
||||
moveToNextNewline,
|
||||
moveToPreviousNewline,
|
||||
outdentInCode,
|
||||
enterInCode,
|
||||
} from "../commands/codeFence";
|
||||
import { selectAll } from "../commands/selectAll";
|
||||
import toggleBlockType from "../commands/toggleBlockType";
|
||||
@@ -245,24 +246,9 @@ export default class CodeFence extends Node {
|
||||
// Both shortcuts work, but Shift-Ctrl-c matches the one in the menu
|
||||
"Shift-Ctrl-c": toggleBlockType(type, schema.nodes.paragraph),
|
||||
"Shift-Ctrl-\\": toggleBlockType(type, schema.nodes.paragraph),
|
||||
Tab: insertSpaceTab,
|
||||
Enter: (state, dispatch) => {
|
||||
if (!isInCode(state)) {
|
||||
return false;
|
||||
}
|
||||
const { selection } = state;
|
||||
const text = selection.$anchor.nodeBefore?.text;
|
||||
const selectionAtEnd =
|
||||
selection.$anchor.parentOffset ===
|
||||
selection.$anchor.parent.nodeSize - 2;
|
||||
|
||||
if (selectionAtEnd && text?.endsWith("\n")) {
|
||||
exitCode(state, dispatch);
|
||||
return true;
|
||||
}
|
||||
|
||||
return newlineInCode(state, dispatch);
|
||||
},
|
||||
"Shift-Tab": outdentInCode,
|
||||
Tab: indentInCode,
|
||||
Enter: enterInCode,
|
||||
Backspace: backspaceToParagraph(type),
|
||||
"Shift-Enter": newlineInCode,
|
||||
"Mod-a": selectAll(type),
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
import { Node, ResolvedPos } from "prosemirror-model";
|
||||
|
||||
/**
|
||||
* Find the start of the line that the current position is on.
|
||||
*
|
||||
* @param $pos The current resolved position
|
||||
* @param doc The current document
|
||||
* @returns The position of the start of the line as an integer.
|
||||
*/
|
||||
export function findStartOfLine($pos: ResolvedPos, doc: Node) {
|
||||
let lineStart = $pos.pos;
|
||||
const parentStart = $pos.pos - $pos.parentOffset;
|
||||
|
||||
while (
|
||||
lineStart > parentStart &&
|
||||
doc.textBetween(lineStart - 1, lineStart) !== "\n"
|
||||
) {
|
||||
lineStart--;
|
||||
}
|
||||
|
||||
return lineStart;
|
||||
}
|
||||
@@ -72,7 +72,10 @@
|
||||
"Move to collection": "Přesunout do sbírky",
|
||||
"Move {{ documentType }}": "Přesunout {{ documentType }}",
|
||||
"Archive": "Archiv",
|
||||
"Are you sure you want to archive this document?": "Are you sure you want to archive this document?",
|
||||
"Document archived": "Dokument archivován",
|
||||
"Archiving": "Probíhá archivace",
|
||||
"Archiving this document will remove it from the collection and search results.": "Archiving this document will remove it from the collection and search results.",
|
||||
"Delete {{ documentName }}": "Odstranit {{ documentName }}",
|
||||
"Permanently delete": "Trvale odstranit",
|
||||
"Permanently delete {{ documentName }}": "Trvale odstranit {{ documentName }}",
|
||||
@@ -237,6 +240,8 @@
|
||||
"You will receive an email when it's complete.": "Po dokončení obdržíte e-mail.",
|
||||
"Include attachments": "Zahrnout přílohy",
|
||||
"Including uploaded images and files in the exported data": "Zahrnout nahrané obrázky a soubory do exportovaných dat",
|
||||
"Filter": "Filtr",
|
||||
"No results": "Žádné výsledky",
|
||||
"{{ count }} member": "{{ count }} člen",
|
||||
"{{ count }} member_plural": "{{ count }} členů",
|
||||
"Group members": "Členové skupiny",
|
||||
@@ -332,9 +337,9 @@
|
||||
"Move document": "Přesunout dokument",
|
||||
"New doc": "Nový dokument",
|
||||
"You can't reorder documents in an alphabetically sorted collection": "Nemůžete změnit pořadí dokumentů v abecedně seřazené sbírce",
|
||||
"Empty": "Prázdné",
|
||||
"Collections": "Sbírky",
|
||||
"Document not supported – try Markdown, Plain text, HTML, or Word": "Dokument není podporován – zkuste Markdown, Plain text, HTML nebo Word",
|
||||
"Empty": "Prázdné",
|
||||
"Go back": "Jít zpět",
|
||||
"Go forward": "Jít vpřed",
|
||||
"Could not load shared documents": "Sdílené dokumenty nelze načíst",
|
||||
@@ -349,7 +354,6 @@
|
||||
"Installation": "Instalace",
|
||||
"Unstar document": "Odznačit dokument",
|
||||
"Star document": "Označit dokument",
|
||||
"No results": "Žádné výsledky",
|
||||
"Previous page": "Předchozí stránka",
|
||||
"Next page": "Další stránka",
|
||||
"Template created, go ahead and customize it": "Šablona vytvořena, pokračujte a přizpůsobte ji",
|
||||
@@ -377,6 +381,7 @@
|
||||
"Replacement": "Náhrada",
|
||||
"Replace": "Nahradit",
|
||||
"Replace all": "Nahradit vše",
|
||||
"{{ userName }} won't by notified as they do not have access to this document": "{{ userName }} won't by notified as they do not have access to this document",
|
||||
"Profile picture": "Profilový obrázek",
|
||||
"Add column after": "Přidat sloupec za",
|
||||
"Add column before": "Přidat sloupec před",
|
||||
@@ -536,9 +541,6 @@
|
||||
"Collection menu": "Nabídka sbírek",
|
||||
"Drop documents to import": "Přetáhněte dokumenty k importu",
|
||||
"<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.": "<em>{{ collectionName }}</em> zatím neobsahuje žádné dokumenty.",
|
||||
"Get started by creating a new one!": "Začněte vytvořením nového!",
|
||||
"Create a document": "Vytvořte dokument",
|
||||
"Manage permissions": "Správa oprávnění",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access": "{{ usersCount }} uživatel a {{ groupsCount }} skupiny s přístupem",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access_plural": "{{ usersCount }} uživatelů a {{ groupsCount }} skupiny s přístupem",
|
||||
"{{ usersCount }} users and a group have access": "{{ usersCount }} uživatel a skupina s přístupem",
|
||||
@@ -548,8 +550,6 @@
|
||||
"{{ groupsCount }} groups with access": "{{ groupsCount }} skupina s přístupem",
|
||||
"{{ groupsCount }} groups with access_plural": "{{ groupsCount }} skupin s přístupem",
|
||||
"Share": "Sdílet",
|
||||
"This collection is only visible to those given access": "Tato sbírka je viditelná pouze pro ty, kteří mají přístup",
|
||||
"Private": "Soukromé",
|
||||
"Recently updated": "Nedávno aktualizováno",
|
||||
"Recently published": "Nedávno zveřejněné",
|
||||
"Least recently updated": "Naposledy aktualizováno",
|
||||
@@ -632,7 +632,6 @@
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.": "Jsi si tím jisti? Odstraněním dokumentu <em>{{ documentTitle }}</em> se smaže i celá jeho historie a <em>{{ any }} vnořený dokument</em>.",
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>._plural": "Jsi si tím jisti? Odstraněním dokumentu <em>{{ documentTitle }}</em> se smaže i celá jeho historie a <em>{{ any }} vnořené dokumenty</em>.",
|
||||
"If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.": "Pokud byste v budoucnu chtěli mít možnost odkazovat nebo obnovit {{noun}}, zvažte archivaci.",
|
||||
"Archiving": "Probíhá archivace",
|
||||
"Select a location to move": "Vyberte místo, kam chcete přesunout",
|
||||
"Document moved": "Dokument byl přesunut",
|
||||
"Couldn’t move the document, try again?": "Dokument nelze přesunout, chcete to zkusit znovu?",
|
||||
@@ -726,6 +725,7 @@
|
||||
"Undo": "Vrátit zpět",
|
||||
"Redo": "Opakovat",
|
||||
"Lists": "Seznamy",
|
||||
"Toggle task list item": "Toggle task list item",
|
||||
"Tab": "Tab",
|
||||
"Indent list item": "Odsadit položku seznamu",
|
||||
"Outdent list item": "Předsadit položku seznamu",
|
||||
@@ -900,7 +900,6 @@
|
||||
"Enterprise": "Podnik",
|
||||
"Recent imports": "Nedávné importy",
|
||||
"Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.": "Zde je uveden každý, kdo se přihlásil do {{appName}}. Je možné, že existuje více uživatelů, kteří mají přístup přes {{signinMethods}}, ale ještě se nepřihlásili.",
|
||||
"Filter": "Filtr",
|
||||
"Receive a notification whenever a new document is published": "Přijímat oznámení, když bude publikován nový obsah",
|
||||
"Document updated": "Dokument aktualizován",
|
||||
"Receive a notification when a document you are subscribed to is edited": "Obdržet upozornění, když je dokument, k jehož odběru jste přihlášeni, upraven",
|
||||
|
||||
@@ -72,7 +72,10 @@
|
||||
"Move to collection": "Move to collection",
|
||||
"Move {{ documentType }}": "Flyt {{ documentType }}",
|
||||
"Archive": "Arkiv",
|
||||
"Are you sure you want to archive this document?": "Are you sure you want to archive this document?",
|
||||
"Document archived": "Dokument arkiveret",
|
||||
"Archiving": "Archiving",
|
||||
"Archiving this document will remove it from the collection and search results.": "Archiving this document will remove it from the collection and search results.",
|
||||
"Delete {{ documentName }}": "Slet {{ documentName }}",
|
||||
"Permanently delete": "Slet helt",
|
||||
"Permanently delete {{ documentName }}": "Slet {{ documentName }} helt",
|
||||
@@ -237,6 +240,8 @@
|
||||
"You will receive an email when it's complete.": "Du vil modtage en e-mail, når det er færdiggjort.",
|
||||
"Include attachments": "Inkludér vedhæftede filer",
|
||||
"Including uploaded images and files in the exported data": "Inklusiv uploadede billeder og filer i de eksporterede data",
|
||||
"Filter": "Filter",
|
||||
"No results": "No results",
|
||||
"{{ count }} member": "{{ count }} medlem",
|
||||
"{{ count }} member_plural": "{{ count }} medlemmer",
|
||||
"Group members": "Gruppemedlemmer",
|
||||
@@ -332,9 +337,9 @@
|
||||
"Move document": "Flyt dokument",
|
||||
"New doc": "Nyt dokument",
|
||||
"You can't reorder documents in an alphabetically sorted collection": "Du kan ikke omarrangere dokumenter i en alfabetisk sorteret samling",
|
||||
"Empty": "Tom",
|
||||
"Collections": "Samlinger",
|
||||
"Document not supported – try Markdown, Plain text, HTML, or Word": "Dokumentet understøttes ikke – prøv Markdown, Almindelig tekst, HTML, eller Word",
|
||||
"Empty": "Tom",
|
||||
"Go back": "Gå tilbage",
|
||||
"Go forward": "Gå fremad",
|
||||
"Could not load shared documents": "Could not load shared documents",
|
||||
@@ -349,7 +354,6 @@
|
||||
"Installation": "Installation",
|
||||
"Unstar document": "Unstar document",
|
||||
"Star document": "Star document",
|
||||
"No results": "No results",
|
||||
"Previous page": "Previous page",
|
||||
"Next page": "Next page",
|
||||
"Template created, go ahead and customize it": "Skabelon oprettet. Gør med den hvad du vil",
|
||||
@@ -377,6 +381,7 @@
|
||||
"Replacement": "Replacement",
|
||||
"Replace": "Replace",
|
||||
"Replace all": "Replace all",
|
||||
"{{ userName }} won't by notified as they do not have access to this document": "{{ userName }} won't by notified as they do not have access to this document",
|
||||
"Profile picture": "Profile picture",
|
||||
"Add column after": "Add column after",
|
||||
"Add column before": "Add column before",
|
||||
@@ -536,9 +541,6 @@
|
||||
"Collection menu": "Collection menu",
|
||||
"Drop documents to import": "Drop documents to import",
|
||||
"<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.": "<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.",
|
||||
"Get started by creating a new one!": "Get started by creating a new one!",
|
||||
"Create a document": "Create a document",
|
||||
"Manage permissions": "Manage permissions",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access": "{{ usersCount }} user and {{ groupsCount }} groups with access",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access_plural": "{{ usersCount }} users and {{ groupsCount }} groups with access",
|
||||
"{{ usersCount }} users and a group have access": "{{ usersCount }} user and a group have access",
|
||||
@@ -548,8 +550,6 @@
|
||||
"{{ groupsCount }} groups with access": "{{ groupsCount }} group with access",
|
||||
"{{ groupsCount }} groups with access_plural": "{{ groupsCount }} groups with access",
|
||||
"Share": "Del",
|
||||
"This collection is only visible to those given access": "This collection is only visible to those given access",
|
||||
"Private": "Private",
|
||||
"Recently updated": "Recently updated",
|
||||
"Recently published": "Recently published",
|
||||
"Least recently updated": "Least recently updated",
|
||||
@@ -632,7 +632,6 @@
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.": "Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.",
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>._plural": "Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested documents</em>.",
|
||||
"If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.": "If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.",
|
||||
"Archiving": "Archiving",
|
||||
"Select a location to move": "Select a location to move",
|
||||
"Document moved": "Document moved",
|
||||
"Couldn’t move the document, try again?": "Couldn’t move the document, try again?",
|
||||
@@ -726,6 +725,7 @@
|
||||
"Undo": "Undo",
|
||||
"Redo": "Redo",
|
||||
"Lists": "Lists",
|
||||
"Toggle task list item": "Toggle task list item",
|
||||
"Tab": "Tab",
|
||||
"Indent list item": "Indent list item",
|
||||
"Outdent list item": "Outdent list item",
|
||||
@@ -900,7 +900,6 @@
|
||||
"Enterprise": "Enterprise",
|
||||
"Recent imports": "Recent imports",
|
||||
"Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.": "Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.",
|
||||
"Filter": "Filter",
|
||||
"Receive a notification whenever a new document is published": "Receive a notification whenever a new document is published",
|
||||
"Document updated": "Document updated",
|
||||
"Receive a notification when a document you are subscribed to is edited": "Receive a notification when a document you are subscribed to is edited",
|
||||
|
||||
@@ -72,7 +72,10 @@
|
||||
"Move to collection": "Move to collection",
|
||||
"Move {{ documentType }}": "Verschiebe {{ documentType }}",
|
||||
"Archive": "Archiv",
|
||||
"Are you sure you want to archive this document?": "Are you sure you want to archive this document?",
|
||||
"Document archived": "Dokument archiviert",
|
||||
"Archiving": "Archiviere",
|
||||
"Archiving this document will remove it from the collection and search results.": "Archiving this document will remove it from the collection and search results.",
|
||||
"Delete {{ documentName }}": "{{ documentName }} löschen",
|
||||
"Permanently delete": "Unwiderruflich löschen",
|
||||
"Permanently delete {{ documentName }}": "{{ documentName }} unwiderruflich löschen",
|
||||
@@ -237,6 +240,8 @@
|
||||
"You will receive an email when it's complete.": "Du erhältst eine E-Mail, sobald der Vorgang abgeschlossen ist.",
|
||||
"Include attachments": "Anhänge beifügen",
|
||||
"Including uploaded images and files in the exported data": "Einbeziehung hochgeladener Bilder und Dateien in die exportierten Daten",
|
||||
"Filter": "Filter",
|
||||
"No results": "Keine Ergebnisse",
|
||||
"{{ count }} member": "{{ count }} Mitglied",
|
||||
"{{ count }} member_plural": "{{ count }} Mitglieder",
|
||||
"Group members": "Gruppenmitglieder",
|
||||
@@ -332,9 +337,9 @@
|
||||
"Move document": "Dokument verschieben",
|
||||
"New doc": "Neues Dokument",
|
||||
"You can't reorder documents in an alphabetically sorted collection": "Du kannst Dokumente in einer alphabetisch sortierten Sammlung nicht neu anordnen",
|
||||
"Empty": "Leer",
|
||||
"Collections": "Sammlungen",
|
||||
"Document not supported – try Markdown, Plain text, HTML, or Word": "Dokument nicht unterstützt - versuche Markdown, Klartext, HTML oder Word",
|
||||
"Empty": "Leer",
|
||||
"Go back": "Zurück",
|
||||
"Go forward": "Vor",
|
||||
"Could not load shared documents": "Konnte geteilte Dokumente nicht laden",
|
||||
@@ -349,7 +354,6 @@
|
||||
"Installation": "Installation",
|
||||
"Unstar document": "Favorisierung entfernen",
|
||||
"Star document": "Dokument zu Favoriten hinzufügen",
|
||||
"No results": "Keine Ergebnisse",
|
||||
"Previous page": "Vorherige Seite",
|
||||
"Next page": "Nächste Seite",
|
||||
"Template created, go ahead and customize it": "Vorlage erstellt, fortfahren und anpassen",
|
||||
@@ -377,6 +381,7 @@
|
||||
"Replacement": "Ersetzung",
|
||||
"Replace": "Ersetzen",
|
||||
"Replace all": "Alle ersetzen",
|
||||
"{{ userName }} won't by notified as they do not have access to this document": "{{ userName }} won't by notified as they do not have access to this document",
|
||||
"Profile picture": "Profilbild",
|
||||
"Add column after": "Spalte dahinter hinzufügen",
|
||||
"Add column before": "Spalte davor hinzufügen",
|
||||
@@ -536,9 +541,6 @@
|
||||
"Collection menu": "Sammlungsmenü",
|
||||
"Drop documents to import": "Dokumente zum Importieren hier ablegen",
|
||||
"<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.": "<em>{{ collectionName }}</em> enthält noch keine\n Dokumente.",
|
||||
"Get started by creating a new one!": "Erstellen Sie zunächst ein neues Dokument!",
|
||||
"Create a document": "Dokument erstellen",
|
||||
"Manage permissions": "Berechtigungen verwalten",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access": "{{ usersCount }} Benutzer und {{ groupsCount }} Gruppen mit Zugriff",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access_plural": "{{ usersCount }} Benutzer und {{ groupsCount }} Gruppen mit Zugriff",
|
||||
"{{ usersCount }} users and a group have access": "{{ usersCount }} Benutzer und eine Gruppe haben Zugriff",
|
||||
@@ -548,8 +550,6 @@
|
||||
"{{ groupsCount }} groups with access": "{{ groupsCount }} Gruppe mit Zugriff",
|
||||
"{{ groupsCount }} groups with access_plural": "{{ groupsCount }} Gruppen mit Zugriff",
|
||||
"Share": "Teilen",
|
||||
"This collection is only visible to those given access": "Diese Sammlung ist nur für Nutzer sichtbar, die Zugriff erhalten haben",
|
||||
"Private": "Privat",
|
||||
"Recently updated": "Vor Kurzem aktualisiert",
|
||||
"Recently published": "Vor Kurzem veröffentlicht",
|
||||
"Least recently updated": "Am längsten nicht aktualisiert",
|
||||
@@ -632,7 +632,6 @@
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.": "Bist du sicher? Durch Löschen des Dokuments <em>{{ documentTitle }}</em> wird der gesamte Verlauf sowie <em>{{ any }} Unterdokumente</em> gelöscht.",
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>._plural": "Bist du sicher? Durch Löschen des Dokuments <em>{{ documentTitle }}</em> wird der gesamte Verlauf sowie <em>{{ any }} Unterdokumente</em> gelöscht.",
|
||||
"If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.": "Wenn du {{noun}} in Zukunft noch referenzieren oder wiederherstellen möchtest, solltest du es stattdessen archivieren.",
|
||||
"Archiving": "Archiviere",
|
||||
"Select a location to move": "Ort zum Verschieben auswählen",
|
||||
"Document moved": "Dokument verschoben",
|
||||
"Couldn’t move the document, try again?": "Das Dokument konnte nicht verschoben werden. Erneut versuchen?",
|
||||
@@ -726,6 +725,7 @@
|
||||
"Undo": "Rückgängig machen",
|
||||
"Redo": "Wiederholen",
|
||||
"Lists": "Listen",
|
||||
"Toggle task list item": "Toggle task list item",
|
||||
"Tab": "Tab",
|
||||
"Indent list item": "Listenelement einrücken",
|
||||
"Outdent list item": "Listenelement ausrücken",
|
||||
@@ -900,7 +900,6 @@
|
||||
"Enterprise": "Unternehmen",
|
||||
"Recent imports": "Neueste Importe",
|
||||
"Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.": "Jeder, der sich bei {{appName}} angemeldet hat, ist hier aufgelistet. Es ist möglich, dass es andere Benutzer gibt, die Zugriff über {{signinMethods}} haben, sich aber noch nicht angemeldet haben.",
|
||||
"Filter": "Filter",
|
||||
"Receive a notification whenever a new document is published": "Erhalten Sie eine Benachrichtigung, wenn ein neues Dokument veröffentlicht wird",
|
||||
"Document updated": "Dokument aktualisiert",
|
||||
"Receive a notification when a document you are subscribed to is edited": "Benachrichtigung erhalten, wenn ein Dokument, das Sie abonniert haben, bearbeitet wird",
|
||||
|
||||
@@ -337,9 +337,9 @@
|
||||
"Move document": "Move document",
|
||||
"New doc": "New doc",
|
||||
"You can't reorder documents in an alphabetically sorted collection": "You can't reorder documents in an alphabetically sorted collection",
|
||||
"Empty": "Empty",
|
||||
"Collections": "Collections",
|
||||
"Document not supported – try Markdown, Plain text, HTML, or Word": "Document not supported – try Markdown, Plain text, HTML, or Word",
|
||||
"Empty": "Empty",
|
||||
"Go back": "Go back",
|
||||
"Go forward": "Go forward",
|
||||
"Could not load shared documents": "Could not load shared documents",
|
||||
@@ -541,9 +541,6 @@
|
||||
"Collection menu": "Collection menu",
|
||||
"Drop documents to import": "Drop documents to import",
|
||||
"<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.": "<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.",
|
||||
"Get started by creating a new one!": "Get started by creating a new one!",
|
||||
"Create a document": "Create a document",
|
||||
"Manage permissions": "Manage permissions",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access": "{{ usersCount }} user and {{ groupsCount }} groups with access",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access_plural": "{{ usersCount }} users and {{ groupsCount }} groups with access",
|
||||
"{{ usersCount }} users and a group have access": "{{ usersCount }} user and a group have access",
|
||||
@@ -553,8 +550,6 @@
|
||||
"{{ groupsCount }} groups with access": "{{ groupsCount }} group with access",
|
||||
"{{ groupsCount }} groups with access_plural": "{{ groupsCount }} groups with access",
|
||||
"Share": "Share",
|
||||
"This collection is only visible to those given access": "This collection is only visible to those given access",
|
||||
"Private": "Private",
|
||||
"Recently updated": "Recently updated",
|
||||
"Recently published": "Recently published",
|
||||
"Least recently updated": "Least recently updated",
|
||||
|
||||
@@ -72,7 +72,10 @@
|
||||
"Move to collection": "Move to collection",
|
||||
"Move {{ documentType }}": "Mover {{ documentType }}",
|
||||
"Archive": "Archivar",
|
||||
"Are you sure you want to archive this document?": "Are you sure you want to archive this document?",
|
||||
"Document archived": "Documento archivado",
|
||||
"Archiving": "Archivando",
|
||||
"Archiving this document will remove it from the collection and search results.": "Archiving this document will remove it from the collection and search results.",
|
||||
"Delete {{ documentName }}": "Eliminar {{ documentName }}",
|
||||
"Permanently delete": "Eliminar permanentemente",
|
||||
"Permanently delete {{ documentName }}": "Eliminar permanentemente {{ documentName }}",
|
||||
@@ -237,6 +240,8 @@
|
||||
"You will receive an email when it's complete.": "Recibirás un correo electrónico cuando esté completado.",
|
||||
"Include attachments": "Incluir archivos adjuntos",
|
||||
"Including uploaded images and files in the exported data": "Incluyendo imágenes y archivos subidos en los datos exportados",
|
||||
"Filter": "Filtro",
|
||||
"No results": "No hay resultados",
|
||||
"{{ count }} member": "{{ count }} miembro",
|
||||
"{{ count }} member_plural": "{{ count }} miembros",
|
||||
"Group members": "Miembros del grupo",
|
||||
@@ -332,9 +337,9 @@
|
||||
"Move document": "Mover documento",
|
||||
"New doc": "Nuevo doc",
|
||||
"You can't reorder documents in an alphabetically sorted collection": "No puedes reordenar documentos en una colección ordenada alfabéticamente",
|
||||
"Empty": "Vacío",
|
||||
"Collections": "Colecciones",
|
||||
"Document not supported – try Markdown, Plain text, HTML, or Word": "Documento no compatible – intenta Markdown, Texto sin formato, HTML o Word",
|
||||
"Empty": "Vacío",
|
||||
"Go back": "Volver",
|
||||
"Go forward": "Avanzar",
|
||||
"Could not load shared documents": "No se pudo cargar los documentos compartidos",
|
||||
@@ -349,7 +354,6 @@
|
||||
"Installation": "Instalación",
|
||||
"Unstar document": "Eliminar documento de favoritos",
|
||||
"Star document": "Marcar documento como favorito",
|
||||
"No results": "No hay resultados",
|
||||
"Previous page": "Página anterior",
|
||||
"Next page": "Página siguiente",
|
||||
"Template created, go ahead and customize it": "Plantilla creada, procede a personalizarla",
|
||||
@@ -377,6 +381,7 @@
|
||||
"Replacement": "Reemplazo",
|
||||
"Replace": "Reemplazar",
|
||||
"Replace all": "Reemplazar todas",
|
||||
"{{ userName }} won't by notified as they do not have access to this document": "{{ userName }} won't by notified as they do not have access to this document",
|
||||
"Profile picture": "Foto de perfil",
|
||||
"Add column after": "Agregar columna después",
|
||||
"Add column before": "Agregar columna antes",
|
||||
@@ -536,9 +541,6 @@
|
||||
"Collection menu": "Menú de la colección",
|
||||
"Drop documents to import": "Arrastra los documentos para importar",
|
||||
"<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.": "<em>{{ collectionName }}</em> no contiene documentos aún.",
|
||||
"Get started by creating a new one!": "¡Empieza creando uno nuevo!",
|
||||
"Create a document": "Crear documento",
|
||||
"Manage permissions": "Administrar permisos",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access": "{{ usersCount }} usuario y {{ groupsCount }} grupos con acceso",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access_plural": "{{ usersCount }} usuarios y {{ groupsCount }} grupos con acceso",
|
||||
"{{ usersCount }} users and a group have access": "{{ usersCount }} usuario y un grupo con acceso",
|
||||
@@ -548,8 +550,6 @@
|
||||
"{{ groupsCount }} groups with access": "{{ groupsCount }} grupo con acceso",
|
||||
"{{ groupsCount }} groups with access_plural": "{{ groupsCount }} grupos con acceso",
|
||||
"Share": "Compartir",
|
||||
"This collection is only visible to those given access": "Esta colección sólo es visible a aquellos con acceso",
|
||||
"Private": "Privado",
|
||||
"Recently updated": "Actualizado recientemente",
|
||||
"Recently published": "Publicado recientemente",
|
||||
"Least recently updated": "Actualizado menos recientemente",
|
||||
@@ -632,7 +632,6 @@
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.": "¿Estás seguro? Eliminar el documento <em>{{ documentTitle }}</em> eliminará todo su historial y <em>{{ any }} documento anidado</em>.",
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>._plural": "¿Estás seguro? Eliminar el documento <em>{{ documentTitle }}</em> eliminará todo su historial y <em>{{ any }} documentos anidados</em>.",
|
||||
"If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.": "Si quieres tener la opción de referenciar o restaurar el/la {{noun}} en el futuro, considera archivarlo en lugar de eliminarlo.",
|
||||
"Archiving": "Archivando",
|
||||
"Select a location to move": "Selecciona la nueva ubicación",
|
||||
"Document moved": "Documento movido",
|
||||
"Couldn’t move the document, try again?": "No se pudo mover el documento, ¿intentar de nuevo?",
|
||||
@@ -726,6 +725,7 @@
|
||||
"Undo": "Deshacer",
|
||||
"Redo": "Rehacer",
|
||||
"Lists": "Listas",
|
||||
"Toggle task list item": "Toggle task list item",
|
||||
"Tab": "Tabulador",
|
||||
"Indent list item": "Aumentar sangría del elemento de la lista",
|
||||
"Outdent list item": "Disminuir sangría del elemento de la lista",
|
||||
@@ -900,7 +900,6 @@
|
||||
"Enterprise": "Enterprise",
|
||||
"Recent imports": "Importaciones recientes",
|
||||
"Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.": "Todos los que han iniciado sesión en {{appName}} aparecen aquí. Es posible que haya otros usuarios que tengan acceso a través de {{signinMethods}} pero que aún no hayan iniciado sesión.",
|
||||
"Filter": "Filtro",
|
||||
"Receive a notification whenever a new document is published": "Recibir notificaciones cuando se publique un nuevo documento",
|
||||
"Document updated": "Documento actualizado",
|
||||
"Receive a notification when a document you are subscribed to is edited": "Recibir una notificación cuando un documento al que estás suscrito es editado",
|
||||
|
||||
@@ -72,7 +72,10 @@
|
||||
"Move to collection": "Move to collection",
|
||||
"Move {{ documentType }}": "انتقال {{ documentType }}",
|
||||
"Archive": "آرشیو",
|
||||
"Are you sure you want to archive this document?": "Are you sure you want to archive this document?",
|
||||
"Document archived": "سند آرشیو شد",
|
||||
"Archiving": "در حال بایگانی",
|
||||
"Archiving this document will remove it from the collection and search results.": "Archiving this document will remove it from the collection and search results.",
|
||||
"Delete {{ documentName }}": "حذف {{ documentName }}",
|
||||
"Permanently delete": "حذف برای همیشه",
|
||||
"Permanently delete {{ documentName }}": "حذف همیشگی {{ documentName }}",
|
||||
@@ -237,6 +240,8 @@
|
||||
"You will receive an email when it's complete.": "You will receive an email when it's complete.",
|
||||
"Include attachments": "Include attachments",
|
||||
"Including uploaded images and files in the exported data": "Including uploaded images and files in the exported data",
|
||||
"Filter": "فیلتر",
|
||||
"No results": "بدون نتیجه",
|
||||
"{{ count }} member": "{{ count }} member",
|
||||
"{{ count }} member_plural": "{{ count }} members",
|
||||
"Group members": "اعضای گروه",
|
||||
@@ -332,9 +337,9 @@
|
||||
"Move document": "انتقال سند",
|
||||
"New doc": "سند جدید",
|
||||
"You can't reorder documents in an alphabetically sorted collection": "You can't reorder documents in an alphabetically sorted collection",
|
||||
"Empty": "خالی",
|
||||
"Collections": "مجموعهها",
|
||||
"Document not supported – try Markdown, Plain text, HTML, or Word": "نوع سند پشتیبانی نمیشود - از Markdown، متن ساده، HTML، یا Word استفاده کنید",
|
||||
"Empty": "خالی",
|
||||
"Go back": "Go back",
|
||||
"Go forward": "Go forward",
|
||||
"Could not load shared documents": "Could not load shared documents",
|
||||
@@ -349,7 +354,6 @@
|
||||
"Installation": "نسخه",
|
||||
"Unstar document": "Unstar document",
|
||||
"Star document": "Star document",
|
||||
"No results": "بدون نتیجه",
|
||||
"Previous page": "صفحه قبلی",
|
||||
"Next page": "صفحه بعدی",
|
||||
"Template created, go ahead and customize it": "الگو ایجاد شد، پیش بروید و آن را سفارشی کنید",
|
||||
@@ -377,6 +381,7 @@
|
||||
"Replacement": "Replacement",
|
||||
"Replace": "Replace",
|
||||
"Replace all": "Replace all",
|
||||
"{{ userName }} won't by notified as they do not have access to this document": "{{ userName }} won't by notified as they do not have access to this document",
|
||||
"Profile picture": "تصویر پروفایل",
|
||||
"Add column after": "Add column after",
|
||||
"Add column before": "Add column before",
|
||||
@@ -536,9 +541,6 @@
|
||||
"Collection menu": "Collection menu",
|
||||
"Drop documents to import": "اسناد را بکشید تا وارد شوند",
|
||||
"<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.": "<em>{{ collectionName }}</em> هنوز هیچ سندی ندارد.",
|
||||
"Get started by creating a new one!": "با ایجاد مورد جدید شروع کنید!",
|
||||
"Create a document": "ایجاد سند",
|
||||
"Manage permissions": "مدیریت دسترسیها",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access": "{{ usersCount }} user and {{ groupsCount }} groups with access",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access_plural": "{{ usersCount }} users and {{ groupsCount }} groups with access",
|
||||
"{{ usersCount }} users and a group have access": "{{ usersCount }} user and a group have access",
|
||||
@@ -548,8 +550,6 @@
|
||||
"{{ groupsCount }} groups with access": "{{ groupsCount }} group with access",
|
||||
"{{ groupsCount }} groups with access_plural": "{{ groupsCount }} groups with access",
|
||||
"Share": "اشتراکگذاری",
|
||||
"This collection is only visible to those given access": "این مجموعه فقط برای افراد دارای دسترسی قابل مشاهده است",
|
||||
"Private": "خصوصی",
|
||||
"Recently updated": "آخرین بهروزرسانی",
|
||||
"Recently published": "آخرین انتشار",
|
||||
"Least recently updated": "اولین بهروزرسانی",
|
||||
@@ -632,7 +632,6 @@
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.": "Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.",
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>._plural": "Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested documents</em>.",
|
||||
"If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.": "اگر میخواهید امکان بازیابی یا ارجاع به {{noun}} را در آینده داشته باشید، بهتر است آن را بایگانی نمایید.",
|
||||
"Archiving": "در حال بایگانی",
|
||||
"Select a location to move": "Select a location to move",
|
||||
"Document moved": "سند منتقل شد",
|
||||
"Couldn’t move the document, try again?": "Couldn’t move the document, try again?",
|
||||
@@ -726,6 +725,7 @@
|
||||
"Undo": "واگرد",
|
||||
"Redo": "از نو",
|
||||
"Lists": "فهرستها",
|
||||
"Toggle task list item": "Toggle task list item",
|
||||
"Tab": "Tab",
|
||||
"Indent list item": "توبردن مورد فهرست",
|
||||
"Outdent list item": "بیرون آوردن مورد فهرست",
|
||||
@@ -900,7 +900,6 @@
|
||||
"Enterprise": "Enterprise",
|
||||
"Recent imports": "وارد شدههای اخیر",
|
||||
"Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.": "Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.",
|
||||
"Filter": "فیلتر",
|
||||
"Receive a notification whenever a new document is published": "هر زمان سند جدیدی منتشر شد، اعلانی دریافت کنید",
|
||||
"Document updated": "بهروزرسانی سند",
|
||||
"Receive a notification when a document you are subscribed to is edited": "Receive a notification when a document you are subscribed to is edited",
|
||||
|
||||
@@ -72,7 +72,10 @@
|
||||
"Move to collection": "Déplacer vers la collection",
|
||||
"Move {{ documentType }}": "Déplacer {{ documentType }}",
|
||||
"Archive": "Archives",
|
||||
"Are you sure you want to archive this document?": "Are you sure you want to archive this document?",
|
||||
"Document archived": "Document archivé",
|
||||
"Archiving": "Archivage en cours",
|
||||
"Archiving this document will remove it from the collection and search results.": "Archiving this document will remove it from the collection and search results.",
|
||||
"Delete {{ documentName }}": "Supprimer {{ documentName }}",
|
||||
"Permanently delete": "Supprimer définitivement",
|
||||
"Permanently delete {{ documentName }}": "Supprimer définitivement {{ documentName }}",
|
||||
@@ -237,6 +240,8 @@
|
||||
"You will receive an email when it's complete.": "Vous recevrez un email lorsque cela sera terminé.",
|
||||
"Include attachments": "Inclure les pièces jointes",
|
||||
"Including uploaded images and files in the exported data": "Inclure les images et fichiers transférés dans les données exportées",
|
||||
"Filter": "Filtre",
|
||||
"No results": "Aucun résultat",
|
||||
"{{ count }} member": "{{ count }} membre",
|
||||
"{{ count }} member_plural": "{{ count }} membres",
|
||||
"Group members": "Membres du groupe",
|
||||
@@ -332,9 +337,9 @@
|
||||
"Move document": "Déplacer le document",
|
||||
"New doc": "Nouveau doc",
|
||||
"You can't reorder documents in an alphabetically sorted collection": "Vous ne pouvez pas réorganiser les documents dans une collection triée par ordre alphabétique",
|
||||
"Empty": "Vide",
|
||||
"Collections": "Collections",
|
||||
"Document not supported – try Markdown, Plain text, HTML, or Word": "Document non pris en charge - essayez un format Markdown, Text, HTML ou Word",
|
||||
"Empty": "Vide",
|
||||
"Go back": "Revenir en arrière",
|
||||
"Go forward": "Continuer",
|
||||
"Could not load shared documents": "Impossible de charger les documents partagés",
|
||||
@@ -349,7 +354,6 @@
|
||||
"Installation": "Installation",
|
||||
"Unstar document": "Retirer le document des favoris",
|
||||
"Star document": "Mettre en favoris le document",
|
||||
"No results": "Aucun résultat",
|
||||
"Previous page": "Page précédente",
|
||||
"Next page": "Page suivante",
|
||||
"Template created, go ahead and customize it": "Le modèle a été créé, vous pouvez maintenant le personnaliser",
|
||||
@@ -377,6 +381,7 @@
|
||||
"Replacement": "Remplacement",
|
||||
"Replace": "Remplacer",
|
||||
"Replace all": "Tout remplacer",
|
||||
"{{ userName }} won't by notified as they do not have access to this document": "{{ userName }} won't by notified as they do not have access to this document",
|
||||
"Profile picture": "Photo de profil",
|
||||
"Add column after": "Ajouter une colonne après",
|
||||
"Add column before": "Ajouter une colonne avant",
|
||||
@@ -536,9 +541,6 @@
|
||||
"Collection menu": "Menu de la collection",
|
||||
"Drop documents to import": "Déposer les documents à importer",
|
||||
"<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.": "<em>{{ collectionName }}</em> ne contient aucun document.",
|
||||
"Get started by creating a new one!": "Commencez par en créer un nouveau !",
|
||||
"Create a document": "Créer un document",
|
||||
"Manage permissions": "Gérer les permissions",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access": "{{ usersCount }} utilisateur et {{ groupsCount }} groupes ont accès",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access_plural": "{{ usersCount }} utilisateurs et {{ groupsCount }} groupes ont accès",
|
||||
"{{ usersCount }} users and a group have access": "{{ usersCount }} utilisateur et un groupe ont accès",
|
||||
@@ -548,8 +550,6 @@
|
||||
"{{ groupsCount }} groups with access": "{{ groupsCount }} groupe a accès",
|
||||
"{{ groupsCount }} groups with access_plural": "{{ groupsCount }} groupes ont accès",
|
||||
"Share": "Partager",
|
||||
"This collection is only visible to those given access": "Cette collection n'est visible que par ceux qui ont accès",
|
||||
"Private": "Privé",
|
||||
"Recently updated": "Récemment mis à jour",
|
||||
"Recently published": "Récemment publiés",
|
||||
"Least recently updated": "Anciennement modifiés",
|
||||
@@ -632,7 +632,6 @@
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.": "Êtes-vous sûr ? Supprimer le document <em>{{ documentTitle }}</em> effacera tout son historique et <em>{{ any }} documents imbriqués</em>.",
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>._plural": "Êtes-vous sûr ? La suppression de <em>{{ documentTitle }}</em> supprimera tout son historique et <em>{{ any }} documents imbriqués</em>.",
|
||||
"If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.": "Si vous souhaitez avoir la possibilité de référencer ou de restaurer le {{noun}} à l'avenir, envisagez plutôt de l'archiver.",
|
||||
"Archiving": "Archivage en cours",
|
||||
"Select a location to move": "Sélectionnez un emplacement où déplacer",
|
||||
"Document moved": "Document déplacé",
|
||||
"Couldn’t move the document, try again?": "Impossible de déplacer le document, réessayer ?",
|
||||
@@ -726,6 +725,7 @@
|
||||
"Undo": "Annuler",
|
||||
"Redo": "Rétablir",
|
||||
"Lists": "Listes",
|
||||
"Toggle task list item": "Toggle task list item",
|
||||
"Tab": "Tabulation",
|
||||
"Indent list item": "Indenter l'élément de la liste",
|
||||
"Outdent list item": "Désindenter la liste",
|
||||
@@ -900,7 +900,6 @@
|
||||
"Enterprise": "Entreprise",
|
||||
"Recent imports": "Importé récemment",
|
||||
"Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.": "Toutes les personnes qui se sont connectées à {{appName}} s'affichent ici. Il est possible que d'autres utilisateurs aient accès via {{signinMethods}} mais ne se soient pas encore connectés.",
|
||||
"Filter": "Filtre",
|
||||
"Receive a notification whenever a new document is published": "Recevez une notification chaque fois qu'un nouveau document est publié",
|
||||
"Document updated": "Document mis à jour",
|
||||
"Receive a notification when a document you are subscribed to is edited": "Recevez une notification lorsqu'un document auquel vous êtes abonné est modifié",
|
||||
|
||||
@@ -72,7 +72,10 @@
|
||||
"Move to collection": "העבר לאוסף",
|
||||
"Move {{ documentType }}": "העבר {{ documentType }}",
|
||||
"Archive": "ארכיון",
|
||||
"Are you sure you want to archive this document?": "Are you sure you want to archive this document?",
|
||||
"Document archived": "המסמך הועבר לארכיון",
|
||||
"Archiving": "Archiving",
|
||||
"Archiving this document will remove it from the collection and search results.": "Archiving this document will remove it from the collection and search results.",
|
||||
"Delete {{ documentName }}": "מחק {{ documentName }}",
|
||||
"Permanently delete": "מחק לצמיתות",
|
||||
"Permanently delete {{ documentName }}": "מחק לצמיתות {{ documentName }}",
|
||||
@@ -237,6 +240,8 @@
|
||||
"You will receive an email when it's complete.": "You will receive an email when it's complete.",
|
||||
"Include attachments": "Include attachments",
|
||||
"Including uploaded images and files in the exported data": "Including uploaded images and files in the exported data",
|
||||
"Filter": "Filter",
|
||||
"No results": "No results",
|
||||
"{{ count }} member": "{{ count }} member",
|
||||
"{{ count }} member_plural": "{{ count }} members",
|
||||
"Group members": "Group members",
|
||||
@@ -332,9 +337,9 @@
|
||||
"Move document": "Move document",
|
||||
"New doc": "New doc",
|
||||
"You can't reorder documents in an alphabetically sorted collection": "You can't reorder documents in an alphabetically sorted collection",
|
||||
"Empty": "Empty",
|
||||
"Collections": "Collections",
|
||||
"Document not supported – try Markdown, Plain text, HTML, or Word": "Document not supported – try Markdown, Plain text, HTML, or Word",
|
||||
"Empty": "Empty",
|
||||
"Go back": "Go back",
|
||||
"Go forward": "Go forward",
|
||||
"Could not load shared documents": "Could not load shared documents",
|
||||
@@ -349,7 +354,6 @@
|
||||
"Installation": "Installation",
|
||||
"Unstar document": "Unstar document",
|
||||
"Star document": "Star document",
|
||||
"No results": "No results",
|
||||
"Previous page": "Previous page",
|
||||
"Next page": "Next page",
|
||||
"Template created, go ahead and customize it": "Template created, go ahead and customize it",
|
||||
@@ -377,6 +381,7 @@
|
||||
"Replacement": "Replacement",
|
||||
"Replace": "Replace",
|
||||
"Replace all": "Replace all",
|
||||
"{{ userName }} won't by notified as they do not have access to this document": "{{ userName }} won't by notified as they do not have access to this document",
|
||||
"Profile picture": "Profile picture",
|
||||
"Add column after": "Add column after",
|
||||
"Add column before": "Add column before",
|
||||
@@ -536,9 +541,6 @@
|
||||
"Collection menu": "Collection menu",
|
||||
"Drop documents to import": "Drop documents to import",
|
||||
"<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.": "<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.",
|
||||
"Get started by creating a new one!": "Get started by creating a new one!",
|
||||
"Create a document": "Create a document",
|
||||
"Manage permissions": "Manage permissions",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access": "{{ usersCount }} user and {{ groupsCount }} groups with access",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access_plural": "{{ usersCount }} users and {{ groupsCount }} groups with access",
|
||||
"{{ usersCount }} users and a group have access": "{{ usersCount }} user and a group have access",
|
||||
@@ -548,8 +550,6 @@
|
||||
"{{ groupsCount }} groups with access": "{{ groupsCount }} group with access",
|
||||
"{{ groupsCount }} groups with access_plural": "{{ groupsCount }} groups with access",
|
||||
"Share": "שיתוף",
|
||||
"This collection is only visible to those given access": "This collection is only visible to those given access",
|
||||
"Private": "Private",
|
||||
"Recently updated": "Recently updated",
|
||||
"Recently published": "Recently published",
|
||||
"Least recently updated": "Least recently updated",
|
||||
@@ -632,7 +632,6 @@
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.": "Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.",
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>._plural": "Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested documents</em>.",
|
||||
"If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.": "If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.",
|
||||
"Archiving": "Archiving",
|
||||
"Select a location to move": "Select a location to move",
|
||||
"Document moved": "Document moved",
|
||||
"Couldn’t move the document, try again?": "Couldn’t move the document, try again?",
|
||||
@@ -726,6 +725,7 @@
|
||||
"Undo": "Undo",
|
||||
"Redo": "Redo",
|
||||
"Lists": "Lists",
|
||||
"Toggle task list item": "Toggle task list item",
|
||||
"Tab": "Tab",
|
||||
"Indent list item": "Indent list item",
|
||||
"Outdent list item": "Outdent list item",
|
||||
@@ -900,7 +900,6 @@
|
||||
"Enterprise": "Enterprise",
|
||||
"Recent imports": "Recent imports",
|
||||
"Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.": "Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.",
|
||||
"Filter": "Filter",
|
||||
"Receive a notification whenever a new document is published": "Receive a notification whenever a new document is published",
|
||||
"Document updated": "Document updated",
|
||||
"Receive a notification when a document you are subscribed to is edited": "Receive a notification when a document you are subscribed to is edited",
|
||||
|
||||
@@ -72,7 +72,10 @@
|
||||
"Move to collection": "Move to collection",
|
||||
"Move {{ documentType }}": "{{ documentType }} áthelyezése",
|
||||
"Archive": "Archiválás",
|
||||
"Are you sure you want to archive this document?": "Are you sure you want to archive this document?",
|
||||
"Document archived": "Dokumentum archiválva",
|
||||
"Archiving": "Archiving",
|
||||
"Archiving this document will remove it from the collection and search results.": "Archiving this document will remove it from the collection and search results.",
|
||||
"Delete {{ documentName }}": "{{ documentName }} törlése",
|
||||
"Permanently delete": "Végleges törlés",
|
||||
"Permanently delete {{ documentName }}": "{{ documentName }} végleges törlése",
|
||||
@@ -237,6 +240,8 @@
|
||||
"You will receive an email when it's complete.": "Egy e-mail-t fog kapni, mikor elkészült.",
|
||||
"Include attachments": "Csatolmányokkal együtt",
|
||||
"Including uploaded images and files in the exported data": "A feltöltött képek és fájlok is exportálva lesznek",
|
||||
"Filter": "Filter",
|
||||
"No results": "Nincs találat",
|
||||
"{{ count }} member": "{{ count }} tag",
|
||||
"{{ count }} member_plural": "{{ count }} tag",
|
||||
"Group members": "Csoport tagok",
|
||||
@@ -332,9 +337,9 @@
|
||||
"Move document": "Dokumentum áthelyezése",
|
||||
"New doc": "Új doku",
|
||||
"You can't reorder documents in an alphabetically sorted collection": "Nem tudja egy ABC szerint rendezett gyűjtemény elemeinek sorrendjét megváltoztatni",
|
||||
"Empty": "Üres",
|
||||
"Collections": "Gyűjtemények",
|
||||
"Document not supported – try Markdown, Plain text, HTML, or Word": "Ez a dokumentum nem támogatott – próbáljon Markdown, egyszerű szöveg, HTML vagy Word formátumot",
|
||||
"Empty": "Üres",
|
||||
"Go back": "Ugrás vissza",
|
||||
"Go forward": "Előrelépés",
|
||||
"Could not load shared documents": "Could not load shared documents",
|
||||
@@ -349,7 +354,6 @@
|
||||
"Installation": "Telepítés",
|
||||
"Unstar document": "Dokumentum csillagozásának törlése",
|
||||
"Star document": "Dokumentum csillagozása",
|
||||
"No results": "Nincs találat",
|
||||
"Previous page": "Előző oldal",
|
||||
"Next page": "Következő oldal",
|
||||
"Template created, go ahead and customize it": "A sablon elkészült, fogjon bele a testreszabásba",
|
||||
@@ -377,6 +381,7 @@
|
||||
"Replacement": "Csere",
|
||||
"Replace": "Cserél",
|
||||
"Replace all": "Összeset cseréli",
|
||||
"{{ userName }} won't by notified as they do not have access to this document": "{{ userName }} won't by notified as they do not have access to this document",
|
||||
"Profile picture": "Profilkép",
|
||||
"Add column after": "Add column after",
|
||||
"Add column before": "Add column before",
|
||||
@@ -536,9 +541,6 @@
|
||||
"Collection menu": "Gyűjtemény menü",
|
||||
"Drop documents to import": "Engedje el itt a dokumentumot az importáláshoz",
|
||||
"<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.": "<em>{{ collectionName }}</em> nem tartalmaz egyetlen\n dokumentumot sem.",
|
||||
"Get started by creating a new one!": "Kezdje egy új létrehozásával!",
|
||||
"Create a document": "Dokumentum létrehozása",
|
||||
"Manage permissions": "Jogosultságok kezelése",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access": "{{ usersCount }} felhasználó és {{ groupsCount }} csoport rendelkezik hozzáféréssel",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access_plural": "{{ usersCount }} felhasználó és {{ groupsCount }} rendelkezik hozzáféréssel",
|
||||
"{{ usersCount }} users and a group have access": "{{ usersCount }} felhasználó és csoport rendelkezik hozzáféréssel",
|
||||
@@ -548,8 +550,6 @@
|
||||
"{{ groupsCount }} groups with access": "{{ groupsCount }} csoport rendelkezik hozzáféréssel",
|
||||
"{{ groupsCount }} groups with access_plural": "{{ groupsCount }} csoport rendelkezik hozzáféréssel",
|
||||
"Share": "Megosztás",
|
||||
"This collection is only visible to those given access": "Ez a gyűjtemény csak a hozzáféréssel rendelkezőknek látható",
|
||||
"Private": "Privát",
|
||||
"Recently updated": "Nemrég módosítva",
|
||||
"Recently published": "Nemrég publikálva",
|
||||
"Least recently updated": "Legrégebben módosított",
|
||||
@@ -632,7 +632,6 @@
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.": "Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.",
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>._plural": "Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested documents</em>.",
|
||||
"If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.": "If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.",
|
||||
"Archiving": "Archiving",
|
||||
"Select a location to move": "Select a location to move",
|
||||
"Document moved": "Document moved",
|
||||
"Couldn’t move the document, try again?": "Couldn’t move the document, try again?",
|
||||
@@ -726,6 +725,7 @@
|
||||
"Undo": "Visszavonás",
|
||||
"Redo": "Redo",
|
||||
"Lists": "Lists",
|
||||
"Toggle task list item": "Toggle task list item",
|
||||
"Tab": "Tab",
|
||||
"Indent list item": "Indent list item",
|
||||
"Outdent list item": "Outdent list item",
|
||||
@@ -900,7 +900,6 @@
|
||||
"Enterprise": "Enterprise",
|
||||
"Recent imports": "Recent imports",
|
||||
"Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.": "Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.",
|
||||
"Filter": "Filter",
|
||||
"Receive a notification whenever a new document is published": "Receive a notification whenever a new document is published",
|
||||
"Document updated": "Document updated",
|
||||
"Receive a notification when a document you are subscribed to is edited": "Receive a notification when a document you are subscribed to is edited",
|
||||
|
||||
@@ -72,7 +72,10 @@
|
||||
"Move to collection": "Move to collection",
|
||||
"Move {{ documentType }}": "Pindahkan {{ documentType }}",
|
||||
"Archive": "Arsipkan",
|
||||
"Are you sure you want to archive this document?": "Are you sure you want to archive this document?",
|
||||
"Document archived": "Dokumen diarsip",
|
||||
"Archiving": "Mengarsipkan",
|
||||
"Archiving this document will remove it from the collection and search results.": "Archiving this document will remove it from the collection and search results.",
|
||||
"Delete {{ documentName }}": "Hapus {{ documentName }}",
|
||||
"Permanently delete": "Hapus secara permanen",
|
||||
"Permanently delete {{ documentName }}": "Hapus {{ documentName }} secara permanen",
|
||||
@@ -237,12 +240,14 @@
|
||||
"You will receive an email when it's complete.": "Anda akan menerima surel jika sudah selesai.",
|
||||
"Include attachments": "Include attachments",
|
||||
"Including uploaded images and files in the exported data": "Including uploaded images and files in the exported data",
|
||||
"Filter": "Filter",
|
||||
"No results": "Tak ada hasil",
|
||||
"{{ count }} member": "{{ count }} anggota",
|
||||
"{{ count }} member_plural": "{{ count }} anggota",
|
||||
"Group members": "Anggota grup",
|
||||
"{{authorName}} created <3></3>": "{{authorName}} created <3></3>",
|
||||
"{{authorName}} opened <3></3>": "{{authorName}} opened <3></3>",
|
||||
"Search emoji": "Search emoji",
|
||||
"Search emoji": "Cari emoji",
|
||||
"Search icons": "Search icons",
|
||||
"Choose default skin tone": "Choose default skin tone",
|
||||
"Show menu": "Tampilkan menu",
|
||||
@@ -332,9 +337,9 @@
|
||||
"Move document": "Pindahkan dokumen",
|
||||
"New doc": "Dokumen baru",
|
||||
"You can't reorder documents in an alphabetically sorted collection": "Anda tidak dapat menyusun ulang dokumen dalam koleksi yang diurutkan menurut abjad",
|
||||
"Empty": "Kosong",
|
||||
"Collections": "Koleksi",
|
||||
"Document not supported – try Markdown, Plain text, HTML, or Word": "Dokumen tidak didukung – coba Markdown, teks biasa, HTML, atau Word",
|
||||
"Empty": "Kosong",
|
||||
"Go back": "Kembali",
|
||||
"Go forward": "Ke berikutnya",
|
||||
"Could not load shared documents": "Could not load shared documents",
|
||||
@@ -349,7 +354,6 @@
|
||||
"Installation": "Pemasangan",
|
||||
"Unstar document": "Unstar document",
|
||||
"Star document": "Star document",
|
||||
"No results": "Tak ada hasil",
|
||||
"Previous page": "Halaman sebelumnya",
|
||||
"Next page": "Halaman berikutnya",
|
||||
"Template created, go ahead and customize it": "Template telah dibuat, silakan disesuaikan",
|
||||
@@ -377,6 +381,7 @@
|
||||
"Replacement": "Replacement",
|
||||
"Replace": "Replace",
|
||||
"Replace all": "Replace all",
|
||||
"{{ userName }} won't by notified as they do not have access to this document": "{{ userName }} won't by notified as they do not have access to this document",
|
||||
"Profile picture": "Gambar profil",
|
||||
"Add column after": "Add column after",
|
||||
"Add column before": "Add column before",
|
||||
@@ -536,9 +541,6 @@
|
||||
"Collection menu": "Menu koleksi",
|
||||
"Drop documents to import": "Dokumen untuk diimpor dengan drop",
|
||||
"<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.": "<em>{{ collectionName }}</em> belum berisi\n dokumen.",
|
||||
"Get started by creating a new one!": "Mulailah dengan membuat yang baru!",
|
||||
"Create a document": "Buat sebuah dokumen",
|
||||
"Manage permissions": "Kelola perizinan",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access": "{{ usersCount }} pengguna dan {{ groupsCount }} grup dengan akses",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access_plural": "{{ usersCount }} pengguna dan {{ groupsCount }} grup dengan akses",
|
||||
"{{ usersCount }} users and a group have access": "{{ usersCount }} pengguna dan grup memiliki akses",
|
||||
@@ -548,8 +550,6 @@
|
||||
"{{ groupsCount }} groups with access": "{{ groupsCount }} grup dengan akses",
|
||||
"{{ groupsCount }} groups with access_plural": "{{ groupsCount }} grup dengan akses",
|
||||
"Share": "Bagikan",
|
||||
"This collection is only visible to those given access": "Koleksi ini hanya dapat dilihat oleh mereka yang diberi akses",
|
||||
"Private": "Privat",
|
||||
"Recently updated": "Baru diperbarui",
|
||||
"Recently published": "Baru diterbitkan",
|
||||
"Least recently updated": "Baru-baru ini diperbarui",
|
||||
@@ -632,7 +632,6 @@
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.": "Apakah Anda yakin? Menghapus dokumen <em>{{ documentTitle }}</em> akan menghapus semua riwayatnya dan <em>{{ any }} dokumen bersarang</em>.",
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>._plural": "Apapah Anda yakin? Menghapus <em>{{ documentTitle }}</em> dokumen akan menghapus semua riwayatnya dan <em>{{ any }} dokumen bersarang</em>.",
|
||||
"If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.": "Jika Anda ingin opsi mereferensikan atau memulihkan {{noun}} di masa mendatang, pertimbangkan untuk mengarsipkannya.",
|
||||
"Archiving": "Mengarsipkan",
|
||||
"Select a location to move": "Pilih lokasi untuk dipindahkan",
|
||||
"Document moved": "Dokumen dipindahkan",
|
||||
"Couldn’t move the document, try again?": "Tidak dapat memindahkan dokumen, coba lagi?",
|
||||
@@ -726,6 +725,7 @@
|
||||
"Undo": "Urungkan",
|
||||
"Redo": "Kembalikan",
|
||||
"Lists": "Daftar",
|
||||
"Toggle task list item": "Toggle task list item",
|
||||
"Tab": "Tab",
|
||||
"Indent list item": "Item daftar indentasi",
|
||||
"Outdent list item": "Item daftar outdent",
|
||||
@@ -900,7 +900,6 @@
|
||||
"Enterprise": "Enterprise",
|
||||
"Recent imports": "Impor terbaru",
|
||||
"Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.": "Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.",
|
||||
"Filter": "Filter",
|
||||
"Receive a notification whenever a new document is published": "Terima pemberitahuan setiap kali dokumen baru diterbitkan",
|
||||
"Document updated": "Dokumen diperbarui",
|
||||
"Receive a notification when a document you are subscribed to is edited": "Terima pemberitahuan saat dokumen langganan Anda diedit",
|
||||
|
||||
@@ -72,7 +72,10 @@
|
||||
"Move to collection": "Move to collection",
|
||||
"Move {{ documentType }}": "Sposta {{ documentType }}",
|
||||
"Archive": "Archivio",
|
||||
"Are you sure you want to archive this document?": "Are you sure you want to archive this document?",
|
||||
"Document archived": "Documento archiviato",
|
||||
"Archiving": "Archiviazione in corso",
|
||||
"Archiving this document will remove it from the collection and search results.": "Archiving this document will remove it from the collection and search results.",
|
||||
"Delete {{ documentName }}": "Elimina {{ documentName }}",
|
||||
"Permanently delete": "Elimina permanentemente",
|
||||
"Permanently delete {{ documentName }}": "Cancella definitivamente {{ documentName }}",
|
||||
@@ -237,6 +240,8 @@
|
||||
"You will receive an email when it's complete.": "Riceverai un'email quando sarà completata.",
|
||||
"Include attachments": "Includi allegati",
|
||||
"Including uploaded images and files in the exported data": "Including uploaded images and files in the exported data",
|
||||
"Filter": "Filtro",
|
||||
"No results": "Nessun risultato",
|
||||
"{{ count }} member": "{{ count }} membro",
|
||||
"{{ count }} member_plural": "{{ count }} membri",
|
||||
"Group members": "Membri del gruppo",
|
||||
@@ -332,9 +337,9 @@
|
||||
"Move document": "Sposta il documento",
|
||||
"New doc": "Nuovo documento",
|
||||
"You can't reorder documents in an alphabetically sorted collection": "Non è possibile riordinare i documenti in una raccolta ordinata alfabeticamente",
|
||||
"Empty": "Vuoto",
|
||||
"Collections": "Raccolta",
|
||||
"Document not supported – try Markdown, Plain text, HTML, or Word": "Documento non supportato – prova Markdown, testo semplice, HTML o Word",
|
||||
"Empty": "Vuoto",
|
||||
"Go back": "Torna indietro",
|
||||
"Go forward": "Vai avanti",
|
||||
"Could not load shared documents": "Could not load shared documents",
|
||||
@@ -349,7 +354,6 @@
|
||||
"Installation": "Installazione",
|
||||
"Unstar document": "Unstar document",
|
||||
"Star document": "Star document",
|
||||
"No results": "Nessun risultato",
|
||||
"Previous page": "Pagina precedente",
|
||||
"Next page": "Pagina successiva",
|
||||
"Template created, go ahead and customize it": "Modello creato, procedi e personalizzalo",
|
||||
@@ -377,6 +381,7 @@
|
||||
"Replacement": "Replacement",
|
||||
"Replace": "Replace",
|
||||
"Replace all": "Replace all",
|
||||
"{{ userName }} won't by notified as they do not have access to this document": "{{ userName }} won't by notified as they do not have access to this document",
|
||||
"Profile picture": "Immagine del profilo",
|
||||
"Add column after": "Add column after",
|
||||
"Add column before": "Add column before",
|
||||
@@ -536,9 +541,6 @@
|
||||
"Collection menu": "Menù raccolte",
|
||||
"Drop documents to import": "Trascina qui i documenti oppure",
|
||||
"<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.": "<em>{{ collectionName }}</em> non contiene ancora\n documenti.",
|
||||
"Get started by creating a new one!": "Inizia creandone uno nuovo!",
|
||||
"Create a document": "Crea documento",
|
||||
"Manage permissions": "Gestisci autorizzazioni",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access": "{{ usersCount }} utente e {{ groupsCount }} gruppi con accesso",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access_plural": "{{ usersCount }} utenti e {{ groupsCount }} gruppi con accesso",
|
||||
"{{ usersCount }} users and a group have access": "{{ usersCount }} utente e un gruppo hanno accesso",
|
||||
@@ -548,8 +550,6 @@
|
||||
"{{ groupsCount }} groups with access": "{{ groupsCount }} gruppo con accesso",
|
||||
"{{ groupsCount }} groups with access_plural": "{{ groupsCount }} gruppi con accesso",
|
||||
"Share": "Condividi",
|
||||
"This collection is only visible to those given access": "Questa raccolta è visibile solo a coloro a cui è stato dato accesso",
|
||||
"Private": "Privato",
|
||||
"Recently updated": "Aggiornati di recente",
|
||||
"Recently published": "Pubblicati di recente",
|
||||
"Least recently updated": "Aggiornati meno recentemente",
|
||||
@@ -632,7 +632,6 @@
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.": "Sei sicuro? L'eliminazione del documento <em>{{ documentTitle }}</em> cancellerà tutta la sua cronologia e <em>{{ any }} documenti annidati</em>.",
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>._plural": "Sei sicuro? L'eliminazione del documento <em>{{ documentTitle }}</em> cancellerà tutta la sua cronologia e <em>{{ any }} documenti annidati</em>.",
|
||||
"If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.": "Se desideri l'opzione di fare riferimento o ripristinare {{noun}} in futuro, considera l'archiviazione.",
|
||||
"Archiving": "Archiviazione in corso",
|
||||
"Select a location to move": "Seleziona una posizione da spostare",
|
||||
"Document moved": "Documento spostato",
|
||||
"Couldn’t move the document, try again?": "Impossibile spostare il documento, vuoi riprovare?",
|
||||
@@ -726,6 +725,7 @@
|
||||
"Undo": "Annulla",
|
||||
"Redo": "Ripristina",
|
||||
"Lists": "Elenchi",
|
||||
"Toggle task list item": "Toggle task list item",
|
||||
"Tab": "Tab",
|
||||
"Indent list item": "Aumenta rientro",
|
||||
"Outdent list item": "Riduci rientro",
|
||||
@@ -900,7 +900,6 @@
|
||||
"Enterprise": "Enterprise",
|
||||
"Recent imports": "Importazioni recenti",
|
||||
"Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.": "Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.",
|
||||
"Filter": "Filtro",
|
||||
"Receive a notification whenever a new document is published": "Ricevi una notifica ogni volta che viene pubblicato un nuovo documento",
|
||||
"Document updated": "Documento aggiornato",
|
||||
"Receive a notification when a document you are subscribed to is edited": "Ricevi una notifica quando un documento a cui sei iscritto viene modificato",
|
||||
|
||||
@@ -72,7 +72,10 @@
|
||||
"Move to collection": "コレクションに移動",
|
||||
"Move {{ documentType }}": "{{ documentType }} を移動",
|
||||
"Archive": "アーカイブ",
|
||||
"Are you sure you want to archive this document?": "Are you sure you want to archive this document?",
|
||||
"Document archived": "ドキュメントをアーカイブしました",
|
||||
"Archiving": "アーカイブ中",
|
||||
"Archiving this document will remove it from the collection and search results.": "Archiving this document will remove it from the collection and search results.",
|
||||
"Delete {{ documentName }}": "{{ documentName }} を削除します",
|
||||
"Permanently delete": "完全に削除します",
|
||||
"Permanently delete {{ documentName }}": "{{ documentName }} を完全に削除します",
|
||||
@@ -237,6 +240,8 @@
|
||||
"You will receive an email when it's complete.": "完了するとメールが届きます",
|
||||
"Include attachments": "添付ファイルを含める",
|
||||
"Including uploaded images and files in the exported data": "エクスポートデータにアップロードされた画像とファイルを含む",
|
||||
"Filter": "フィルター",
|
||||
"No results": "検索結果はありません",
|
||||
"{{ count }} member": "{{ count }} 人のメンバー",
|
||||
"{{ count }} member_plural": "{{ count }} 人のメンバー",
|
||||
"Group members": "グループのメンバー",
|
||||
@@ -332,9 +337,9 @@
|
||||
"Move document": "ドキュメントを移動",
|
||||
"New doc": "ドキュメントを新規作成",
|
||||
"You can't reorder documents in an alphabetically sorted collection": "五十音順で並べられたコレクション内のドキュメントは、並べ替えができません。",
|
||||
"Empty": "空",
|
||||
"Collections": "コレクション",
|
||||
"Document not supported – try Markdown, Plain text, HTML, or Word": "ドキュメントはサポートされていません。\nMarkdown、プレーンテキスト、HTML、または Word をお試しください。",
|
||||
"Empty": "空",
|
||||
"Go back": "戻る",
|
||||
"Go forward": "進む",
|
||||
"Could not load shared documents": "共有済みのドキュメントを読み込めませんでした",
|
||||
@@ -349,7 +354,6 @@
|
||||
"Installation": "インストール",
|
||||
"Unstar document": "お気に入りから削除",
|
||||
"Star document": "お気に入りに追加",
|
||||
"No results": "検索結果はありません",
|
||||
"Previous page": "前のページ",
|
||||
"Next page": "次のページ",
|
||||
"Template created, go ahead and customize it": "テンプレートが作成されました",
|
||||
@@ -377,6 +381,7 @@
|
||||
"Replacement": "置換する",
|
||||
"Replace": "置換",
|
||||
"Replace all": "全て置換",
|
||||
"{{ userName }} won't by notified as they do not have access to this document": "{{ userName }} won't by notified as they do not have access to this document",
|
||||
"Profile picture": "プロフィール画像",
|
||||
"Add column after": "後ろに列を挿入",
|
||||
"Add column before": "前に列を挿入",
|
||||
@@ -536,9 +541,6 @@
|
||||
"Collection menu": "コレクションメニュー",
|
||||
"Drop documents to import": "インポートするドキュメントをドロップ",
|
||||
"<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.": "<em>{{ collectionName }}</em> にはまだ\n ドキュメントがありません。",
|
||||
"Get started by creating a new one!": "さっそく新しいドキュメントを作成してみましょう!",
|
||||
"Create a document": "ドキュメントの作成",
|
||||
"Manage permissions": "権限を管理",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access": "アクセス権を持つ {{ usersCount }} 人のユーザーと {{ groupsCount }} 個のグループ",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access_plural": "アクセス権を持つ {{ usersCount }} 人のユーザーと {{ groupsCount }} 個のグループ",
|
||||
"{{ usersCount }} users and a group have access": "アクセス権を持つ {{ usersCount }} 人のユーザーと1つのグループ",
|
||||
@@ -548,8 +550,6 @@
|
||||
"{{ groupsCount }} groups with access": "アクセス権を持つ {{ groupsCount }} 個のグループ",
|
||||
"{{ groupsCount }} groups with access_plural": "アクセス権を持つ {{ groupsCount }} 個のグループ",
|
||||
"Share": "共有",
|
||||
"This collection is only visible to those given access": "このコレクションはアクセス権を付与されたユーザーにのみ表示されます",
|
||||
"Private": "非公開",
|
||||
"Recently updated": "更新日の新しい順",
|
||||
"Recently published": "最近公開されたもの",
|
||||
"Least recently updated": "更新日の古い順",
|
||||
@@ -632,7 +632,6 @@
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.": "<em>{{ documentTitle }}</em> ドキュメントを削除すると、その履歴と <em>ドキュメント内の{{ any }} </em>も全て削除されます。よろしいですか?",
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>._plural": "<em>{{ documentTitle }}</em> ドキュメントを削除すると、その履歴と <em>ネストされた{{ any }} のドキュメント</em>が全て削除されます。よろしいですか?",
|
||||
"If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.": "将来的に {{noun}} の参照または復元が必要になる可能性がある場合は、代わりにアーカイブすることを検討してください。",
|
||||
"Archiving": "アーカイブ中",
|
||||
"Select a location to move": "移動先を選択してください",
|
||||
"Document moved": "ドキュメントが移動されました",
|
||||
"Couldn’t move the document, try again?": "ドキュメントを移動できませんでした。もう一度お試しください。",
|
||||
@@ -726,6 +725,7 @@
|
||||
"Undo": "元に戻す",
|
||||
"Redo": "やり直し",
|
||||
"Lists": "リスト",
|
||||
"Toggle task list item": "Toggle task list item",
|
||||
"Tab": "タブ",
|
||||
"Indent list item": "リスト項目をインデント",
|
||||
"Outdent list item": "リスト項目をインデント解除",
|
||||
@@ -900,7 +900,6 @@
|
||||
"Enterprise": "エンタープライズ",
|
||||
"Recent imports": "最近のインポート",
|
||||
"Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.": "{{appName}} にログインした全員が表示されます。\n{{signinMethods}} でアクセスできるものの、まだログインしていないユーザーが他にもいる可能性があります。",
|
||||
"Filter": "フィルター",
|
||||
"Receive a notification whenever a new document is published": "新しいドキュメントが公開されたときに通知を受け取る",
|
||||
"Document updated": "ドキュメントの更新",
|
||||
"Receive a notification when a document you are subscribed to is edited": "通知を有効にしているドキュメントが編集されたときに通知を受け取る",
|
||||
|
||||
@@ -72,7 +72,10 @@
|
||||
"Move to collection": "컬렉션으로 이동",
|
||||
"Move {{ documentType }}": "{{ documentType }} 문서 이동",
|
||||
"Archive": "보관",
|
||||
"Are you sure you want to archive this document?": "Are you sure you want to archive this document?",
|
||||
"Document archived": "문서가 보관되었습니다",
|
||||
"Archiving": "보관",
|
||||
"Archiving this document will remove it from the collection and search results.": "Archiving this document will remove it from the collection and search results.",
|
||||
"Delete {{ documentName }}": "{{ documentName }} 삭제",
|
||||
"Permanently delete": "영구 삭제",
|
||||
"Permanently delete {{ documentName }}": "{{ documentName }} 를 영구 삭제",
|
||||
@@ -237,6 +240,8 @@
|
||||
"You will receive an email when it's complete.": "완료 시점에 메일을 수신받게 됩니다.",
|
||||
"Include attachments": "첨부파일 포함",
|
||||
"Including uploaded images and files in the exported data": "내보낼 데이터에 업로드된 이미지 및 파일 포함",
|
||||
"Filter": "필터",
|
||||
"No results": "결과 없음",
|
||||
"{{ count }} member": "{{ count }}명",
|
||||
"{{ count }} member_plural": "{{ count }}명",
|
||||
"Group members": "그룹 구성원",
|
||||
@@ -332,9 +337,9 @@
|
||||
"Move document": "문서 이동",
|
||||
"New doc": "새 문서",
|
||||
"You can't reorder documents in an alphabetically sorted collection": "알파벳순으로 정렬된 컬렉션에서는 문서를 재정렬할 수 없습니다.",
|
||||
"Empty": "비어 있음",
|
||||
"Collections": "컬렉션",
|
||||
"Document not supported – try Markdown, Plain text, HTML, or Word": "이 문서는 지원되지 않습니다 – Markdown, Plain Text, HTML이나 Word를 이용해주세요",
|
||||
"Empty": "비어 있음",
|
||||
"Go back": "돌아가기",
|
||||
"Go forward": "앞으로 가기",
|
||||
"Could not load shared documents": "공유 문서를 불러올 수 없습니다.",
|
||||
@@ -349,7 +354,6 @@
|
||||
"Installation": "설치",
|
||||
"Unstar document": "문서 별표 해제",
|
||||
"Star document": "문서 별표 표시",
|
||||
"No results": "결과 없음",
|
||||
"Previous page": "이전 페이지",
|
||||
"Next page": "다음 페이지",
|
||||
"Template created, go ahead and customize it": "템플릿이 생성되었습니다. 커스터마이징이 가능합니다.",
|
||||
@@ -377,6 +381,7 @@
|
||||
"Replacement": "대체",
|
||||
"Replace": "바꾸기",
|
||||
"Replace all": "모두 바꾸기",
|
||||
"{{ userName }} won't by notified as they do not have access to this document": "{{ userName }} won't by notified as they do not have access to this document",
|
||||
"Profile picture": "프로필 사진",
|
||||
"Add column after": "뒤에 열 추가",
|
||||
"Add column before": "앞에 열 추가",
|
||||
@@ -536,9 +541,6 @@
|
||||
"Collection menu": "컬렉션 메뉴",
|
||||
"Drop documents to import": "가져올 문서 내려놓기",
|
||||
"<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.": "<em>{{ collectionName }}</em> 컬렉션에 문서가 없습니다.",
|
||||
"Get started by creating a new one!": "새 문서를 만들어 시작해 보세요!",
|
||||
"Create a document": "새 문서",
|
||||
"Manage permissions": "권한 관리",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access": "액세스 권한이 있는 사용자 {{ usersCount }} 명 및 그룹 {{ groupsCount }} 개",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access_plural": "액세스 권한이 있는 사용자 {{ usersCount }} 명 및 그룹 {{ groupsCount }} 개",
|
||||
"{{ usersCount }} users and a group have access": "액세스 권한이 있는 사용자 {{ usersCount }} 명 및 하나의 그룹",
|
||||
@@ -548,8 +550,6 @@
|
||||
"{{ groupsCount }} groups with access": "액세스 권한이 있는 그룹 {{ groupsCount }} 개",
|
||||
"{{ groupsCount }} groups with access_plural": "액세스 권한이 있는 그룹 {{ groupsCount }} 개",
|
||||
"Share": "공유하기",
|
||||
"This collection is only visible to those given access": "이 컬렉션은 액세스 권한이 부여된 사람에게만 표시됩니다.",
|
||||
"Private": "비공개",
|
||||
"Recently updated": "최근 업데이트 순",
|
||||
"Recently published": "최근 게시 순",
|
||||
"Least recently updated": "오래된 순",
|
||||
@@ -632,7 +632,6 @@
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.": "정말 <em>{{ documentTitle }}</em> 문서를 삭제하시겠습니까? 문서를 삭제하면 모든 이력과 <em>{{ any }} 하위 문서들</em>이 삭제됩니다.",
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>._plural": "정말 <em>{{ documentTitle }}</em> 문서를 삭제하시겠습니까? 문서를 삭제하면 모든 이력과 <em>{{ any }} 하위 문서들</em>이 삭제됩니다.",
|
||||
"If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.": "나중에 {{noun}} 을 참조하거나 복원하는 옵션을 원한다면, 보관하는 것을 고려해보세요.",
|
||||
"Archiving": "보관",
|
||||
"Select a location to move": "이동할 위치 선택",
|
||||
"Document moved": "문서 이동 됨",
|
||||
"Couldn’t move the document, try again?": "문서를 \b이동 할 수 없습니다. 다시 시도하시겠습니까?",
|
||||
@@ -726,6 +725,7 @@
|
||||
"Undo": "실행 취소",
|
||||
"Redo": "복원하기",
|
||||
"Lists": "목록",
|
||||
"Toggle task list item": "Toggle task list item",
|
||||
"Tab": "Tab",
|
||||
"Indent list item": "목록 항목 들여쓰기",
|
||||
"Outdent list item": "목록 항목 내어쓰기",
|
||||
@@ -900,7 +900,6 @@
|
||||
"Enterprise": "엔터프라이즈",
|
||||
"Recent imports": "최근에 가져온",
|
||||
"Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.": "{{appName}} 에 로그인한 모든 사람이 여기에 나열됩니다. {{signinMethods}} 을(를) 통해 접근한 비로그인 사용자가 있을 수 있습니다.",
|
||||
"Filter": "필터",
|
||||
"Receive a notification whenever a new document is published": "새 문서가 게시될 때마다 알림을 받습니다",
|
||||
"Document updated": "문서 업데이트됨",
|
||||
"Receive a notification when a document you are subscribed to is edited": "작성한 문서가 수정되면 알림을 받습니다",
|
||||
|
||||
@@ -72,7 +72,10 @@
|
||||
"Move to collection": "Flytt til samling",
|
||||
"Move {{ documentType }}": "Flytt {{ documentType }}",
|
||||
"Archive": "Arkiver",
|
||||
"Are you sure you want to archive this document?": "Are you sure you want to archive this document?",
|
||||
"Document archived": "Dokument arkivert",
|
||||
"Archiving": "Arkivering",
|
||||
"Archiving this document will remove it from the collection and search results.": "Archiving this document will remove it from the collection and search results.",
|
||||
"Delete {{ documentName }}": "Slett {{ documentName }}",
|
||||
"Permanently delete": "Slett permanent",
|
||||
"Permanently delete {{ documentName }}": "Slett permanent {{ documentName }}",
|
||||
@@ -237,6 +240,8 @@
|
||||
"You will receive an email when it's complete.": "Du vil motta en e-post når det er ferdig.",
|
||||
"Include attachments": "Inkluder vedlegg",
|
||||
"Including uploaded images and files in the exported data": "Inkludere opplastede bilder og filer i de eksporterte dataene",
|
||||
"Filter": "Filter",
|
||||
"No results": "Ingen resultater",
|
||||
"{{ count }} member": "{{ count }} medlem",
|
||||
"{{ count }} member_plural": "{{ count }} medlemmer",
|
||||
"Group members": "Gruppemedlemmer",
|
||||
@@ -332,9 +337,9 @@
|
||||
"Move document": "Flytt dokument",
|
||||
"New doc": "Nytt dokument",
|
||||
"You can't reorder documents in an alphabetically sorted collection": "Du kan ikke omorganisere dokumenter i en alfabetisk sortert samling",
|
||||
"Empty": "Tom",
|
||||
"Collections": "Samlinger",
|
||||
"Document not supported – try Markdown, Plain text, HTML, or Word": "Dokument ikke støttet – prøv Markdown, ren tekst, HTML eller Word",
|
||||
"Empty": "Tom",
|
||||
"Go back": "Gå tilbake",
|
||||
"Go forward": "Gå frem",
|
||||
"Could not load shared documents": "Kunne ikke laste delte dokumenter",
|
||||
@@ -349,7 +354,6 @@
|
||||
"Installation": "Installasjon",
|
||||
"Unstar document": "Fjern stjerne fra dokument",
|
||||
"Star document": "Stjernemarker dokument",
|
||||
"No results": "Ingen resultater",
|
||||
"Previous page": "Forrige side",
|
||||
"Next page": "Neste side",
|
||||
"Template created, go ahead and customize it": "Mal opprettet, gå videre og tilpass den",
|
||||
@@ -377,6 +381,7 @@
|
||||
"Replacement": "Erstatning",
|
||||
"Replace": "Erstatt",
|
||||
"Replace all": "Erstatt alle",
|
||||
"{{ userName }} won't by notified as they do not have access to this document": "{{ userName }} won't by notified as they do not have access to this document",
|
||||
"Profile picture": "Profilbilde",
|
||||
"Add column after": "Legg til kolonne etter",
|
||||
"Add column before": "Sett inn kolonne før",
|
||||
@@ -536,9 +541,6 @@
|
||||
"Collection menu": "Samlingsmeny",
|
||||
"Drop documents to import": "Slipp dokumenter for å importere",
|
||||
"<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.": "<em>{{ collectionName }}</em> inneholder ingen\n dokumenter ennå.",
|
||||
"Get started by creating a new one!": "Kom i gang ved å opprette en ny!",
|
||||
"Create a document": "Opprett et dokument",
|
||||
"Manage permissions": "Administrer tillatelser",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access": "{{ usersCount }} brukere og {{ groupsCount }} grupper med tilgang",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access_plural": "{{ usersCount }} brukere og {{ groupsCount }} grupper med tilgang",
|
||||
"{{ usersCount }} users and a group have access": "{{ usersCount }} brukere og en gruppe har tilgang",
|
||||
@@ -548,8 +550,6 @@
|
||||
"{{ groupsCount }} groups with access": "{{ groupsCount }} grupper med tilgang",
|
||||
"{{ groupsCount }} groups with access_plural": "{{ groupsCount }} grupper med tilgang",
|
||||
"Share": "Del",
|
||||
"This collection is only visible to those given access": "Denne samlingen er kun synlig for de som har fått tilgang",
|
||||
"Private": "Privat",
|
||||
"Recently updated": "Nylig oppdatert",
|
||||
"Recently published": "Nylig publisert",
|
||||
"Least recently updated": "Minst nylig oppdatert",
|
||||
@@ -632,7 +632,6 @@
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.": "Er du sikker på det? Sletting av <em>{{ documentTitle }}</em>-dokumentet vil slette hele dens historikk og <em>{{ any }} underdokument</em>.",
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>._plural": "Er du sikker på det? Sletting av <em>{{ documentTitle }}</em>-dokumentet vil slette hele dens historikk og <em>{{ any }} underdokumenter</em>.",
|
||||
"If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.": "Hvis du ønsker muligheten til å referere til eller gjenopprette {{noun}} i fremtiden, vurder å arkivere det i stedet.",
|
||||
"Archiving": "Arkivering",
|
||||
"Select a location to move": "Velg en plassering å flytte til",
|
||||
"Document moved": "Dokument flyttet",
|
||||
"Couldn’t move the document, try again?": "Kunne ikke flytte dokumentet, prøv igjen?",
|
||||
@@ -726,6 +725,7 @@
|
||||
"Undo": "Angre",
|
||||
"Redo": "Gjør om",
|
||||
"Lists": "Lister",
|
||||
"Toggle task list item": "Toggle task list item",
|
||||
"Tab": "Tab",
|
||||
"Indent list item": "Innrykk listeelement",
|
||||
"Outdent list item": "Utrykk listeelement",
|
||||
@@ -900,7 +900,6 @@
|
||||
"Enterprise": "Bedrift",
|
||||
"Recent imports": "Nylige importer",
|
||||
"Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.": "Alle som er logget inn i {{appName}} vises her. Det er mulig at det er andre brukere som har tilgang via {{signinMethods}}, men som ikke har logget inn enda.",
|
||||
"Filter": "Filter",
|
||||
"Receive a notification whenever a new document is published": "Motta et varsel hver gang et nytt dokument blir publisert",
|
||||
"Document updated": "Dokument oppdatert",
|
||||
"Receive a notification when a document you are subscribed to is edited": "Motta et varsel når et dokument du abonnerer på blir redigert",
|
||||
|
||||
@@ -72,7 +72,10 @@
|
||||
"Move to collection": "Verplaats naar collectie",
|
||||
"Move {{ documentType }}": "Verplaats {{ documentType }}",
|
||||
"Archive": "Archiveren",
|
||||
"Are you sure you want to archive this document?": "Are you sure you want to archive this document?",
|
||||
"Document archived": "Document gearchiveerd",
|
||||
"Archiving": "Achiveren",
|
||||
"Archiving this document will remove it from the collection and search results.": "Archiving this document will remove it from the collection and search results.",
|
||||
"Delete {{ documentName }}": "Verwijder {{ documentName }}",
|
||||
"Permanently delete": "Definitief verwijderen",
|
||||
"Permanently delete {{ documentName }}": "{{ documentName }} definitief verwijderen",
|
||||
@@ -237,6 +240,8 @@
|
||||
"You will receive an email when it's complete.": "Je ontvangt een e-mail als het voltooid is.",
|
||||
"Include attachments": "Bijlagen toevoegen",
|
||||
"Including uploaded images and files in the exported data": "Geüploade afbeeldingen en bestanden worden aan de geëxporteerde data toegevoegd",
|
||||
"Filter": "Filter",
|
||||
"No results": "Geen resultaten",
|
||||
"{{ count }} member": "{{ count }} lid",
|
||||
"{{ count }} member_plural": "{{ count }} leden",
|
||||
"Group members": "Groepeer leden",
|
||||
@@ -332,9 +337,9 @@
|
||||
"Move document": "Document verplaatsen",
|
||||
"New doc": "Nieuw document",
|
||||
"You can't reorder documents in an alphabetically sorted collection": "U kunt documenten in een alfabetisch gesorteerde verzameling niet opnieuw ordenen",
|
||||
"Empty": "Leeg",
|
||||
"Collections": "Collecties",
|
||||
"Document not supported – try Markdown, Plain text, HTML, or Word": "Document niet ondersteund - probeer Markdown, platte tekst, HTML of Word",
|
||||
"Empty": "Leeg",
|
||||
"Go back": "Vorige",
|
||||
"Go forward": "Volgende",
|
||||
"Could not load shared documents": "Kan gedeelde documenten niet laden",
|
||||
@@ -349,7 +354,6 @@
|
||||
"Installation": "Installatie",
|
||||
"Unstar document": "Document verwijderen uit favorieten",
|
||||
"Star document": "Document toevoegen aan favorieten",
|
||||
"No results": "Geen resultaten",
|
||||
"Previous page": "Vorige pagina",
|
||||
"Next page": "Volgende pagina",
|
||||
"Template created, go ahead and customize it": "Sjabloon gemaakt, ga aan de gang en pas het aan",
|
||||
@@ -377,6 +381,7 @@
|
||||
"Replacement": "Vervanging",
|
||||
"Replace": "Vervang",
|
||||
"Replace all": "Vervang alle",
|
||||
"{{ userName }} won't by notified as they do not have access to this document": "{{ userName }} won't by notified as they do not have access to this document",
|
||||
"Profile picture": "Profielfoto",
|
||||
"Add column after": "Add column after",
|
||||
"Add column before": "Add column before",
|
||||
@@ -536,9 +541,6 @@
|
||||
"Collection menu": "Collectie menu",
|
||||
"Drop documents to import": "Sleep documenten hier naartoe om ze te importeren",
|
||||
"<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.": "<em>{{ collectionName }}</em> bevat nog geen documenten.",
|
||||
"Get started by creating a new one!": "Begin door een nieuwe te maken!",
|
||||
"Create a document": "Maak een document",
|
||||
"Manage permissions": "Beheer machtigingen",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access": "{{ usersCount }} gebruikers en {{ groupsCount }} groepen met toegang",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access_plural": "{{ usersCount }} gebruikers en {{ groupsCount }} groepen met toegang",
|
||||
"{{ usersCount }} users and a group have access": "{{ usersCount }} gebruiker en een groep hebben toegang",
|
||||
@@ -548,8 +550,6 @@
|
||||
"{{ groupsCount }} groups with access": "{{ groupsCount }} groepen hebben toegang",
|
||||
"{{ groupsCount }} groups with access_plural": "{{ groupsCount }} groepen hebben toegang",
|
||||
"Share": "Deel",
|
||||
"This collection is only visible to those given access": "Deze collectie is alleen zichtbaar voor degenen die toegang hebben gekregen",
|
||||
"Private": "Besloten",
|
||||
"Recently updated": "Onlangs bijgewerkt",
|
||||
"Recently published": "Onlangs gepubliceerd",
|
||||
"Least recently updated": "Minst recent bijgewerkt",
|
||||
@@ -632,7 +632,6 @@
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.": "Weet je dat zeker? Als u het <em>{{ documentTitle }}</em> -document verwijdert, worden de hele geschiedenis en <em>{{ any }} genest document</em> verwijderd.",
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>._plural": "Weet je dat zeker? Als u het <em>{{ documentTitle }}</em> -document verwijdert, worden de hele geschiedenis en <em>{{ any }} geneste documenten</em>verwijderd.",
|
||||
"If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.": "Als je de mogelijkheid wilt om de {{noun}} te refereren of in de toekomst te herstellen, overweeg dan om het te archiveren.",
|
||||
"Archiving": "Achiveren",
|
||||
"Select a location to move": "Selecteer een locatie om te verplaatsen",
|
||||
"Document moved": "Document verplaatst",
|
||||
"Couldn’t move the document, try again?": "Kon het document niet verplaatsen. Probeer het nog een keer?",
|
||||
@@ -726,6 +725,7 @@
|
||||
"Undo": "Ongedaan maken",
|
||||
"Redo": "Opnieuw",
|
||||
"Lists": "Lijsten",
|
||||
"Toggle task list item": "Toggle task list item",
|
||||
"Tab": "Tab",
|
||||
"Indent list item": "Lijstitem inspringen",
|
||||
"Outdent list item": "Uitspringen lijst item",
|
||||
@@ -900,7 +900,6 @@
|
||||
"Enterprise": "Zakelijk",
|
||||
"Recent imports": "Recent geïmporteerd",
|
||||
"Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.": "Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.",
|
||||
"Filter": "Filter",
|
||||
"Receive a notification whenever a new document is published": "Ontvang een melding wanneer een nieuw document wordt gepubliceerd",
|
||||
"Document updated": "Document bijgewerkt",
|
||||
"Receive a notification when a document you are subscribed to is edited": "Ontvang een melding wanneer een document waarop je geabonneerd bent, is bewerkt",
|
||||
|
||||
@@ -72,7 +72,10 @@
|
||||
"Move to collection": "Przenieś do kolekcji",
|
||||
"Move {{ documentType }}": "Przenieś {{ documentType }}",
|
||||
"Archive": "Archiwum",
|
||||
"Are you sure you want to archive this document?": "Are you sure you want to archive this document?",
|
||||
"Document archived": "Dokument zarchiwizowany",
|
||||
"Archiving": "Archiwizowanie",
|
||||
"Archiving this document will remove it from the collection and search results.": "Archiving this document will remove it from the collection and search results.",
|
||||
"Delete {{ documentName }}": "Usuń {{ documentName }}",
|
||||
"Permanently delete": "Trwałe usunięcie",
|
||||
"Permanently delete {{ documentName }}": "Usuń na stałe {{ documentName }}",
|
||||
@@ -237,6 +240,8 @@
|
||||
"You will receive an email when it's complete.": "Po zakończeniu otrzymasz wiadomość e-mail.",
|
||||
"Include attachments": "Dołącz załączniki",
|
||||
"Including uploaded images and files in the exported data": "Uwzględnianie przesłanych obrazów i plików w eksportowanych danych",
|
||||
"Filter": "Filtr",
|
||||
"No results": "Brak wyników",
|
||||
"{{ count }} member": "{{ count }} członek",
|
||||
"{{ count }} member_plural": "{{ count }} członków",
|
||||
"Group members": "Członkowie grupy",
|
||||
@@ -332,9 +337,9 @@
|
||||
"Move document": "Przenieś dokument",
|
||||
"New doc": "Nowy dok",
|
||||
"You can't reorder documents in an alphabetically sorted collection": "Nie możesz zmieniać kolejności dokumentów w kolekcji posortowanej alfabetycznie",
|
||||
"Empty": "Pusty",
|
||||
"Collections": "Kolekcje",
|
||||
"Document not supported – try Markdown, Plain text, HTML, or Word": "Dokument nie jest obsługiwany – spróbuj formatu Markdown, zwykłego tekstu, HTML lub Word",
|
||||
"Empty": "Pusty",
|
||||
"Go back": "Wróć",
|
||||
"Go forward": "Idź do przodu",
|
||||
"Could not load shared documents": "Nie można załadować udostępnionych dokumentów",
|
||||
@@ -349,7 +354,6 @@
|
||||
"Installation": "Instalacja",
|
||||
"Unstar document": "Usuń oznaczenie gwiazdką",
|
||||
"Star document": "Oznacz dokument gwiazdką",
|
||||
"No results": "Brak wyników",
|
||||
"Previous page": "Poprzednia strona",
|
||||
"Next page": "Następna strona",
|
||||
"Template created, go ahead and customize it": "Szablon utworzony, przejdź do przodu i dostosuj go",
|
||||
@@ -377,6 +381,7 @@
|
||||
"Replacement": "Zastąpienie",
|
||||
"Replace": "Zamień",
|
||||
"Replace all": "Zamień wszystko",
|
||||
"{{ userName }} won't by notified as they do not have access to this document": "{{ userName }} won't by notified as they do not have access to this document",
|
||||
"Profile picture": "Zdjęcie profilowe",
|
||||
"Add column after": "Dodaj kolumnę po",
|
||||
"Add column before": "Dodaj kolumnę przed",
|
||||
@@ -536,9 +541,6 @@
|
||||
"Collection menu": "Menu kolekcji",
|
||||
"Drop documents to import": "Upuść dokumenty do zaimportowania",
|
||||
"<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.": "<em>{{ collectionName }}</em> nie zawiera jeszcze żadnych dokumentów.",
|
||||
"Get started by creating a new one!": "Zacznij od utworzenia nowego!",
|
||||
"Create a document": "Utwórz dokument",
|
||||
"Manage permissions": "Zarządzaj uprawnieniami",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access": "{{ usersCount }} użytkownik i {{ groupsCount }} grupy z dostępem",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access_plural": "{{ usersCount }} użytkowników i {{ groupsCount }} grup z dostępem",
|
||||
"{{ usersCount }} users and a group have access": "{{ usersCount }} użytkownik i grupa mają dostęp",
|
||||
@@ -548,8 +550,6 @@
|
||||
"{{ groupsCount }} groups with access": "{{ groupsCount }} grupa z dostępem",
|
||||
"{{ groupsCount }} groups with access_plural": "{{ groupsCount }} grup z dostępem",
|
||||
"Share": "Udostępnij",
|
||||
"This collection is only visible to those given access": "Ta kolekcja jest widoczna tylko dla osób z dostępem",
|
||||
"Private": "Prywatne",
|
||||
"Recently updated": "Ostatnio zaktualizowane",
|
||||
"Recently published": "Ostatnio opublikowane",
|
||||
"Least recently updated": "Najmniej ostatnio zaktualizowane",
|
||||
@@ -632,7 +632,6 @@
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.": "Czy jesteś tego pewien? Usunięcie dokumentu <em>{{ documentTitle }}</em> spowoduje usunięcie całej jego historii oraz <em>{{ any }} zagnieżdżonych dokumentów</em>.",
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>._plural": "Czy jesteś tego pewien? Usunięcie dokumentu <em>{{ documentTitle }}</em> spowoduje usunięcie całej jego historii oraz <em>{{ any }} zagnieżdżonych dokumentów</em>.",
|
||||
"If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.": "Jeśli chciałbyś skorzystać z opcji odwoływania lub przywracania {{noun}} w przyszłości, rozważ archiwizację.",
|
||||
"Archiving": "Archiwizowanie",
|
||||
"Select a location to move": "Wybierz lokalizację do przeniesienia",
|
||||
"Document moved": "Dokument został przeniesiony",
|
||||
"Couldn’t move the document, try again?": "Nie udało się przenieść dokumentu, spróbować ponownie?",
|
||||
@@ -726,6 +725,7 @@
|
||||
"Undo": "Cofnij",
|
||||
"Redo": "Ponów",
|
||||
"Lists": "Listy",
|
||||
"Toggle task list item": "Toggle task list item",
|
||||
"Tab": "Karta",
|
||||
"Indent list item": "Zagnieźdź element listy",
|
||||
"Outdent list item": "Wyciągnij element listy",
|
||||
@@ -900,7 +900,6 @@
|
||||
"Enterprise": "Przedsiębiorstwo",
|
||||
"Recent imports": "Ostatnio zaimportowane",
|
||||
"Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.": "Tutaj są wyświetlane wszystkie osoby, które zalogowały się w {{appName}}. Możliwe, że istnieją inni użytkownicy, którzy mają dostęp przez {{signinMethods}} ale jeszcze się nie zalogowali.",
|
||||
"Filter": "Filtr",
|
||||
"Receive a notification whenever a new document is published": "Otrzymuj powiadomienie o każdym nowym opublikowanym dokumencie",
|
||||
"Document updated": "Dokument zaktualizowany",
|
||||
"Receive a notification when a document you are subscribed to is edited": "Otrzymuj powiadomienie o każdej modyfikacji subskrybowanego przez Ciebie dokumentu",
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
"Thread resolved": "Tópico resolvido",
|
||||
"Mark as unresolved": "Marcar como não resolvido",
|
||||
"Copy ID": "Copiar ID",
|
||||
"Clear IndexedDB cache": "Limpar a memória do IndexedDB",
|
||||
"IndexedDB cache cleared": "A memória do IndexedDB foi limpa",
|
||||
"Clear IndexedDB cache": "Limpar cache do IndexedDB",
|
||||
"IndexedDB cache cleared": "Cache do IndexedDB limpo",
|
||||
"Toggle debug logging": "Alternar log de depuração",
|
||||
"Debug logging enabled": "Log de depuração habilitado",
|
||||
"Debug logging disabled": "Log de depuração desativado",
|
||||
@@ -72,7 +72,10 @@
|
||||
"Move to collection": "Mover para coleção",
|
||||
"Move {{ documentType }}": "Mover {{ documentType }}",
|
||||
"Archive": "Arquivo",
|
||||
"Are you sure you want to archive this document?": "Tem certeza que deseja arquivar este documento?",
|
||||
"Document archived": "Documento arquivado",
|
||||
"Archiving": "Arquivando",
|
||||
"Archiving this document will remove it from the collection and search results.": "Arquivar este documento irá removê-lo da coleção e dos resultados das pesquisas.",
|
||||
"Delete {{ documentName }}": "Excluir {{ documentName }}",
|
||||
"Permanently delete": "Excluir permanentemente",
|
||||
"Permanently delete {{ documentName }}": "Excluir permanentemente {{ documentName }}",
|
||||
@@ -237,6 +240,8 @@
|
||||
"You will receive an email when it's complete.": "Você receberá um e-mail quando estiver concluído.",
|
||||
"Include attachments": "Incluir anexos",
|
||||
"Including uploaded images and files in the exported data": "Incluindo imagens e arquivos carregados nos dados exportados",
|
||||
"Filter": "Filtro",
|
||||
"No results": "Sem resultados",
|
||||
"{{ count }} member": "{{ count }} membro",
|
||||
"{{ count }} member_plural": "{{ count }} membros",
|
||||
"Group members": "Membros do grupo",
|
||||
@@ -332,9 +337,9 @@
|
||||
"Move document": "Mover documento",
|
||||
"New doc": "Novo documento",
|
||||
"You can't reorder documents in an alphabetically sorted collection": "Não é possível reordenar documentos em uma coleção ordenada alfabeticamente",
|
||||
"Empty": "Vazio",
|
||||
"Collections": "Coleções",
|
||||
"Document not supported – try Markdown, Plain text, HTML, or Word": "Documento não compatível - experimente Markdown, Texto simples, HTML ou Word",
|
||||
"Empty": "Vazio",
|
||||
"Go back": "Voltar",
|
||||
"Go forward": "Avançar",
|
||||
"Could not load shared documents": "Não foi possível carregar documentos compartilhados",
|
||||
@@ -349,7 +354,6 @@
|
||||
"Installation": "Instalação",
|
||||
"Unstar document": "Desfavoritar documento",
|
||||
"Star document": "Favoritar documento",
|
||||
"No results": "Sem resultados",
|
||||
"Previous page": "Página anterior",
|
||||
"Next page": "Próxima página",
|
||||
"Template created, go ahead and customize it": "Modelo criado, vá em frente e personalize-o",
|
||||
@@ -377,6 +381,7 @@
|
||||
"Replacement": "Substituição",
|
||||
"Replace": "Substituir",
|
||||
"Replace all": "Substituir todos",
|
||||
"{{ userName }} won't by notified as they do not have access to this document": "{{ userName }} não receberá notificação por não possuir acesso a este documento",
|
||||
"Profile picture": "Imagem do perfil",
|
||||
"Add column after": "Adicionar coluna depois",
|
||||
"Add column before": "Adicionar coluna antes",
|
||||
@@ -536,9 +541,6 @@
|
||||
"Collection menu": "Menu da coleção",
|
||||
"Drop documents to import": "Solte documentos para importar",
|
||||
"<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.": "<em>{{ collectionName }}</em> não contém nenhum\n documento ainda.",
|
||||
"Get started by creating a new one!": "Comece ao criar um novo!",
|
||||
"Create a document": "Criar documento",
|
||||
"Manage permissions": "Gerenciar permissões",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access": "{{ usersCount }} usuário e {{ groupsCount }} grupos com acesso",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access_plural": "{{ usersCount }} usuários e {{ groupsCount }} grupos com acesso",
|
||||
"{{ usersCount }} users and a group have access": "{{ usersCount }} usuário e um grupo têm acesso",
|
||||
@@ -548,8 +550,6 @@
|
||||
"{{ groupsCount }} groups with access": "{{ groupsCount }} grupo com acesso",
|
||||
"{{ groupsCount }} groups with access_plural": "{{ groupsCount }} grupos com acesso",
|
||||
"Share": "Compartilhar",
|
||||
"This collection is only visible to those given access": "Esta coleção só é visível para aqueles com acesso concedido",
|
||||
"Private": "Privado",
|
||||
"Recently updated": "Atualizado recentemente",
|
||||
"Recently published": "Publicado recentemente",
|
||||
"Least recently updated": "Menos recentemente atualizados",
|
||||
@@ -632,7 +632,6 @@
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.": "Você tem certeza sobre isso? Excluir o documento <em>{{ documentTitle }}</em> excluirá todo o seu histórico e <em>{{ any }} documento aninhado</em>.",
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>._plural": "Você tem certeza sobre isso? Excluir o documento <em>{{ documentTitle }}</em> excluirá todo o seu histórico e <em>{{ any }} documentos aninhados</em>.",
|
||||
"If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.": "Se você quiser a opção de fazer referência ou restaurar o {{noun}} no futuro, considere arquivá-lo em vez disso.",
|
||||
"Archiving": "Arquivando",
|
||||
"Select a location to move": "Selecione um local para mover",
|
||||
"Document moved": "Documento movido",
|
||||
"Couldn’t move the document, try again?": "Não foi possível mover o documento, tentar novamente?",
|
||||
@@ -726,6 +725,7 @@
|
||||
"Undo": "Desfazer",
|
||||
"Redo": "Refazer",
|
||||
"Lists": "Listas",
|
||||
"Toggle task list item": "Alternar item da lista de tarefas",
|
||||
"Tab": "Tab",
|
||||
"Indent list item": "Indentar item da lista",
|
||||
"Outdent list item": "Indentar item da lista",
|
||||
@@ -900,7 +900,6 @@
|
||||
"Enterprise": "Empresarial",
|
||||
"Recent imports": "Importações recentes",
|
||||
"Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.": "Todos que fizeram login em {{appName}} estão listados aqui. É possível que existam outros usuários que tenham acesso através de {{signinMethods}} mas que ainda não tenham feito login.",
|
||||
"Filter": "Filtro",
|
||||
"Receive a notification whenever a new document is published": "Receba uma notificação sempre que um novo documento for publicado",
|
||||
"Document updated": "Documento atualizado",
|
||||
"Receive a notification when a document you are subscribed to is edited": "Receber uma notificação quando um documento que você está inscrito for editado",
|
||||
@@ -1051,9 +1050,9 @@
|
||||
"Link your account": "Vincular sua conta",
|
||||
"Link your account in {{ appName }} settings to search from Slack": "Vincule sua conta nas configurações do {{ appName }} para pesquisar pelo Slack",
|
||||
"Configure a Umami installation to send views and analytics from the workspace to your own Umami instance.": "Configure uma instalação \"Umami\" para enviar visualizações e análises do espaço de trabalho para sua própria instância Umami.",
|
||||
"The URL of your Umami instance. If you are using Umami Cloud it will begin with {{ url }}": "The URL of your Umami instance. If you are using Umami Cloud it will begin with {{ url }}",
|
||||
"The URL of your Umami instance. If you are using Umami Cloud it will begin with {{ url }}": "A URL da sua instância Matomo. Se você estiver usando Matomo Cloud, ela iniciará em {{ url }}",
|
||||
"Script name": "Nome do script",
|
||||
"The name of the script file that Umami uses to track analytics.": "The name of the script file that Umami uses to track analytics.",
|
||||
"The name of the script file that Umami uses to track analytics.": "O nome do arquivo de script que o Umami usa para acompanhar as estatísticas.",
|
||||
"An ID that uniquely identifies the website in your Umami instance.": "Um ID que identifica unicamente o site na sua instância Umami",
|
||||
"Are you sure you want to delete the {{ name }} webhook?": "Tem certeza que deseja excluir o webhook {{ name }}?",
|
||||
"Webhook updated": "Webhook atualizado",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"New API key": "Nova chave API",
|
||||
"New API key": "Nova chave de API",
|
||||
"Open collection": "Abrir coleção",
|
||||
"New collection": "Nova coleção",
|
||||
"Create a collection": "Criar coleção",
|
||||
@@ -7,20 +7,20 @@
|
||||
"Edit collection": "Editar coleção",
|
||||
"Permissions": "Permissões",
|
||||
"Collection permissions": "Permissões da coleção",
|
||||
"Share this collection": "Partilhe esta coleção",
|
||||
"Share this collection": "Compartilhar esta coleção",
|
||||
"Search in collection": "Procurar na coleção",
|
||||
"Star": "Estrela",
|
||||
"Unstar": "Tirar estrela",
|
||||
"Delete": "Apagar",
|
||||
"Delete collection": "Apagar coleção",
|
||||
"Delete collection": "Remover coleção",
|
||||
"New template": "Novo template",
|
||||
"Delete comment": "Eliminar comentário",
|
||||
"Delete comment": "Excluir Comentário",
|
||||
"Mark as resolved": "Marcar como resolvido",
|
||||
"Thread resolved": "Tópico resolvido",
|
||||
"Mark as unresolved": "Marcar como por resolver",
|
||||
"Mark as unresolved": "Marcar como não resolvido",
|
||||
"Copy ID": "Copiar ID",
|
||||
"Clear IndexedDB cache": "Apagar cache do IndexedDB",
|
||||
"IndexedDB cache cleared": "Cache do IndexedDB apagada",
|
||||
"Clear IndexedDB cache": "Limpar cache do IndexedDB",
|
||||
"IndexedDB cache cleared": "Cache IndexedDB limpo",
|
||||
"Toggle debug logging": "Alternar log de depuração",
|
||||
"Debug logging enabled": "Log de depuração habilitado",
|
||||
"Debug logging disabled": "Log de depuração desativado",
|
||||
@@ -67,22 +67,25 @@
|
||||
"Create template": "Criar template",
|
||||
"Open random document": "Abrir documento aleatório",
|
||||
"Search documents for \"{{searchQuery}}\"": "Pesquisar documentos por \"{{searchQuery}}\"",
|
||||
"Move to workspace": "Mover para área de trabalho",
|
||||
"Move to workspace": "Mover para espaço de trabalho",
|
||||
"Move": "Mover",
|
||||
"Move to collection": "Mover para colecção",
|
||||
"Move to collection": "Mover para coleção",
|
||||
"Move {{ documentType }}": "Mover {{ documentType }}",
|
||||
"Archive": "Arquivo",
|
||||
"Are you sure you want to archive this document?": "Tem certeza que deseja arquivar este documento?",
|
||||
"Document archived": "Documento arquivado",
|
||||
"Archiving": "Arquivando",
|
||||
"Archiving this document will remove it from the collection and search results.": "Arquivar este documento irá removê-lo da coleção e dos resultados de pesquisas.",
|
||||
"Delete {{ documentName }}": "Apagar {{ documentName }}",
|
||||
"Permanently delete": "Eliminar permanentemente",
|
||||
"Permanently delete {{ documentName }}": "Eliminar permanentemente {{ documentName }}",
|
||||
"Empty trash": "Esvaziar lixo",
|
||||
"Permanently delete documents in trash": "Eliminar os documentos no lixo",
|
||||
"Permanently delete": "Excluir permanentemente",
|
||||
"Permanently delete {{ documentName }}": "Excluir permanentemente {{ documentName }}",
|
||||
"Empty trash": "Esvaziar lixeira",
|
||||
"Permanently delete documents in trash": "Excluir permanentemente documentos na lixeira",
|
||||
"Comments": "Comentários",
|
||||
"History": "Historia",
|
||||
"Insights": "Estatísticas",
|
||||
"Disable viewer insights": "Desativar estatísticas do utilizador",
|
||||
"Enable viewer insights": "Habilitar estatísticas do utilizador",
|
||||
"Disable viewer insights": "Desativar estatísticas de visualização",
|
||||
"Enable viewer insights": "Habilitar estatísticas de visualização",
|
||||
"Home": "Página inicial",
|
||||
"Drafts": "Rascunhos",
|
||||
"Trash": "Reciclagem",
|
||||
@@ -98,11 +101,11 @@
|
||||
"Report a bug": "Reportar um erro técnico",
|
||||
"Changelog": "Changelog",
|
||||
"Keyboard shortcuts": "Atalhos do teclado",
|
||||
"Download {{ platform }} app": "Descarregar {{ platform }} app",
|
||||
"Download {{ platform }} app": "Baixar o aplicativo para {{ platform }}",
|
||||
"Log out": "Deslogar",
|
||||
"Mark notifications as read": "Marcar notificações como lidas",
|
||||
"Archive all notifications": "Arquivar todas as notificações",
|
||||
"Restore revision": "Restaurar versão",
|
||||
"Restore revision": "Restaurar revisão",
|
||||
"Link copied": "Link copiado",
|
||||
"Dark": "Escuro",
|
||||
"Light": "Claro",
|
||||
@@ -111,15 +114,15 @@
|
||||
"Change theme": "Alterar tema",
|
||||
"Change theme to": "Alterar tema para",
|
||||
"Switch workspace": "Alternar área de trabalho",
|
||||
"Select a workspace": "Selecionar área de trabalho",
|
||||
"New workspace": "Nova área de trabalho",
|
||||
"Create a workspace": "Criar área de trabalho",
|
||||
"Login to workspace": "Entrar em área de trabalho",
|
||||
"Select a workspace": "Selecionar espaço de trabalho",
|
||||
"New workspace": "Novo espaço de trabalho",
|
||||
"Create a workspace": "Criar um espaço de trabalho",
|
||||
"Login to workspace": "Entrar no espaço de trabalho",
|
||||
"Invite people": "Convidar pessoas",
|
||||
"Invite to workspace": "Convidar para área de trabalho",
|
||||
"Invite to workspace": "Convidar para espaço de trabalho",
|
||||
"Promote to {{ role }}": "Promover para {{ role }}",
|
||||
"Demote to {{ role }}": "Rebaixar para {{ role }}",
|
||||
"Update role": "Atualizar papel",
|
||||
"Update role": "Atualizar função",
|
||||
"Delete user": "Eliminar utilizador",
|
||||
"Collection": "Coleção",
|
||||
"Debug": "Depurar",
|
||||
@@ -237,6 +240,8 @@
|
||||
"You will receive an email when it's complete.": "Receberá um e-mail quando estiver completo.",
|
||||
"Include attachments": "Incluir anexos",
|
||||
"Including uploaded images and files in the exported data": "A incluir imagens e ficheiros nos dados a exportar",
|
||||
"Filter": "Filtrar",
|
||||
"No results": "Sem resultados",
|
||||
"{{ count }} member": "{{ count }} membro",
|
||||
"{{ count }} member_plural": "{{ count }} membros",
|
||||
"Group members": "Membros do grupo",
|
||||
@@ -332,9 +337,9 @@
|
||||
"Move document": "Mover documento",
|
||||
"New doc": "Novo doc",
|
||||
"You can't reorder documents in an alphabetically sorted collection": "Não pode reordenar documentos numa coleção ordenada alfabeticamente",
|
||||
"Empty": "Vazio",
|
||||
"Collections": "Coleções",
|
||||
"Document not supported – try Markdown, Plain text, HTML, or Word": "Documento não suportado — tente Markdown, texto simples, HTML ou Word",
|
||||
"Empty": "Vazio",
|
||||
"Go back": "Voltar",
|
||||
"Go forward": "Avançar",
|
||||
"Could not load shared documents": "Não foi possível carregar documentos favoritos",
|
||||
@@ -347,9 +352,8 @@
|
||||
"{{ releasesBehind }} versions behind_plural": "{{ releasesBehind }} versões atrás",
|
||||
"Return to App": "Voltar à Aplicação",
|
||||
"Installation": "Instalação",
|
||||
"Unstar document": "Unstar document",
|
||||
"Unstar document": "Desmarcar documento",
|
||||
"Star document": "Documento favorito",
|
||||
"No results": "Sem resultados",
|
||||
"Previous page": "Página anterior",
|
||||
"Next page": "Próxima página",
|
||||
"Template created, go ahead and customize it": "Modelo criado, já o pode personalizar",
|
||||
@@ -377,6 +381,7 @@
|
||||
"Replacement": "Substituição",
|
||||
"Replace": "Substituir",
|
||||
"Replace all": "Trocar todos",
|
||||
"{{ userName }} won't by notified as they do not have access to this document": "{{ userName }} não será notificado pois não tem acesso a este documento",
|
||||
"Profile picture": "Imagem de perfil",
|
||||
"Add column after": "Adicionar coluna depois",
|
||||
"Add column before": "Adicionar coluna antes",
|
||||
@@ -456,7 +461,7 @@
|
||||
"Video": "Vídeo",
|
||||
"None": "Nenhum",
|
||||
"Could not import file": "Não foi possível importar o ficheiro",
|
||||
"Unsubscribed from document": "Unsubscribed from document",
|
||||
"Unsubscribed from document": "Desinscrever do documento",
|
||||
"Account": "Conta",
|
||||
"API": "API",
|
||||
"Details": "Detalhes",
|
||||
@@ -536,9 +541,6 @@
|
||||
"Collection menu": "Menu de coleções",
|
||||
"Drop documents to import": "Arraste documentos para importar",
|
||||
"<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.": "<em>{{ collectionName }}</em> não contém\n documentos ainda.",
|
||||
"Get started by creating a new one!": "Para começar, crie um documento novo!",
|
||||
"Create a document": "Criar documento",
|
||||
"Manage permissions": "Gerir permissões",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access": "{{ usersCount }} utilizador e {{ groupsCount }} grupos com acesso",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access_plural": "{{ usersCount }} utilizadores e {{ groupsCount }} grupos com acesso",
|
||||
"{{ usersCount }} users and a group have access": "{{ usersCount }} utilizador e um grupos com acesso",
|
||||
@@ -548,8 +550,6 @@
|
||||
"{{ groupsCount }} groups with access": "{{ usersCount }} grupo com acesso",
|
||||
"{{ groupsCount }} groups with access_plural": "{{ usersCount }} grupos com acesso",
|
||||
"Share": "Compartilhar",
|
||||
"This collection is only visible to those given access": "Coleção apenas visível para aqueles com acesso",
|
||||
"Private": "Privado",
|
||||
"Recently updated": "Atualizado recentemente",
|
||||
"Recently published": "Publicado recentemente",
|
||||
"Least recently updated": "Menos atualizado recentemente",
|
||||
@@ -632,7 +632,6 @@
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.": "Tem certeza? Apagar o documento <em>{{ documentTitle }}</em> apagará todo o seu histórico e </em>{{ any }} subdocumento</em>.",
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>._plural": "Tem certeza? Apagar o documento <em>{{ documentTitle }}</em> apagará todo o seu histórico e </em>{{ any }} subdocumentos</em>.",
|
||||
"If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.": "Se pretender a opção de referenciar ou restaurar o {{noun}} no futuro, considere antes arquivá-lo.",
|
||||
"Archiving": "A arquivar",
|
||||
"Select a location to move": "Selecione um local para mover",
|
||||
"Document moved": "Documento movido",
|
||||
"Couldn’t move the document, try again?": "Não foi possível mover o documento, tentar novamente?",
|
||||
@@ -726,6 +725,7 @@
|
||||
"Undo": "Anular",
|
||||
"Redo": "Repetir",
|
||||
"Lists": "Listas",
|
||||
"Toggle task list item": "Toggle task list item",
|
||||
"Tab": "Tabulação",
|
||||
"Indent list item": "Avançar indentação",
|
||||
"Outdent list item": "Recuar indentação",
|
||||
@@ -865,7 +865,7 @@
|
||||
"Reset theme": "Redefinir tema",
|
||||
"Accent color": "Acentuar cor",
|
||||
"Accent text color": "Acentuar cor do texto",
|
||||
"Public branding": "Public branding",
|
||||
"Public branding": "Publicação da marca",
|
||||
"Show your team’s logo on public pages like login and shared documents.": "Mostre o logotipo da sua equipa em páginas públicas, como login e documentos partilhados.",
|
||||
"Table of contents position": "Posição do índice",
|
||||
"The side to display the table of contents in relation to the main content.": "O lado para exibir a tabela de conteúdo em relação ao conteúdo principal.",
|
||||
@@ -900,188 +900,187 @@
|
||||
"Enterprise": "Empresa",
|
||||
"Recent imports": "Importações recentes",
|
||||
"Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.": "Todos que entraram em {{appName}} estão listados aqui. É possível que haja outros utilizadores que tenham acesso através de {{signinMethods}}, mas ainda não efetuaram login.",
|
||||
"Filter": "Filtrar",
|
||||
"Receive a notification whenever a new document is published": "Receber uma notificação sempre que um novo documento for publicado",
|
||||
"Document updated": "Documento atualizado",
|
||||
"Receive a notification when a document you are subscribed to is edited": "Receber uma notificação quando um documento a que subscreveu for alterado",
|
||||
"Comment posted": "Comentário publicado",
|
||||
"Receive a notification when a document you are subscribed to or a thread you participated in receives a comment": "Receive a notification when a document you are subscribed to or a thread you participated in receives a comment",
|
||||
"Receive a notification when a document you are subscribed to or a thread you participated in receives a comment": "Receber notificação quando um documento em que está inscrito ou um tópico em que participou receber um comentário",
|
||||
"Mentioned": "Mencionado",
|
||||
"Receive a notification when someone mentions you in a document or comment": "Receive a notification when someone mentions you in a document or comment",
|
||||
"Collection created": "Collection created",
|
||||
"Receive a notification whenever a new collection is created": "Receive a notification whenever a new collection is created",
|
||||
"Invite accepted": "Invite accepted",
|
||||
"Receive a notification when someone you invited creates an account": "Receive a notification when someone you invited creates an account",
|
||||
"Invited to document": "Invited to document",
|
||||
"Receive a notification when a document is shared with you": "Receive a notification when a document is shared with you",
|
||||
"Invited to collection": "Invited to collection",
|
||||
"Receive a notification when you are given access to a collection": "Receive a notification when you are given access to a collection",
|
||||
"Export completed": "Export completed",
|
||||
"Receive a notification when an export you requested has been completed": "Receive a notification when an export you requested has been completed",
|
||||
"Getting started": "Getting started",
|
||||
"Tips on getting started with features and functionality": "Tips on getting started with features and functionality",
|
||||
"New features": "New features",
|
||||
"Receive an email when new features of note are added": "Receive an email when new features of note are added",
|
||||
"Notifications saved": "Notifications saved",
|
||||
"Unsubscription successful. Your notification settings were updated": "Unsubscription successful. Your notification settings were updated",
|
||||
"Manage when and where you receive email notifications.": "Manage when and where you receive email notifications.",
|
||||
"Email address": "Email address",
|
||||
"Your email address should be updated in your SSO provider.": "Your email address should be updated in your SSO provider.",
|
||||
"The email integration is currently disabled. Please set the associated environment variables and restart the server to enable notifications.": "The email integration is currently disabled. Please set the associated environment variables and restart the server to enable notifications.",
|
||||
"Preferences saved": "Preferences saved",
|
||||
"Receive a notification when someone mentions you in a document or comment": "Receber notificação quando alguém o mencionar num documento ou comentário",
|
||||
"Collection created": "Coleção criada",
|
||||
"Receive a notification whenever a new collection is created": "Receber notificação sempre que novo documento for publicado",
|
||||
"Invite accepted": "Convite aceite",
|
||||
"Receive a notification when someone you invited creates an account": "Receber uma notificação quando alguém que convidou criar uma conta",
|
||||
"Invited to document": "Convidado para documento",
|
||||
"Receive a notification when a document is shared with you": "Receber notificação quando documento lhe for partilhado",
|
||||
"Invited to collection": "Convidado para coleção",
|
||||
"Receive a notification when you are given access to a collection": "Receber notificação quando lhe for dado acesso a uma coleção",
|
||||
"Export completed": "Exportação concluída",
|
||||
"Receive a notification when an export you requested has been completed": "Receber notificação quando exportação que pediu for concluída",
|
||||
"Getting started": "Introdução",
|
||||
"Tips on getting started with features and functionality": "Dicas sobre como começar a usar as funcionalidades",
|
||||
"New features": "Novas funcionalidades",
|
||||
"Receive an email when new features of note are added": "Receber um e-mail quando novas caraterísticas da nota forem adicionados",
|
||||
"Notifications saved": "Notificação guardada",
|
||||
"Unsubscription successful. Your notification settings were updated": "Inscrição anulada. Configurações de notificação atualizadas",
|
||||
"Manage when and where you receive email notifications.": "Gerir quando e onde recebe notificações por e-mail.",
|
||||
"Email address": "Endereço de e-mail",
|
||||
"Your email address should be updated in your SSO provider.": "O seu endereço de e-mail deve ser atualizado no provedor SSO.",
|
||||
"The email integration is currently disabled. Please set the associated environment variables and restart the server to enable notifications.": "A integração de e-mail está inativa. Por favor, defina as variáveis de ambiente associadas e reinicie o servidor para habilitar notificações.",
|
||||
"Preferences saved": "Preferências guardadas",
|
||||
"Delete account": "Apagar conta",
|
||||
"Manage settings that affect your personal experience.": "Manage settings that affect your personal experience.",
|
||||
"Manage settings that affect your personal experience.": "Faça a gestão das configurações que afetam a sua experiência pessoal.",
|
||||
"Language": "Língua",
|
||||
"Choose the interface language. Community translations are accepted though our <2>translation portal</2>.": "Choose the interface language. Community translations are accepted though our <2>translation portal</2>.",
|
||||
"Choose your preferred interface color scheme.": "Choose your preferred interface color scheme.",
|
||||
"Use pointer cursor": "Use pointer cursor",
|
||||
"Show a hand cursor when hovering over interactive elements.": "Show a hand cursor when hovering over interactive elements.",
|
||||
"Show line numbers": "Show line numbers",
|
||||
"Show line numbers on code blocks in documents.": "Show line numbers on code blocks in documents.",
|
||||
"When enabled, documents have a separate editing mode. When disabled, documents are always editable when you have permission.": "When enabled, documents have a separate editing mode. When disabled, documents are always editable when you have permission.",
|
||||
"Remember previous location": "Remember previous location",
|
||||
"Automatically return to the document you were last viewing when the app is re-opened.": "Automatically return to the document you were last viewing when the app is re-opened.",
|
||||
"Choose the interface language. Community translations are accepted though our <2>translation portal</2>.": "Selecione a linguagem do interface. Traduções comunitárias são aceites através do <2>portal de traduções</2>",
|
||||
"Choose your preferred interface color scheme.": "Escolha o esquema de cores preferencial",
|
||||
"Use pointer cursor": "Use o ponteiro do cursor",
|
||||
"Show a hand cursor when hovering over interactive elements.": "Mostrar a mão do cursor, ao passar por cima dos elementos interativos",
|
||||
"Show line numbers": "Mostrar números de linha",
|
||||
"Show line numbers on code blocks in documents.": "Mostrar números de linha nos blocos de código dos documentos.",
|
||||
"When enabled, documents have a separate editing mode. When disabled, documents are always editable when you have permission.": "Quando ativo, documentos têm um modo de edição separado. Quando inativo, documentos serão sempre alteráveis quando tiver permissões.",
|
||||
"Remember previous location": "Lembrar localização anterior",
|
||||
"Automatically return to the document you were last viewing when the app is re-opened.": "Automaticamente retornar ao último documento visualizado quando a aplicação for reaberta.",
|
||||
"You may delete your account at any time, note that this is unrecoverable": "Pode apagar a sua conta a qualquer momento, atenção que isso é irrecuperável",
|
||||
"Profile saved": "Perfil guardado",
|
||||
"Profile picture updated": "Foto de perfil foi atualizada",
|
||||
"Unable to upload new profile picture": "Não é possível carregar uma nova foto de perfil",
|
||||
"Manage how you appear to other members of the workspace.": "Manage how you appear to other members of the workspace.",
|
||||
"Manage how you appear to other members of the workspace.": "Gerir como aparece para outros membros da área de trabalho.",
|
||||
"Photo": "Foto",
|
||||
"Choose a photo or image to represent yourself.": "Choose a photo or image to represent yourself.",
|
||||
"This could be your real name, or a nickname — however you’d like people to refer to you.": "This could be your real name, or a nickname — however you’d like people to refer to you.",
|
||||
"Are you sure you want to require invites?": "Are you sure you want to require invites?",
|
||||
"New users will first need to be invited to create an account. <em>Default role</em> and <em>Allowed domains</em> will no longer apply.": "New users will first need to be invited to create an account. <em>Default role</em> and <em>Allowed domains</em> will no longer apply.",
|
||||
"Settings that impact the access, security, and content of your workspace.": "Settings that impact the access, security, and content of your workspace.",
|
||||
"Allow members to sign-in with {{ authProvider }}": "Allow members to sign-in with {{ authProvider }}",
|
||||
"Disabled": "Disabled",
|
||||
"Allow members to sign-in using their email address": "Allow members to sign-in using their email address",
|
||||
"The server must have SMTP configured to enable this setting": "The server must have SMTP configured to enable this setting",
|
||||
"Access": "Access",
|
||||
"Allow users to send invites": "Allow users to send invites",
|
||||
"Allow editors to invite other people to the workspace": "Allow editors to invite other people to the workspace",
|
||||
"Require invites": "Require invites",
|
||||
"Require members to be invited to the workspace before they can create an account using SSO.": "Require members to be invited to the workspace before they can create an account using SSO.",
|
||||
"Default role": "Default role",
|
||||
"The default user role for new accounts. Changing this setting does not affect existing user accounts.": "The default user role for new accounts. Changing this setting does not affect existing user accounts.",
|
||||
"When enabled, documents can be shared publicly on the internet by any member of the workspace": "When enabled, documents can be shared publicly on the internet by any member of the workspace",
|
||||
"Viewer document exports": "Viewer document exports",
|
||||
"When enabled, viewers can see download options for documents": "When enabled, viewers can see download options for documents",
|
||||
"Users can delete account": "Users can delete account",
|
||||
"When enabled, users can delete their own account from the workspace": "When enabled, users can delete their own account from the workspace",
|
||||
"Rich service embeds": "Rich service embeds",
|
||||
"Links to supported services are shown as rich embeds within your documents": "Links to supported services are shown as rich embeds within your documents",
|
||||
"Collection creation": "Collection creation",
|
||||
"Allow editors to create new collections within the workspace": "Allow editors to create new collections within the workspace",
|
||||
"Workspace creation": "Workspace creation",
|
||||
"Allow editors to create new workspaces": "Allow editors to create new workspaces",
|
||||
"Draw.io deployment": "Draw.io deployment",
|
||||
"Add your self-hosted draw.io installation url here to enable automatic embedding of diagrams within documents.": "Add your self-hosted draw.io installation url here to enable automatic embedding of diagrams within documents.",
|
||||
"Grist deployment": "Grist deployment",
|
||||
"Add your self-hosted grist installation URL here.": "Add your self-hosted grist installation URL here.",
|
||||
"Sharing is currently disabled.": "Sharing is currently disabled.",
|
||||
"You can globally enable and disable public document sharing in the <em>security settings</em>.": "You can globally enable and disable public document sharing in the <em>security settings</em>.",
|
||||
"Documents that have been shared are listed below. Anyone that has the public link can access a read-only version of the document until the link has been revoked.": "Documents that have been shared are listed below. Anyone that has the public link can access a read-only version of the document until the link has been revoked.",
|
||||
"You can create templates to help your team create consistent and accurate documentation.": "You can create templates to help your team create consistent and accurate documentation.",
|
||||
"Choose a photo or image to represent yourself.": "Escolha uma foto ou imagem que o represente.",
|
||||
"This could be your real name, or a nickname — however you’d like people to refer to you.": "Pode ser o seu nome real ou alcunha - como entender que outros utilizadores o tratem.",
|
||||
"Are you sure you want to require invites?": "Tem certeza que quer requisitar os convites?",
|
||||
"New users will first need to be invited to create an account. <em>Default role</em> and <em>Allowed domains</em> will no longer apply.": "Novos utilizadores terão de ser convidados para que criem conta. <em>Papel por defeito</em> e <em>domínios permitidos</em> não se aplicam.",
|
||||
"Settings that impact the access, security, and content of your workspace.": "Configurações que impactam acesso, segurança e conteúdo da sua área de trabalho.",
|
||||
"Allow members to sign-in with {{ authProvider }}": "Permitir que membros se autentiquem com {{authProvider}}",
|
||||
"Disabled": "Inativo",
|
||||
"Allow members to sign-in using their email address": "Permitir que membros entrem com endereço de email",
|
||||
"The server must have SMTP configured to enable this setting": "O servidor requer SMTP configurado para habilitar esta configuração",
|
||||
"Access": "Acesso",
|
||||
"Allow users to send invites": "Permitir que utilizadores enviem convites",
|
||||
"Allow editors to invite other people to the workspace": "Permitir que editores convidem outros utilizadores para a área de trabalho",
|
||||
"Require invites": "Requerer convites",
|
||||
"Require members to be invited to the workspace before they can create an account using SSO.": "Requerer que membros sejam convidados para a área de trabalho antes de criar conta utilizando SSO.",
|
||||
"Default role": "Papel por defeito",
|
||||
"The default user role for new accounts. Changing this setting does not affect existing user accounts.": "O papel por defeito de utilizadores para novas contas. Alterar esta configuração não afeta contas existentes.",
|
||||
"When enabled, documents can be shared publicly on the internet by any member of the workspace": "Quando ativo, documentos pode ser partilhados publicamente na Internet por qualquer membro da área de trabalho",
|
||||
"Viewer document exports": "Documentos exportados de Leitor",
|
||||
"When enabled, viewers can see download options for documents": "Quando ativo, leitores podem ver e descarregar opções para documentos",
|
||||
"Users can delete account": "Utilizador podem eliminar conta",
|
||||
"When enabled, users can delete their own account from the workspace": "Quando ativo, utilizadores podem eliminar a sua própria conta da área de trabalho",
|
||||
"Rich service embeds": "Incorporação de serviços enriquecidos",
|
||||
"Links to supported services are shown as rich embeds within your documents": "Ligações para serviços suportados são vistos como serviços enriquecidos nos documentos",
|
||||
"Collection creation": "Criação da coleção",
|
||||
"Allow editors to create new collections within the workspace": "Permitir que editores criar coleções na área de trabalho",
|
||||
"Workspace creation": "Criação de área de trabalho",
|
||||
"Allow editors to create new workspaces": "Permitir que editores criem áreas de trabalho",
|
||||
"Draw.io deployment": "Implementação de Draw.io",
|
||||
"Add your self-hosted draw.io installation url here to enable automatic embedding of diagrams within documents.": "Adicione o URL de instalação de draw.io auto-hospedado aqui para permitir incorporação automática de diagramas em documentos.",
|
||||
"Grist deployment": "Implementação Grist",
|
||||
"Add your self-hosted grist installation URL here.": "Adicione o URL de instalação de grist auto-hospedada aqui.",
|
||||
"Sharing is currently disabled.": "Partilha atualmente inativa",
|
||||
"You can globally enable and disable public document sharing in the <em>security settings</em>.": "Pode ativar e desativar globalmente a partilha pública de documentos nas <em>configurações de segurança</em>.",
|
||||
"Documents that have been shared are listed below. Anyone that has the public link can access a read-only version of the document until the link has been revoked.": "Documentos partilhados estão listados abaixo. Qualquer um que tenha a ligação pública pode aceder a uma versão apenas de leitura do documento até que a ligação seja revogada.",
|
||||
"You can create templates to help your team create consistent and accurate documentation.": "Pode criar modelos para ajudar a sua equipa a criar documentação consistente e precisa.",
|
||||
"Alphabetical": "Alfabético",
|
||||
"There are no templates just yet.": "There are no templates just yet.",
|
||||
"Zapier is a platform that allows {{appName}} to easily integrate with thousands of other business tools. Automate your workflows, sync data, and more.": "Zapier is a platform that allows {{appName}} to easily integrate with thousands of other business tools. Automate your workflows, sync data, and more.",
|
||||
"A confirmation code has been sent to your email address, please enter the code below to permanently destroy this workspace.": "A confirmation code has been sent to your email address, please enter the code below to permanently destroy this workspace.",
|
||||
"Confirmation code": "Confirmation code",
|
||||
"Deleting the <1>{{workspaceName}}</1> workspace will destroy all collections, documents, users, and associated data. You will be immediately logged out of {{appName}}.": "Deleting the <1>{{workspaceName}}</1> workspace will destroy all collections, documents, users, and associated data. You will be immediately logged out of {{appName}}.",
|
||||
"Please note that workspaces are completely separated. They can have a different domain, settings, users, and billing.": "Please note that workspaces are completely separated. They can have a different domain, settings, users, and billing.",
|
||||
"Workspace name": "Workspace name",
|
||||
"You are creating a new workspace using your current account — <em>{{email}}</em>": "You are creating a new workspace using your current account — <em>{{email}}</em>",
|
||||
"To create a workspace under another email please sign up from the homepage": "To create a workspace under another email please sign up from the homepage",
|
||||
"Trash emptied": "Trash emptied",
|
||||
"Are you sure you want to permanently delete all the documents in Trash? This action is immediate and cannot be undone.": "Are you sure you want to permanently delete all the documents in Trash? This action is immediate and cannot be undone.",
|
||||
"Recently deleted": "Recently deleted",
|
||||
"There are no templates just yet.": "Ainda não existem modelos.",
|
||||
"Zapier is a platform that allows {{appName}} to easily integrate with thousands of other business tools. Automate your workflows, sync data, and more.": "Zapier é uma plataforma que permite que {{appName}} se integre facilmente com milhares de outras ferramentas de produtividade. Automatize os fluxos de trabalho, sincronize dados e muito mais.",
|
||||
"A confirmation code has been sent to your email address, please enter the code below to permanently destroy this workspace.": "Um código de confirmação foi enviado para o seu endereço de e-mail, por favor introduza o código abaixo para eliminar permanentemente a área de trabalho.",
|
||||
"Confirmation code": "Código de confirmação",
|
||||
"Deleting the <1>{{workspaceName}}</1> workspace will destroy all collections, documents, users, and associated data. You will be immediately logged out of {{appName}}.": "Excluir área de trabalho <1>{{workspaceName}}</1> eliminará todas as coleções, documentos, utilizadores, e dados associados. Será desligado imediatamente do {{appName}}.",
|
||||
"Please note that workspaces are completely separated. They can have a different domain, settings, users, and billing.": "Por favor, note que as áreas de trabalho estão completamente isoladas. Elas podem ter um domínio, configurações, utilizadores e faturação distintos.",
|
||||
"Workspace name": "Nome da área de trabalho",
|
||||
"You are creating a new workspace using your current account — <em>{{email}}</em>": "Está a criar uma área de trabalho utilizando a conta atual — <em>{{email}}</em>",
|
||||
"To create a workspace under another email please sign up from the homepage": "Para criar área de trabalho através de outro e-mail, por favor registe-se a partir da página inicial",
|
||||
"Trash emptied": "Lixo esvaziado",
|
||||
"Are you sure you want to permanently delete all the documents in Trash? This action is immediate and cannot be undone.": "Tem certeza de que deseja excluir permanentemente todos os documentos no lixo? Esta ação é imediata e não pode ser desfeita.",
|
||||
"Recently deleted": "Eliminados recentemente",
|
||||
"Trash is empty at the moment.": "A reciclagem encontra-se de momento vazia.",
|
||||
"A confirmation code has been sent to your email address, please enter the code below to permanently destroy your account.": "A confirmation code has been sent to your email address, please enter the code below to permanently destroy your account.",
|
||||
"Are you sure? Deleting your account will destroy identifying data associated with your user and cannot be undone. You will be immediately logged out of {{appName}} and all your API tokens will be revoked.": "Are you sure? Deleting your account will destroy identifying data associated with your user and cannot be undone. You will be immediately logged out of {{appName}} and all your API tokens will be revoked.",
|
||||
"Delete my account": "Delete my account",
|
||||
"Today": "Today",
|
||||
"Yesterday": "Yesterday",
|
||||
"Last week": "Last week",
|
||||
"This month": "This month",
|
||||
"Last month": "Last month",
|
||||
"This year": "This year",
|
||||
"Expired yesterday": "Expired yesterday",
|
||||
"Expired {{ date }}": "Expired {{ date }}",
|
||||
"Expires today": "Expires today",
|
||||
"Expires tomorrow": "Expires tomorrow",
|
||||
"Expires {{ date }}": "Expires {{ date }}",
|
||||
"Connect": "Connect",
|
||||
"Whoops, you need to accept the permissions in GitHub to connect {{appName}} to your workspace. Try again?": "Whoops, you need to accept the permissions in GitHub to connect {{appName}} to your workspace. Try again?",
|
||||
"Something went wrong while authenticating your request. Please try logging in again.": "Something went wrong while authenticating your request. Please try logging in again.",
|
||||
"The owner of GitHub account has been requested to install the {{githubAppName}} GitHub app. Once approved, previews will be shown for respective links.": "The owner of GitHub account has been requested to install the {{githubAppName}} GitHub app. Once approved, previews will be shown for respective links.",
|
||||
"Enable previews of GitHub issues and pull requests in documents by connecting a GitHub organization or specific repositories to {appName}.": "Enable previews of GitHub issues and pull requests in documents by connecting a GitHub organization or specific repositories to {appName}.",
|
||||
"Enabled by {{integrationCreatedBy}}": "Enabled by {{integrationCreatedBy}}",
|
||||
"Disconnecting will prevent previewing GitHub links from this organization in documents. Are you sure?": "Disconnecting will prevent previewing GitHub links from this organization in documents. Are you sure?",
|
||||
"The GitHub integration is currently disabled. Please set the associated environment variables and restart the server to enable the integration.": "The GitHub integration is currently disabled. Please set the associated environment variables and restart the server to enable the integration.",
|
||||
"A confirmation code has been sent to your email address, please enter the code below to permanently destroy your account.": "Um código de confirmação foi enviado para o seu endereço de e-mail, por favor introduza o código em baixo para destruir a sua conta permanentemente.",
|
||||
"Are you sure? Deleting your account will destroy identifying data associated with your user and cannot be undone. You will be immediately logged out of {{appName}} and all your API tokens will be revoked.": "Tem a certeza? Apagar a sua conta destruirá os dados de identificação associados ao seu utilizador e não poderá ser desfeito. Será imediatamente desligado do {{appName}} e todos os seus tokens de API serão revogados.",
|
||||
"Delete my account": "Eliminar a minha conta",
|
||||
"Today": "Hoje",
|
||||
"Yesterday": "Ontem",
|
||||
"Last week": "Semana passada",
|
||||
"This month": "Este mês",
|
||||
"Last month": "Mês passado",
|
||||
"This year": "Este ano",
|
||||
"Expired yesterday": "Expirou ontem",
|
||||
"Expired {{ date }}": "Expirou a {{ date }}",
|
||||
"Expires today": "Expira hoje",
|
||||
"Expires tomorrow": "Expira amanhã",
|
||||
"Expires {{ date }}": "Expira em {{ date }}",
|
||||
"Connect": "Ligado",
|
||||
"Whoops, you need to accept the permissions in GitHub to connect {{appName}} to your workspace. Try again?": "Ops, precisa aceitar as permissões no GitHub para ligar {{appName}} à sua área de trabalho. Tentar novamente?",
|
||||
"Something went wrong while authenticating your request. Please try logging in again.": "Aconteceu um erro durante a autenticação. Por favor, tente iniciar a sessão novamente.",
|
||||
"The owner of GitHub account has been requested to install the {{githubAppName}} GitHub app. Once approved, previews will be shown for respective links.": "Foi pedido ao proprietário da conta do GitHub a instalação da aplicação de {{githubAppName}} . Uma vez aprovada, as ligações de pré-visualização ficarão visíveis.",
|
||||
"Enable previews of GitHub issues and pull requests in documents by connecting a GitHub organization or specific repositories to {appName}.": "Habilitar pré-visualizações de problemas no GitHub e pedidos de pull em documentos, ligando-se a uma organização do GitHub ou a repositórios específicos com {appName}.",
|
||||
"Enabled by {{integrationCreatedBy}}": "Habilitado por {{integrationCreatedBy}}",
|
||||
"Disconnecting will prevent previewing GitHub links from this organization in documents. Are you sure?": "Desligar impedirá pré-visualizar ligações do GitHub desta organização em documentos. Tem a certeza?",
|
||||
"The GitHub integration is currently disabled. Please set the associated environment variables and restart the server to enable the integration.": "A integração do GitHub está atualmente inativa. Defina as variáveis de ambiente associadas e reinicie o servidor para permitir a integração.",
|
||||
"Google Analytics": "Google Analytics",
|
||||
"Add a Google Analytics 4 measurement ID to send document views and analytics from the workspace to your own Google Analytics account.": "Add a Google Analytics 4 measurement ID to send document views and analytics from the workspace to your own Google Analytics account.",
|
||||
"Measurement ID": "Measurement ID",
|
||||
"Create a \"Web\" stream in your Google Analytics admin dashboard and copy the measurement ID from the generated code snippet to install.": "Create a \"Web\" stream in your Google Analytics admin dashboard and copy the measurement ID from the generated code snippet to install.",
|
||||
"Configure a Matomo installation to send views and analytics from the workspace to your own Matomo instance.": "Configure a Matomo installation to send views and analytics from the workspace to your own Matomo instance.",
|
||||
"Instance URL": "Instance URL",
|
||||
"The URL of your Matomo instance. If you are using Matomo Cloud it will end in matomo.cloud/": "The URL of your Matomo instance. If you are using Matomo Cloud it will end in matomo.cloud/",
|
||||
"Site ID": "Site ID",
|
||||
"An ID that uniquely identifies the website in your Matomo instance.": "An ID that uniquely identifies the website in your Matomo instance.",
|
||||
"Add to Slack": "Add to Slack",
|
||||
"document published": "document published",
|
||||
"document updated": "document updated",
|
||||
"Posting to the <em>{{ channelName }}</em> channel on": "Posting to the <em>{{ channelName }}</em> channel on",
|
||||
"These events should be posted to Slack": "These events should be posted to Slack",
|
||||
"This will prevent any future updates from being posted to this Slack channel. Are you sure?": "This will prevent any future updates from being posted to this Slack channel. Are you sure?",
|
||||
"Whoops, you need to accept the permissions in Slack to connect {{appName}} to your workspace. Try again?": "Whoops, you need to accept the permissions in Slack to connect {{appName}} to your workspace. Try again?",
|
||||
"Personal account": "Personal account",
|
||||
"Link your {{appName}} account to Slack to enable searching and previewing the documents you have access to, directly within chat.": "Link your {{appName}} account to Slack to enable searching and previewing the documents you have access to, directly within chat.",
|
||||
"Disconnecting your personal account will prevent searching for documents from Slack. Are you sure?": "Disconnecting your personal account will prevent searching for documents from Slack. Are you sure?",
|
||||
"Slash command": "Slash command",
|
||||
"Get rich previews of {{ appName }} links shared in Slack and use the <em>{{ command }}</em> slash command to search for documents without leaving your chat.": "Get rich previews of {{ appName }} links shared in Slack and use the <em>{{ command }}</em> slash command to search for documents without leaving your chat.",
|
||||
"This will remove the Outline slash command from your Slack workspace. Are you sure?": "This will remove the Outline slash command from your Slack workspace. Are you sure?",
|
||||
"Connect {{appName}} collections to Slack channels. Messages will be automatically posted to Slack when documents are published or updated.": "Connect {{appName}} collections to Slack channels. Messages will be automatically posted to Slack when documents are published or updated.",
|
||||
"Comment by {{ author }} on \"{{ title }}\"": "Comment by {{ author }} on \"{{ title }}\"",
|
||||
"How to use {{ command }}": "How to use {{ command }}",
|
||||
"To search your workspace use {{ command }}. \nType {{ command2 }} help to display this help text.": "To search your workspace use {{ command }}. \nType {{ command2 }} help to display this help text.",
|
||||
"Post to Channel": "Post to Channel",
|
||||
"This is what we found for \"{{ term }}\"": "This is what we found for \"{{ term }}\"",
|
||||
"No results for \"{{ term }}\"": "No results for \"{{ term }}\"",
|
||||
"It looks like you haven’t linked your {{ appName }} account to Slack yet": "It looks like you haven’t linked your {{ appName }} account to Slack yet",
|
||||
"Link your account": "Link your account",
|
||||
"Link your account in {{ appName }} settings to search from Slack": "Link your account in {{ appName }} settings to search from Slack",
|
||||
"Configure a Umami installation to send views and analytics from the workspace to your own Umami instance.": "Configure a Umami installation to send views and analytics from the workspace to your own Umami instance.",
|
||||
"The URL of your Umami instance. If you are using Umami Cloud it will begin with {{ url }}": "The URL of your Umami instance. If you are using Umami Cloud it will begin with {{ url }}",
|
||||
"Script name": "Script name",
|
||||
"The name of the script file that Umami uses to track analytics.": "The name of the script file that Umami uses to track analytics.",
|
||||
"An ID that uniquely identifies the website in your Umami instance.": "An ID that uniquely identifies the website in your Umami instance.",
|
||||
"Are you sure you want to delete the {{ name }} webhook?": "Are you sure you want to delete the {{ name }} webhook?",
|
||||
"Webhook updated": "Webhook updated",
|
||||
"Update": "Update",
|
||||
"Updating": "Updating",
|
||||
"Provide a descriptive name for this webhook and the URL we should send a POST request to when matching events are created.": "Provide a descriptive name for this webhook and the URL we should send a POST request to when matching events are created.",
|
||||
"A memorable identifer": "A memorable identifer",
|
||||
"Add a Google Analytics 4 measurement ID to send document views and analytics from the workspace to your own Google Analytics account.": "Adicione um ID de medição do Google Analytics 4 para enviar as visualizações e análises do documento da área de trabalho para a sua conta do Google Analytics.",
|
||||
"Measurement ID": "ID de Medição",
|
||||
"Create a \"Web\" stream in your Google Analytics admin dashboard and copy the measurement ID from the generated code snippet to install.": "Crie um fluxo \"Web\" no painel de administração do Google Analytics e copie o ID de medição a partir do trecho de código gerado para instalar.",
|
||||
"Configure a Matomo installation to send views and analytics from the workspace to your own Matomo instance.": "Configurar uma instalação do Matomo para enviar visualizações e análises da área de trabalho para a sua instância de Matomo.",
|
||||
"Instance URL": "Instância URL",
|
||||
"The URL of your Matomo instance. If you are using Matomo Cloud it will end in matomo.cloud/": "A URL da sua instância Matomo. Se você usar Matomo Cloud, terminará em matomo.cloud/",
|
||||
"Site ID": "ID do Site",
|
||||
"An ID that uniquely identifies the website in your Matomo instance.": "Um ID que identifica exclusivamente o site na instância Matomo.",
|
||||
"Add to Slack": "Adicionar ao Slack",
|
||||
"document published": "documento publicado",
|
||||
"document updated": "documento atualizado",
|
||||
"Posting to the <em>{{ channelName }}</em> channel on": "Publicar no canal <em>{{ channelName }}</em> ativo",
|
||||
"These events should be posted to Slack": "Esses eventos devem ser publicados no Slack",
|
||||
"This will prevent any future updates from being posted to this Slack channel. Are you sure?": "Isto impedirá que futuras atualizações sejam publicadas neste canal do Slack. Tem a certeza?",
|
||||
"Whoops, you need to accept the permissions in Slack to connect {{appName}} to your workspace. Try again?": "Ops, precisa aceitar as permissões no GitHub para ligar {{appName}} à sua área de trabalho. Tentar novamente?",
|
||||
"Personal account": "Conta pessoal",
|
||||
"Link your {{appName}} account to Slack to enable searching and previewing the documents you have access to, directly within chat.": "Ligar a sua conta {{appName}} ao Slack para permitir a procura e pré-visualização dos documentos a que tem acesso, diretamente no chat.",
|
||||
"Disconnecting your personal account will prevent searching for documents from Slack. Are you sure?": "Desligar a conta pessoal impedirá a pesquisa de documentos do Slack. Tem a certeza?",
|
||||
"Slash command": "Comando slash",
|
||||
"Get rich previews of {{ appName }} links shared in Slack and use the <em>{{ command }}</em> slash command to search for documents without leaving your chat.": "Obtenha visualizações ricas das ligações de {{ appName }} partilhadas no Slack e use o comando <em>{{ command }}</em> para pesquisar documentos sem sair do chat.",
|
||||
"This will remove the Outline slash command from your Slack workspace. Are you sure?": "Isto irá remover os comando slash do Outline da área de trabalho Slack. Tem certeza?",
|
||||
"Connect {{appName}} collections to Slack channels. Messages will be automatically posted to Slack when documents are published or updated.": "Ligar coleções de {{appName}} aos canais do Slack. Mensagens serão automaticamente publicadas no Slack quando os documentos forem publicados ou atualizados.",
|
||||
"Comment by {{ author }} on \"{{ title }}\"": "Comentário de {{ author }} em \"{{ title }}\"",
|
||||
"How to use {{ command }}": "Como usar {{ command }}",
|
||||
"To search your workspace use {{ command }}. \nType {{ command2 }} help to display this help text.": "Para procurar na sua área de trabalho, use {{ command }}. \nEscreva {{ command2 }} para mostrar este texto de ajuda.",
|
||||
"Post to Channel": "Publicar no canal",
|
||||
"This is what we found for \"{{ term }}\"": "O que encontrámos para \"{{ term }}\"",
|
||||
"No results for \"{{ term }}\"": "Sem resultados para {{ term}}\"",
|
||||
"It looks like you haven’t linked your {{ appName }} account to Slack yet": "Parece que ainda não ligou {{ appName }} ao Slack",
|
||||
"Link your account": "Ligar a sua conta",
|
||||
"Link your account in {{ appName }} settings to search from Slack": "Ligue a sua conta nas configurações de {{ appName }} para pesquisar através do Slack",
|
||||
"Configure a Umami installation to send views and analytics from the workspace to your own Umami instance.": "Configure uma instalação do Umami para enviar visualizações e análises da área de trabalho para uma instância do Umami.",
|
||||
"The URL of your Umami instance. If you are using Umami Cloud it will begin with {{ url }}": "O URL da instância do Umami. Se estiver a usar o Umami Cloud, começará com {{ url }}",
|
||||
"Script name": "Nome do script",
|
||||
"The name of the script file that Umami uses to track analytics.": "O nome do arquivo de script que o Umami usa para acompanhar a análise.",
|
||||
"An ID that uniquely identifies the website in your Umami instance.": "O identificador único que identifica o site na instância Umami.",
|
||||
"Are you sure you want to delete the {{ name }} webhook?": "Tem certeza que deseja excluir o webhook {{ name }}?",
|
||||
"Webhook updated": "Webhook atualizado",
|
||||
"Update": "Atualizar",
|
||||
"Updating": "A atualizar",
|
||||
"Provide a descriptive name for this webhook and the URL we should send a POST request to when matching events are created.": "Forneça um nome descritivo para este webhook e a URL para a qual devemos enviar um pedido POST quando os eventos correspondentes forem criados.",
|
||||
"A memorable identifer": "Um identifador memorável",
|
||||
"URL": "URL",
|
||||
"Signing secret": "Signing secret",
|
||||
"Subscribe to all events, groups, or individual events. We recommend only subscribing to the minimum amount of events that your application needs to function.": "Subscribe to all events, groups, or individual events. We recommend only subscribing to the minimum amount of events that your application needs to function.",
|
||||
"All events": "All events",
|
||||
"All {{ groupName }} events": "All {{ groupName }} events",
|
||||
"Delete webhook": "Delete webhook",
|
||||
"Subscribed events": "Subscribed events",
|
||||
"Edit webhook": "Edit webhook",
|
||||
"Webhook created": "Webhook created",
|
||||
"Signing secret": "Segredo de assinatura",
|
||||
"Subscribe to all events, groups, or individual events. We recommend only subscribing to the minimum amount of events that your application needs to function.": "Inscreva-se em todos os eventos, grupos ou eventos individuais. Recomendamos que se inscreva apenas a quantidade mínima de eventos que a aplicação precisa para funcionar.",
|
||||
"All events": "Todos os eventos",
|
||||
"All {{ groupName }} events": "Todos os eventos de {{ groupName }}",
|
||||
"Delete webhook": "Eliminar webhook",
|
||||
"Subscribed events": "Eventos Subscritos",
|
||||
"Edit webhook": "Alterar Webhook",
|
||||
"Webhook created": "Webhook criado",
|
||||
"Webhooks": "Webhooks",
|
||||
"New webhook": "New webhook",
|
||||
"Webhooks can be used to notify your application when events happen in {{appName}}. Events are sent as a https request with a JSON payload in near real-time.": "Webhooks can be used to notify your application when events happen in {{appName}}. Events are sent as a https request with a JSON payload in near real-time.",
|
||||
"Inactive": "Inactive",
|
||||
"Create a webhook": "Create a webhook",
|
||||
"Never logged in": "Never logged in",
|
||||
"Online now": "Online now",
|
||||
"Online {{ timeAgo }}": "Online {{ timeAgo }}",
|
||||
"Viewed just now": "Viewed just now",
|
||||
"You updated {{ timeAgo }}": "You updated {{ timeAgo }}",
|
||||
"{{ user }} updated {{ timeAgo }}": "{{ user }} updated {{ timeAgo }}",
|
||||
"You created {{ timeAgo }}": "You created {{ timeAgo }}",
|
||||
"{{ user }} created {{ timeAgo }}": "{{ user }} created {{ timeAgo }}",
|
||||
"Uploading": "Uploading"
|
||||
"New webhook": "Novo webhook",
|
||||
"Webhooks can be used to notify your application when events happen in {{appName}}. Events are sent as a https request with a JSON payload in near real-time.": "Webhooks podem ser usados para notificar a sua aplicação quando eventos acontecem no {{appName}}. Os eventos são enviados como um pedido https com uma carga JSON em tempo real.",
|
||||
"Inactive": "Inativo",
|
||||
"Create a webhook": "Criar um webhook",
|
||||
"Never logged in": "Nunca iniciou sessão",
|
||||
"Online now": "Online agora",
|
||||
"Online {{ timeAgo }}": "Visto à {{ timeAgo }}",
|
||||
"Viewed just now": "Visto agora mesmo",
|
||||
"You updated {{ timeAgo }}": "Atualizou à {{ timeAgo }}",
|
||||
"{{ user }} updated {{ timeAgo }}": "{{ user }} atualizado à {{ timeAgo }}",
|
||||
"You created {{ timeAgo }}": "Criou à {{ timeAgo }}",
|
||||
"{{ user }} created {{ timeAgo }}": "{{ user }} criado à {{ timeAgo }}",
|
||||
"Uploading": "A carregar"
|
||||
}
|
||||
|
||||
@@ -72,7 +72,10 @@
|
||||
"Move to collection": "Flytta till samling",
|
||||
"Move {{ documentType }}": "Flytta {{ documentType }}",
|
||||
"Archive": "Arkiv",
|
||||
"Are you sure you want to archive this document?": "Are you sure you want to archive this document?",
|
||||
"Document archived": "Dokumentet arkiverat",
|
||||
"Archiving": "Arkiverar",
|
||||
"Archiving this document will remove it from the collection and search results.": "Archiving this document will remove it from the collection and search results.",
|
||||
"Delete {{ documentName }}": "Ta bort {{ documentName }}",
|
||||
"Permanently delete": "Radera permanent",
|
||||
"Permanently delete {{ documentName }}": "Radera {{ documentName }} permanent",
|
||||
@@ -237,6 +240,8 @@
|
||||
"You will receive an email when it's complete.": "Du kommer att få ett e-postmeddelande när det är klart.",
|
||||
"Include attachments": "Inkludera bilagor",
|
||||
"Including uploaded images and files in the exported data": "Inkluderar uppladdade bilder och filer i den exporterade datan",
|
||||
"Filter": "Filter",
|
||||
"No results": "Inga resultat",
|
||||
"{{ count }} member": "{{ count }} medlem",
|
||||
"{{ count }} member_plural": "{{ count }} medlemmar",
|
||||
"Group members": "Gruppmedlemmar",
|
||||
@@ -332,9 +337,9 @@
|
||||
"Move document": "&Flytta dokument",
|
||||
"New doc": "Nytt dokument",
|
||||
"You can't reorder documents in an alphabetically sorted collection": "Du kan inte ordna om dokument i en alfabetiskt sorterad samling",
|
||||
"Empty": "Tom",
|
||||
"Collections": "Samlingar",
|
||||
"Document not supported – try Markdown, Plain text, HTML, or Word": "Dokumentet stöds inte – prova Markdown, ren text, HTML eller Word",
|
||||
"Empty": "Tom",
|
||||
"Go back": "Gå tillbaka",
|
||||
"Go forward": "Gå vidare",
|
||||
"Could not load shared documents": "Kunde inte ladda delade dokument",
|
||||
@@ -349,7 +354,6 @@
|
||||
"Installation": "Installation",
|
||||
"Unstar document": "Ostjärnmärk dokument",
|
||||
"Star document": "Stjärnmärk dokument",
|
||||
"No results": "Inga resultat",
|
||||
"Previous page": "Föregående sida",
|
||||
"Next page": "Nästa sida",
|
||||
"Template created, go ahead and customize it": "Mall skapad, gå vidare och anpassa den",
|
||||
@@ -377,6 +381,7 @@
|
||||
"Replacement": "Ersättning",
|
||||
"Replace": "Ersätt",
|
||||
"Replace all": "Ersätt alla",
|
||||
"{{ userName }} won't by notified as they do not have access to this document": "{{ userName }} won't by notified as they do not have access to this document",
|
||||
"Profile picture": "Profilbild",
|
||||
"Add column after": "Lägg till kolumn efter",
|
||||
"Add column before": "Lägg till kolumn före",
|
||||
@@ -536,9 +541,6 @@
|
||||
"Collection menu": "Samlingsmeny",
|
||||
"Drop documents to import": "Släpp dokument att importera",
|
||||
"<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.": "<em>{{ collectionName }}</em> innehåller inga\n -dokument ännu.",
|
||||
"Get started by creating a new one!": "Kom igång genom att skapa en ny!",
|
||||
"Create a document": "Skapa ett dokument",
|
||||
"Manage permissions": "Hantera rättigheter",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access": "{{ usersCount }} användare och {{ groupsCount }} grupper med åtkomst",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access_plural": "{{ usersCount }} användare och {{ groupsCount }} grupper med åtkomst",
|
||||
"{{ usersCount }} users and a group have access": "{{ usersCount }} användare och en grupp har åtkomst",
|
||||
@@ -548,8 +550,6 @@
|
||||
"{{ groupsCount }} groups with access": "{{ groupsCount }} grupp med behörighet",
|
||||
"{{ groupsCount }} groups with access_plural": "{{ groupsCount }} grupper med behörighet",
|
||||
"Share": "Dela",
|
||||
"This collection is only visible to those given access": "Denna samling är endast synlig för de som ges åtkomst",
|
||||
"Private": "Privat",
|
||||
"Recently updated": "Nyligen uppdaterad",
|
||||
"Recently published": "Nyligen publicerade",
|
||||
"Least recently updated": "Äldst uppdaterade",
|
||||
@@ -632,7 +632,6 @@
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.": "Är du säker på det? Borttagning av <em>{{ documentTitle }}</em> dokumentet kommer att ta bort all dess historik och <em>{{ any }} nested document</em>.",
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>._plural": "Är du säker på det? Ta bort <em>{{ documentTitle }}</em> dokumentet kommer att ta bort all dess historik och <em>{{ any }} nestlade dokument</em>.",
|
||||
"If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.": "Om du vill ha alternativet att referera eller återställa {{noun}} i framtiden, överväg att arkivera det istället.",
|
||||
"Archiving": "Arkiverar",
|
||||
"Select a location to move": "Välj en plats att flytta",
|
||||
"Document moved": "Dokument flyttat",
|
||||
"Couldn’t move the document, try again?": "Kunde inte flytta dokumentet, försök igen?",
|
||||
@@ -726,6 +725,7 @@
|
||||
"Undo": "Ångra",
|
||||
"Redo": "Upprepa",
|
||||
"Lists": "Listor",
|
||||
"Toggle task list item": "Toggle task list item",
|
||||
"Tab": "Tab",
|
||||
"Indent list item": "Indent-listobjekt",
|
||||
"Outdent list item": "Outdent-listobjekt",
|
||||
@@ -900,7 +900,6 @@
|
||||
"Enterprise": "Enterprise",
|
||||
"Recent imports": "Senaste importer",
|
||||
"Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.": "Alla som har loggat in på {{appName}} är listade här. Det är möjligt att det finns andra användare som har åtkomst genom {{signinMethods}} men som inte har loggat in ännu.",
|
||||
"Filter": "Filter",
|
||||
"Receive a notification whenever a new document is published": "Få en avisering när ett nytt dokument publiceras",
|
||||
"Document updated": "Dokument uppdaterat",
|
||||
"Receive a notification when a document you are subscribed to is edited": "Få ett meddelande när ett dokument du prenumererar på redigerats",
|
||||
|
||||
@@ -72,7 +72,10 @@
|
||||
"Move to collection": "Move to collection",
|
||||
"Move {{ documentType }}": "Move {{ documentType }}",
|
||||
"Archive": "คลังเก็บข้อมูล",
|
||||
"Are you sure you want to archive this document?": "Are you sure you want to archive this document?",
|
||||
"Document archived": "เอกสารที่เก็บถาวร",
|
||||
"Archiving": "Archiving",
|
||||
"Archiving this document will remove it from the collection and search results.": "Archiving this document will remove it from the collection and search results.",
|
||||
"Delete {{ documentName }}": "ลบ {{ documentName }}",
|
||||
"Permanently delete": "ลบอย่างถาวร",
|
||||
"Permanently delete {{ documentName }}": "ลบ {{ documentName }}. อย่างถาวร",
|
||||
@@ -237,6 +240,8 @@
|
||||
"You will receive an email when it's complete.": "You will receive an email when it's complete.",
|
||||
"Include attachments": "Include attachments",
|
||||
"Including uploaded images and files in the exported data": "Including uploaded images and files in the exported data",
|
||||
"Filter": "Filter",
|
||||
"No results": "ไม่มีผลลัพธ์",
|
||||
"{{ count }} member": "{{ count }} member",
|
||||
"{{ count }} member_plural": "{{ count }} members",
|
||||
"Group members": "Group members",
|
||||
@@ -332,9 +337,9 @@
|
||||
"Move document": "ย้ายเอกสาร",
|
||||
"New doc": "สร้างเอกสารใหม่",
|
||||
"You can't reorder documents in an alphabetically sorted collection": "คุณไม่สามารถจัดลำดับเอกสารใหม่ในคอลเลคชั่นที่เรียงตามตัวอักษร",
|
||||
"Empty": "ว่างเปล่า",
|
||||
"Collections": "คอลเลคชั่น",
|
||||
"Document not supported – try Markdown, Plain text, HTML, or Word": "ไม่รองรับเอกสารชนิดนี้ – ลองใช้ Markdown, ข้อความธรรมดา, HTML หรือ Word",
|
||||
"Empty": "ว่างเปล่า",
|
||||
"Go back": "Go back",
|
||||
"Go forward": "Go forward",
|
||||
"Could not load shared documents": "Could not load shared documents",
|
||||
@@ -349,7 +354,6 @@
|
||||
"Installation": "การติดตั้ง",
|
||||
"Unstar document": "Unstar document",
|
||||
"Star document": "Star document",
|
||||
"No results": "ไม่มีผลลัพธ์",
|
||||
"Previous page": "หน้าก่อน",
|
||||
"Next page": "หน้าต่อไป",
|
||||
"Template created, go ahead and customize it": "สร้างเทมเพลตแล้ว ปรับแต่งได้เลย",
|
||||
@@ -377,6 +381,7 @@
|
||||
"Replacement": "Replacement",
|
||||
"Replace": "Replace",
|
||||
"Replace all": "Replace all",
|
||||
"{{ userName }} won't by notified as they do not have access to this document": "{{ userName }} won't by notified as they do not have access to this document",
|
||||
"Profile picture": "Profile picture",
|
||||
"Add column after": "Add column after",
|
||||
"Add column before": "Add column before",
|
||||
@@ -536,9 +541,6 @@
|
||||
"Collection menu": "Collection menu",
|
||||
"Drop documents to import": "Drop documents to import",
|
||||
"<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.": "<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.",
|
||||
"Get started by creating a new one!": "Get started by creating a new one!",
|
||||
"Create a document": "Create a document",
|
||||
"Manage permissions": "Manage permissions",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access": "{{ usersCount }} user and {{ groupsCount }} groups with access",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access_plural": "{{ usersCount }} users and {{ groupsCount }} groups with access",
|
||||
"{{ usersCount }} users and a group have access": "{{ usersCount }} user and a group have access",
|
||||
@@ -548,8 +550,6 @@
|
||||
"{{ groupsCount }} groups with access": "{{ groupsCount }} group with access",
|
||||
"{{ groupsCount }} groups with access_plural": "{{ groupsCount }} groups with access",
|
||||
"Share": "Share",
|
||||
"This collection is only visible to those given access": "คอลเลคชั่นนี้มองเห็นได้เฉพาะผู้ที่ได้รับสิทธิ์เข้าถึงเท่านั้น",
|
||||
"Private": "Private",
|
||||
"Recently updated": "Recently updated",
|
||||
"Recently published": "Recently published",
|
||||
"Least recently updated": "Least recently updated",
|
||||
@@ -632,7 +632,6 @@
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.": "Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.",
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>._plural": "Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested documents</em>.",
|
||||
"If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.": "If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.",
|
||||
"Archiving": "Archiving",
|
||||
"Select a location to move": "Select a location to move",
|
||||
"Document moved": "Document moved",
|
||||
"Couldn’t move the document, try again?": "Couldn’t move the document, try again?",
|
||||
@@ -726,6 +725,7 @@
|
||||
"Undo": "Undo",
|
||||
"Redo": "Redo",
|
||||
"Lists": "Lists",
|
||||
"Toggle task list item": "Toggle task list item",
|
||||
"Tab": "Tab",
|
||||
"Indent list item": "Indent list item",
|
||||
"Outdent list item": "Outdent list item",
|
||||
@@ -900,7 +900,6 @@
|
||||
"Enterprise": "Enterprise",
|
||||
"Recent imports": "Recent imports",
|
||||
"Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.": "Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.",
|
||||
"Filter": "Filter",
|
||||
"Receive a notification whenever a new document is published": "Receive a notification whenever a new document is published",
|
||||
"Document updated": "Document updated",
|
||||
"Receive a notification when a document you are subscribed to is edited": "Receive a notification when a document you are subscribed to is edited",
|
||||
|
||||
@@ -72,7 +72,10 @@
|
||||
"Move to collection": "Move to collection",
|
||||
"Move {{ documentType }}": "{{ documentType }} taşı",
|
||||
"Archive": "Arşivle",
|
||||
"Are you sure you want to archive this document?": "Are you sure you want to archive this document?",
|
||||
"Document archived": "Belge arşivlendi",
|
||||
"Archiving": "Arşivleniyor",
|
||||
"Archiving this document will remove it from the collection and search results.": "Archiving this document will remove it from the collection and search results.",
|
||||
"Delete {{ documentName }}": "{{ documentName }} sil",
|
||||
"Permanently delete": "Kalıcı olarak sil",
|
||||
"Permanently delete {{ documentName }}": "{{ documentName }} kalıcı olarak sil",
|
||||
@@ -237,6 +240,8 @@
|
||||
"You will receive an email when it's complete.": "Tamamlandığında bir e-posta alacaksınız.",
|
||||
"Include attachments": "Include attachments",
|
||||
"Including uploaded images and files in the exported data": "Including uploaded images and files in the exported data",
|
||||
"Filter": "Filtre",
|
||||
"No results": "Sonuç bulunamadı",
|
||||
"{{ count }} member": "{{ count }} üye",
|
||||
"{{ count }} member_plural": "{{ count }} üyeler",
|
||||
"Group members": "Grup üyeleri",
|
||||
@@ -332,9 +337,9 @@
|
||||
"Move document": "Belgeyi taşı",
|
||||
"New doc": "Yeni belge",
|
||||
"You can't reorder documents in an alphabetically sorted collection": "Alfabetik olarak sıralanmış bir koleksiyondaki belgeleri yeniden sıralayamazsınız",
|
||||
"Empty": "Boş",
|
||||
"Collections": "Koleksiyonlar",
|
||||
"Document not supported – try Markdown, Plain text, HTML, or Word": "Belge desteklenmiyor - Markdown, Düz Metin, HTML veya Word'ü deneyin",
|
||||
"Empty": "Boş",
|
||||
"Go back": "Geri dön",
|
||||
"Go forward": "İleri git",
|
||||
"Could not load shared documents": "Could not load shared documents",
|
||||
@@ -349,7 +354,6 @@
|
||||
"Installation": "Kurulum",
|
||||
"Unstar document": "Unstar document",
|
||||
"Star document": "Star document",
|
||||
"No results": "Sonuç bulunamadı",
|
||||
"Previous page": "Önceki sayfa",
|
||||
"Next page": "Sonraki sayfa",
|
||||
"Template created, go ahead and customize it": "Şablon oluşturuldu, devam edin ve özelleştirin",
|
||||
@@ -377,6 +381,7 @@
|
||||
"Replacement": "Replacement",
|
||||
"Replace": "Replace",
|
||||
"Replace all": "Replace all",
|
||||
"{{ userName }} won't by notified as they do not have access to this document": "{{ userName }} won't by notified as they do not have access to this document",
|
||||
"Profile picture": "Profil fotoğrafı",
|
||||
"Add column after": "Add column after",
|
||||
"Add column before": "Add column before",
|
||||
@@ -536,9 +541,6 @@
|
||||
"Collection menu": "Koleksiyon menüsü",
|
||||
"Drop documents to import": "İçe aktarılacak belgeleri buraya bırakın",
|
||||
"<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.": "<em>{{ collectionName }}</em> henüz belge içermiyor.",
|
||||
"Get started by creating a new one!": "Yeni bir tane oluşturarak başlayın!",
|
||||
"Create a document": "Bir belge oluştur",
|
||||
"Manage permissions": "Yetkileri yönet",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access": "erişimi olan {{ usersCount }} kullanıcı ve {{ groupsCount }} grup",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access_plural": "erişimi olan {{ usersCount }} kullanıcı ve {{ groupsCount }} grup",
|
||||
"{{ usersCount }} users and a group have access": "{{ usersCount }} kullanıcı ve bir grup erişim yetkisine sahip",
|
||||
@@ -548,8 +550,6 @@
|
||||
"{{ groupsCount }} groups with access": "erişimi olan {{ groupsCount }} grup",
|
||||
"{{ groupsCount }} groups with access_plural": "erişimi olan {{ groupsCount }} grup",
|
||||
"Share": "Paylaş",
|
||||
"This collection is only visible to those given access": "Bu koleksiyon yalnızca erişim izni verilenler tarafından görülebilir",
|
||||
"Private": "Özel",
|
||||
"Recently updated": "Yakında güncellendi",
|
||||
"Recently published": "Yakında yayınlandı",
|
||||
"Least recently updated": "En son güncellenen",
|
||||
@@ -632,7 +632,6 @@
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.": "Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.",
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>._plural": "Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested documents</em>.",
|
||||
"If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.": "Gelecekte {{noun}}'a referans gösterme veya geri yükleme seçeneğini istiyorsanız, bunun yerine onu arşivlemeyi düşünün.",
|
||||
"Archiving": "Arşivleniyor",
|
||||
"Select a location to move": "Select a location to move",
|
||||
"Document moved": "Belge taşındı",
|
||||
"Couldn’t move the document, try again?": "Couldn’t move the document, try again?",
|
||||
@@ -726,6 +725,7 @@
|
||||
"Undo": "Geri al",
|
||||
"Redo": "Yinele",
|
||||
"Lists": "Listeler",
|
||||
"Toggle task list item": "Toggle task list item",
|
||||
"Tab": "Tab",
|
||||
"Indent list item": "Liste öğesinin girintisini arttır",
|
||||
"Outdent list item": "Liste öğesinin girintisini azalt",
|
||||
@@ -900,7 +900,6 @@
|
||||
"Enterprise": "Enterprise",
|
||||
"Recent imports": "Son içe aktarmalar",
|
||||
"Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.": "Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.",
|
||||
"Filter": "Filtre",
|
||||
"Receive a notification whenever a new document is published": "Yeni bir belge yayınlandığında bildirim alın",
|
||||
"Document updated": "Belge güncellendi",
|
||||
"Receive a notification when a document you are subscribed to is edited": "Receive a notification when a document you are subscribed to is edited",
|
||||
|
||||
@@ -72,7 +72,10 @@
|
||||
"Move to collection": "Move to collection",
|
||||
"Move {{ documentType }}": "Перемістити {{ documentType }}",
|
||||
"Archive": "Архівувати",
|
||||
"Are you sure you want to archive this document?": "Are you sure you want to archive this document?",
|
||||
"Document archived": "Документ архівовано",
|
||||
"Archiving": "Архівація",
|
||||
"Archiving this document will remove it from the collection and search results.": "Archiving this document will remove it from the collection and search results.",
|
||||
"Delete {{ documentName }}": "Видалити {{ documentName }}",
|
||||
"Permanently delete": "Видалити остаточно",
|
||||
"Permanently delete {{ documentName }}": "Остаточно видалити {{ documentName }}",
|
||||
@@ -237,6 +240,8 @@
|
||||
"You will receive an email when it's complete.": "Ви отримаєте електронного листа після його завершення.",
|
||||
"Include attachments": "Включити вкладення",
|
||||
"Including uploaded images and files in the exported data": "Включити завантажені зображення та файли в експортовані дані",
|
||||
"Filter": "Фільтр",
|
||||
"No results": "Нічого не знайдено",
|
||||
"{{ count }} member": "{{ count }} учасник",
|
||||
"{{ count }} member_plural": "{{ count }} учасників",
|
||||
"Group members": "Учасники групи",
|
||||
@@ -254,7 +259,7 @@
|
||||
"Frequently Used": "Frequently Used",
|
||||
"Search Results": "Результати пошуку",
|
||||
"Smileys & People": "Smileys & People",
|
||||
"Animals & Nature": "Animals & Nature",
|
||||
"Animals & Nature": "Тварини та природа",
|
||||
"Food & Drink": "Food & Drink",
|
||||
"Activity": "Activity",
|
||||
"Travel & Places": "Travel & Places",
|
||||
@@ -332,9 +337,9 @@
|
||||
"Move document": "Перемістити документ",
|
||||
"New doc": "Новий документ",
|
||||
"You can't reorder documents in an alphabetically sorted collection": "Ви не можете змінити порядок документів у колекції, яка відсортована за алфавітом",
|
||||
"Empty": "Порожньо",
|
||||
"Collections": "Колекції",
|
||||
"Document not supported – try Markdown, Plain text, HTML, or Word": "Документ не підтримується – спробуйте Markdown, TXT-файл, HTML або Word",
|
||||
"Empty": "Порожньо",
|
||||
"Go back": "Назад",
|
||||
"Go forward": "Вперед",
|
||||
"Could not load shared documents": "Could not load shared documents",
|
||||
@@ -349,7 +354,6 @@
|
||||
"Installation": "Встановлення",
|
||||
"Unstar document": "Unstar document",
|
||||
"Star document": "Star document",
|
||||
"No results": "Нічого не знайдено",
|
||||
"Previous page": "Попередня сторінка",
|
||||
"Next page": "Наступна сторінка",
|
||||
"Template created, go ahead and customize it": "Шаблон створено, тепер налаштуйте його під ваші потреби",
|
||||
@@ -377,6 +381,7 @@
|
||||
"Replacement": "Заміна",
|
||||
"Replace": "Замінити",
|
||||
"Replace all": "Замінити все",
|
||||
"{{ userName }} won't by notified as they do not have access to this document": "{{ userName }} won't by notified as they do not have access to this document",
|
||||
"Profile picture": "Аватар",
|
||||
"Add column after": "Add column after",
|
||||
"Add column before": "Add column before",
|
||||
@@ -536,9 +541,6 @@
|
||||
"Collection menu": "Меню колекцій",
|
||||
"Drop documents to import": "Перетягніть документи для імпорту",
|
||||
"<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.": "<em>{{ collectionName }}</em> ще не містить жодного\n документа.",
|
||||
"Get started by creating a new one!": "Почніть із створення нового!",
|
||||
"Create a document": "Створити документ",
|
||||
"Manage permissions": "Керувати правами доступу",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access": "{{ usersCount }} користувач і {{ groupsCount }} груп з доступом",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access_plural": "{{ usersCount }} користувачів і {{ groupsCount }} груп з доступом",
|
||||
"{{ usersCount }} users and a group have access": "{{ usersCount }} користувач і група мають доступ",
|
||||
@@ -548,8 +550,6 @@
|
||||
"{{ groupsCount }} groups with access": "{{ groupsCount }} група з доступом",
|
||||
"{{ groupsCount }} groups with access_plural": "{{ groupsCount }} груп з доступом",
|
||||
"Share": "Поширити",
|
||||
"This collection is only visible to those given access": "Цю колекцію бачать лише ті, хто має доступ",
|
||||
"Private": "Приватний",
|
||||
"Recently updated": "Нещодавно оновлені",
|
||||
"Recently published": "Нещодавно опубліковані",
|
||||
"Least recently updated": "Останнє оновлення",
|
||||
@@ -632,7 +632,6 @@
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.": "Ви впевнені в цьому? Видалення документа <em>{{ documentTitle }}</em> призведе до видалення всієї його історії та <em>{{ any }} вкладених документів</em>.",
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>._plural": "Ви впевнені в цьому? Видалення документа <em>{{ documentTitle }}</em> призведе до видалення всієї його історії та <em>{{ any }} вкладених документів</em>.",
|
||||
"If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.": "Якщо ви бажаєте мати можливість посилатися на {{noun}} або відновлювати його в майбутньому, подумайте про архівування.",
|
||||
"Archiving": "Архівація",
|
||||
"Select a location to move": "Виберіть місце для переміщення",
|
||||
"Document moved": "Документ переміщено",
|
||||
"Couldn’t move the document, try again?": "Не вдалося перемістити документ, повторіть спробу?",
|
||||
@@ -726,6 +725,7 @@
|
||||
"Undo": "Скасувати",
|
||||
"Redo": "Повторити дію",
|
||||
"Lists": "Списки",
|
||||
"Toggle task list item": "Toggle task list item",
|
||||
"Tab": "Tab",
|
||||
"Indent list item": "Зробити відступ елемента списку",
|
||||
"Outdent list item": "Скасувати відступ елемента списку",
|
||||
@@ -900,7 +900,6 @@
|
||||
"Enterprise": "Enterprise",
|
||||
"Recent imports": "Останні імпорти",
|
||||
"Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.": "Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.",
|
||||
"Filter": "Фільтр",
|
||||
"Receive a notification whenever a new document is published": "Отримувати сповіщення щоразу, коли публікується новий документ",
|
||||
"Document updated": "Документ оновлено",
|
||||
"Receive a notification when a document you are subscribed to is edited": "Отримувати сповіщення про редагування документа, на який ви підписані",
|
||||
|
||||
@@ -72,7 +72,10 @@
|
||||
"Move to collection": "Di chuyển đến bộ sưu tập",
|
||||
"Move {{ documentType }}": "Di chuyển {{ documentType }}",
|
||||
"Archive": "Lưu trữ",
|
||||
"Are you sure you want to archive this document?": "Are you sure you want to archive this document?",
|
||||
"Document archived": "Đã lưu trữ tài liệu",
|
||||
"Archiving": "Lưu trữ",
|
||||
"Archiving this document will remove it from the collection and search results.": "Archiving this document will remove it from the collection and search results.",
|
||||
"Delete {{ documentName }}": "Xóa {{ documentName }}",
|
||||
"Permanently delete": "Xoá vĩnh viễn",
|
||||
"Permanently delete {{ documentName }}": "Xóa vĩnh viễn {{ documentName }}",
|
||||
@@ -237,6 +240,8 @@
|
||||
"You will receive an email when it's complete.": "Bạn sẽ nhận được một email khi nó hoàn tất.",
|
||||
"Include attachments": "Bao gồm tập tin đính kèm",
|
||||
"Including uploaded images and files in the exported data": "Bao gồm hình ảnh và tệp đã tải lên trong dữ liệu đã xuất",
|
||||
"Filter": "Bộ Lọc",
|
||||
"No results": "Không có kết quả",
|
||||
"{{ count }} member": "{{$count}} Thành viên",
|
||||
"{{ count }} member_plural": "{{$count}} Thành viên",
|
||||
"Group members": "Thành viên trong nhóm",
|
||||
@@ -332,9 +337,9 @@
|
||||
"Move document": "Chuyển tài liệu",
|
||||
"New doc": "Tài liệu mới",
|
||||
"You can't reorder documents in an alphabetically sorted collection": "Bạn không thể sắp xếp lại các tài liệu trong bộ sưu tập được sắp xếp theo thứ tự bảng chữ cái",
|
||||
"Empty": "Trống",
|
||||
"Collections": "Bộ sưu tập",
|
||||
"Document not supported – try Markdown, Plain text, HTML, or Word": "Tài liệu không được hỗ trợ - hãy thử Markdown, Plain text, HTML hoặc Word",
|
||||
"Empty": "Trống",
|
||||
"Go back": "Quay lại",
|
||||
"Go forward": "Đi tiếp",
|
||||
"Could not load shared documents": "Could not load shared documents",
|
||||
@@ -349,7 +354,6 @@
|
||||
"Installation": "Cài đặt",
|
||||
"Unstar document": "Unstar document",
|
||||
"Star document": "Star document",
|
||||
"No results": "Không có kết quả",
|
||||
"Previous page": "Trang trước",
|
||||
"Next page": "Trang sau",
|
||||
"Template created, go ahead and customize it": "Đã tạo mẫu, hãy tiếp tục và tùy chỉnh nó",
|
||||
@@ -377,6 +381,7 @@
|
||||
"Replacement": "Replacement",
|
||||
"Replace": "Thay thế",
|
||||
"Replace all": "Thay thế tất cả",
|
||||
"{{ userName }} won't by notified as they do not have access to this document": "{{ userName }} won't by notified as they do not have access to this document",
|
||||
"Profile picture": "Ảnh đại diện",
|
||||
"Add column after": "Thêm cột phía sau",
|
||||
"Add column before": "Thêm cột phía trước",
|
||||
@@ -536,9 +541,6 @@
|
||||
"Collection menu": "Menu bộ sưu tập",
|
||||
"Drop documents to import": "Thả tài liệu để nhập",
|
||||
"<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.": "<em>{{ collectionName }}</em> chưa có\n tài liệu nào.",
|
||||
"Get started by creating a new one!": "Bắt đầu bằng cách tạo một cái mới!",
|
||||
"Create a document": "Tạo tài liệu",
|
||||
"Manage permissions": "Quản lý quyền hạn",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access": "{{ usersCount }} người dùng và {{ groupsCount }} nhóm có quyền truy cập",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access_plural": "{{ usersCount }} người dùng và {{ groupsCount }} nhóm có quyền truy cập",
|
||||
"{{ usersCount }} users and a group have access": "{{ usersCount }} người dùng và một nhóm có quyền truy cập",
|
||||
@@ -548,8 +550,6 @@
|
||||
"{{ groupsCount }} groups with access": "{{ groupsCount }} nhóm có quyền truy cập",
|
||||
"{{ groupsCount }} groups with access_plural": "{{ groupsCount }} nhóm có quyền truy cập",
|
||||
"Share": "Chia sẻ",
|
||||
"This collection is only visible to those given access": "Bộ sưu tập này chỉ hiển thị với những người được cấp quyền truy cập",
|
||||
"Private": "Riêng tư",
|
||||
"Recently updated": "Được cập nhật gần đây",
|
||||
"Recently published": "Đăng tải gần đây",
|
||||
"Least recently updated": "Cập nhật ít nhất gần đây",
|
||||
@@ -632,7 +632,6 @@
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.": "Bạn có chắc chắn về điều đó không? Xóa tài liệu <em>{{ documentTitle }}</em> sẽ xóa tất cả lịch sử của nó và <em>{{ any }} tài liệu lồng nhau</em>.",
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>._plural": "Bạn có chắc chắn về điều đó không? Xóa tài liệu <em>{{ documentTitle }}</em> sẽ xóa tất cả lịch sử của nó và <em>{{ any }} tài liệu lồng nhau</em>.",
|
||||
"If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.": "Nếu bạn muốn tùy chọn tham chiếu hoặc khôi phục số {{noun}} trong tương lai, hãy xem xét lưu trữ nó thay thế.",
|
||||
"Archiving": "Lưu trữ",
|
||||
"Select a location to move": "Chọn vị trí để di chuyển",
|
||||
"Document moved": "Tài liệu đã được di chuyển",
|
||||
"Couldn’t move the document, try again?": "Không thể di chuyển tài liệu, hãy thử lại?",
|
||||
@@ -726,6 +725,7 @@
|
||||
"Undo": "Hoàn tác",
|
||||
"Redo": "Làm lại",
|
||||
"Lists": "Danh sách",
|
||||
"Toggle task list item": "Toggle task list item",
|
||||
"Tab": "Tab",
|
||||
"Indent list item": "Mục danh sách thụt lề",
|
||||
"Outdent list item": "Mục danh sách cũ",
|
||||
@@ -900,7 +900,6 @@
|
||||
"Enterprise": "Doanh nghiệp",
|
||||
"Recent imports": "Kết xuất gần đây",
|
||||
"Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.": "Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.",
|
||||
"Filter": "Bộ Lọc",
|
||||
"Receive a notification whenever a new document is published": "Nhận thông báo bất cứ khi nào một tài liệu mới được xuất bản",
|
||||
"Document updated": "Tài liệu được cập nhật",
|
||||
"Receive a notification when a document you are subscribed to is edited": "Nhận thông báo khi tài liệu bạn đã đăng ký được chỉnh sửa",
|
||||
|
||||
@@ -72,7 +72,10 @@
|
||||
"Move to collection": "移动到文档集",
|
||||
"Move {{ documentType }}": "移动 {{ documentType }}",
|
||||
"Archive": "归档",
|
||||
"Are you sure you want to archive this document?": "你确定要归档此文档吗?",
|
||||
"Document archived": "文件已归档",
|
||||
"Archiving": "正在归档",
|
||||
"Archiving this document will remove it from the collection and search results.": "归档此文档将从文档集和搜索结果中删除它。",
|
||||
"Delete {{ documentName }}": "删除{{ documentName }}",
|
||||
"Permanently delete": "永久删除",
|
||||
"Permanently delete {{ documentName }}": "永久删除{{ documentName }}",
|
||||
@@ -237,6 +240,8 @@
|
||||
"You will receive an email when it's complete.": "完成后,你将收到一封电子邮件。",
|
||||
"Include attachments": "包含附件",
|
||||
"Including uploaded images and files in the exported data": "导出数据中包含上传的图片和文件",
|
||||
"Filter": "筛选",
|
||||
"No results": "没有结果",
|
||||
"{{ count }} member": "{{ count }} 位成员",
|
||||
"{{ count }} member_plural": "{{ count }} 位成员",
|
||||
"Group members": "群组成员",
|
||||
@@ -332,9 +337,9 @@
|
||||
"Move document": "移动文档",
|
||||
"New doc": "新建文档",
|
||||
"You can't reorder documents in an alphabetically sorted collection": "你不能在按字母排序的文档集中排序",
|
||||
"Empty": "空",
|
||||
"Collections": "文档集",
|
||||
"Document not supported – try Markdown, Plain text, HTML, or Word": "不支持的文档类型 - 请用Markdown,纯文本,HTML或Word格式",
|
||||
"Empty": "空",
|
||||
"Go back": "返回",
|
||||
"Go forward": "前进",
|
||||
"Could not load shared documents": "无法加载共享文档",
|
||||
@@ -349,7 +354,6 @@
|
||||
"Installation": "安装",
|
||||
"Unstar document": "取消收藏文档",
|
||||
"Star document": "收藏文档",
|
||||
"No results": "没有结果",
|
||||
"Previous page": "上一页",
|
||||
"Next page": "下一页",
|
||||
"Template created, go ahead and customize it": "模板已创建,继续进行自定义",
|
||||
@@ -377,6 +381,7 @@
|
||||
"Replacement": "替换",
|
||||
"Replace": "替换",
|
||||
"Replace all": "全部替换",
|
||||
"{{ userName }} won't by notified as they do not have access to this document": "{{ userName }} 不会被通知,因为他们没有访问此文档的权限",
|
||||
"Profile picture": "个人头像",
|
||||
"Add column after": "在后面添加列",
|
||||
"Add column before": "在前面添加列",
|
||||
@@ -480,7 +485,7 @@
|
||||
"Alphabetical sort": "按字母顺序排序",
|
||||
"Manual sort": "手动排序",
|
||||
"Comment options": "评论选项",
|
||||
"Show document menu": "Show document menu",
|
||||
"Show document menu": "显示文档菜单",
|
||||
"{{ documentName }} restored": "{{ documentName }} 已被恢复",
|
||||
"Document options": "文档选项",
|
||||
"Restore": "恢复",
|
||||
@@ -536,9 +541,6 @@
|
||||
"Collection menu": "文档集菜单",
|
||||
"Drop documents to import": "拖放文档以导入",
|
||||
"<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.": "<em>{{ collectionName }}</em> 尚未包含任何文档",
|
||||
"Get started by creating a new one!": "从创建一个新文档集开始!",
|
||||
"Create a document": "创建文档",
|
||||
"Manage permissions": "权限管理",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access": "{{ usersCount }} 个用户和 {{ groupsCount }} 个组有访问权限",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access_plural": "{{ usersCount }} 个用户和 {{ groupsCount }} 个组有访问权限",
|
||||
"{{ usersCount }} users and a group have access": "{{ usersCount }} 个用户和一个组有访问权限",
|
||||
@@ -548,8 +550,6 @@
|
||||
"{{ groupsCount }} groups with access": "{{ groupsCount }} 个组有访问权限",
|
||||
"{{ groupsCount }} groups with access_plural": "{{ groupsCount }} 个组有访问权限",
|
||||
"Share": "分享",
|
||||
"This collection is only visible to those given access": "此文档集仅对具有访问权限的用户可见",
|
||||
"Private": "私有的",
|
||||
"Recently updated": "最近更新",
|
||||
"Recently published": "最近发布",
|
||||
"Least recently updated": "最近最少更新",
|
||||
@@ -632,7 +632,6 @@
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.": "你确定吗?删除文档 <em>{{ documentTitle }}</em> 将一并删除其所有历史记录与其包含的 <em>{{ any }} 份子文档</em>。",
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>._plural": "你确定吗?删除文档 <em>{{ documentTitle }}</em> 将一并删除其所有历史记录与其包含的 <em>{{ any }} 份子文档</em>。",
|
||||
"If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.": "如果你将来希望引用或还原{{noun}},请考虑将其存档。",
|
||||
"Archiving": "正在归档",
|
||||
"Select a location to move": "选择要移动的目标位置",
|
||||
"Document moved": "文档已被移动",
|
||||
"Couldn’t move the document, try again?": "无法移动文档,请重试",
|
||||
@@ -726,6 +725,7 @@
|
||||
"Undo": "撤销",
|
||||
"Redo": "重做",
|
||||
"Lists": "列表",
|
||||
"Toggle task list item": "切换任务列表项",
|
||||
"Tab": "制表符",
|
||||
"Indent list item": "缩进列表项",
|
||||
"Outdent list item": "凸出清单项目",
|
||||
@@ -900,7 +900,6 @@
|
||||
"Enterprise": "企业服务",
|
||||
"Recent imports": "最近导入",
|
||||
"Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.": "每个登录到 {{appName}} 的用户都会出现在这里。可能还有其他用户可以通过 {{signinMethods}} 访问,但还尚未登录。",
|
||||
"Filter": "筛选",
|
||||
"Receive a notification whenever a new document is published": "每当发布新文档时收到通知",
|
||||
"Document updated": "文档已更新",
|
||||
"Receive a notification when a document you are subscribed to is edited": "每当你订阅的文档被编辑时收到通知",
|
||||
@@ -966,7 +965,7 @@
|
||||
"When enabled, documents can be shared publicly on the internet by any member of the workspace": "启用后,工作区的任何成员都可以在互联网上公开共享文档",
|
||||
"Viewer document exports": "浏览者文档导出",
|
||||
"When enabled, viewers can see download options for documents": "启用时,浏览者可以看到文档的下载选项",
|
||||
"Users can delete account": "Users can delete account",
|
||||
"Users can delete account": "用户可以删除账号",
|
||||
"When enabled, users can delete their own account from the workspace": "如果启用,用户可以从工作区删除自己的帐户",
|
||||
"Rich service embeds": "富文本嵌入服务",
|
||||
"Links to supported services are shown as rich embeds within your documents": "受 Outline 服务支持的链接可作为富文本嵌入显示在你的文档中",
|
||||
@@ -1050,11 +1049,11 @@
|
||||
"It looks like you haven’t linked your {{ appName }} account to Slack yet": "看起来你还没有将你的 {{ appName }} 帐户连接到Slack",
|
||||
"Link your account": "关联你的帐户",
|
||||
"Link your account in {{ appName }} settings to search from Slack": "在 {{ appName }} 设置中连接你的帐户以从Slack中搜索",
|
||||
"Configure a Umami installation to send views and analytics from the workspace to your own Umami instance.": "Configure a Umami installation to send views and analytics from the workspace to your own Umami instance.",
|
||||
"The URL of your Umami instance. If you are using Umami Cloud it will begin with {{ url }}": "The URL of your Umami instance. If you are using Umami Cloud it will begin with {{ url }}",
|
||||
"Script name": "Script name",
|
||||
"The name of the script file that Umami uses to track analytics.": "The name of the script file that Umami uses to track analytics.",
|
||||
"An ID that uniquely identifies the website in your Umami instance.": "An ID that uniquely identifies the website in your Umami instance.",
|
||||
"Configure a Umami installation to send views and analytics from the workspace to your own Umami instance.": "配置 Umami 安装以将视图和分析从工作区发送到您自己的 Umami 实例。",
|
||||
"The URL of your Umami instance. If you are using Umami Cloud it will begin with {{ url }}": "Umami 实例的 URL。如果你使用 Umami Cloud,它将以 {{ url }} 开始",
|
||||
"Script name": "脚本名称",
|
||||
"The name of the script file that Umami uses to track analytics.": "Umami 用于跟踪分析的脚本文件名称。",
|
||||
"An ID that uniquely identifies the website in your Umami instance.": "在您的 Umami 实例中识别网站的唯一ID。",
|
||||
"Are you sure you want to delete the {{ name }} webhook?": "你确定要删除这个 {{ name }} webhook 吗?",
|
||||
"Webhook updated": "Webhook 已更新",
|
||||
"Update": "更新",
|
||||
@@ -1084,4 +1083,4 @@
|
||||
"You created {{ timeAgo }}": "{{ timeAgo }} 由你创建",
|
||||
"{{ user }} created {{ timeAgo }}": "{{ timeAgo }} 由 {{ user }} 创建",
|
||||
"Uploading": "上传中"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,7 +72,10 @@
|
||||
"Move to collection": "移至收藏",
|
||||
"Move {{ documentType }}": "移動 {{ documentType }}",
|
||||
"Archive": "封存",
|
||||
"Are you sure you want to archive this document?": "Are you sure you want to archive this document?",
|
||||
"Document archived": "文件已被封存",
|
||||
"Archiving": "正在封存",
|
||||
"Archiving this document will remove it from the collection and search results.": "Archiving this document will remove it from the collection and search results.",
|
||||
"Delete {{ documentName }}": "刪除 {{ documentName }}",
|
||||
"Permanently delete": "永久刪除",
|
||||
"Permanently delete {{ documentName }}": "永久刪除 {{ documentName }}",
|
||||
@@ -237,6 +240,8 @@
|
||||
"You will receive an email when it's complete.": "完成後,您將收到一封電子郵件。",
|
||||
"Include attachments": "包含附件",
|
||||
"Including uploaded images and files in the exported data": "在輸出的數據中將會包含您上傳的圖片跟文件",
|
||||
"Filter": "篩選器",
|
||||
"No results": "找不到任何結果",
|
||||
"{{ count }} member": "{{ count }} 位成員",
|
||||
"{{ count }} member_plural": "{{ count }} 位成員",
|
||||
"Group members": "群組成員",
|
||||
@@ -332,9 +337,9 @@
|
||||
"Move document": "移動文件",
|
||||
"New doc": "新文件",
|
||||
"You can't reorder documents in an alphabetically sorted collection": "您無法對按字母順序排序的文件集中的文件再重新排序",
|
||||
"Empty": "空無一物",
|
||||
"Collections": "文件集",
|
||||
"Document not supported – try Markdown, Plain text, HTML, or Word": "不支援的文件格式-請嘗試使用 Markdown、純文字、HTML 或 Word 格式",
|
||||
"Empty": "空無一物",
|
||||
"Go back": "返回",
|
||||
"Go forward": "前進",
|
||||
"Could not load shared documents": "無法載入分享文件",
|
||||
@@ -349,7 +354,6 @@
|
||||
"Installation": "安裝",
|
||||
"Unstar document": "取消星號",
|
||||
"Star document": "標示星號",
|
||||
"No results": "找不到任何結果",
|
||||
"Previous page": "上一頁",
|
||||
"Next page": "下一頁",
|
||||
"Template created, go ahead and customize it": "範本已經建立,繼續將其客製化",
|
||||
@@ -377,6 +381,7 @@
|
||||
"Replacement": "替代",
|
||||
"Replace": "取代",
|
||||
"Replace all": "全部取代",
|
||||
"{{ userName }} won't by notified as they do not have access to this document": "{{ userName }} won't by notified as they do not have access to this document",
|
||||
"Profile picture": "大頭貼",
|
||||
"Add column after": "在後面增加一欄",
|
||||
"Add column before": "在前面增加一欄",
|
||||
@@ -536,9 +541,6 @@
|
||||
"Collection menu": "文件集選單",
|
||||
"Drop documents to import": "拖曳文件以進行匯入",
|
||||
"<em>{{ collectionName }}</em> doesn’t contain any\n documents yet.": "<em>{{ collectionName }}</em> 中還沒有任何文件。",
|
||||
"Get started by creating a new one!": "開始建立一個新文件吧!",
|
||||
"Create a document": "建立新文件",
|
||||
"Manage permissions": "管理權限設定",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access": "{{ usersCount }} 位使用者和 {{ groupsCount }} 群組具有存取權限",
|
||||
"{{ usersCount }} users and {{ groupsCount }} groups with access_plural": "{{ usersCount }} 位使用者和 {{ groupsCount }} 群組具有存取權限",
|
||||
"{{ usersCount }} users and a group have access": "{{ usersCount }} 個使用者和一個群組有權限訪問",
|
||||
@@ -548,8 +550,6 @@
|
||||
"{{ groupsCount }} groups with access": "{{ groupsCount }} 個群組擁有存取權限",
|
||||
"{{ groupsCount }} groups with access_plural": "{{ groupsCount }} 個群組擁有存取權限",
|
||||
"Share": "分享",
|
||||
"This collection is only visible to those given access": "只有被授與存取權限的人才能檢視這個文件集",
|
||||
"Private": "私人的",
|
||||
"Recently updated": "最近更新",
|
||||
"Recently published": "最近發布",
|
||||
"Least recently updated": "很久以前更新",
|
||||
@@ -632,7 +632,6 @@
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>.": "您確定要這麼做嗎?將文件 <em>{{ documentTitle }}</em> 刪除同時也會刪除所有它的歷史紀錄以及 <em>{{ any }} 所屬的子文件</em>。",
|
||||
"Are you sure about that? Deleting the <em>{{ documentTitle }}</em> document will delete all of its history and <em>{{ any }} nested document</em>._plural": "您確定要這麼做嗎?將文件 <em>{{ documentTitle }}</em> 刪除同時也會刪除所有它的歷史紀錄以及 <em>{{ any }} 所屬的子文件</em>。",
|
||||
"If you’d like the option of referencing or restoring the {{noun}} in the future, consider archiving it instead.": "如果您希望將來可以引用或還原 {{noun}},請考慮改將其封存。",
|
||||
"Archiving": "正在封存",
|
||||
"Select a location to move": "選擇要移動至的位置",
|
||||
"Document moved": "文件已移動",
|
||||
"Couldn’t move the document, try again?": "無法移動文件,請重新嘗試。",
|
||||
@@ -726,6 +725,7 @@
|
||||
"Undo": "復原",
|
||||
"Redo": "重做",
|
||||
"Lists": "清單",
|
||||
"Toggle task list item": "Toggle task list item",
|
||||
"Tab": "Tab",
|
||||
"Indent list item": "增加清單縮排",
|
||||
"Outdent list item": "減少清單縮排",
|
||||
@@ -900,7 +900,6 @@
|
||||
"Enterprise": "企業用戶",
|
||||
"Recent imports": "最近匯入的",
|
||||
"Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.": "Everyone that has signed into {{appName}} is listed here. It’s possible that there are other users who have access through {{signinMethods}} but haven’t signed in yet.",
|
||||
"Filter": "篩選器",
|
||||
"Receive a notification whenever a new document is published": "當新文件被發布時接收通知",
|
||||
"Document updated": "文件已更新",
|
||||
"Receive a notification when a document you are subscribed to is edited": "當您訂閱的文件被編輯時收到通知",
|
||||
@@ -1084,4 +1083,4 @@
|
||||
"You created {{ timeAgo }}": "{{ timeAgo }} 由您新增",
|
||||
"{{ user }} created {{ timeAgo }}": "{{ timeAgo }} 由 {{ user }} 新增",
|
||||
"Uploading": "正在上傳"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6190,10 +6190,10 @@ builtin-modules@^3.3.0:
|
||||
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6"
|
||||
integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==
|
||||
|
||||
bull@^4.12.2:
|
||||
version "4.12.2"
|
||||
resolved "https://registry.yarnpkg.com/bull/-/bull-4.12.2.tgz#302ee8f35fd37c31baf58817cce9a2c6930c3c5d"
|
||||
integrity sha512-WPuc0VCYx+cIVMiZtPwRpWyyJFBrj4/OgKJ6n9Jf4tIw7rQNV+HAKQv15UDkcTvfpGFehvod7Fd1YztbYSJIDQ==
|
||||
bull@^4.16.3:
|
||||
version "4.16.3"
|
||||
resolved "https://registry.yarnpkg.com/bull/-/bull-4.16.3.tgz#b269b25e15223895719b94b0806e3f06906dbb2e"
|
||||
integrity sha512-BZbPzNiKXczfZPXBTVhcN73b+CQFHTzVb7yJi1bSYld4/8bDc9oh/j/dYTsQBgOAZIZahFeHO6dPHbVEXXCvCg==
|
||||
dependencies:
|
||||
cron-parser "^4.2.1"
|
||||
get-port "^5.1.1"
|
||||
@@ -6617,10 +6617,10 @@ compute-scroll-into-view@1.0.14:
|
||||
resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.14.tgz#80e3ebb25d6aa89f42e533956cb4b16a04cfe759"
|
||||
integrity "sha1-gOPrsl1qqJ9C5TOVbLSxagTP51k= sha512-mKDjINe3tc6hGelUMNDzuhorIUZ7kS7BwyY0r2wQd2HOH2tRuJykiC06iSEX8y1TuhNzvz4GcJnK16mM2J1NMQ=="
|
||||
|
||||
compute-scroll-into-view@^1.0.17:
|
||||
version "1.0.17"
|
||||
resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.17.tgz#6a88f18acd9d42e9cf4baa6bec7e0522607ab7ab"
|
||||
integrity "sha1-aojxis2dQunPS6pr7H4FImB6t6s= sha512-j4dx+Fb0URmzbwwMUrhqWM2BEWHdFGx+qZ9qqASHRPqvTYdqvWnHg0H1hIbcyLnvgnoNAVMlwkepyqM3DaIFUg=="
|
||||
compute-scroll-into-view@^3.0.2:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz#753f11d972596558d8fe7c6bcbc8497690ab4c87"
|
||||
integrity sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==
|
||||
|
||||
concat-map@0.0.1:
|
||||
version "0.0.1"
|
||||
@@ -7504,10 +7504,10 @@ dir-glob@^3.0.1:
|
||||
dependencies:
|
||||
path-type "^4.0.0"
|
||||
|
||||
discord-api-types@^0.37.87:
|
||||
version "0.37.87"
|
||||
resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.37.87.tgz#10169b42f156f149997b8eae964cbf96e387442f"
|
||||
integrity sha512-9KfluFS1J22RuezzouGs2t5X/Yu3jNpmRJrG+dvu1R9R+wfxlhq1RXr/OjjVL6d4rr7Ez92yNWiImf/qX3GV1g==
|
||||
discord-api-types@^0.37.101:
|
||||
version "0.37.101"
|
||||
resolved "https://registry.yarnpkg.com/discord-api-types/-/discord-api-types-0.37.101.tgz#1512a26e35b700b9dfb903a5747741a097f9c8bb"
|
||||
integrity sha512-2wizd94t7G3A8U5Phr3AiuL4gSvhqistDwWnlk1VLTit8BI1jWUncFqFQNdPbHqS3661+Nx/iEyIwtVjPuBP3w==
|
||||
|
||||
dnd-core@^16.0.1:
|
||||
version "16.0.1"
|
||||
@@ -12692,10 +12692,10 @@ prosemirror-transform@^1.0.0, prosemirror-transform@^1.1.0, prosemirror-transfor
|
||||
dependencies:
|
||||
prosemirror-model "^1.21.0"
|
||||
|
||||
prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.13.3, prosemirror-view@^1.27.0, prosemirror-view@^1.31.0, prosemirror-view@^1.34.2:
|
||||
version "1.34.2"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.34.2.tgz#239a1766e46e364666e2b850855361929c4236df"
|
||||
integrity sha512-tPX/V2Xd70vrAGQ/V9CppJtPKnQyQMypJGlLylvdI94k6JaG+4P6fVmXPR1zc1eVTW0gq3c6zsfqwJKCRLaG9Q==
|
||||
prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.13.3, prosemirror-view@^1.27.0, prosemirror-view@^1.31.0, prosemirror-view@^1.34.3:
|
||||
version "1.34.3"
|
||||
resolved "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.34.3.tgz#24b5d2f9196580c23bbe04e9e7a6797cd3a049f6"
|
||||
integrity sha512-mKZ54PrX19sSaQye+sef+YjBbNu2voNwLS1ivb6aD2IRmxRGW64HU9B644+7OfJStGLyxvOreKqEgfvXa91WIA==
|
||||
dependencies:
|
||||
prosemirror-model "^1.20.0"
|
||||
prosemirror-state "^1.0.0"
|
||||
@@ -13608,12 +13608,12 @@ scheduler@^0.20.2:
|
||||
loose-envify "^1.1.0"
|
||||
object-assign "^4.1.1"
|
||||
|
||||
scroll-into-view-if-needed@^2.2.28:
|
||||
version "2.2.28"
|
||||
resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.28.tgz#5a15b2f58a52642c88c8eca584644e01703d645a"
|
||||
integrity "sha1-WhWy9YpSZCyIyOylhGROAXA9ZFo= sha512-8LuxJSuFVc92+0AdNv4QOxRL4Abeo1DgLnGNkn1XlaujPH/3cCFz3QI60r2VNu4obJJROzgnIUw5TKQkZvZI1w=="
|
||||
scroll-into-view-if-needed@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-3.1.0.tgz#fa9524518c799b45a2ef6bbffb92bcad0296d01f"
|
||||
integrity sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==
|
||||
dependencies:
|
||||
compute-scroll-into-view "^1.0.17"
|
||||
compute-scroll-into-view "^3.0.2"
|
||||
|
||||
selderee@^0.11.0:
|
||||
version "0.11.0"
|
||||
@@ -13832,13 +13832,6 @@ smob@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/smob/-/smob-1.5.0.tgz#85d79a1403abf128d24d3ebc1cdc5e1a9548d3ab"
|
||||
integrity sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==
|
||||
|
||||
smooth-scroll-into-view-if-needed@^1.1.33:
|
||||
version "1.1.33"
|
||||
resolved "https://registry.yarnpkg.com/smooth-scroll-into-view-if-needed/-/smooth-scroll-into-view-if-needed-1.1.33.tgz#2c7b88c82784c69030cb0489b9df584e94e01533"
|
||||
integrity "sha1-LHuIyCeExpAwywSJud9YTpTgFTM= sha512-crS8NfAaoPrtVYOCMSAnO2vHRgUp22NiiDgEQ7YiaAy5xe2jmR19Jm+QdL8+97gO8ENd7PUyQIAQojJyIiyRHw=="
|
||||
dependencies:
|
||||
scroll-into-view-if-needed "^2.2.28"
|
||||
|
||||
socket.io-adapter@~2.2.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.2.0.tgz#43af9157c4609e74b8addc6867873ac7eb48fda2"
|
||||
|
||||
Reference in New Issue
Block a user