chore: slate upload ssr
BIN
media/image-1.png
Normal file
|
After Width: | Height: | Size: 88 KiB |
BIN
media/image-2.png
Normal file
|
After Width: | Height: | Size: 88 KiB |
BIN
media/image-3.png
Normal file
|
After Width: | Height: | Size: 88 KiB |
BIN
media/image-4.png
Normal file
|
After Width: | Height: | Size: 88 KiB |
BIN
media/image-5.png
Normal file
|
After Width: | Height: | Size: 88 KiB |
BIN
media/image-6.png
Normal file
|
After Width: | Height: | Size: 88 KiB |
BIN
media/image-7.png
Normal file
|
After Width: | Height: | Size: 88 KiB |
BIN
media/image-8.png
Normal file
|
After Width: | Height: | Size: 88 KiB |
BIN
media/image.png
Normal file
|
After Width: | Height: | Size: 88 KiB |
@@ -58,6 +58,8 @@ const sanitizeCollections = (
|
|||||||
delete sanitized.access
|
delete sanitized.access
|
||||||
delete sanitized.endpoints
|
delete sanitized.endpoints
|
||||||
|
|
||||||
|
if ('editor' in sanitized) delete sanitized.editor
|
||||||
|
|
||||||
if ('admin' in sanitized) {
|
if ('admin' in sanitized) {
|
||||||
sanitized.admin = { ...sanitized.admin }
|
sanitized.admin = { ...sanitized.admin }
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import ol from './ol'
|
|||||||
// import relationship from './relationship'
|
// import relationship from './relationship'
|
||||||
// import textAlign from './textAlign'
|
// import textAlign from './textAlign'
|
||||||
import ul from './ul'
|
import ul from './ul'
|
||||||
// import upload from './upload'
|
import upload from './upload'
|
||||||
|
|
||||||
const elements: Record<string, RichTextCustomElement> = {
|
const elements: Record<string, RichTextCustomElement> = {
|
||||||
blockquote,
|
blockquote,
|
||||||
@@ -31,7 +31,7 @@ const elements: Record<string, RichTextCustomElement> = {
|
|||||||
// relationship,
|
// relationship,
|
||||||
// textAlign,
|
// textAlign,
|
||||||
ul,
|
ul,
|
||||||
// upload,
|
upload,
|
||||||
}
|
}
|
||||||
|
|
||||||
export default elements
|
export default elements
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
'use client'
|
'use client'
|
||||||
|
|
||||||
|
import type { FormState } from '@payloadcms/ui'
|
||||||
|
|
||||||
import { useModal } from '@faceless-ui/modal'
|
import { useModal } from '@faceless-ui/modal'
|
||||||
import { getTranslation } from '@payloadcms/translations'
|
import { getTranslation } from '@payloadcms/translations'
|
||||||
import {
|
import {
|
||||||
Button,
|
Button,
|
||||||
FormState,
|
|
||||||
Popup,
|
Popup,
|
||||||
Translation,
|
Translation,
|
||||||
getFormState,
|
getFormState,
|
||||||
@@ -21,11 +22,13 @@ import React, { useCallback, useEffect, useState } from 'react'
|
|||||||
import { Editor, Node, Transforms } from 'slate'
|
import { Editor, Node, Transforms } from 'slate'
|
||||||
import { ReactEditor, useSlate } from 'slate-react'
|
import { ReactEditor, useSlate } from 'slate-react'
|
||||||
|
|
||||||
|
import type { LinkElementType } from '../types'
|
||||||
|
|
||||||
import { useElement } from '../../../providers/ElementProvider'
|
import { useElement } from '../../../providers/ElementProvider'
|
||||||
import { LinkDrawer } from '../LinkDrawer'
|
import { LinkDrawer } from '../LinkDrawer'
|
||||||
|
import { linkFieldsSchemaPath } from '../shared'
|
||||||
import { unwrapLink } from '../utilities'
|
import { unwrapLink } from '../utilities'
|
||||||
import './index.scss'
|
import './index.scss'
|
||||||
import { LinkElementType } from '../types'
|
|
||||||
|
|
||||||
const baseClass = 'rich-text-link'
|
const baseClass = 'rich-text-link'
|
||||||
|
|
||||||
@@ -58,10 +61,10 @@ export const LinkElement = () => {
|
|||||||
const { attributes, children, editorRef, element, fieldProps, schemaPath } =
|
const { attributes, children, editorRef, element, fieldProps, schemaPath } =
|
||||||
useElement<LinkElementType>()
|
useElement<LinkElementType>()
|
||||||
|
|
||||||
const linkFieldsSchemaPath = `${schemaPath}.link.fields`
|
const fieldMapPath = `${schemaPath}.${linkFieldsSchemaPath}`
|
||||||
|
|
||||||
const { richTextComponentMap } = fieldProps
|
const { richTextComponentMap } = fieldProps
|
||||||
const fieldMap = richTextComponentMap.get(linkFieldsSchemaPath)
|
const fieldMap = richTextComponentMap.get(fieldMapPath)
|
||||||
|
|
||||||
const editor = useSlate()
|
const editor = useSlate()
|
||||||
const config = useConfig()
|
const config = useConfig()
|
||||||
@@ -102,7 +105,7 @@ export const LinkElement = () => {
|
|||||||
data,
|
data,
|
||||||
docPreferences,
|
docPreferences,
|
||||||
operation: 'update',
|
operation: 'update',
|
||||||
schemaPath: linkFieldsSchemaPath,
|
schemaPath: fieldMapPath,
|
||||||
},
|
},
|
||||||
serverURL: config.serverURL,
|
serverURL: config.serverURL,
|
||||||
})
|
})
|
||||||
@@ -111,7 +114,7 @@ export const LinkElement = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
awaitInitialState()
|
awaitInitialState()
|
||||||
}, [renderModal, element, user, locale, t, getDocPreferences, config])
|
}, [renderModal, element, user, locale, t, getDocPreferences, config, id, fieldMapPath])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<span className={baseClass} {...attributes}>
|
<span className={baseClass} {...attributes}>
|
||||||
|
|||||||
@@ -42,9 +42,9 @@ const UploadButton: React.FC<ButtonProps> = ({ enabledCollectionSlugs }) => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
const onSelect = useCallback(
|
const onSelect = useCallback(
|
||||||
({ collectionConfig, docID }) => {
|
({ collectionSlug, docID }) => {
|
||||||
insertUpload(editor, {
|
insertUpload(editor, {
|
||||||
relationTo: collectionConfig.slug,
|
relationTo: collectionSlug,
|
||||||
value: {
|
value: {
|
||||||
id: docID,
|
id: docID,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -9,49 +9,50 @@ import {
|
|||||||
Form,
|
Form,
|
||||||
FormSubmit,
|
FormSubmit,
|
||||||
RenderFields,
|
RenderFields,
|
||||||
buildStateFromSchema,
|
getFormState,
|
||||||
fieldTypes,
|
|
||||||
useAuth,
|
useAuth,
|
||||||
useConfig,
|
useConfig,
|
||||||
useDocumentInfo,
|
useDocumentInfo,
|
||||||
useLocale,
|
useLocale,
|
||||||
useTranslation,
|
useTranslation,
|
||||||
} from '@payloadcms/ui'
|
} from '@payloadcms/ui'
|
||||||
import { sanitizeFields } from 'payload/config'
|
|
||||||
import { deepCopyObject } from 'payload/utilities'
|
import { deepCopyObject } from 'payload/utilities'
|
||||||
import React, { useCallback, useEffect, useState } from 'react'
|
import React, { useCallback, useEffect, useState } from 'react'
|
||||||
import { Transforms } from 'slate'
|
import { Transforms } from 'slate'
|
||||||
import { ReactEditor, useSlateStatic } from 'slate-react'
|
import { ReactEditor, useSlateStatic } from 'slate-react'
|
||||||
|
|
||||||
import type { ElementProps } from '..'
|
import type { FormFieldBase } from '../../../../../../../ui/src/forms/fields/shared'
|
||||||
|
import type { UploadElementType } from '../../types'
|
||||||
|
|
||||||
export const UploadDrawer: React.FC<
|
import { FieldPathProvider } from '../../../../../../../ui/src/forms/FieldPathProvider'
|
||||||
ElementProps & {
|
import { uploadFieldsSchemaPath } from '../../shared'
|
||||||
drawerSlug: string
|
|
||||||
relatedCollection: SanitizedCollectionConfig
|
export const UploadDrawer: React.FC<{
|
||||||
|
drawerSlug: string
|
||||||
|
element: UploadElementType
|
||||||
|
fieldProps: FormFieldBase & {
|
||||||
|
name: string
|
||||||
|
richTextComponentMap: Map<string, React.ReactNode>
|
||||||
}
|
}
|
||||||
> = (props) => {
|
relatedCollection: SanitizedCollectionConfig
|
||||||
|
schemaPath: string
|
||||||
|
}> = (props) => {
|
||||||
const editor = useSlateStatic()
|
const editor = useSlateStatic()
|
||||||
|
|
||||||
const { drawerSlug, element, fieldProps, relatedCollection } = props
|
const { drawerSlug, element, fieldProps, relatedCollection, schemaPath } = props
|
||||||
|
|
||||||
const { i18n, t } = useTranslation()
|
const { i18n, t } = useTranslation()
|
||||||
const { code: locale } = useLocale()
|
const { code: locale } = useLocale()
|
||||||
const { user } = useAuth()
|
const { user } = useAuth()
|
||||||
const { closeModal } = useModal()
|
const { closeModal } = useModal()
|
||||||
const { getDocPreferences } = useDocumentInfo()
|
const { id, getDocPreferences } = useDocumentInfo()
|
||||||
const [initialState, setInitialState] = useState({})
|
const [initialState, setInitialState] = useState({})
|
||||||
const fieldSchemaUnsanitized =
|
const { richTextComponentMap } = fieldProps
|
||||||
fieldProps?.admin?.upload?.collections?.[relatedCollection.slug]?.fields
|
|
||||||
const config = useConfig()
|
|
||||||
|
|
||||||
// Sanitize custom fields here
|
const relatedFieldSchemaPath = `${uploadFieldsSchemaPath}.${relatedCollection.slug}`
|
||||||
const validRelationships = config.collections.map((c) => c.slug) || []
|
const fieldMap = richTextComponentMap.get(relatedFieldSchemaPath)
|
||||||
const fieldSchema = sanitizeFields({
|
|
||||||
config: config,
|
const config = useConfig()
|
||||||
fields: fieldSchemaUnsanitized,
|
|
||||||
validRelationships,
|
|
||||||
})
|
|
||||||
|
|
||||||
const handleUpdateEditData = useCallback(
|
const handleUpdateEditData = useCallback(
|
||||||
(_, data) => {
|
(_, data) => {
|
||||||
@@ -68,31 +69,38 @@ export const UploadDrawer: React.FC<
|
|||||||
)
|
)
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
// Sanitize custom fields here
|
const data = deepCopyObject(element?.fields || {})
|
||||||
const validRelationships = config.collections.map((c) => c.slug) || []
|
|
||||||
const fieldSchema = sanitizeFields({
|
|
||||||
config: config,
|
|
||||||
fields: fieldSchemaUnsanitized,
|
|
||||||
validRelationships,
|
|
||||||
})
|
|
||||||
|
|
||||||
const awaitInitialState = async () => {
|
const awaitInitialState = async () => {
|
||||||
const preferences = await getDocPreferences()
|
const docPreferences = await getDocPreferences()
|
||||||
const state = await buildStateFromSchema({
|
|
||||||
config,
|
const state = await getFormState({
|
||||||
data: deepCopyObject(element?.fields || {}),
|
apiRoute: config.routes.api,
|
||||||
fieldSchema,
|
body: {
|
||||||
locale,
|
id,
|
||||||
operation: 'update',
|
data,
|
||||||
preferences,
|
docPreferences,
|
||||||
t,
|
operation: 'update',
|
||||||
user,
|
schemaPath: `${schemaPath}.${uploadFieldsSchemaPath}.${relatedCollection.slug}`,
|
||||||
|
},
|
||||||
|
serverURL: config.serverURL,
|
||||||
})
|
})
|
||||||
|
|
||||||
setInitialState(state)
|
setInitialState(state)
|
||||||
}
|
}
|
||||||
|
|
||||||
awaitInitialState()
|
awaitInitialState()
|
||||||
}, [fieldSchemaUnsanitized, config, element.fields, user, locale, t, getDocPreferences])
|
}, [
|
||||||
|
config,
|
||||||
|
element?.fields,
|
||||||
|
user,
|
||||||
|
locale,
|
||||||
|
t,
|
||||||
|
getDocPreferences,
|
||||||
|
id,
|
||||||
|
schemaPath,
|
||||||
|
relatedCollection.slug,
|
||||||
|
])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Drawer
|
<Drawer
|
||||||
@@ -101,10 +109,12 @@ export const UploadDrawer: React.FC<
|
|||||||
label: getTranslation(relatedCollection.labels.singular, i18n),
|
label: getTranslation(relatedCollection.labels.singular, i18n),
|
||||||
})}
|
})}
|
||||||
>
|
>
|
||||||
<Form initialState={initialState} onSubmit={handleUpdateEditData}>
|
<FieldPathProvider path="" schemaPath="">
|
||||||
<RenderFields fieldSchema={fieldSchema} fieldTypes={fieldTypes} readOnly={false} />
|
<Form initialState={initialState} onSubmit={handleUpdateEditData}>
|
||||||
<FormSubmit>{t('fields:saveChanges')}</FormSubmit>
|
<RenderFields fieldMap={Array.isArray(fieldMap) ? fieldMap : []} />
|
||||||
</Form>
|
<FormSubmit>{t('fields:saveChanges')}</FormSubmit>
|
||||||
|
</Form>
|
||||||
|
</FieldPathProvider>
|
||||||
</Drawer>
|
</Drawer>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
'use client'
|
'use client'
|
||||||
|
|
||||||
import type { SanitizedCollectionConfig } from 'payload/types'
|
import type { SanitizedCollectionConfig } from 'payload/types'
|
||||||
import type { HTMLAttributes } from 'react'
|
|
||||||
|
|
||||||
import { getTranslation } from '@payloadcms/translations'
|
import { getTranslation } from '@payloadcms/translations'
|
||||||
import {
|
import {
|
||||||
@@ -20,9 +19,12 @@ import React, { useCallback, useReducer, useState } from 'react'
|
|||||||
import { Transforms } from 'slate'
|
import { Transforms } from 'slate'
|
||||||
import { ReactEditor, useFocused, useSelected, useSlateStatic } from 'slate-react'
|
import { ReactEditor, useFocused, useSelected, useSlateStatic } from 'slate-react'
|
||||||
|
|
||||||
import type { FieldProps } from '../../../../types'
|
import type { FormFieldBase } from '../../../../../../ui/src/forms/fields/shared'
|
||||||
|
import type { UploadElementType } from '../types'
|
||||||
|
|
||||||
|
import { useElement } from '../../../providers/ElementProvider'
|
||||||
import { EnabledRelationshipsCondition } from '../../EnabledRelationshipsCondition'
|
import { EnabledRelationshipsCondition } from '../../EnabledRelationshipsCondition'
|
||||||
|
import { uploadFieldsSchemaPath, uploadName } from '../shared'
|
||||||
import { UploadDrawer } from './UploadDrawer'
|
import { UploadDrawer } from './UploadDrawer'
|
||||||
import './index.scss'
|
import './index.scss'
|
||||||
|
|
||||||
@@ -32,23 +34,22 @@ const initialParams = {
|
|||||||
depth: 0,
|
depth: 0,
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ElementProps = {
|
type Props = FormFieldBase & {
|
||||||
attributes: HTMLAttributes<HTMLDivElement>
|
name: string
|
||||||
children: React.ReactNode
|
richTextComponentMap: Map<string, React.ReactNode>
|
||||||
element: any
|
|
||||||
enabledCollectionSlugs: string[]
|
|
||||||
fieldProps: FieldProps
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const Element: React.FC<ElementProps> = (props) => {
|
const Element: React.FC<Props & { enabledCollectionSlugs?: string[] }> = ({
|
||||||
|
enabledCollectionSlugs,
|
||||||
|
}) => {
|
||||||
const {
|
const {
|
||||||
attributes,
|
attributes,
|
||||||
children,
|
children,
|
||||||
element: { relationTo, value },
|
element: { relationTo, value },
|
||||||
element,
|
element,
|
||||||
enabledCollectionSlugs,
|
|
||||||
fieldProps,
|
fieldProps,
|
||||||
} = props
|
schemaPath,
|
||||||
|
} = useElement<UploadElementType>()
|
||||||
|
|
||||||
const {
|
const {
|
||||||
collections,
|
collections,
|
||||||
@@ -83,7 +84,7 @@ const Element: React.FC<ElementProps> = (props) => {
|
|||||||
{ initialParams },
|
{ initialParams },
|
||||||
)
|
)
|
||||||
|
|
||||||
const thumbnailSRC = useThumbnail(relatedCollection, data)
|
const thumbnailSRC = useThumbnail(relatedCollection.upload, data)
|
||||||
|
|
||||||
const removeUpload = useCallback(() => {
|
const removeUpload = useCallback(() => {
|
||||||
const elementPath = ReactEditor.findPath(editor, element)
|
const elementPath = ReactEditor.findPath(editor, element)
|
||||||
@@ -103,8 +104,6 @@ const Element: React.FC<ElementProps> = (props) => {
|
|||||||
|
|
||||||
Transforms.setNodes(editor, newNode, { at: elementPath })
|
Transforms.setNodes(editor, newNode, { at: elementPath })
|
||||||
|
|
||||||
// setRelatedCollection(collections.find((coll) => coll.slug === collectionConfig.slug));
|
|
||||||
|
|
||||||
setParams({
|
setParams({
|
||||||
...initialParams,
|
...initialParams,
|
||||||
cacheBust, // do this to get the usePayloadAPI to re-fetch the data even though the URL string hasn't changed
|
cacheBust, // do this to get the usePayloadAPI to re-fetch the data even though the URL string hasn't changed
|
||||||
@@ -117,17 +116,17 @@ const Element: React.FC<ElementProps> = (props) => {
|
|||||||
)
|
)
|
||||||
|
|
||||||
const swapUpload = React.useCallback(
|
const swapUpload = React.useCallback(
|
||||||
({ collectionConfig, docID }) => {
|
({ collectionSlug, docID }) => {
|
||||||
const newNode = {
|
const newNode = {
|
||||||
children: [{ text: ' ' }],
|
children: [{ text: ' ' }],
|
||||||
relationTo: collectionConfig.slug,
|
relationTo: collectionSlug,
|
||||||
type: 'upload',
|
type: uploadName,
|
||||||
value: { id: docID },
|
value: { id: docID },
|
||||||
}
|
}
|
||||||
|
|
||||||
const elementPath = ReactEditor.findPath(editor, element)
|
const elementPath = ReactEditor.findPath(editor, element)
|
||||||
|
|
||||||
setRelatedCollection(collections.find((coll) => coll.slug === collectionConfig.slug))
|
setRelatedCollection(collections.find((coll) => coll.slug === collectionSlug))
|
||||||
|
|
||||||
Transforms.setNodes(editor, newNode, { at: elementPath })
|
Transforms.setNodes(editor, newNode, { at: elementPath })
|
||||||
|
|
||||||
@@ -137,7 +136,8 @@ const Element: React.FC<ElementProps> = (props) => {
|
|||||||
[closeListDrawer, editor, element, collections],
|
[closeListDrawer, editor, element, collections],
|
||||||
)
|
)
|
||||||
|
|
||||||
const customFields = fieldProps?.admin?.upload?.collections?.[relatedCollection.slug]?.fields
|
const relatedFieldSchemaPath = `${uploadFieldsSchemaPath}.${relatedCollection.slug}`
|
||||||
|
const customFieldsMap = fieldProps.richTextComponentMap.get(relatedFieldSchemaPath)
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
@@ -157,10 +157,10 @@ const Element: React.FC<ElementProps> = (props) => {
|
|||||||
{getTranslation(relatedCollection.labels.singular, i18n)}
|
{getTranslation(relatedCollection.labels.singular, i18n)}
|
||||||
</div>
|
</div>
|
||||||
<div className={`${baseClass}__actions`}>
|
<div className={`${baseClass}__actions`}>
|
||||||
{customFields?.length > 0 && (
|
{Boolean(customFieldsMap) && (
|
||||||
<DrawerToggler
|
<DrawerToggler
|
||||||
className={`${baseClass}__upload-drawer-toggler`}
|
className={`${baseClass}__upload-drawer-toggler`}
|
||||||
disabled={fieldProps?.admin?.readOnly}
|
disabled={fieldProps?.readOnly}
|
||||||
slug={drawerSlug}
|
slug={drawerSlug}
|
||||||
>
|
>
|
||||||
<Button
|
<Button
|
||||||
@@ -177,11 +177,11 @@ const Element: React.FC<ElementProps> = (props) => {
|
|||||||
)}
|
)}
|
||||||
<ListDrawerToggler
|
<ListDrawerToggler
|
||||||
className={`${baseClass}__list-drawer-toggler`}
|
className={`${baseClass}__list-drawer-toggler`}
|
||||||
disabled={fieldProps?.admin?.readOnly}
|
disabled={fieldProps?.readOnly}
|
||||||
>
|
>
|
||||||
<Button
|
<Button
|
||||||
buttonStyle="icon-label"
|
buttonStyle="icon-label"
|
||||||
disabled={fieldProps?.admin?.readOnly}
|
disabled={fieldProps?.readOnly}
|
||||||
el="div"
|
el="div"
|
||||||
icon="swap"
|
icon="swap"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
@@ -194,7 +194,7 @@ const Element: React.FC<ElementProps> = (props) => {
|
|||||||
<Button
|
<Button
|
||||||
buttonStyle="icon-label"
|
buttonStyle="icon-label"
|
||||||
className={`${baseClass}__removeButton`}
|
className={`${baseClass}__removeButton`}
|
||||||
disabled={fieldProps?.admin?.readOnly}
|
disabled={fieldProps?.readOnly}
|
||||||
icon="x"
|
icon="x"
|
||||||
onClick={(e) => {
|
onClick={(e) => {
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
@@ -215,12 +215,12 @@ const Element: React.FC<ElementProps> = (props) => {
|
|||||||
{children}
|
{children}
|
||||||
{value?.id && <DocumentDrawer onSave={updateUpload} />}
|
{value?.id && <DocumentDrawer onSave={updateUpload} />}
|
||||||
<ListDrawer onSelect={swapUpload} />
|
<ListDrawer onSelect={swapUpload} />
|
||||||
<UploadDrawer drawerSlug={drawerSlug} relatedCollection={relatedCollection} {...props} />
|
<UploadDrawer {...{ drawerSlug, element, fieldProps, relatedCollection, schemaPath }} />
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
export default (props: ElementProps): React.ReactNode => {
|
export default (props: Props): React.ReactNode => {
|
||||||
return (
|
return (
|
||||||
<EnabledRelationshipsCondition {...props} uploads>
|
<EnabledRelationshipsCondition {...props} uploads>
|
||||||
<Element {...props} />
|
<Element {...props} />
|
||||||
|
|||||||
@@ -1,9 +1,15 @@
|
|||||||
|
import type { RichTextCustomElement } from '../../..'
|
||||||
|
|
||||||
import Button from './Button'
|
import Button from './Button'
|
||||||
import Element from './Element'
|
import Element from './Element'
|
||||||
import plugin from './plugin'
|
import { WithUpload } from './plugin'
|
||||||
|
import { uploadName } from './shared'
|
||||||
|
|
||||||
export default {
|
const upload: RichTextCustomElement = {
|
||||||
|
name: uploadName,
|
||||||
Button,
|
Button,
|
||||||
Element,
|
Element,
|
||||||
plugins: [plugin],
|
plugins: [WithUpload],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export default upload
|
||||||
|
|||||||
@@ -1,10 +1,18 @@
|
|||||||
const withRelationship = (incomingEditor) => {
|
'use client'
|
||||||
const editor = incomingEditor
|
|
||||||
const { isVoid } = editor
|
|
||||||
|
|
||||||
editor.isVoid = (element) => (element.type === 'upload' ? true : isVoid(element))
|
import type React from 'react'
|
||||||
|
|
||||||
return editor
|
import { useSlatePlugin } from '../../../utilities/useSlatePlugin'
|
||||||
|
import { uploadName } from './shared'
|
||||||
|
|
||||||
|
export const WithUpload: React.FC = () => {
|
||||||
|
useSlatePlugin('withUpload', (incomingEditor) => {
|
||||||
|
const editor = incomingEditor
|
||||||
|
const { isVoid } = editor
|
||||||
|
|
||||||
|
editor.isVoid = (element) => (element.type === uploadName ? true : isVoid(element))
|
||||||
|
|
||||||
|
return editor
|
||||||
|
})
|
||||||
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
export default withRelationship
|
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
export const uploadName = 'upload'
|
||||||
|
export const uploadFieldsSchemaPath = 'upload.fields'
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
import type { Element } from 'slate'
|
||||||
|
|
||||||
|
export type UploadElementType = Element & {
|
||||||
|
fields: Record<string, unknown>
|
||||||
|
relationTo: string
|
||||||
|
value: {
|
||||||
|
id: number | string
|
||||||
|
} | null
|
||||||
|
}
|
||||||
@@ -9,7 +9,9 @@ import React from 'react'
|
|||||||
import type { AdapterArguments, RichTextCustomElement, RichTextCustomLeaf } from '.'
|
import type { AdapterArguments, RichTextCustomElement, RichTextCustomLeaf } from '.'
|
||||||
|
|
||||||
import elementTypes from './field/elements'
|
import elementTypes from './field/elements'
|
||||||
|
import { linkFieldsSchemaPath } from './field/elements/link/shared'
|
||||||
import { transformExtraFields } from './field/elements/link/utilities'
|
import { transformExtraFields } from './field/elements/link/utilities'
|
||||||
|
import { uploadFieldsSchemaPath } from './field/elements/upload/shared'
|
||||||
import leafTypes from './field/leaves'
|
import leafTypes from './field/leaves'
|
||||||
|
|
||||||
export const getGenerateComponentMap =
|
export const getGenerateComponentMap =
|
||||||
@@ -81,13 +83,44 @@ export const getGenerateComponentMap =
|
|||||||
readOnly: false,
|
readOnly: false,
|
||||||
})
|
})
|
||||||
|
|
||||||
componentMap.set('link.fields', mappedFields)
|
componentMap.set(linkFieldsSchemaPath, mappedFields)
|
||||||
|
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
case 'upload':
|
case 'upload': {
|
||||||
|
const uploadEnabledCollections = config.collections.filter(
|
||||||
|
({ admin: { enableRichTextRelationship, hidden }, upload }) => {
|
||||||
|
if (hidden === true) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
return enableRichTextRelationship && Boolean(upload) === true
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
uploadEnabledCollections.forEach((collection) => {
|
||||||
|
if (args?.admin?.upload?.collections[collection.slug]?.fields) {
|
||||||
|
const uploadFields = sanitizeFields({
|
||||||
|
config,
|
||||||
|
fields: args?.admin?.upload?.collections[collection.slug]?.fields,
|
||||||
|
validRelationships,
|
||||||
|
})
|
||||||
|
|
||||||
|
const mappedFields = mapFields({
|
||||||
|
config,
|
||||||
|
fieldSchema: uploadFields,
|
||||||
|
operation: 'update',
|
||||||
|
permissions: {},
|
||||||
|
readOnly: false,
|
||||||
|
})
|
||||||
|
|
||||||
|
componentMap.set(`${uploadFieldsSchemaPath}.${collection.slug}`, mappedFields)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
break
|
break
|
||||||
|
}
|
||||||
|
|
||||||
case 'relationship':
|
case 'relationship':
|
||||||
break
|
break
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import type { AdapterArguments, RichTextCustomElement } from '.'
|
|||||||
import elementTypes from './field/elements'
|
import elementTypes from './field/elements'
|
||||||
import { linkFieldsSchemaPath } from './field/elements/link/shared'
|
import { linkFieldsSchemaPath } from './field/elements/link/shared'
|
||||||
import { transformExtraFields } from './field/elements/link/utilities'
|
import { transformExtraFields } from './field/elements/link/utilities'
|
||||||
|
import { uploadFieldsSchemaPath } from './field/elements/upload/shared'
|
||||||
|
|
||||||
export const getGenerateSchemaMap =
|
export const getGenerateSchemaMap =
|
||||||
(args: AdapterArguments): RichTextAdapter['generateSchemaMap'] =>
|
(args: AdapterArguments): RichTextAdapter['generateSchemaMap'] =>
|
||||||
@@ -29,18 +30,44 @@ export const getGenerateSchemaMap =
|
|||||||
switch (element.name) {
|
switch (element.name) {
|
||||||
case 'link': {
|
case 'link': {
|
||||||
const linkFields = sanitizeFields({
|
const linkFields = sanitizeFields({
|
||||||
config: config,
|
config,
|
||||||
fields: transformExtraFields(args.admin?.link?.fields, config, i18n),
|
fields: transformExtraFields(args.admin?.link?.fields, config, i18n),
|
||||||
validRelationships,
|
validRelationships,
|
||||||
})
|
})
|
||||||
|
|
||||||
schemaMap.set(`${schemaPath}.${linkFieldsSchemaPath}`, linkFields)
|
schemaMap.set(`${schemaPath}.${linkFieldsSchemaPath}`, linkFields)
|
||||||
|
|
||||||
return
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
case 'upload':
|
case 'upload': {
|
||||||
|
const uploadEnabledCollections = config.collections.filter(
|
||||||
|
({ admin: { enableRichTextRelationship, hidden }, upload }) => {
|
||||||
|
if (hidden === true) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
return enableRichTextRelationship && Boolean(upload) === true
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
uploadEnabledCollections.forEach((collection) => {
|
||||||
|
if (args?.admin?.upload?.collections[collection.slug]?.fields) {
|
||||||
|
const uploadFields = sanitizeFields({
|
||||||
|
config,
|
||||||
|
fields: args?.admin?.upload?.collections[collection.slug]?.fields,
|
||||||
|
validRelationships,
|
||||||
|
})
|
||||||
|
|
||||||
|
schemaMap.set(
|
||||||
|
`${schemaPath}.${uploadFieldsSchemaPath}.${collection.slug}`,
|
||||||
|
uploadFields,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
break
|
break
|
||||||
|
}
|
||||||
|
|
||||||
case 'relationship':
|
case 'relationship':
|
||||||
break
|
break
|
||||||
|
|||||||
5
packages/translations/dist/build.js
vendored
@@ -166,6 +166,11 @@ const clientTranslationKeys = [
|
|||||||
'fields:showAll',
|
'fields:showAll',
|
||||||
'fields:swapRelationship',
|
'fields:swapRelationship',
|
||||||
'fields:uploadNewLabel',
|
'fields:uploadNewLabel',
|
||||||
|
'fields:swapUpload',
|
||||||
|
'fields:addUpload',
|
||||||
|
'fields:editRelationship',
|
||||||
|
'fields:removeUpload',
|
||||||
|
'fields:saveChanges',
|
||||||
'general:aboutToDeleteCount',
|
'general:aboutToDeleteCount',
|
||||||
'general:aboutToDelete',
|
'general:aboutToDelete',
|
||||||
'general:addBelow',
|
'general:addBelow',
|
||||||
|
|||||||
5
packages/translations/dist/client/ar.json
vendored
@@ -57,20 +57,25 @@
|
|||||||
"addLink": "أضف رابط",
|
"addLink": "أضف رابط",
|
||||||
"addNew": "أضف جديد",
|
"addNew": "أضف جديد",
|
||||||
"addNewLabel": "أضف {{label}} جديد",
|
"addNewLabel": "أضف {{label}} جديد",
|
||||||
|
"addUpload": "أضف تحميل",
|
||||||
"block": "وحدة محتوى",
|
"block": "وحدة محتوى",
|
||||||
"blockType": "نوع وحدة المحتوى",
|
"blockType": "نوع وحدة المحتوى",
|
||||||
"blocks": "وحدات المحتوى",
|
"blocks": "وحدات المحتوى",
|
||||||
"chooseFromExisting": "اختر من القائمة",
|
"chooseFromExisting": "اختر من القائمة",
|
||||||
"collapseAll": "طيّ الكلّ",
|
"collapseAll": "طيّ الكلّ",
|
||||||
"editLink": "عدّل الرّابط",
|
"editLink": "عدّل الرّابط",
|
||||||
|
"editRelationship": "عدّل العلاقة",
|
||||||
"itemsAndMore": "{{items}} و {{count}} أخرى",
|
"itemsAndMore": "{{items}} و {{count}} أخرى",
|
||||||
"latitude": "خطّ العرض",
|
"latitude": "خطّ العرض",
|
||||||
"longitude": "خطّ الطّول",
|
"longitude": "خطّ الطّول",
|
||||||
"passwordsDoNotMatch": "كلمة المرور غير مطابقة.",
|
"passwordsDoNotMatch": "كلمة المرور غير مطابقة.",
|
||||||
|
"removeUpload": "حذف المحتوى المرفوع",
|
||||||
|
"saveChanges": "حفظ التّغييرات",
|
||||||
"searchForBlock": "ابحث عن وحدة محتوى",
|
"searchForBlock": "ابحث عن وحدة محتوى",
|
||||||
"selectFieldsToEdit": "حدّد الحقول اللتي تريد تعديلها",
|
"selectFieldsToEdit": "حدّد الحقول اللتي تريد تعديلها",
|
||||||
"showAll": "إظهار الكلّ",
|
"showAll": "إظهار الكلّ",
|
||||||
"swapRelationship": "تبديل العلاقة",
|
"swapRelationship": "تبديل العلاقة",
|
||||||
|
"swapUpload": "تبديل المحتوى المرفوع",
|
||||||
"uploadNewLabel": "رفع {{label}} جديد"
|
"uploadNewLabel": "رفع {{label}} جديد"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/az.json
vendored
@@ -57,20 +57,25 @@
|
|||||||
"addLink": "Keçid əlavə et",
|
"addLink": "Keçid əlavə et",
|
||||||
"addNew": "Yenisini əlavə et",
|
"addNew": "Yenisini əlavə et",
|
||||||
"addNewLabel": "Yeni {{label}} əlavə et",
|
"addNewLabel": "Yeni {{label}} əlavə et",
|
||||||
|
"addUpload": "Yükləmə əlavə et",
|
||||||
"block": "blok",
|
"block": "blok",
|
||||||
"blockType": "Blok Növü",
|
"blockType": "Blok Növü",
|
||||||
"blocks": "bloklar",
|
"blocks": "bloklar",
|
||||||
"chooseFromExisting": "Mövcuddan seçin",
|
"chooseFromExisting": "Mövcuddan seçin",
|
||||||
"collapseAll": "Hamısını Bağla",
|
"collapseAll": "Hamısını Bağla",
|
||||||
"editLink": "Keçidi redaktə et",
|
"editLink": "Keçidi redaktə et",
|
||||||
|
"editRelationship": "Relationship redaktə et",
|
||||||
"itemsAndMore": "{{items}} və daha {{count}} nəfər",
|
"itemsAndMore": "{{items}} və daha {{count}} nəfər",
|
||||||
"latitude": "Enlik",
|
"latitude": "Enlik",
|
||||||
"longitude": "Uzunluq",
|
"longitude": "Uzunluq",
|
||||||
"passwordsDoNotMatch": "Şifrələr uyğun gəlmir.",
|
"passwordsDoNotMatch": "Şifrələr uyğun gəlmir.",
|
||||||
|
"removeUpload": "Yükləməni sil",
|
||||||
|
"saveChanges": "Dəyişiklikləri saxla",
|
||||||
"searchForBlock": "Blok üçün axtarış",
|
"searchForBlock": "Blok üçün axtarış",
|
||||||
"selectFieldsToEdit": "Redaktə ediləcək sahələri seçin",
|
"selectFieldsToEdit": "Redaktə ediləcək sahələri seçin",
|
||||||
"showAll": "Hamısını Göstər",
|
"showAll": "Hamısını Göstər",
|
||||||
"swapRelationship": "Relationship dəyiş",
|
"swapRelationship": "Relationship dəyiş",
|
||||||
|
"swapUpload": "Yükləməni dəyiş",
|
||||||
"uploadNewLabel": "Yeni {{label}} yüklə"
|
"uploadNewLabel": "Yeni {{label}} yüklə"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/bg.json
vendored
@@ -57,20 +57,25 @@
|
|||||||
"addLink": "Добави нова връзка",
|
"addLink": "Добави нова връзка",
|
||||||
"addNew": "Добави нов",
|
"addNew": "Добави нов",
|
||||||
"addNewLabel": "Добави нов {{label}}",
|
"addNewLabel": "Добави нов {{label}}",
|
||||||
|
"addUpload": "Качи",
|
||||||
"block": "блок",
|
"block": "блок",
|
||||||
"blockType": "Тип блок",
|
"blockType": "Тип блок",
|
||||||
"blocks": "блокове",
|
"blocks": "блокове",
|
||||||
"chooseFromExisting": "Избери от съществуващите",
|
"chooseFromExisting": "Избери от съществуващите",
|
||||||
"collapseAll": "Свий всички",
|
"collapseAll": "Свий всички",
|
||||||
"editLink": "Редактирай връзка",
|
"editLink": "Редактирай връзка",
|
||||||
|
"editRelationship": "Редактирай отношение",
|
||||||
"itemsAndMore": "{{items}} и {{count}} повече",
|
"itemsAndMore": "{{items}} и {{count}} повече",
|
||||||
"latitude": "Географска ширина",
|
"latitude": "Географска ширина",
|
||||||
"longitude": "Географска дължина",
|
"longitude": "Географска дължина",
|
||||||
"passwordsDoNotMatch": "Паролите не са еднакви.",
|
"passwordsDoNotMatch": "Паролите не са еднакви.",
|
||||||
|
"removeUpload": "Премахни качване",
|
||||||
|
"saveChanges": "Запази промените",
|
||||||
"searchForBlock": "Търси блок",
|
"searchForBlock": "Търси блок",
|
||||||
"selectFieldsToEdit": "Избери полета за редактиране",
|
"selectFieldsToEdit": "Избери полета за редактиране",
|
||||||
"showAll": "Покажи всички",
|
"showAll": "Покажи всички",
|
||||||
"swapRelationship": "Смени отношение",
|
"swapRelationship": "Смени отношение",
|
||||||
|
"swapUpload": "Смени качване",
|
||||||
"uploadNewLabel": "Качи нов {{label}}"
|
"uploadNewLabel": "Качи нов {{label}}"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/cs.json
vendored
@@ -57,20 +57,25 @@
|
|||||||
"addLink": "Přidat Odkaz",
|
"addLink": "Přidat Odkaz",
|
||||||
"addNew": "Přidat nový",
|
"addNew": "Přidat nový",
|
||||||
"addNewLabel": "Přidat nový {{label}}",
|
"addNewLabel": "Přidat nový {{label}}",
|
||||||
|
"addUpload": "Přidat nahrávání",
|
||||||
"block": "blok",
|
"block": "blok",
|
||||||
"blockType": "Typ bloku",
|
"blockType": "Typ bloku",
|
||||||
"blocks": "bloky",
|
"blocks": "bloky",
|
||||||
"chooseFromExisting": "Vybrat z existujících",
|
"chooseFromExisting": "Vybrat z existujících",
|
||||||
"collapseAll": "Sbalit vše",
|
"collapseAll": "Sbalit vše",
|
||||||
"editLink": "Upravit odkaz",
|
"editLink": "Upravit odkaz",
|
||||||
|
"editRelationship": "Upravit vztah",
|
||||||
"itemsAndMore": "{{items}} a {{count}} dalších",
|
"itemsAndMore": "{{items}} a {{count}} dalších",
|
||||||
"latitude": "Zeměpisná šířka",
|
"latitude": "Zeměpisná šířka",
|
||||||
"longitude": "Zeměpisná délka",
|
"longitude": "Zeměpisná délka",
|
||||||
"passwordsDoNotMatch": "Hesla se neshodují.",
|
"passwordsDoNotMatch": "Hesla se neshodují.",
|
||||||
|
"removeUpload": "Odstranit nahrání",
|
||||||
|
"saveChanges": "Uložit změny",
|
||||||
"searchForBlock": "Hledat blok",
|
"searchForBlock": "Hledat blok",
|
||||||
"selectFieldsToEdit": "Vyberte pole, která chcete upravit",
|
"selectFieldsToEdit": "Vyberte pole, která chcete upravit",
|
||||||
"showAll": "Zobrazit vše",
|
"showAll": "Zobrazit vše",
|
||||||
"swapRelationship": "Zaměnit vztah",
|
"swapRelationship": "Zaměnit vztah",
|
||||||
|
"swapUpload": "Vyměnit nahrání",
|
||||||
"uploadNewLabel": "Nahrát nový {{label}}"
|
"uploadNewLabel": "Nahrát nový {{label}}"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/de.json
vendored
@@ -57,20 +57,25 @@
|
|||||||
"addLink": "Link Hinzufügen",
|
"addLink": "Link Hinzufügen",
|
||||||
"addNew": "Neu erstellen",
|
"addNew": "Neu erstellen",
|
||||||
"addNewLabel": "{{label}} erstellen",
|
"addNewLabel": "{{label}} erstellen",
|
||||||
|
"addUpload": "Hochladen Hinzufügen",
|
||||||
"block": "Block",
|
"block": "Block",
|
||||||
"blockType": "Block-Typ",
|
"blockType": "Block-Typ",
|
||||||
"blocks": "Blöcke",
|
"blocks": "Blöcke",
|
||||||
"chooseFromExisting": "Aus vorhandenen auswählen",
|
"chooseFromExisting": "Aus vorhandenen auswählen",
|
||||||
"collapseAll": "Alle einklappen",
|
"collapseAll": "Alle einklappen",
|
||||||
"editLink": "Bearbeite Link",
|
"editLink": "Bearbeite Link",
|
||||||
|
"editRelationship": "Beziehung Hinzufügen",
|
||||||
"itemsAndMore": "{{items}} und {{count}} mehr",
|
"itemsAndMore": "{{items}} und {{count}} mehr",
|
||||||
"latitude": "Breitengrad",
|
"latitude": "Breitengrad",
|
||||||
"longitude": "Längengrad",
|
"longitude": "Längengrad",
|
||||||
"passwordsDoNotMatch": "Passwörter stimmen nicht überein.",
|
"passwordsDoNotMatch": "Passwörter stimmen nicht überein.",
|
||||||
|
"removeUpload": "Hochgeladene Datei Löschen",
|
||||||
|
"saveChanges": "Änderungen speichern",
|
||||||
"searchForBlock": "Nach Block suchen",
|
"searchForBlock": "Nach Block suchen",
|
||||||
"selectFieldsToEdit": "Wählen Sie die zu bearbeitenden Felder aus",
|
"selectFieldsToEdit": "Wählen Sie die zu bearbeitenden Felder aus",
|
||||||
"showAll": "Alle anzeigen",
|
"showAll": "Alle anzeigen",
|
||||||
"swapRelationship": "Beziehung Tauschen",
|
"swapRelationship": "Beziehung Tauschen",
|
||||||
|
"swapUpload": "Datei Austauschen",
|
||||||
"uploadNewLabel": "{{label}} neu hochladen"
|
"uploadNewLabel": "{{label}} neu hochladen"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/en.json
vendored
@@ -59,20 +59,25 @@
|
|||||||
"addLink": "Add Link",
|
"addLink": "Add Link",
|
||||||
"addNew": "Add new",
|
"addNew": "Add new",
|
||||||
"addNewLabel": "Add new {{label}}",
|
"addNewLabel": "Add new {{label}}",
|
||||||
|
"addUpload": "Add Upload",
|
||||||
"block": "block",
|
"block": "block",
|
||||||
"blockType": "Block Type",
|
"blockType": "Block Type",
|
||||||
"blocks": "blocks",
|
"blocks": "blocks",
|
||||||
"chooseFromExisting": "Choose from existing",
|
"chooseFromExisting": "Choose from existing",
|
||||||
"collapseAll": "Collapse All",
|
"collapseAll": "Collapse All",
|
||||||
"editLink": "Edit Link",
|
"editLink": "Edit Link",
|
||||||
|
"editRelationship": "Edit Relationship",
|
||||||
"itemsAndMore": "{{items}} and {{count}} more",
|
"itemsAndMore": "{{items}} and {{count}} more",
|
||||||
"latitude": "Latitude",
|
"latitude": "Latitude",
|
||||||
"longitude": "Longitude",
|
"longitude": "Longitude",
|
||||||
"passwordsDoNotMatch": "Passwords do not match.",
|
"passwordsDoNotMatch": "Passwords do not match.",
|
||||||
|
"removeUpload": "Remove Upload",
|
||||||
|
"saveChanges": "Save changes",
|
||||||
"searchForBlock": "Search for a block",
|
"searchForBlock": "Search for a block",
|
||||||
"selectFieldsToEdit": "Select fields to edit",
|
"selectFieldsToEdit": "Select fields to edit",
|
||||||
"showAll": "Show All",
|
"showAll": "Show All",
|
||||||
"swapRelationship": "Swap Relationship",
|
"swapRelationship": "Swap Relationship",
|
||||||
|
"swapUpload": "Swap Upload",
|
||||||
"uploadNewLabel": "Upload new {{label}}"
|
"uploadNewLabel": "Upload new {{label}}"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/es.json
vendored
@@ -57,20 +57,25 @@
|
|||||||
"addLink": "Añadir Enlace",
|
"addLink": "Añadir Enlace",
|
||||||
"addNew": "Añadir nuevo",
|
"addNew": "Añadir nuevo",
|
||||||
"addNewLabel": "Añadir {{label}}",
|
"addNewLabel": "Añadir {{label}}",
|
||||||
|
"addUpload": "Añadir Carga",
|
||||||
"block": "bloque",
|
"block": "bloque",
|
||||||
"blockType": "Tipo de bloque",
|
"blockType": "Tipo de bloque",
|
||||||
"blocks": "bloques",
|
"blocks": "bloques",
|
||||||
"chooseFromExisting": "Elegir existente",
|
"chooseFromExisting": "Elegir existente",
|
||||||
"collapseAll": "Colapsar todo",
|
"collapseAll": "Colapsar todo",
|
||||||
"editLink": "Editar Enlace",
|
"editLink": "Editar Enlace",
|
||||||
|
"editRelationship": "Editar Relación",
|
||||||
"itemsAndMore": "{{items}} y {{count}} más",
|
"itemsAndMore": "{{items}} y {{count}} más",
|
||||||
"latitude": "Latitud",
|
"latitude": "Latitud",
|
||||||
"longitude": "Longitud",
|
"longitude": "Longitud",
|
||||||
"passwordsDoNotMatch": "Las contraseñas no coinciden.",
|
"passwordsDoNotMatch": "Las contraseñas no coinciden.",
|
||||||
|
"removeUpload": "Quitar Carga",
|
||||||
|
"saveChanges": "Guardar cambios",
|
||||||
"searchForBlock": "Buscar bloque",
|
"searchForBlock": "Buscar bloque",
|
||||||
"selectFieldsToEdit": "Seleccionar campos para editar",
|
"selectFieldsToEdit": "Seleccionar campos para editar",
|
||||||
"showAll": "Mostrar Todo",
|
"showAll": "Mostrar Todo",
|
||||||
"swapRelationship": "Cambiar Relación",
|
"swapRelationship": "Cambiar Relación",
|
||||||
|
"swapUpload": "Cambiar carga",
|
||||||
"uploadNewLabel": "Subir nuevo {{label}}"
|
"uploadNewLabel": "Subir nuevo {{label}}"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/fa.json
vendored
@@ -57,20 +57,25 @@
|
|||||||
"addLink": "افزودن پیوند",
|
"addLink": "افزودن پیوند",
|
||||||
"addNew": "افزودن",
|
"addNew": "افزودن",
|
||||||
"addNewLabel": "افزودن {{label}} تازه",
|
"addNewLabel": "افزودن {{label}} تازه",
|
||||||
|
"addUpload": "افزودن بارگذار",
|
||||||
"block": "بلوک",
|
"block": "بلوک",
|
||||||
"blockType": "نوع بلوک",
|
"blockType": "نوع بلوک",
|
||||||
"blocks": "بلوکها",
|
"blocks": "بلوکها",
|
||||||
"chooseFromExisting": "برگزیدن از بین ورودیها",
|
"chooseFromExisting": "برگزیدن از بین ورودیها",
|
||||||
"collapseAll": "بستن همه",
|
"collapseAll": "بستن همه",
|
||||||
"editLink": "نگارش پیوند",
|
"editLink": "نگارش پیوند",
|
||||||
|
"editRelationship": "نگارش پیوستگی",
|
||||||
"itemsAndMore": "{{items}} و {{count}} بیشتر",
|
"itemsAndMore": "{{items}} و {{count}} بیشتر",
|
||||||
"latitude": "عرض جغرافیایی",
|
"latitude": "عرض جغرافیایی",
|
||||||
"longitude": "طول جغرافیایی",
|
"longitude": "طول جغرافیایی",
|
||||||
"passwordsDoNotMatch": "گذرواژههای وارد شده مطابقت ندارند.",
|
"passwordsDoNotMatch": "گذرواژههای وارد شده مطابقت ندارند.",
|
||||||
|
"removeUpload": "حذف بارگذار",
|
||||||
|
"saveChanges": "ذخیره تغییرات",
|
||||||
"searchForBlock": "جستوجو برای بلوک",
|
"searchForBlock": "جستوجو برای بلوک",
|
||||||
"selectFieldsToEdit": "انتخاب کادرها برای نگارش",
|
"selectFieldsToEdit": "انتخاب کادرها برای نگارش",
|
||||||
"showAll": "نمایش کل",
|
"showAll": "نمایش کل",
|
||||||
"swapRelationship": "تبادل پیوستگی",
|
"swapRelationship": "تبادل پیوستگی",
|
||||||
|
"swapUpload": "تبادل بارگذار",
|
||||||
"uploadNewLabel": "بارگذاری تازه {{label}}"
|
"uploadNewLabel": "بارگذاری تازه {{label}}"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/fr.json
vendored
@@ -57,20 +57,25 @@
|
|||||||
"addLink": "Ajouter un Lien",
|
"addLink": "Ajouter un Lien",
|
||||||
"addNew": "Ajouter nouveau ou nouvelle",
|
"addNew": "Ajouter nouveau ou nouvelle",
|
||||||
"addNewLabel": "Ajouter nouveau ou nouvelle {{label}}",
|
"addNewLabel": "Ajouter nouveau ou nouvelle {{label}}",
|
||||||
|
"addUpload": "Ajouter le téléchargement",
|
||||||
"block": "bloc",
|
"block": "bloc",
|
||||||
"blockType": "Type de bloc",
|
"blockType": "Type de bloc",
|
||||||
"blocks": "blocs",
|
"blocks": "blocs",
|
||||||
"chooseFromExisting": "Choisir parmi les existant(e)s",
|
"chooseFromExisting": "Choisir parmi les existant(e)s",
|
||||||
"collapseAll": "Tout réduire",
|
"collapseAll": "Tout réduire",
|
||||||
"editLink": "Modifier le lien",
|
"editLink": "Modifier le lien",
|
||||||
|
"editRelationship": "Modifier la relation",
|
||||||
"itemsAndMore": "{{items}} et {{count}} de plus",
|
"itemsAndMore": "{{items}} et {{count}} de plus",
|
||||||
"latitude": "Latitude",
|
"latitude": "Latitude",
|
||||||
"longitude": "Longitude",
|
"longitude": "Longitude",
|
||||||
"passwordsDoNotMatch": "Les mots de passe ne correspondent pas.",
|
"passwordsDoNotMatch": "Les mots de passe ne correspondent pas.",
|
||||||
|
"removeUpload": "Supprimer le Téléversement",
|
||||||
|
"saveChanges": "Sauvegarder les modifications",
|
||||||
"searchForBlock": "Rechercher un bloc",
|
"searchForBlock": "Rechercher un bloc",
|
||||||
"selectFieldsToEdit": "Sélectionnez les champs à modifier",
|
"selectFieldsToEdit": "Sélectionnez les champs à modifier",
|
||||||
"showAll": "Afficher tout",
|
"showAll": "Afficher tout",
|
||||||
"swapRelationship": "Changer de relation",
|
"swapRelationship": "Changer de relation",
|
||||||
|
"swapUpload": "Changer de Fichier",
|
||||||
"uploadNewLabel": "Téléverser un(e) nouveau ou nouvelle {{label}}"
|
"uploadNewLabel": "Téléverser un(e) nouveau ou nouvelle {{label}}"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/hr.json
vendored
@@ -57,20 +57,25 @@
|
|||||||
"addLink": "Dodaj poveznicu",
|
"addLink": "Dodaj poveznicu",
|
||||||
"addNew": "Dodaj novi",
|
"addNew": "Dodaj novi",
|
||||||
"addNewLabel": "Dodaj novi {{label}}",
|
"addNewLabel": "Dodaj novi {{label}}",
|
||||||
|
"addUpload": "Dodaj učitavanje",
|
||||||
"block": "blokiranje",
|
"block": "blokiranje",
|
||||||
"blockType": "Vrsta blokiranja",
|
"blockType": "Vrsta blokiranja",
|
||||||
"blocks": "blokiranja",
|
"blocks": "blokiranja",
|
||||||
"chooseFromExisting": "Odaberite iz postojećih.",
|
"chooseFromExisting": "Odaberite iz postojećih.",
|
||||||
"collapseAll": "Sažmi sve",
|
"collapseAll": "Sažmi sve",
|
||||||
"editLink": "Uredi poveznicu",
|
"editLink": "Uredi poveznicu",
|
||||||
|
"editRelationship": "Uredi odnos",
|
||||||
"itemsAndMore": "{{items}} i {{count}} više",
|
"itemsAndMore": "{{items}} i {{count}} više",
|
||||||
"latitude": "Zemljopisna širina",
|
"latitude": "Zemljopisna širina",
|
||||||
"longitude": "Zemljopisna dužina",
|
"longitude": "Zemljopisna dužina",
|
||||||
"passwordsDoNotMatch": "Lozinke nisu iste.",
|
"passwordsDoNotMatch": "Lozinke nisu iste.",
|
||||||
|
"removeUpload": "Ukloni prijenos",
|
||||||
|
"saveChanges": "Spremi promjene",
|
||||||
"searchForBlock": "Potraži blok",
|
"searchForBlock": "Potraži blok",
|
||||||
"selectFieldsToEdit": "Odaberite polja za uređivanje",
|
"selectFieldsToEdit": "Odaberite polja za uređivanje",
|
||||||
"showAll": "Pokaži sve",
|
"showAll": "Pokaži sve",
|
||||||
"swapRelationship": "Zamijeni vezu",
|
"swapRelationship": "Zamijeni vezu",
|
||||||
|
"swapUpload": "Zamijeni prijenos",
|
||||||
"uploadNewLabel": "Učitaj novi {{label}}"
|
"uploadNewLabel": "Učitaj novi {{label}}"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/hu.json
vendored
@@ -57,20 +57,25 @@
|
|||||||
"addLink": "Link hozzáadása",
|
"addLink": "Link hozzáadása",
|
||||||
"addNew": "Új hozzáadása",
|
"addNew": "Új hozzáadása",
|
||||||
"addNewLabel": "Új {{label}} hozzáadása",
|
"addNewLabel": "Új {{label}} hozzáadása",
|
||||||
|
"addUpload": "Feltöltés hozzáadása",
|
||||||
"block": "blokk",
|
"block": "blokk",
|
||||||
"blockType": "Blokk típusa",
|
"blockType": "Blokk típusa",
|
||||||
"blocks": "blokkok",
|
"blocks": "blokkok",
|
||||||
"chooseFromExisting": "Válasszon a meglévők közül",
|
"chooseFromExisting": "Válasszon a meglévők közül",
|
||||||
"collapseAll": "Mindet összecsuk",
|
"collapseAll": "Mindet összecsuk",
|
||||||
"editLink": "Link szerkesztése",
|
"editLink": "Link szerkesztése",
|
||||||
|
"editRelationship": "Kapcsolat hozzáadása",
|
||||||
"itemsAndMore": "{{items}} és további {{count}}",
|
"itemsAndMore": "{{items}} és további {{count}}",
|
||||||
"latitude": "Szélesség",
|
"latitude": "Szélesség",
|
||||||
"longitude": "Hosszúság",
|
"longitude": "Hosszúság",
|
||||||
"passwordsDoNotMatch": "A jelszavak nem egyeznek.",
|
"passwordsDoNotMatch": "A jelszavak nem egyeznek.",
|
||||||
|
"removeUpload": "Feltöltés eltávolítása",
|
||||||
|
"saveChanges": "Módosítások mentése",
|
||||||
"searchForBlock": "Blokk keresése",
|
"searchForBlock": "Blokk keresése",
|
||||||
"selectFieldsToEdit": "Válassza ki a szerkeszteni kívánt mezőket",
|
"selectFieldsToEdit": "Válassza ki a szerkeszteni kívánt mezőket",
|
||||||
"showAll": "Az összes megjelenítése",
|
"showAll": "Az összes megjelenítése",
|
||||||
"swapRelationship": "Kapcsolat csere",
|
"swapRelationship": "Kapcsolat csere",
|
||||||
|
"swapUpload": "Feltöltés csere",
|
||||||
"uploadNewLabel": "Új {{label}} feltöltése"
|
"uploadNewLabel": "Új {{label}} feltöltése"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/it.json
vendored
@@ -57,20 +57,25 @@
|
|||||||
"addLink": "Aggiungi Collegamento",
|
"addLink": "Aggiungi Collegamento",
|
||||||
"addNew": "Aggiungi nuovo",
|
"addNew": "Aggiungi nuovo",
|
||||||
"addNewLabel": "Aggiungi nuovo {{label}}",
|
"addNewLabel": "Aggiungi nuovo {{label}}",
|
||||||
|
"addUpload": "aggiungi Carica",
|
||||||
"block": "blocco",
|
"block": "blocco",
|
||||||
"blockType": "Tipo di Blocco",
|
"blockType": "Tipo di Blocco",
|
||||||
"blocks": "blocchi",
|
"blocks": "blocchi",
|
||||||
"chooseFromExisting": "Scegli tra esistente",
|
"chooseFromExisting": "Scegli tra esistente",
|
||||||
"collapseAll": "Comprimi tutto",
|
"collapseAll": "Comprimi tutto",
|
||||||
"editLink": "Modifica Collegamento",
|
"editLink": "Modifica Collegamento",
|
||||||
|
"editRelationship": "Modifica Relazione",
|
||||||
"itemsAndMore": "{{items}} e altri {{count}}",
|
"itemsAndMore": "{{items}} e altri {{count}}",
|
||||||
"latitude": "Latitudine",
|
"latitude": "Latitudine",
|
||||||
"longitude": "Longitudine",
|
"longitude": "Longitudine",
|
||||||
"passwordsDoNotMatch": "Le password non corrispondono.",
|
"passwordsDoNotMatch": "Le password non corrispondono.",
|
||||||
|
"removeUpload": "Rimuovi Upload",
|
||||||
|
"saveChanges": "Salva modifiche",
|
||||||
"searchForBlock": "Cerca un blocco",
|
"searchForBlock": "Cerca un blocco",
|
||||||
"selectFieldsToEdit": "Seleziona i campi da modificare",
|
"selectFieldsToEdit": "Seleziona i campi da modificare",
|
||||||
"showAll": "Mostra tutto",
|
"showAll": "Mostra tutto",
|
||||||
"swapRelationship": "Cambia Relationship",
|
"swapRelationship": "Cambia Relationship",
|
||||||
|
"swapUpload": "Cambia Upload",
|
||||||
"uploadNewLabel": "Carica nuovo {{label}}"
|
"uploadNewLabel": "Carica nuovo {{label}}"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/ja.json
vendored
@@ -59,20 +59,25 @@
|
|||||||
"addLink": "リンクを追加",
|
"addLink": "リンクを追加",
|
||||||
"addNew": "新規追加",
|
"addNew": "新規追加",
|
||||||
"addNewLabel": "{{label}} を新規追加",
|
"addNewLabel": "{{label}} を新規追加",
|
||||||
|
"addUpload": "アップロードを追加",
|
||||||
"block": "ブロック",
|
"block": "ブロック",
|
||||||
"blockType": "ブロックタイプ",
|
"blockType": "ブロックタイプ",
|
||||||
"blocks": "ブロック",
|
"blocks": "ブロック",
|
||||||
"chooseFromExisting": "既存から選択",
|
"chooseFromExisting": "既存から選択",
|
||||||
"collapseAll": "すべて閉じる",
|
"collapseAll": "すべて閉じる",
|
||||||
"editLink": "リンクを編集",
|
"editLink": "リンクを編集",
|
||||||
|
"editRelationship": "リレーションシップを編集",
|
||||||
"itemsAndMore": "{{items}} 他{{count}}件",
|
"itemsAndMore": "{{items}} 他{{count}}件",
|
||||||
"latitude": "緯度",
|
"latitude": "緯度",
|
||||||
"longitude": "経度",
|
"longitude": "経度",
|
||||||
"passwordsDoNotMatch": "パスワードが一致しません",
|
"passwordsDoNotMatch": "パスワードが一致しません",
|
||||||
|
"removeUpload": "削除",
|
||||||
|
"saveChanges": "変更を保存",
|
||||||
"searchForBlock": "ブロックを検索",
|
"searchForBlock": "ブロックを検索",
|
||||||
"selectFieldsToEdit": "編集するフィールドを選択",
|
"selectFieldsToEdit": "編集するフィールドを選択",
|
||||||
"showAll": "すべて開く",
|
"showAll": "すべて開く",
|
||||||
"swapRelationship": "スワップ関係",
|
"swapRelationship": "スワップ関係",
|
||||||
|
"swapUpload": "差し替え",
|
||||||
"uploadNewLabel": "新規 {{label}} アップロード"
|
"uploadNewLabel": "新規 {{label}} アップロード"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/ko.json
vendored
@@ -56,20 +56,25 @@
|
|||||||
"addLink": "링크 추가",
|
"addLink": "링크 추가",
|
||||||
"addNew": "새로 추가",
|
"addNew": "새로 추가",
|
||||||
"addNewLabel": "새로운 {{label}} 추가",
|
"addNewLabel": "새로운 {{label}} 추가",
|
||||||
|
"addUpload": "업로드 추가",
|
||||||
"block": "블록",
|
"block": "블록",
|
||||||
"blockType": "블록 유형",
|
"blockType": "블록 유형",
|
||||||
"blocks": "블록",
|
"blocks": "블록",
|
||||||
"chooseFromExisting": "기존 항목 중 선택",
|
"chooseFromExisting": "기존 항목 중 선택",
|
||||||
"collapseAll": "모두 접기",
|
"collapseAll": "모두 접기",
|
||||||
"editLink": "링크 수정",
|
"editLink": "링크 수정",
|
||||||
|
"editRelationship": "관계 수정",
|
||||||
"itemsAndMore": "{{items}} 및 {{count}}개 더",
|
"itemsAndMore": "{{items}} 및 {{count}}개 더",
|
||||||
"latitude": "위도",
|
"latitude": "위도",
|
||||||
"longitude": "경도",
|
"longitude": "경도",
|
||||||
"passwordsDoNotMatch": "비밀번호가 일치하지 않습니다.",
|
"passwordsDoNotMatch": "비밀번호가 일치하지 않습니다.",
|
||||||
|
"removeUpload": "제거",
|
||||||
|
"saveChanges": "변경 사항 저장",
|
||||||
"searchForBlock": "블록 검색",
|
"searchForBlock": "블록 검색",
|
||||||
"selectFieldsToEdit": "수정할 입력란 선택",
|
"selectFieldsToEdit": "수정할 입력란 선택",
|
||||||
"showAll": "모두 표시",
|
"showAll": "모두 표시",
|
||||||
"swapRelationship": "관계 교체",
|
"swapRelationship": "관계 교체",
|
||||||
|
"swapUpload": "업로드 교체",
|
||||||
"uploadNewLabel": "새로운 {{label}} 업로드"
|
"uploadNewLabel": "새로운 {{label}} 업로드"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/my.json
vendored
@@ -57,20 +57,25 @@
|
|||||||
"addLink": "လင့်ခ်ထည့်ပါ။",
|
"addLink": "လင့်ခ်ထည့်ပါ။",
|
||||||
"addNew": "အသစ် ထည့်သွင်းမည်။",
|
"addNew": "အသစ် ထည့်သွင်းမည်။",
|
||||||
"addNewLabel": "{{label}} အားအသစ် ထည့်သွင်းမည်။",
|
"addNewLabel": "{{label}} အားအသစ် ထည့်သွင်းမည်။",
|
||||||
|
"addUpload": "Upload ထည့်ပါ။",
|
||||||
"block": "ဘလောက်",
|
"block": "ဘလောက်",
|
||||||
"blockType": "ဘလောက် အမျိုးအစား",
|
"blockType": "ဘလောက် အမျိုးအစား",
|
||||||
"blocks": "ဘလောက်များ",
|
"blocks": "ဘလောက်များ",
|
||||||
"chooseFromExisting": "ရှိပြီးသားထဲကပဲ ရွေးချယ်ပါ။",
|
"chooseFromExisting": "ရှိပြီးသားထဲကပဲ ရွေးချယ်ပါ။",
|
||||||
"collapseAll": "အားလုံးကို ခေါက်သိမ်းပါ။",
|
"collapseAll": "အားလုံးကို ခေါက်သိမ်းပါ။",
|
||||||
"editLink": "လင့်ခ်ကို တည်းဖြတ်ပါ။",
|
"editLink": "လင့်ခ်ကို တည်းဖြတ်ပါ။",
|
||||||
|
"editRelationship": "ဆက်ဆံရေးကို တည်းဖြတ်ပါ။",
|
||||||
"itemsAndMore": "{{items}} နှင့် နောက်ထပ် {{count}} ခု",
|
"itemsAndMore": "{{items}} နှင့် နောက်ထပ် {{count}} ခု",
|
||||||
"latitude": "vĩ độ",
|
"latitude": "vĩ độ",
|
||||||
"longitude": "လောင်ဂျီကျု",
|
"longitude": "လောင်ဂျီကျု",
|
||||||
"passwordsDoNotMatch": "စကားဝှက်များနှင့် မကိုက်ညီပါ။",
|
"passwordsDoNotMatch": "စကားဝှက်များနှင့် မကိုက်ညီပါ။",
|
||||||
|
"removeUpload": "အပ်လုဒ်ကို ဖယ်ရှားပါ။",
|
||||||
|
"saveChanges": "သိမ်းဆည်းမည်။",
|
||||||
"searchForBlock": "ဘလောက်တစ်ခုရှာမည်။",
|
"searchForBlock": "ဘလောက်တစ်ခုရှာမည်။",
|
||||||
"selectFieldsToEdit": "တည်းဖြတ်ရန် အကွက်များကို ရွေးပါ။",
|
"selectFieldsToEdit": "တည်းဖြတ်ရန် အကွက်များကို ရွေးပါ။",
|
||||||
"showAll": "အကုန် ကြည့်မည်။",
|
"showAll": "အကုန် ကြည့်မည်။",
|
||||||
"swapRelationship": "လဲလှယ်ဆက်ဆံရေး",
|
"swapRelationship": "လဲလှယ်ဆက်ဆံရေး",
|
||||||
|
"swapUpload": "အပ်လုဒ်ဖလှယ်ပါ။",
|
||||||
"uploadNewLabel": "{{label}} အသစ်တင်မည်။"
|
"uploadNewLabel": "{{label}} အသစ်တင်မည်။"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/nb.json
vendored
@@ -57,20 +57,25 @@
|
|||||||
"addLink": "Legg til Lenke",
|
"addLink": "Legg til Lenke",
|
||||||
"addNew": "Legg til ny",
|
"addNew": "Legg til ny",
|
||||||
"addNewLabel": "Legg til ny {{label}}",
|
"addNewLabel": "Legg til ny {{label}}",
|
||||||
|
"addUpload": "Legg til Opplasting",
|
||||||
"block": "blokk",
|
"block": "blokk",
|
||||||
"blockType": "Blokktype",
|
"blockType": "Blokktype",
|
||||||
"blocks": "blokker",
|
"blocks": "blokker",
|
||||||
"chooseFromExisting": "Velg fra eksisterende",
|
"chooseFromExisting": "Velg fra eksisterende",
|
||||||
"collapseAll": "Skjul alle",
|
"collapseAll": "Skjul alle",
|
||||||
"editLink": "Rediger lenke",
|
"editLink": "Rediger lenke",
|
||||||
|
"editRelationship": "Rediger relasjon",
|
||||||
"itemsAndMore": "{{items}} og {{count}} flere",
|
"itemsAndMore": "{{items}} og {{count}} flere",
|
||||||
"latitude": "Breddegrad",
|
"latitude": "Breddegrad",
|
||||||
"longitude": "Lengdegrad",
|
"longitude": "Lengdegrad",
|
||||||
"passwordsDoNotMatch": "Passordene er ikke like.",
|
"passwordsDoNotMatch": "Passordene er ikke like.",
|
||||||
|
"removeUpload": "Fjern Opplasting",
|
||||||
|
"saveChanges": "Lagre endringer",
|
||||||
"searchForBlock": "Søk etter en blokk",
|
"searchForBlock": "Søk etter en blokk",
|
||||||
"selectFieldsToEdit": "Velg felt som skal redigeres",
|
"selectFieldsToEdit": "Velg felt som skal redigeres",
|
||||||
"showAll": "Vis alle",
|
"showAll": "Vis alle",
|
||||||
"swapRelationship": "Bytte Forhold",
|
"swapRelationship": "Bytte Forhold",
|
||||||
|
"swapUpload": "Bytt Opplasting",
|
||||||
"uploadNewLabel": "Last opp ny {{label}}"
|
"uploadNewLabel": "Last opp ny {{label}}"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/nl.json
vendored
@@ -57,20 +57,25 @@
|
|||||||
"addLink": "Voeg een link toe",
|
"addLink": "Voeg een link toe",
|
||||||
"addNew": "Nieuw(e)",
|
"addNew": "Nieuw(e)",
|
||||||
"addNewLabel": "Nieuw(e) {{label}} toevoegen",
|
"addNewLabel": "Nieuw(e) {{label}} toevoegen",
|
||||||
|
"addUpload": "Upload Toevoegen",
|
||||||
"block": "blok",
|
"block": "blok",
|
||||||
"blockType": "Bloktype",
|
"blockType": "Bloktype",
|
||||||
"blocks": "blokken",
|
"blocks": "blokken",
|
||||||
"chooseFromExisting": "Kies uit bestaande",
|
"chooseFromExisting": "Kies uit bestaande",
|
||||||
"collapseAll": "Alles samenvouwen",
|
"collapseAll": "Alles samenvouwen",
|
||||||
"editLink": "Link bewerken",
|
"editLink": "Link bewerken",
|
||||||
|
"editRelationship": "Relatie Relatie",
|
||||||
"itemsAndMore": "{{items}} en {{count}} meer",
|
"itemsAndMore": "{{items}} en {{count}} meer",
|
||||||
"latitude": "Breedtegraad",
|
"latitude": "Breedtegraad",
|
||||||
"longitude": "Lengtegraad",
|
"longitude": "Lengtegraad",
|
||||||
"passwordsDoNotMatch": "Wachtwoorden komen niet overeen.",
|
"passwordsDoNotMatch": "Wachtwoorden komen niet overeen.",
|
||||||
|
"removeUpload": "Verwijder Upload",
|
||||||
|
"saveChanges": "Bewaar aanpassingen",
|
||||||
"searchForBlock": "Zoeken naar een blok",
|
"searchForBlock": "Zoeken naar een blok",
|
||||||
"selectFieldsToEdit": "Selecteer velden om te bewerken",
|
"selectFieldsToEdit": "Selecteer velden om te bewerken",
|
||||||
"showAll": "Alles tonen",
|
"showAll": "Alles tonen",
|
||||||
"swapRelationship": "Relatie Wisselen",
|
"swapRelationship": "Relatie Wisselen",
|
||||||
|
"swapUpload": "Upload Verwisselen",
|
||||||
"uploadNewLabel": "Upload nieuw(e) {{label}}"
|
"uploadNewLabel": "Upload nieuw(e) {{label}}"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/pl.json
vendored
@@ -57,20 +57,25 @@
|
|||||||
"addLink": "Dodaj Link",
|
"addLink": "Dodaj Link",
|
||||||
"addNew": "Dodaj nowy",
|
"addNew": "Dodaj nowy",
|
||||||
"addNewLabel": "Dodaj nowy {{label}}",
|
"addNewLabel": "Dodaj nowy {{label}}",
|
||||||
|
"addUpload": "Dodaj ładowanie",
|
||||||
"block": "Blok",
|
"block": "Blok",
|
||||||
"blockType": "Typ Bloku",
|
"blockType": "Typ Bloku",
|
||||||
"blocks": "Bloki",
|
"blocks": "Bloki",
|
||||||
"chooseFromExisting": "Wybierz z istniejących",
|
"chooseFromExisting": "Wybierz z istniejących",
|
||||||
"collapseAll": "Zwiń wszystko",
|
"collapseAll": "Zwiń wszystko",
|
||||||
"editLink": "Edytuj Link",
|
"editLink": "Edytuj Link",
|
||||||
|
"editRelationship": "Edytuj Relację",
|
||||||
"itemsAndMore": "{{items}} i {{count}} więcej",
|
"itemsAndMore": "{{items}} i {{count}} więcej",
|
||||||
"latitude": "Szerokość",
|
"latitude": "Szerokość",
|
||||||
"longitude": "Długość geograficzna",
|
"longitude": "Długość geograficzna",
|
||||||
"passwordsDoNotMatch": "Hasła nie pasują",
|
"passwordsDoNotMatch": "Hasła nie pasują",
|
||||||
|
"removeUpload": "Usuń Wrzucone",
|
||||||
|
"saveChanges": "Zapisz zmiany",
|
||||||
"searchForBlock": "Szukaj bloku",
|
"searchForBlock": "Szukaj bloku",
|
||||||
"selectFieldsToEdit": "Wybierz pola do edycji",
|
"selectFieldsToEdit": "Wybierz pola do edycji",
|
||||||
"showAll": "Pokaż wszystkie",
|
"showAll": "Pokaż wszystkie",
|
||||||
"swapRelationship": "Zamiana Relacji",
|
"swapRelationship": "Zamiana Relacji",
|
||||||
|
"swapUpload": "Zamień Wrzucone",
|
||||||
"uploadNewLabel": "Wrzuć nowy {{label}}"
|
"uploadNewLabel": "Wrzuć nowy {{label}}"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/pt.json
vendored
@@ -57,20 +57,25 @@
|
|||||||
"addLink": "Adicionar Link",
|
"addLink": "Adicionar Link",
|
||||||
"addNew": "Adicionar novo",
|
"addNew": "Adicionar novo",
|
||||||
"addNewLabel": "Adicionar novo {{label}}",
|
"addNewLabel": "Adicionar novo {{label}}",
|
||||||
|
"addUpload": "Adicionar Upload",
|
||||||
"block": "bloco",
|
"block": "bloco",
|
||||||
"blockType": "Tipo de bloco",
|
"blockType": "Tipo de bloco",
|
||||||
"blocks": "blocos",
|
"blocks": "blocos",
|
||||||
"chooseFromExisting": "Escolher entre os existentes",
|
"chooseFromExisting": "Escolher entre os existentes",
|
||||||
"collapseAll": "Recolher todos",
|
"collapseAll": "Recolher todos",
|
||||||
"editLink": "Editar Link",
|
"editLink": "Editar Link",
|
||||||
|
"editRelationship": "Editar Relacionamento",
|
||||||
"itemsAndMore": "{{items}} e mais {{count}}",
|
"itemsAndMore": "{{items}} e mais {{count}}",
|
||||||
"latitude": "Latitude",
|
"latitude": "Latitude",
|
||||||
"longitude": "Longitude",
|
"longitude": "Longitude",
|
||||||
"passwordsDoNotMatch": "Senhas não coincidem.",
|
"passwordsDoNotMatch": "Senhas não coincidem.",
|
||||||
|
"removeUpload": "Remover Upload",
|
||||||
|
"saveChanges": "Salvar alterações",
|
||||||
"searchForBlock": "Procurar bloco",
|
"searchForBlock": "Procurar bloco",
|
||||||
"selectFieldsToEdit": "Selecione os campos para editar",
|
"selectFieldsToEdit": "Selecione os campos para editar",
|
||||||
"showAll": "Mostrar Tudo",
|
"showAll": "Mostrar Tudo",
|
||||||
"swapRelationship": "Relação de Troca",
|
"swapRelationship": "Relação de Troca",
|
||||||
|
"swapUpload": "Substituir Upload",
|
||||||
"uploadNewLabel": "Carregar novo(a) {{label}}"
|
"uploadNewLabel": "Carregar novo(a) {{label}}"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/ro.json
vendored
@@ -57,20 +57,25 @@
|
|||||||
"addLink": "Adăugați un link",
|
"addLink": "Adăugați un link",
|
||||||
"addNew": "Adăugați un nou",
|
"addNew": "Adăugați un nou",
|
||||||
"addNewLabel": "Adăugați un nou {{label}}",
|
"addNewLabel": "Adăugați un nou {{label}}",
|
||||||
|
"addUpload": "Adăugați un fișier",
|
||||||
"block": "bloc",
|
"block": "bloc",
|
||||||
"blockType": "Tip de bloc",
|
"blockType": "Tip de bloc",
|
||||||
"blocks": "Blocuri",
|
"blocks": "Blocuri",
|
||||||
"chooseFromExisting": "Alegeți dintre cele existente",
|
"chooseFromExisting": "Alegeți dintre cele existente",
|
||||||
"collapseAll": "Colapsează toate",
|
"collapseAll": "Colapsează toate",
|
||||||
"editLink": "Editați Link-ul",
|
"editLink": "Editați Link-ul",
|
||||||
|
"editRelationship": "Editați relația",
|
||||||
"itemsAndMore": "{{items}} şi {{count}} mai multe",
|
"itemsAndMore": "{{items}} şi {{count}} mai multe",
|
||||||
"latitude": "Latitudine",
|
"latitude": "Latitudine",
|
||||||
"longitude": "Longitudine",
|
"longitude": "Longitudine",
|
||||||
"passwordsDoNotMatch": "Parolele nu corespund.",
|
"passwordsDoNotMatch": "Parolele nu corespund.",
|
||||||
|
"removeUpload": "Eliminați încărcarea",
|
||||||
|
"saveChanges": "Salvați modificările",
|
||||||
"searchForBlock": "Căutați un bloc",
|
"searchForBlock": "Căutați un bloc",
|
||||||
"selectFieldsToEdit": "Selectați câmpurile de editat",
|
"selectFieldsToEdit": "Selectați câmpurile de editat",
|
||||||
"showAll": "Afișați toate",
|
"showAll": "Afișați toate",
|
||||||
"swapRelationship": "Schimbați relația",
|
"swapRelationship": "Schimbați relația",
|
||||||
|
"swapUpload": "Schimbați Încărcarea",
|
||||||
"uploadNewLabel": "Încărcați un nou {{label}}"
|
"uploadNewLabel": "Încărcați un nou {{label}}"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
@@ -57,20 +57,25 @@
|
|||||||
"addLink": "Dodaj link",
|
"addLink": "Dodaj link",
|
||||||
"addNew": "Dodaj novi",
|
"addNew": "Dodaj novi",
|
||||||
"addNewLabel": "Dodaj novi {{label}}",
|
"addNewLabel": "Dodaj novi {{label}}",
|
||||||
|
"addUpload": "Dodaj učitavanje",
|
||||||
"block": "blokiranje",
|
"block": "blokiranje",
|
||||||
"blockType": "Vrsta blokiranja",
|
"blockType": "Vrsta blokiranja",
|
||||||
"blocks": "blokiranja",
|
"blocks": "blokiranja",
|
||||||
"chooseFromExisting": "Odaberite iz postojećih.",
|
"chooseFromExisting": "Odaberite iz postojećih.",
|
||||||
"collapseAll": "Skupi sve",
|
"collapseAll": "Skupi sve",
|
||||||
"editLink": "Izmeni link",
|
"editLink": "Izmeni link",
|
||||||
|
"editRelationship": "Izmeni odnos",
|
||||||
"itemsAndMore": "{{items}} i {{count}} više",
|
"itemsAndMore": "{{items}} i {{count}} više",
|
||||||
"latitude": "Geografska širina",
|
"latitude": "Geografska širina",
|
||||||
"longitude": "Geografska dužina",
|
"longitude": "Geografska dužina",
|
||||||
"passwordsDoNotMatch": "Lozinke nisu iste.",
|
"passwordsDoNotMatch": "Lozinke nisu iste.",
|
||||||
|
"removeUpload": "Ukloni prenos",
|
||||||
|
"saveChanges": "Sačuvaj promene",
|
||||||
"searchForBlock": "Pretraži blok",
|
"searchForBlock": "Pretraži blok",
|
||||||
"selectFieldsToEdit": "Odaberite polja za promenu",
|
"selectFieldsToEdit": "Odaberite polja za promenu",
|
||||||
"showAll": "Pokaži sve",
|
"showAll": "Pokaži sve",
|
||||||
"swapRelationship": "Zameni vezu",
|
"swapRelationship": "Zameni vezu",
|
||||||
|
"swapUpload": "Zameni prenos",
|
||||||
"uploadNewLabel": "Učitaj novi {{label}}"
|
"uploadNewLabel": "Učitaj novi {{label}}"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/rs.json
vendored
@@ -57,20 +57,25 @@
|
|||||||
"addLink": "Додај линк",
|
"addLink": "Додај линк",
|
||||||
"addNew": "Додај нови",
|
"addNew": "Додај нови",
|
||||||
"addNewLabel": "Додај нови {{label}}",
|
"addNewLabel": "Додај нови {{label}}",
|
||||||
|
"addUpload": "Додај учитавање",
|
||||||
"block": "блокирање",
|
"block": "блокирање",
|
||||||
"blockType": "Врста блокирања",
|
"blockType": "Врста блокирања",
|
||||||
"blocks": "блокирања",
|
"blocks": "блокирања",
|
||||||
"chooseFromExisting": "Одаберите из постојећих.",
|
"chooseFromExisting": "Одаберите из постојећих.",
|
||||||
"collapseAll": "Скупи све",
|
"collapseAll": "Скупи све",
|
||||||
"editLink": "Измени линк",
|
"editLink": "Измени линк",
|
||||||
|
"editRelationship": "Измени однос",
|
||||||
"itemsAndMore": "{{items}} и {{count}} више",
|
"itemsAndMore": "{{items}} и {{count}} више",
|
||||||
"latitude": "Географска ширина",
|
"latitude": "Географска ширина",
|
||||||
"longitude": "Географска дужина",
|
"longitude": "Географска дужина",
|
||||||
"passwordsDoNotMatch": "Лозинке нису исте.",
|
"passwordsDoNotMatch": "Лозинке нису исте.",
|
||||||
|
"removeUpload": "Уклони пренос",
|
||||||
|
"saveChanges": "Сачувај промене",
|
||||||
"searchForBlock": "Претражи блок",
|
"searchForBlock": "Претражи блок",
|
||||||
"selectFieldsToEdit": "Одаберите поља за промену",
|
"selectFieldsToEdit": "Одаберите поља за промену",
|
||||||
"showAll": "Покажи све",
|
"showAll": "Покажи све",
|
||||||
"swapRelationship": "Замени везу",
|
"swapRelationship": "Замени везу",
|
||||||
|
"swapUpload": "Замени пренос",
|
||||||
"uploadNewLabel": "Учитај нови {{label}}"
|
"uploadNewLabel": "Учитај нови {{label}}"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/ru.json
vendored
@@ -57,20 +57,25 @@
|
|||||||
"addLink": "Добавить ссылку",
|
"addLink": "Добавить ссылку",
|
||||||
"addNew": "Добавить новый",
|
"addNew": "Добавить новый",
|
||||||
"addNewLabel": "Добавить {{label}}",
|
"addNewLabel": "Добавить {{label}}",
|
||||||
|
"addUpload": "Добавить загрузку",
|
||||||
"block": "Блок",
|
"block": "Блок",
|
||||||
"blockType": "Тип Блока",
|
"blockType": "Тип Блока",
|
||||||
"blocks": "Блоки",
|
"blocks": "Блоки",
|
||||||
"chooseFromExisting": "Выбрать из существующих",
|
"chooseFromExisting": "Выбрать из существующих",
|
||||||
"collapseAll": "Свернуть все",
|
"collapseAll": "Свернуть все",
|
||||||
"editLink": "Редактировать ссылку",
|
"editLink": "Редактировать ссылку",
|
||||||
|
"editRelationship": "Редактировать Отношения",
|
||||||
"itemsAndMore": "{{items}} и ещё {{count}}",
|
"itemsAndMore": "{{items}} и ещё {{count}}",
|
||||||
"latitude": "Широта",
|
"latitude": "Широта",
|
||||||
"longitude": "Долгота",
|
"longitude": "Долгота",
|
||||||
"passwordsDoNotMatch": "Пароли не совпадают.",
|
"passwordsDoNotMatch": "Пароли не совпадают.",
|
||||||
|
"removeUpload": "Удалить загруженное",
|
||||||
|
"saveChanges": "Сохранить изменения",
|
||||||
"searchForBlock": "Найти Блок",
|
"searchForBlock": "Найти Блок",
|
||||||
"selectFieldsToEdit": "Выберите поля для редактирования",
|
"selectFieldsToEdit": "Выберите поля для редактирования",
|
||||||
"showAll": "Показать все",
|
"showAll": "Показать все",
|
||||||
"swapRelationship": "Поменять отношения",
|
"swapRelationship": "Поменять отношения",
|
||||||
|
"swapUpload": "Заменить загруженное",
|
||||||
"uploadNewLabel": "Загрузить новый {{label}}"
|
"uploadNewLabel": "Загрузить новый {{label}}"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/sv.json
vendored
@@ -57,20 +57,25 @@
|
|||||||
"addLink": "Lägg till Länk",
|
"addLink": "Lägg till Länk",
|
||||||
"addNew": "Lägg till ny",
|
"addNew": "Lägg till ny",
|
||||||
"addNewLabel": "Lägg till ny {{label}}",
|
"addNewLabel": "Lägg till ny {{label}}",
|
||||||
|
"addUpload": "Lägg till Uppladdning",
|
||||||
"block": "block",
|
"block": "block",
|
||||||
"blockType": "Block Typ",
|
"blockType": "Block Typ",
|
||||||
"blocks": "block",
|
"blocks": "block",
|
||||||
"chooseFromExisting": "Välj bland befintliga",
|
"chooseFromExisting": "Välj bland befintliga",
|
||||||
"collapseAll": "kollapsa Alla",
|
"collapseAll": "kollapsa Alla",
|
||||||
"editLink": "Redigera Länk",
|
"editLink": "Redigera Länk",
|
||||||
|
"editRelationship": "Redigera Relation",
|
||||||
"itemsAndMore": "{{items}} och {{count}} mer",
|
"itemsAndMore": "{{items}} och {{count}} mer",
|
||||||
"latitude": "Latitud",
|
"latitude": "Latitud",
|
||||||
"longitude": "Longitud",
|
"longitude": "Longitud",
|
||||||
"passwordsDoNotMatch": "Lösenorden matchar inte.",
|
"passwordsDoNotMatch": "Lösenorden matchar inte.",
|
||||||
|
"removeUpload": "Ta Bort Uppladdning",
|
||||||
|
"saveChanges": "Spara ändringar",
|
||||||
"searchForBlock": "Sök efter ett block",
|
"searchForBlock": "Sök efter ett block",
|
||||||
"selectFieldsToEdit": "Välj fält att redigera",
|
"selectFieldsToEdit": "Välj fält att redigera",
|
||||||
"showAll": "Visa Alla",
|
"showAll": "Visa Alla",
|
||||||
"swapRelationship": "Byt Förhållande",
|
"swapRelationship": "Byt Förhållande",
|
||||||
|
"swapUpload": "Byt Uppladdning",
|
||||||
"uploadNewLabel": "Ladda upp ny {{label}}"
|
"uploadNewLabel": "Ladda upp ny {{label}}"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/th.json
vendored
@@ -57,20 +57,25 @@
|
|||||||
"addLink": "เพิ่มลิงค์",
|
"addLink": "เพิ่มลิงค์",
|
||||||
"addNew": "เพิ่ม",
|
"addNew": "เพิ่ม",
|
||||||
"addNewLabel": "เพิ่ม {{label}} ใหม่",
|
"addNewLabel": "เพิ่ม {{label}} ใหม่",
|
||||||
|
"addUpload": "เพิ่มการอัปโหลด",
|
||||||
"block": "Block",
|
"block": "Block",
|
||||||
"blockType": "ประเภท Block",
|
"blockType": "ประเภท Block",
|
||||||
"blocks": "Blocks",
|
"blocks": "Blocks",
|
||||||
"chooseFromExisting": "เลือกจากที่มีอยู่",
|
"chooseFromExisting": "เลือกจากที่มีอยู่",
|
||||||
"collapseAll": "ยุบทั้งหมด",
|
"collapseAll": "ยุบทั้งหมด",
|
||||||
"editLink": "แก้ไขลิงก์",
|
"editLink": "แก้ไขลิงก์",
|
||||||
|
"editRelationship": "แก้ไขความสัมพันธ์",
|
||||||
"itemsAndMore": "{{items}} และเพิ่มเติมอีก {{count}}",
|
"itemsAndMore": "{{items}} และเพิ่มเติมอีก {{count}}",
|
||||||
"latitude": "ละติจูด",
|
"latitude": "ละติจูด",
|
||||||
"longitude": "ลองติจูด",
|
"longitude": "ลองติจูด",
|
||||||
"passwordsDoNotMatch": "รหัสผ่านไม่ตรงกัน",
|
"passwordsDoNotMatch": "รหัสผ่านไม่ตรงกัน",
|
||||||
|
"removeUpload": "ลบอัปโหลด",
|
||||||
|
"saveChanges": "บันทึก",
|
||||||
"searchForBlock": "ค้นหา Block",
|
"searchForBlock": "ค้นหา Block",
|
||||||
"selectFieldsToEdit": "เลือกช่องที่จะแก้ไข",
|
"selectFieldsToEdit": "เลือกช่องที่จะแก้ไข",
|
||||||
"showAll": "แสดงทั้งหมด",
|
"showAll": "แสดงทั้งหมด",
|
||||||
"swapRelationship": "สลับความสัมพันธ์",
|
"swapRelationship": "สลับความสัมพันธ์",
|
||||||
|
"swapUpload": "สลับอัปโหลด",
|
||||||
"uploadNewLabel": "อัปโหลด {{label}} ใหม่"
|
"uploadNewLabel": "อัปโหลด {{label}} ใหม่"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/tr.json
vendored
@@ -57,20 +57,25 @@
|
|||||||
"addLink": "Link Ekle",
|
"addLink": "Link Ekle",
|
||||||
"addNew": "Yeni",
|
"addNew": "Yeni",
|
||||||
"addNewLabel": "Yeni {{label}}",
|
"addNewLabel": "Yeni {{label}}",
|
||||||
|
"addUpload": "Yükleme Ekle",
|
||||||
"block": "blok",
|
"block": "blok",
|
||||||
"blockType": "Blok tipi",
|
"blockType": "Blok tipi",
|
||||||
"blocks": "blok",
|
"blocks": "blok",
|
||||||
"chooseFromExisting": "Varolanlardan seç",
|
"chooseFromExisting": "Varolanlardan seç",
|
||||||
"collapseAll": "Tümünü daralt",
|
"collapseAll": "Tümünü daralt",
|
||||||
"editLink": "Bağlantıyı Düzenle",
|
"editLink": "Bağlantıyı Düzenle",
|
||||||
|
"editRelationship": "İlişkiyi Ekle",
|
||||||
"itemsAndMore": "{{items}} and {{count}} more",
|
"itemsAndMore": "{{items}} and {{count}} more",
|
||||||
"latitude": "Enlem",
|
"latitude": "Enlem",
|
||||||
"longitude": "Boylam",
|
"longitude": "Boylam",
|
||||||
"passwordsDoNotMatch": "Parolalar eşleşmiyor.",
|
"passwordsDoNotMatch": "Parolalar eşleşmiyor.",
|
||||||
|
"removeUpload": "Dosyayı Sil",
|
||||||
|
"saveChanges": "Değişiklikleri kaydet",
|
||||||
"searchForBlock": "Blok ara",
|
"searchForBlock": "Blok ara",
|
||||||
"selectFieldsToEdit": "Düzenlenecek alanları seçin",
|
"selectFieldsToEdit": "Düzenlenecek alanları seçin",
|
||||||
"showAll": "Tümünü göster",
|
"showAll": "Tümünü göster",
|
||||||
"swapRelationship": "Takas Ilişkisi",
|
"swapRelationship": "Takas Ilişkisi",
|
||||||
|
"swapUpload": "Karşıya Yüklemeyi Değiştir",
|
||||||
"uploadNewLabel": "Karşıya {{label}} yükle"
|
"uploadNewLabel": "Karşıya {{label}} yükle"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
@@ -280,6 +280,21 @@
|
|||||||
},
|
},
|
||||||
"uploadNewLabel": {
|
"uploadNewLabel": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
|
},
|
||||||
|
"swapUpload": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"addUpload": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"editRelationship": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"removeUpload": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"saveChanges": {
|
||||||
|
"type": "string"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
@@ -301,7 +316,12 @@
|
|||||||
"selectFieldsToEdit",
|
"selectFieldsToEdit",
|
||||||
"showAll",
|
"showAll",
|
||||||
"swapRelationship",
|
"swapRelationship",
|
||||||
"uploadNewLabel"
|
"uploadNewLabel",
|
||||||
|
"swapUpload",
|
||||||
|
"addUpload",
|
||||||
|
"editRelationship",
|
||||||
|
"removeUpload",
|
||||||
|
"saveChanges"
|
||||||
],
|
],
|
||||||
"type": "object"
|
"type": "object"
|
||||||
},
|
},
|
||||||
|
|||||||
5
packages/translations/dist/client/ua.json
vendored
@@ -57,20 +57,25 @@
|
|||||||
"addLink": "Додати посилання",
|
"addLink": "Додати посилання",
|
||||||
"addNew": "Додати новий",
|
"addNew": "Додати новий",
|
||||||
"addNewLabel": "Створити {{label}}",
|
"addNewLabel": "Створити {{label}}",
|
||||||
|
"addUpload": "Додати завантаження",
|
||||||
"block": "блок",
|
"block": "блок",
|
||||||
"blockType": "Тип блока",
|
"blockType": "Тип блока",
|
||||||
"blocks": "блоки",
|
"blocks": "блоки",
|
||||||
"chooseFromExisting": "Вибрати з існуючих",
|
"chooseFromExisting": "Вибрати з існуючих",
|
||||||
"collapseAll": "Згорнути все",
|
"collapseAll": "Згорнути все",
|
||||||
"editLink": "Редагувати посилання",
|
"editLink": "Редагувати посилання",
|
||||||
|
"editRelationship": "Редагувати взаємозв'язок",
|
||||||
"itemsAndMore": "{{items}} і ще {{count}}",
|
"itemsAndMore": "{{items}} і ще {{count}}",
|
||||||
"latitude": "Широта",
|
"latitude": "Широта",
|
||||||
"longitude": "Довгота",
|
"longitude": "Довгота",
|
||||||
"passwordsDoNotMatch": "Паролі не співпадають.",
|
"passwordsDoNotMatch": "Паролі не співпадають.",
|
||||||
|
"removeUpload": "Видалити завантаження",
|
||||||
|
"saveChanges": "Зберегти зміни",
|
||||||
"searchForBlock": "Знайти блок",
|
"searchForBlock": "Знайти блок",
|
||||||
"selectFieldsToEdit": "Виберіть поля для редагування",
|
"selectFieldsToEdit": "Виберіть поля для редагування",
|
||||||
"showAll": "Показати все",
|
"showAll": "Показати все",
|
||||||
"swapRelationship": "Замінити зв'язок",
|
"swapRelationship": "Замінити зв'язок",
|
||||||
|
"swapUpload": "Замінити завантаження",
|
||||||
"uploadNewLabel": "Завантажити новий {{label}}"
|
"uploadNewLabel": "Завантажити новий {{label}}"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/vi.json
vendored
@@ -57,20 +57,25 @@
|
|||||||
"addLink": "Thêm liên kết",
|
"addLink": "Thêm liên kết",
|
||||||
"addNew": "Thêm mới",
|
"addNew": "Thêm mới",
|
||||||
"addNewLabel": "Thêm mới: {{label}}",
|
"addNewLabel": "Thêm mới: {{label}}",
|
||||||
|
"addUpload": "Thêm tải lên (upload)",
|
||||||
"block": "block",
|
"block": "block",
|
||||||
"blockType": "Block Type",
|
"blockType": "Block Type",
|
||||||
"blocks": "blocks",
|
"blocks": "blocks",
|
||||||
"chooseFromExisting": "Chọn từ thư viện",
|
"chooseFromExisting": "Chọn từ thư viện",
|
||||||
"collapseAll": "Ẩn toàn bộ",
|
"collapseAll": "Ẩn toàn bộ",
|
||||||
"editLink": "Chỉnh sửa liên kết",
|
"editLink": "Chỉnh sửa liên kết",
|
||||||
|
"editRelationship": "Chỉnh sửa mối quan hệ",
|
||||||
"itemsAndMore": "{{items}} và {{count}} món nữa",
|
"itemsAndMore": "{{items}} và {{count}} món nữa",
|
||||||
"latitude": "Vĩ độ",
|
"latitude": "Vĩ độ",
|
||||||
"longitude": "Kinh độ",
|
"longitude": "Kinh độ",
|
||||||
"passwordsDoNotMatch": "Mật khẩu không trùng.",
|
"passwordsDoNotMatch": "Mật khẩu không trùng.",
|
||||||
|
"removeUpload": "Xóa bản tải lên",
|
||||||
|
"saveChanges": "Luu thay đổi",
|
||||||
"searchForBlock": "Tìm block",
|
"searchForBlock": "Tìm block",
|
||||||
"selectFieldsToEdit": "Chọn các trường để chỉnh sửa",
|
"selectFieldsToEdit": "Chọn các trường để chỉnh sửa",
|
||||||
"showAll": "Hiển thị toàn bộ",
|
"showAll": "Hiển thị toàn bộ",
|
||||||
"swapRelationship": "Đổi quan hệ",
|
"swapRelationship": "Đổi quan hệ",
|
||||||
|
"swapUpload": "Đổi bản tải lên",
|
||||||
"uploadNewLabel": "Tải lên bản mới: {{label}}"
|
"uploadNewLabel": "Tải lên bản mới: {{label}}"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/zh-tw.json
vendored
@@ -59,20 +59,25 @@
|
|||||||
"addLink": "新增連結",
|
"addLink": "新增連結",
|
||||||
"addNew": "新增",
|
"addNew": "新增",
|
||||||
"addNewLabel": "新增{{label}}",
|
"addNewLabel": "新增{{label}}",
|
||||||
|
"addUpload": "上傳",
|
||||||
"block": "區塊",
|
"block": "區塊",
|
||||||
"blockType": "區塊類型",
|
"blockType": "區塊類型",
|
||||||
"blocks": "區塊",
|
"blocks": "區塊",
|
||||||
"chooseFromExisting": "從現有的選擇",
|
"chooseFromExisting": "從現有的選擇",
|
||||||
"collapseAll": "全部折疊",
|
"collapseAll": "全部折疊",
|
||||||
"editLink": "編輯連結",
|
"editLink": "編輯連結",
|
||||||
|
"editRelationship": "編輯關聯",
|
||||||
"itemsAndMore": "{{items}} 個,還有 {{count}} 個",
|
"itemsAndMore": "{{items}} 個,還有 {{count}} 個",
|
||||||
"latitude": "緯度",
|
"latitude": "緯度",
|
||||||
"longitude": "經度",
|
"longitude": "經度",
|
||||||
"passwordsDoNotMatch": "密碼不匹配。",
|
"passwordsDoNotMatch": "密碼不匹配。",
|
||||||
|
"removeUpload": "移除上傳",
|
||||||
|
"saveChanges": "儲存變更",
|
||||||
"searchForBlock": "搜尋一個區塊",
|
"searchForBlock": "搜尋一個區塊",
|
||||||
"selectFieldsToEdit": "選擇要編輯的字串",
|
"selectFieldsToEdit": "選擇要編輯的字串",
|
||||||
"showAll": "顯示全部",
|
"showAll": "顯示全部",
|
||||||
"swapRelationship": "替換關聯",
|
"swapRelationship": "替換關聯",
|
||||||
|
"swapUpload": "替換上傳",
|
||||||
"uploadNewLabel": "上傳新的{{label}}"
|
"uploadNewLabel": "上傳新的{{label}}"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
5
packages/translations/dist/client/zh.json
vendored
@@ -57,20 +57,25 @@
|
|||||||
"addLink": "添加链接",
|
"addLink": "添加链接",
|
||||||
"addNew": "添加新的",
|
"addNew": "添加新的",
|
||||||
"addNewLabel": "添加新的{{label}}",
|
"addNewLabel": "添加新的{{label}}",
|
||||||
|
"addUpload": "添加上传",
|
||||||
"block": "区块",
|
"block": "区块",
|
||||||
"blockType": "区块类型",
|
"blockType": "区块类型",
|
||||||
"blocks": "区块",
|
"blocks": "区块",
|
||||||
"chooseFromExisting": "从现有中选择",
|
"chooseFromExisting": "从现有中选择",
|
||||||
"collapseAll": "全部折叠",
|
"collapseAll": "全部折叠",
|
||||||
"editLink": "编辑链接",
|
"editLink": "编辑链接",
|
||||||
|
"editRelationship": "编辑关系",
|
||||||
"itemsAndMore": "{{items}}和{{count}}更多",
|
"itemsAndMore": "{{items}}和{{count}}更多",
|
||||||
"latitude": "纬度",
|
"latitude": "纬度",
|
||||||
"longitude": "经度",
|
"longitude": "经度",
|
||||||
"passwordsDoNotMatch": "密码不匹配。",
|
"passwordsDoNotMatch": "密码不匹配。",
|
||||||
|
"removeUpload": "移除上传",
|
||||||
|
"saveChanges": "保存更改",
|
||||||
"searchForBlock": "搜索一个区块",
|
"searchForBlock": "搜索一个区块",
|
||||||
"selectFieldsToEdit": "选择要编辑的字段",
|
"selectFieldsToEdit": "选择要编辑的字段",
|
||||||
"showAll": "显示全部",
|
"showAll": "显示全部",
|
||||||
"swapRelationship": "交换关系",
|
"swapRelationship": "交换关系",
|
||||||
|
"swapUpload": "交换上传",
|
||||||
"uploadNewLabel": "上传新的{{label}}"
|
"uploadNewLabel": "上传新的{{label}}"
|
||||||
},
|
},
|
||||||
"general": {
|
"general": {
|
||||||
|
|||||||
@@ -151,6 +151,11 @@ const clientTranslationKeys = [
|
|||||||
'fields:showAll',
|
'fields:showAll',
|
||||||
'fields:swapRelationship',
|
'fields:swapRelationship',
|
||||||
'fields:uploadNewLabel',
|
'fields:uploadNewLabel',
|
||||||
|
'fields:swapUpload',
|
||||||
|
'fields:addUpload',
|
||||||
|
'fields:editRelationship',
|
||||||
|
'fields:removeUpload',
|
||||||
|
'fields:saveChanges',
|
||||||
|
|
||||||
'general:aboutToDeleteCount',
|
'general:aboutToDeleteCount',
|
||||||
'general:aboutToDelete',
|
'general:aboutToDelete',
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ export type DocumentTogglerProps = HTMLAttributes<HTMLButtonElement> & {
|
|||||||
id?: string
|
id?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type UseDocumentDrawer = (args: { collectionSlug: string; id?: string }) => [
|
export type UseDocumentDrawer = (args: { collectionSlug: string; id?: string | number }) => [
|
||||||
React.FC<Omit<DocumentDrawerProps, 'collectionSlug' | 'id'>>, // drawer
|
React.FC<Omit<DocumentDrawerProps, 'collectionSlug' | 'id'>>, // drawer
|
||||||
React.FC<Omit<DocumentTogglerProps, 'collectionSlug' | 'id'>>, // toggler
|
React.FC<Omit<DocumentTogglerProps, 'collectionSlug' | 'id'>>, // toggler
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,9 +1,14 @@
|
|||||||
|
import path from 'path'
|
||||||
|
|
||||||
import type { CollectionConfig } from '../../../../packages/payload/src/collections/config/types'
|
import type { CollectionConfig } from '../../../../packages/payload/src/collections/config/types'
|
||||||
|
|
||||||
export const mediaSlug = 'media'
|
export const mediaSlug = 'media'
|
||||||
|
|
||||||
export const MediaCollection: CollectionConfig = {
|
export const MediaCollection: CollectionConfig = {
|
||||||
slug: mediaSlug,
|
slug: mediaSlug,
|
||||||
|
// upload: {
|
||||||
|
// staticDir: path.resolve(__dirname, './media'),
|
||||||
|
// },
|
||||||
upload: true,
|
upload: true,
|
||||||
access: {
|
access: {
|
||||||
read: () => true,
|
read: () => true,
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
import path from 'path'
|
||||||
|
|
||||||
|
import getFileByPath from '../../packages/payload/src/uploads/getFileByPath'
|
||||||
import { buildConfigWithDefaults } from '../buildConfigWithDefaults'
|
import { buildConfigWithDefaults } from '../buildConfigWithDefaults'
|
||||||
import { devUser } from '../credentials'
|
import { devUser } from '../credentials'
|
||||||
import { MediaCollection } from './collections/Media'
|
import { MediaCollection } from './collections/Media'
|
||||||
@@ -34,5 +37,15 @@ export default buildConfigWithDefaults({
|
|||||||
text: 'example post',
|
text: 'example post',
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// Create image
|
||||||
|
const imageFilePath = path.resolve(process.cwd(), './test/uploads/image.png')
|
||||||
|
const imageFile = await getFileByPath(imageFilePath)
|
||||||
|
|
||||||
|
const { id: uploadedImage } = await payload.create({
|
||||||
|
collection: 'media',
|
||||||
|
data: {},
|
||||||
|
file: imageFile,
|
||||||
|
})
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -25,7 +25,22 @@ const databaseAdapters = {
|
|||||||
export function buildConfigWithDefaults(testConfig?: Partial<Config>): Promise<SanitizedConfig> {
|
export function buildConfigWithDefaults(testConfig?: Partial<Config>): Promise<SanitizedConfig> {
|
||||||
const config: Config = {
|
const config: Config = {
|
||||||
secret: 'TEST_SECRET',
|
secret: 'TEST_SECRET',
|
||||||
editor: slateEditor({}),
|
editor: slateEditor({
|
||||||
|
admin: {
|
||||||
|
upload: {
|
||||||
|
collections: {
|
||||||
|
media: {
|
||||||
|
fields: [
|
||||||
|
{
|
||||||
|
name: 'alt',
|
||||||
|
type: 'text',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}),
|
||||||
rateLimit: {
|
rateLimit: {
|
||||||
max: 9999999999,
|
max: 9999999999,
|
||||||
window: 15 * 60 * 1000, // 15min default,
|
window: 15 * 60 * 1000, // 15min default,
|
||||||
|
|||||||