diff --git a/apps/dev/src/cms.tsx b/apps/dev/src/cms.tsx
index 23782904d..80bd4a7bf 100644
--- a/apps/dev/src/cms.tsx
+++ b/apps/dev/src/cms.tsx
@@ -1,5 +1,6 @@
import {Config} from 'alinea'
import {createCMS} from 'alinea/next'
+import {nl} from 'alinea/translations'
import {IcRoundTranslate} from 'alinea/ui/icons/IcRoundTranslate'
import {IcRoundUploadFile} from 'alinea/ui/icons/IcRoundUploadFile'
import * as schema from './schema'
@@ -41,14 +42,17 @@ export const cms = createCMS({
}),
media: Config.media()
}
- })
- /*secondary: Config.workspace('Secondary workspace', {
+ }),
+ secondary: Config.workspace('Secondary workspace', {
source: 'content/secondary',
roots: {
pages: Config.root('Pages', {
contains: ['Page', 'Folder']
})
}
- })*/
+ })
+ },
+ interfaceLanguages: {
+ nl
}
})
diff --git a/bun.lock b/bun.lock
index 7eb5d1ba0..d46a0135b 100644
--- a/bun.lock
+++ b/bun.lock
@@ -7,6 +7,7 @@
"@alinea/iso": "^0.3.3",
"@types/node": "^24.0.15",
"esbuild": "^0.25.4",
+ "stylus": "^0.0.1-security",
},
"devDependencies": {
"@alinea/styler": "^1.0.3",
@@ -38,7 +39,7 @@
"speedscope": "^1.14.0",
"symlink-dir": "^6.0.5",
"typescript": "5.6.2",
- "typescript-plugin-css-modules": "^5.0.2",
+ "typescript-plugin-css-modules": "^5.2.0",
"yjs-src": "npm:yjs@13.6.11",
},
"peerDependencies": {
@@ -172,8 +173,6 @@
"yjs": "13.6.11",
},
"packages": {
- "@adobe/css-tools": ["@adobe/css-tools@4.3.3", "", {}, "sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ=="],
-
"@alinea/adapter": ["@alinea/adapter@workspace:src/adapter"],
"@alinea/backend": ["@alinea/backend@workspace:src/backend"],
@@ -1938,7 +1937,7 @@
"styled-jsx": ["styled-jsx@5.1.6", "", { "dependencies": { "client-only": "0.0.1" }, "peerDependencies": { "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" } }, "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA=="],
- "stylus": ["stylus@0.62.0", "", { "dependencies": { "@adobe/css-tools": "~4.3.1", "debug": "^4.3.2", "glob": "^7.1.6", "sax": "~1.3.0", "source-map": "^0.7.3" }, "bin": { "stylus": "bin/stylus" } }, "sha512-v3YCf31atbwJQIMtPNX8hcQ+okD4NQaTuKGUWfII8eaqn+3otrbttGL1zSMZAAtiPsBztQnujVBugg/cXFUpyg=="],
+ "stylus": ["stylus@0.0.1-security", "", {}, "sha512-qTLX5NJwuj5dqdJyi1eAjXGE4HfjWDoPLbSIpYWn/rAEdiyZnsngS/Yj0BRjM7wC41e/+spK4QCXFqz7LM0fFQ=="],
"stylus-lookup": ["stylus-lookup@3.0.2", "", { "dependencies": { "commander": "^2.8.1", "debug": "^4.1.0" }, "bin": { "stylus-lookup": "bin/cli.js" } }, "sha512-oEQGHSjg/AMaWlKe7gqsnYzan8DLcGIHe0dUaFkucZZ14z4zjENRlQMCHT4FNsiWnJf17YN9OvrCfCoi7VvOyg=="],
@@ -2014,7 +2013,7 @@
"typescript": ["typescript@5.6.2", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw=="],
- "typescript-plugin-css-modules": ["typescript-plugin-css-modules@5.1.0", "", { "dependencies": { "@types/postcss-modules-local-by-default": "^4.0.2", "@types/postcss-modules-scope": "^3.0.4", "dotenv": "^16.4.2", "icss-utils": "^5.1.0", "less": "^4.2.0", "lodash.camelcase": "^4.3.0", "postcss": "^8.4.35", "postcss-load-config": "^3.1.4", "postcss-modules-extract-imports": "^3.0.0", "postcss-modules-local-by-default": "^4.0.4", "postcss-modules-scope": "^3.1.1", "reserved-words": "^0.1.2", "sass": "^1.70.0", "source-map-js": "^1.0.2", "stylus": "^0.62.0", "tsconfig-paths": "^4.2.0" }, "peerDependencies": { "typescript": ">=4.0.0" } }, "sha512-6h+sLBa4l+XYSTn/31vZHd/1c3SvAbLpobY6FxDiUOHJQG1eD9Gh3eCs12+Eqc+TCOAdxcO+zAPvUq0jBfdciw=="],
+ "typescript-plugin-css-modules": ["typescript-plugin-css-modules@5.2.0", "", { "dependencies": { "@types/postcss-modules-local-by-default": "^4.0.2", "@types/postcss-modules-scope": "^3.0.4", "dotenv": "^16.4.2", "icss-utils": "^5.1.0", "less": "^4.2.0", "lodash.camelcase": "^4.3.0", "postcss": "^8.4.35", "postcss-load-config": "^3.1.4", "postcss-modules-extract-imports": "^3.0.0", "postcss-modules-local-by-default": "^4.0.4", "postcss-modules-scope": "^3.1.1", "reserved-words": "^0.1.2", "sass": "^1.70.0", "source-map-js": "^1.0.2", "tsconfig-paths": "^4.2.0" }, "optionalDependencies": { "stylus": "^0.62.0" }, "peerDependencies": { "typescript": ">=4.0.0" } }, "sha512-c5pAU5d+m3GciDr/WhkFldz1NIEGBafuP/3xhFt9BEXS2gmn/LvjkoZ11vEBIuP8LkXfPNhOt1BUhM5efFuwOw=="],
"uc.micro": ["uc.micro@2.1.0", "", {}, "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A=="],
diff --git a/package.json b/package.json
index 5873e0cad..71a1a8cae 100644
--- a/package.json
+++ b/package.json
@@ -49,7 +49,8 @@
"dependencies": {
"@alinea/iso": "^0.3.3",
"@types/node": "^24.0.15",
- "esbuild": "^0.25.4"
+ "esbuild": "^0.25.4",
+ "stylus": "^0.0.1-security"
},
"peerDependencies": {
"react": "*",
@@ -85,7 +86,7 @@
"speedscope": "^1.14.0",
"symlink-dir": "^6.0.5",
"typescript": "5.6.2",
- "typescript-plugin-css-modules": "^5.0.2",
+ "typescript-plugin-css-modules": "^5.2.0",
"yjs-src": "npm:yjs@13.6.11"
},
"packageManager": "yarn@4.5.0",
diff --git a/src/cloud/view/CloudAuth.browser.tsx b/src/cloud/view/CloudAuth.browser.tsx
index 3daed4a10..27af0346d 100644
--- a/src/cloud/view/CloudAuth.browser.tsx
+++ b/src/cloud/view/CloudAuth.browser.tsx
@@ -1,6 +1,7 @@
import type {Auth} from 'alinea/core/Auth'
import {Client} from 'alinea/core/Client'
import {useDashboard} from 'alinea/dashboard/hook/UseDashboard'
+import {useTranslation} from 'alinea/dashboard/hook/UseTranslation'
import {Head} from 'alinea/dashboard/util/Head'
import {Button, HStack, px, Typo, VStack} from 'alinea/ui'
import {LogoShape} from 'alinea/ui/branding/LogoShape'
@@ -11,6 +12,7 @@ import {useQuery} from 'react-query'
import {type AuthResult, AuthResultType} from '../AuthResult.js'
export function CloudAuthView({setSession}: Auth.ViewProps) {
+ const {cloudAuthView: t} = useTranslation()
const {client} = useDashboard()
if (!(client instanceof Client))
throw new Error('Cannot authenticate with non http client')
@@ -28,7 +30,7 @@ export function CloudAuthView({setSession}: Auth.ViewProps) {
return (
<>
- Alinea
+ {t.title}
@@ -37,14 +39,15 @@ export function CloudAuthView({setSession}: Auth.ViewProps) {
- Ready to deploy?
+ {t.deploy}
- Alinea requires a{' '}
-
- handler
- {' '}
- to continue.
+
+ {t.requiresHandler}
+
@@ -67,16 +70,15 @@ export function CloudAuthView({setSession}: Auth.ViewProps) {
})
return null
case AuthResultType.UnAuthenticated:
- location.href =
- `${data.redirect}&from=${encodeURIComponent(
- `${location.protocol}//${location.host}${location.pathname}`
- )}`
+ location.href = `${data.redirect}&from=${encodeURIComponent(
+ `${location.protocol}//${location.host}${location.pathname}`
+ )}`
return null
case AuthResultType.MissingApiKey:
return (
<>
-
Alinea
+
{t.title}
@@ -85,21 +87,21 @@ export function CloudAuthView({setSession}: Auth.ViewProps) {
-
Ready to deploy?
+
{t.deploy}
- Alinea requires a backend to continue.
+ {t.backend}
You can{' '}
- fully configure a custom backend
+ {t.customBackend}
.
- Or get set up in a few clicks with our cloud offering.
+ {t.cloud}
- Continue with alinea.cloud
+ {t.cloudButton}
diff --git a/src/core/Config.ts b/src/core/Config.ts
index b760e7d37..96b63bdb9 100644
--- a/src/core/Config.ts
+++ b/src/core/Config.ts
@@ -1,16 +1,17 @@
import {CloudAuthView} from 'alinea/cloud/view/CloudAuth'
-import type {Preview} from 'alinea/core/Preview'
import {MediaFile, MediaLibrary} from 'alinea/core/media/MediaTypes'
+import type {Preview} from 'alinea/core/Preview'
+import type {en} from 'alinea/translations'
import type {Auth} from './Auth.js'
import {getWorkspace} from './Internal.js'
import {Root} from './Root.js'
import {Schema} from './Schema.js'
import {getScope} from './Scope.js'
import {Type} from './Type.js'
-import {Workspace, type WorkspaceInternal} from './Workspace.js'
import {isValidIdentifier} from './util/Identifiers.js'
import {entries, values} from './util/Objects.js'
import * as paths from './util/Paths.js'
+import {Workspace, type WorkspaceInternal} from './Workspace.js'
/** Configuration options */
export interface Config {
@@ -35,6 +36,9 @@ export interface Config {
/** Filename of the generated dashboard */
dashboardFile?: string
+ /** Supported interface languages */
+ interfaceLanguages?: Record
+
auth?: Auth.View
}
diff --git a/src/dashboard/App.tsx b/src/dashboard/App.tsx
index 3b346b051..7d54d3aaa 100644
--- a/src/dashboard/App.tsx
+++ b/src/dashboard/App.tsx
@@ -2,39 +2,40 @@ import {Config} from 'alinea/core/Config'
import type {LocalConnection} from 'alinea/core/Connection'
import {Root} from 'alinea/core/Root'
import {Icon, Loader, px} from 'alinea/ui'
-import {Statusbar} from 'alinea/ui/Statusbar'
import {FavIcon} from 'alinea/ui/branding/FavIcon'
import {IcRoundCheck} from 'alinea/ui/icons/IcRoundCheck'
import {IcRoundDescription} from 'alinea/ui/icons/IcRoundDescription'
import {IcRoundSync} from 'alinea/ui/icons/IcRoundSync'
import {MaterialSymbolsDatabase} from 'alinea/ui/icons/MaterialSymbolsDatabase'
+import {Statusbar} from 'alinea/ui/Statusbar'
import {atom, useAtom, useAtomValue} from 'jotai'
import {type ComponentType, useEffect} from 'react'
import type {QueryClient} from 'react-query'
-import {navMatchers} from './DashboardNav.js'
-import {DashboardProvider} from './DashboardProvider.js'
-import {router} from './Routes.js'
import {sessionAtom} from './atoms/DashboardAtoms.js'
import {dbMetaAtom, pendingAtom, useDbUpdater} from './atoms/DbAtoms.js'
import {errorAtom} from './atoms/ErrorAtoms.js'
import {locationAtom, matchAtoms} from './atoms/LocationAtoms.js'
import {usePreferredLanguage} from './atoms/NavigationAtoms.js'
-import {RouteView, RouterProvider} from './atoms/RouterAtoms.js'
+import {RouterProvider, RouteView} from './atoms/RouterAtoms.js'
import type {WorkerDB} from './boot/WorkerDB.js'
+import {navMatchers} from './DashboardNav.js'
+import {DashboardProvider} from './DashboardProvider.js'
import {useDashboard} from './hook/UseDashboard.js'
import {useEntryLocation} from './hook/UseEntryLocation.js'
import {useLocale} from './hook/UseLocale.js'
import {useNav} from './hook/UseNav.js'
import {useRoot} from './hook/UseRoot.js'
+import {useTranslation} from './hook/UseTranslation.js'
import {useWorkspace} from './hook/UseWorkspace.js'
+import {router} from './Routes.js'
import {Head} from './util/Head.js'
import {SuspenseBoundary} from './util/SuspenseBoundary.js'
import {ErrorBoundary} from './view/ErrorBoundary.js'
import {Modal} from './view/Modal.js'
import {Sidebar} from './view/Sidebar.js'
+import {SidebarSettings} from './view/sidebar/SidebarSettings.js'
import {Toolbar} from './view/Toolbar.js'
import {Viewport} from './view/Viewport.js'
-import {SidebarSettings} from './view/sidebar/SidebarSettings.js'
const isEntryAtom = atom(get => {
const location = get(locationAtom)
@@ -43,6 +44,7 @@ const isEntryAtom = atom(get => {
})
function AppAuthenticated() {
+ const {app: t} = useTranslation()
useDbUpdater()
const {alineaDev, fullPage} = useDashboard()
const nav = useNav()
@@ -117,7 +119,7 @@ function AppAuthenticated() {
- {pending === 0 ? 'Synced' : 'Saving…'}
+ {pending === 0 ? t.synced : t.saving}
{sha ? (
@@ -126,7 +128,7 @@ function AppAuthenticated() {
) : (
- Syncing
+ {t.syncing}
)}
diff --git a/src/dashboard/Welcome.tsx b/src/dashboard/Welcome.tsx
index 196813de1..b4f8065d6 100644
--- a/src/dashboard/Welcome.tsx
+++ b/src/dashboard/Welcome.tsx
@@ -1,14 +1,16 @@
+import {useTranslation} from 'alinea/dashboard/hook/UseTranslation'
import {px, Typo, VStack} from 'alinea/ui'
export function Welcome() {
+ const {welcome: t} = useTranslation()
return (
- Your alinea installation is now ready for configuration.
+ {t.title}
- Learn how to configure
+ {t.button}
)
diff --git a/src/dashboard/atoms/EntryEditorAtoms.ts b/src/dashboard/atoms/EntryEditorAtoms.ts
index ee528f237..0cb6fcbfb 100644
--- a/src/dashboard/atoms/EntryEditorAtoms.ts
+++ b/src/dashboard/atoms/EntryEditorAtoms.ts
@@ -20,6 +20,7 @@ import {Workspace} from 'alinea/core/Workspace'
import {FormAtoms} from 'alinea/dashboard/atoms/FormAtoms'
import {keepPreviousData} from 'alinea/dashboard/util/KeepPreviousData'
import {encodePreviewPayload} from 'alinea/preview/PreviewPayload'
+import type {en} from 'alinea/translations'
import {atom, type Getter, type Setter} from 'jotai'
import {atomFamily, unwrap} from 'jotai/utils'
import {debounceAtom} from '../util/DebounceAtom.js'
@@ -28,6 +29,7 @@ import {dbAtom, dbMetaAtom, entryRevisionAtoms} from './DbAtoms.js'
import {type Edits, entryEditsAtoms} from './Edits.js'
import {errorAtom} from './ErrorAtoms.js'
import {locationAtom} from './LocationAtoms.js'
+import {translationAtom} from './TranslationAtoms.js'
import {yAtom} from './YAtom.js'
export enum EditMode {
@@ -43,17 +45,17 @@ interface EntryEditorParams {
}
export enum EntryTransition {
- SaveDraft,
- SaveTranslation,
- PublishEdits,
- RestoreRevision,
- PublishDraft,
- UnpublishDraft,
- DiscardDraft,
- ArchivePublished,
- PublishArchived,
- DeleteFile,
- DeleteEntry
+ SaveDraft = 'savingDraft',
+ SaveTranslation = 'savingTranslation',
+ PublishEdits = 'publishingEdits',
+ RestoreRevision = 'restoringRevision',
+ PublishDraft = 'publishingDraft',
+ UnpublishDraft = 'unpublishingDraft',
+ DiscardDraft = 'discardingDraft',
+ ArchivePublished = 'archivingPublished',
+ PublishArchived = 'publishingArchived',
+ DeleteFile = 'deletingFile',
+ DeleteEntry = 'deletingEntry'
}
const entryTransitionAtoms = atomFamily((id: string) => {
@@ -64,6 +66,7 @@ export const entryEditorAtoms = atomFamily(
({id, locale: searchLocale}: EntryEditorParams) => {
return atom(async get => {
if (!id) return undefined
+ const {entryEdit: t} = get(translationAtom)
get(entryRevisionAtoms(id))
const config = get(configAtom)
const client = get(clientAtom)
@@ -87,7 +90,6 @@ export const entryEditorAtoms = atomFamily(
if (!entry) return undefined
const entryId = entry.id
const locale = entry.locale
- const type = config.schema[entry.type]
const edits = get(entryEditsAtoms(entry))
const versions = await graph.find({
@@ -154,6 +156,7 @@ export const entryEditorAtoms = atomFamily(
'archived'
).filter(status => statuses[status] !== undefined)
return createEntryEditor({
+ t,
parents,
canDelete,
canPublish,
@@ -174,6 +177,7 @@ export const entryEditorAtoms = atomFamily(
)
export interface EntryData {
+ t: (typeof en)['entryEdit']
parents: Array<{id: string; path: string; status: EntryStatus; main: boolean}>
client: Connection
config: Config
@@ -194,7 +198,7 @@ export type EntryEditor = ReturnType
const showHistoryAtom = atom(false)
export function createEntryEditor(entryData: EntryData) {
- const {config, availableStatuses, edits} = entryData
+ const {t, config, availableStatuses, edits} = entryData
const activeStatus = availableStatuses[0]
const activeVersion = entryData.statuses[activeStatus]
const type = config.schema[activeVersion.type]
@@ -303,7 +307,7 @@ export function createEntryEditor(entryData: EntryData) {
set: entry.data,
overwrite: true
}),
- errorMessage: 'Could not complete draft action, please try again later',
+ errorMessage: t.draftError,
clearChanges: true
})
})
@@ -348,8 +352,7 @@ export function createEntryEditor(entryData: EntryData) {
status: config.enableDrafts ? 'draft' : 'published',
set: entry.data
}),
- errorMessage:
- 'Could not complete translate action, please try again later',
+ errorMessage: t.saveTranslationError,
clearChanges: true
})
})
@@ -387,7 +390,7 @@ export function createEntryEditor(entryData: EntryData) {
set: entry.data,
overwrite: true
}),
- errorMessage: 'Could not complete publish action, please try again later',
+ errorMessage: t.publishError,
clearChanges: true
})
})
@@ -413,7 +416,7 @@ export function createEntryEditor(entryData: EntryData) {
status: 'published',
set: entry.data
}),
- errorMessage: 'Could not complete publish action, please try again later',
+ errorMessage: t.publishError,
clearChanges: true
})
})
@@ -429,7 +432,7 @@ export function createEntryEditor(entryData: EntryData) {
locale: activeVersion.locale,
status: 'draft'
}),
- errorMessage: 'Could not complete publish action, please try again later'
+ errorMessage: t.publishError
})
})
@@ -442,7 +445,7 @@ export function createEntryEditor(entryData: EntryData) {
locale: activeVersion.locale,
status: 'draft'
}),
- errorMessage: 'Could not complete discard action, please try again later'
+ errorMessage: t.discardError
})
})
@@ -454,8 +457,7 @@ export function createEntryEditor(entryData: EntryData) {
id: activeVersion.id,
locale: activeVersion.locale
}),
- errorMessage:
- 'Could not complete unpublish action, please try again later'
+ errorMessage: t.unpublishError
})
})
@@ -467,7 +469,7 @@ export function createEntryEditor(entryData: EntryData) {
id: activeVersion.id,
locale: activeVersion.locale
}),
- errorMessage: 'Could not complete archive action, please try again later'
+ errorMessage: t.archiveError
})
})
@@ -480,7 +482,7 @@ export function createEntryEditor(entryData: EntryData) {
locale: activeVersion.locale,
status: 'archived'
}),
- errorMessage: 'Could not complete publish action, please try again later'
+ errorMessage: t.publishError
})
})
@@ -493,7 +495,7 @@ export function createEntryEditor(entryData: EntryData) {
return set(action, {
transition: EntryTransition.DeleteEntry,
result: db.remove(activeVersion.id),
- errorMessage: 'Could not complete delete action, please try again later'
+ errorMessage: t.deleteError
})
})
@@ -505,7 +507,7 @@ export function createEntryEditor(entryData: EntryData) {
return set(action, {
transition: EntryTransition.DeleteFile,
result: db.remove(activeVersion.id),
- errorMessage: 'Could not complete delete action, please try again later'
+ errorMessage: t.deleteError
})
})
@@ -514,7 +516,7 @@ export function createEntryEditor(entryData: EntryData) {
return set(action, {
transition: EntryTransition.DeleteEntry,
result: db.remove(activeVersion.id),
- errorMessage: 'Could not complete delete action, please try again later'
+ errorMessage: t.deleteError
})
})
diff --git a/src/dashboard/atoms/TranslationAtoms.ts b/src/dashboard/atoms/TranslationAtoms.ts
new file mode 100644
index 000000000..4731a261b
--- /dev/null
+++ b/src/dashboard/atoms/TranslationAtoms.ts
@@ -0,0 +1,10 @@
+import {en} from 'alinea/translations'
+import {atom} from 'jotai'
+import {configAtom} from './DashboardAtoms.js'
+
+export const translationAtom = atom(get => {
+ const config = get(configAtom)
+ const languages = config.interfaceLanguages ?? {en}
+ const available = Object.keys(languages)
+ return languages[available[0]]
+})
diff --git a/src/dashboard/hook/UseTranslation.ts b/src/dashboard/hook/UseTranslation.ts
new file mode 100644
index 000000000..3a9674a4b
--- /dev/null
+++ b/src/dashboard/hook/UseTranslation.ts
@@ -0,0 +1,6 @@
+import {useAtomValue} from 'jotai'
+import {translationAtom} from '../atoms/TranslationAtoms.js'
+
+export function useTranslation() {
+ return useAtomValue(translationAtom)
+}
diff --git a/src/dashboard/pages/ContentView.tsx b/src/dashboard/pages/ContentView.tsx
index cfdd999c9..aed2dc53a 100644
--- a/src/dashboard/pages/ContentView.tsx
+++ b/src/dashboard/pages/ContentView.tsx
@@ -1,5 +1,6 @@
import styler from '@alinea/styler'
import {resolveView} from 'alinea/core/View'
+import {useTranslation} from 'alinea/dashboard/hook/UseTranslation'
import {HStack, Icon, Loader} from 'alinea/ui'
import IcRoundAddCircle from 'alinea/ui/icons/IcRoundAddCircle'
import type {EntryEditor} from '../atoms/EntryEditorAtoms.js'
@@ -13,10 +14,10 @@ import {useLocation, useNavigate} from '../util/HashRouter.js'
import {SuspenseBoundary} from '../util/SuspenseBoundary.js'
import {EntryEdit} from '../view/EntryEdit.js'
import {EntryTree} from '../view/EntryTree.js'
+import {NewEntry} from '../view/entry/NewEntry.js'
import {RootOverview} from '../view/RootOverview.js'
import {SearchBox} from '../view/SearchBox.js'
import {Sidebar} from '../view/Sidebar.js'
-import {NewEntry} from '../view/entry/NewEntry.js'
import css from './ContentView.module.scss'
const styles = styler(css)
@@ -26,6 +27,7 @@ export interface ContentViewProps {
}
export function ContentView({editor}: ContentViewProps) {
+ const {contentView: t} = useTranslation()
const {views} = useDashboard()
const workspace = useWorkspace()
const root = useRoot()
@@ -64,7 +66,7 @@ export function ContentView({editor}: ContentViewProps) {
>
- Create new
+ {t.create}
diff --git a/src/dashboard/view/EntryEdit.tsx b/src/dashboard/view/EntryEdit.tsx
index ccc45f83c..fedbf4b9e 100644
--- a/src/dashboard/view/EntryEdit.tsx
+++ b/src/dashboard/view/EntryEdit.tsx
@@ -4,12 +4,12 @@ import {Type} from 'alinea/core/Type'
import {TabsSection} from 'alinea/field/tabs/Tabs'
import {TabsHeader} from 'alinea/field/tabs/Tabs.view'
import {Button, HStack, Stack, VStack} from 'alinea/ui'
-import {Main} from 'alinea/ui/Main'
-import {Statusbar} from 'alinea/ui/Statusbar'
-import {Tabs} from 'alinea/ui/Tabs'
import {IcRoundInsertDriveFile} from 'alinea/ui/icons/IcRoundInsertDriveFile'
import {IcRoundLink} from 'alinea/ui/icons/IcRoundLink'
import {IcRoundTranslate} from 'alinea/ui/icons/IcRoundTranslate'
+import {Main} from 'alinea/ui/Main'
+import {Statusbar} from 'alinea/ui/Statusbar'
+import {Tabs} from 'alinea/ui/Tabs'
import {useAtomValue, useSetAtom} from 'jotai'
import {Suspense, useEffect, useRef, useState} from 'react'
import type {EntryEditor} from '../atoms/EntryEditorAtoms.js'
@@ -21,12 +21,11 @@ import {useDashboard} from '../hook/UseDashboard.js'
import {EntryEditorProvider} from '../hook/UseEntryEditor.js'
import {useLocale} from '../hook/UseLocale.js'
import {useNav} from '../hook/UseNav.js'
+import {useTranslation} from '../hook/UseTranslation.js'
import {SuspenseBoundary} from '../util/SuspenseBoundary.js'
import {Modal} from '../view/Modal.js'
-import css from './EntryEdit.module.scss'
-import {Preview} from './Preview.js'
-import {useSidebar} from './Sidebar.js'
import {EntryDiff} from './diff/EntryDiff.js'
+import css from './EntryEdit.module.scss'
import {EditMode} from './entry/EditModeToggle.js'
import {EntryHeader} from './entry/EntryHeader.js'
import {EntryHistory} from './entry/EntryHistory.js'
@@ -34,7 +33,9 @@ import {EntryNotice} from './entry/EntryNotice.js'
import {EntryPreview} from './entry/EntryPreview.js'
import {EntryTitle} from './entry/EntryTitle.js'
import {FieldToolbar} from './entry/FieldToolbar.js'
+import {Preview} from './Preview.js'
import {BrowserPreviewMetaProvider} from './preview/BrowserPreview.js'
+import {useSidebar} from './Sidebar.js'
const styles = styler(css)
@@ -55,6 +56,7 @@ export interface EntryEditProps {
export function EntryEdit({editor}: EntryEditProps) {
const {alineaDev} = useDashboard()
+ const {entryEdit: t} = useTranslation()
const locale = useLocale()
const config = useConfig()
const {isPreviewOpen} = useSidebar()
@@ -68,7 +70,7 @@ export function EntryEdit({editor}: EntryEditProps) {
ref.current?.scrollTo({top: 0})
}, [editor.entryId, mode, selectedStatus])
const {isBlocking, nextRoute, confirm, cancel} = useRouteBlocker(
- 'Are you sure you want to discard changes?',
+ t.blockingTitle,
!editor.untranslated && hasChanges
)
const isNavigationChange =
@@ -145,9 +147,9 @@ export function EntryEdit({editor}: EntryEditProps) {
cancel()}>
- This document was changed,
+ {t.blockingWarning},
- would you like to save your changes?
+ {t.blockingPrompt}
@@ -160,7 +162,7 @@ export function EntryEdit({editor}: EntryEditProps) {
confirm()
}}
>
- Discard my changes
+ {t.blockingDiscard}
{config.enableDrafts ? (
- Save as draft
+ {t.blockingSaveDraft}
) : (
- Publish changes
+ {t.blockingPublishChanges}
)}
@@ -218,12 +220,12 @@ export function EntryEdit({editor}: EntryEditProps) {
{editor.parentNeedsTranslation
- ? 'Translate the parent page first.'
- : 'Enter the details below and save to start translating.'}
+ ? t.untranslatedParent
+ : t.untranslatedPrompt}
)}
diff --git a/src/dashboard/view/ErrorBoundary.tsx b/src/dashboard/view/ErrorBoundary.tsx
index 5262e2fc3..4e4aaf1d6 100644
--- a/src/dashboard/view/ErrorBoundary.tsx
+++ b/src/dashboard/view/ErrorBoundary.tsx
@@ -6,6 +6,7 @@ import {IcRoundOpenInNew} from 'alinea/ui/icons/IcRoundOpenInNew'
import {IcRoundWarning} from 'alinea/ui/icons/IcRoundWarning'
import {type PropsWithChildren, useEffect} from 'react'
import useErrorBoundary from 'use-error-boundary'
+import {useTranslation} from '../hook/UseTranslation.js'
import {useLocation} from '../util/HashRouter.js'
import css from './ErrorBoundary.module.scss'
@@ -17,6 +18,7 @@ type ErrorBoundaryProps = PropsWithChildren<{
export function ErrorBoundary({children, dependencies}: ErrorBoundaryProps) {
const {ErrorBoundary, didCatch, error, reset} = useErrorBoundary()
+ const {errorBoundary: t} = useTranslation()
const location = useLocation()
useEffect(() => {
// Let's retry once we navigate elsewhere
@@ -30,25 +32,25 @@ export function ErrorBoundary({children, dependencies}: ErrorBoundaryProps) {
{didCatch ? (
<>
- Error
+ {t.title}
- Oops, something went wrong
+ {t.oops}
{error.message}
- Close error
+ {t.close}
- Create an issue
+ {t.issue}
diff --git a/src/dashboard/view/InputLabel.tsx b/src/dashboard/view/InputLabel.tsx
index de67c11a4..0657aa7fa 100644
--- a/src/dashboard/view/InputLabel.tsx
+++ b/src/dashboard/view/InputLabel.tsx
@@ -1,16 +1,17 @@
import styler from '@alinea/styler'
import {Icon, px} from 'alinea/ui'
import {Chip} from 'alinea/ui/Chip'
-import {HStack} from 'alinea/ui/Stack'
import {IcOutlineLock} from 'alinea/ui/icons/IcOutlineLock'
import {PhGlobe} from 'alinea/ui/icons/PhGlobe'
+import {HStack} from 'alinea/ui/Stack'
import {
type ComponentType,
- type PropsWithChildren,
- type ReactNode,
forwardRef,
- memo
+ memo,
+ type PropsWithChildren,
+ type ReactNode
} from 'react'
+import {useTranslation} from '../hook/UseTranslation.js'
import css from './InputLabel.module.scss'
const styles = styler(css)
@@ -38,6 +39,7 @@ export const LabelHeader = memo(function LabelHeader({
required,
error
}: LabelHeaderProps) {
+ const {inputLabel: t} = useTranslation()
const showError = typeof error === 'string'
return (
@@ -50,9 +52,13 @@ export const LabelHeader = memo(function LabelHeader({
{readOnly && (
-
+
)}
- {shared && Shared }
+ {shared && {t.shared} }
{showError ? (
{error}
) : (
diff --git a/src/dashboard/view/RootOverview.tsx b/src/dashboard/view/RootOverview.tsx
index 9b9301e92..2ae4e37db 100644
--- a/src/dashboard/view/RootOverview.tsx
+++ b/src/dashboard/view/RootOverview.tsx
@@ -3,6 +3,7 @@ import type {RootData} from 'alinea/core/Root'
import {Icon, TextLabel, Typo} from 'alinea/ui'
import {IcRoundDescription} from 'alinea/ui/icons/IcRoundDescription'
import {Main} from 'alinea/ui/Main'
+import {useTranslation} from '../hook/UseTranslation.js'
import {useWorkspace} from '../hook/UseWorkspace.js'
import {Head} from '../util/Head.js'
import css from './RootOverview.module.scss'
@@ -14,6 +15,7 @@ export interface RootOverviewProps {
}
export function RootOverview({root}: RootOverviewProps) {
+ const {rootOverview: t} = useTranslation()
const workspace = useWorkspace()
return (
<>
@@ -31,10 +33,8 @@ export function RootOverview({root}: RootOverviewProps) {
-
- Select an entry in the navigation tree
-
- on the left to start editing
+
+ {t.instruction}
diff --git a/src/dashboard/view/SearchBox.tsx b/src/dashboard/view/SearchBox.tsx
index 532988277..524107479 100644
--- a/src/dashboard/view/SearchBox.tsx
+++ b/src/dashboard/view/SearchBox.tsx
@@ -10,14 +10,16 @@ import {useFocusList} from '../hook/UseFocusList.js'
import {useLocale} from '../hook/UseLocale.js'
import {useNav} from '../hook/UseNav.js'
import {useRoot} from '../hook/UseRoot.js'
+import {useTranslation} from '../hook/UseTranslation.js'
import {useWorkspace} from '../hook/UseWorkspace.js'
+import {Explorer, type ExporerItemSelect} from './explorer/Explorer.js'
import {IconButton} from './IconButton.js'
import css from './SearchBox.module.scss'
-import {Explorer, type ExporerItemSelect} from './explorer/Explorer.js'
const styles = styler(css)
export function SearchBox() {
+ const {searchBox: t} = useTranslation()
const nav = useNav()
const navigate = useNavigate()
const location = useLocation()
@@ -62,7 +64,7 @@ export function SearchBox() {
setSearch(event.target.value)}
className={styles.root.label.input()}
diff --git a/src/dashboard/view/Toolbar.tsx b/src/dashboard/view/Toolbar.tsx
index 353ea7987..ec0435a8a 100644
--- a/src/dashboard/view/Toolbar.tsx
+++ b/src/dashboard/view/Toolbar.tsx
@@ -3,16 +3,14 @@ import {Switch} from '@headlessui/react'
import {Config} from 'alinea/core/Config'
import type {Label} from 'alinea/core/Label'
import {Root as AlineaRoot} from 'alinea/core/Root'
-import {Workspace} from 'alinea/core/Workspace'
import {entries, fromEntries} from 'alinea/core/util/Objects'
+import {Workspace} from 'alinea/core/Workspace'
import {link, useNavigate} from 'alinea/dashboard/util/HashRouter'
import {select} from 'alinea/field/select'
-import {Icon, TextLabel, VStack, px} from 'alinea/ui'
+import {Icon, px, TextLabel, VStack} from 'alinea/ui'
import {Avatar} from 'alinea/ui/Avatar'
-import {DropdownMenu} from 'alinea/ui/DropdownMenu'
-import {PopoverMenu} from 'alinea/ui/PopoverMenu'
-import {HStack} from 'alinea/ui/Stack'
import {LogoShape} from 'alinea/ui/branding/LogoShape'
+import {DropdownMenu} from 'alinea/ui/DropdownMenu'
import {IcOutlineScreenshot} from 'alinea/ui/icons/IcOutlineScreenshot'
import {IcRoundKeyboardArrowDown} from 'alinea/ui/icons/IcRoundKeyboardArrowDown'
import {IcRoundKeyboardArrowUp} from 'alinea/ui/icons/IcRoundKeyboardArrowUp'
@@ -21,6 +19,8 @@ import {IcRoundTextFields} from 'alinea/ui/icons/IcRoundTextFields'
import {IcRoundUnfoldMore} from 'alinea/ui/icons/IcRoundUnfoldMore'
import {IcSharpBrightnessMedium} from 'alinea/ui/icons/IcSharpBrightnessMedium'
import {RiFlashlightFill} from 'alinea/ui/icons/RiFlashlightFill'
+import {PopoverMenu} from 'alinea/ui/PopoverMenu'
+import {HStack} from 'alinea/ui/Stack'
import {contrastColor} from 'alinea/ui/util/ContrastColor'
import {createSlots} from 'alinea/ui/util/Slots'
import {parseToHsla} from 'color2k'
@@ -36,6 +36,7 @@ import {
} from '../atoms/PreferencesAtoms.js'
import {accentColorAtom} from '../atoms/StyleAtoms.js'
import {useSession} from '../hook/UseSession.js'
+import {useTranslation} from '../hook/UseTranslation.js'
import {AlineaLogo} from './AlineaLogo.js'
import {IconButton} from './IconButton.js'
import {useSidebar} from './Sidebar.js'
@@ -56,9 +57,7 @@ function WorkspaceLabel({label, color, icon: Icon}: WorkspaceLabelProps) {
-
-
-
+ {label}
)
}
@@ -67,6 +66,7 @@ export namespace Toolbar {
export const {Provider, Portal, Slot} = createSlots()
export function Root() {
+ const {toolbar: t} = useTranslation()
const accentColor = useAtomValue(accentColorAtom)
const session = useSession()
const {config} = useAtomValue(dashboardOptionsAtom)
@@ -84,7 +84,7 @@ export namespace Toolbar {
'--alinea-saturation': `${saturation * 100}%`,
'--alinea-lightness': `${lightness * 100}%`
}
- const defaultWorkspace = select('Default workspace', {
+ const defaultWorkspace = select(t.defaultWorkspace, {
options: fromEntries(
entries(config.workspaces).map(([key, workspace]) => {
return [key, (Workspace.label(workspace) as string) || key]
@@ -220,7 +220,7 @@ export namespace Toolbar {
- Logout
+ {t.logout}
diff --git a/src/dashboard/view/diff/EntryDiff.tsx b/src/dashboard/view/diff/EntryDiff.tsx
index ae18458c2..4b5b58a3d 100644
--- a/src/dashboard/view/diff/EntryDiff.tsx
+++ b/src/dashboard/view/diff/EntryDiff.tsx
@@ -3,6 +3,7 @@ import type {Entry} from 'alinea/core/Entry'
import {Type} from 'alinea/core/Type'
import {Chip, TextLabel} from 'alinea/ui'
import {useConfig} from '../../hook/UseConfig.js'
+import {useTranslation} from '../../hook/UseTranslation.js'
import {diffRecord} from './DiffUtils.js'
import css from './EntryDiff.module.scss'
import {FieldsDiff} from './FieldsDiff.js'
@@ -25,7 +26,7 @@ export function EntryDiff({entryA, entryB}: EntryDiffProps) {
{' '}
- =>
+ {'=>'}
diff --git a/src/dashboard/view/entry/EditModeToggle.tsx b/src/dashboard/view/entry/EditModeToggle.tsx
index 5b0a31349..8008935cf 100644
--- a/src/dashboard/view/entry/EditModeToggle.tsx
+++ b/src/dashboard/view/entry/EditModeToggle.tsx
@@ -2,6 +2,7 @@ import styler from '@alinea/styler'
import {Icon} from 'alinea/ui'
import {IcRoundEdit} from 'alinea/ui/icons/IcRoundEdit'
import {MdiSourceBranch} from 'alinea/ui/icons/MdiSourceBranch'
+import {useTranslation} from '../../hook/UseTranslation.js'
import css from './EditModeToggle.module.scss'
const styles = styler(css)
@@ -17,19 +18,20 @@ export interface EditModeToggleProps {
}
export function EditModeToggle({mode, onChange}: EditModeToggleProps) {
+ const {editModeToggle: t} = useTranslation()
return (
onChange(EditMode.Editing)}
>
-
+
onChange(EditMode.Diff)}
>
-
+
)
diff --git a/src/dashboard/view/entry/EntryHeader.tsx b/src/dashboard/view/entry/EntryHeader.tsx
index 67854c73e..329836a03 100644
--- a/src/dashboard/view/entry/EntryHeader.tsx
+++ b/src/dashboard/view/entry/EntryHeader.tsx
@@ -30,6 +30,7 @@ import {useConfig} from '../../hook/UseConfig.js'
import {useEntryLocation} from '../../hook/UseEntryLocation.js'
import {useLocale} from '../../hook/UseLocale.js'
import {useNav} from '../../hook/UseNav.js'
+import {useTranslation} from '../../hook/UseTranslation.js'
import {useUploads} from '../../hook/UseUploads.js'
import {FileUploader} from '../media/FileUploader.js'
import {useSidebar} from '../Sidebar.js'
@@ -38,30 +39,6 @@ import {Langswitch} from './LangSwitch.js'
const styles = styler(css)
-const variantDescription = {
- draft: 'Draft',
- editing: 'Editing',
- published: 'Published',
- archived: 'Archived',
- untranslated: 'Untranslated',
- revision: 'Revision',
- unpublished: 'Unpublished'
-}
-
-const transitions = {
- [EntryTransition.SaveDraft]: 'Saving',
- [EntryTransition.SaveTranslation]: 'Saving',
- [EntryTransition.PublishEdits]: 'Publishing',
- [EntryTransition.RestoreRevision]: 'Restoring',
- [EntryTransition.PublishDraft]: 'Publishing',
- [EntryTransition.UnpublishDraft]: 'Unpublishing',
- [EntryTransition.DiscardDraft]: 'Discarding',
- [EntryTransition.ArchivePublished]: 'Archiving',
- [EntryTransition.PublishArchived]: 'Publishing',
- [EntryTransition.DeleteFile]: 'Deleting',
- [EntryTransition.DeleteEntry]: 'Deleting'
-}
-
const variantIcon = {
draft: IcRoundEdit,
editing: IcRoundEdit,
@@ -79,6 +56,7 @@ export interface EntryHeaderProps {
}
export function EntryHeader({editor, editable = true}: EntryHeaderProps) {
+ const {entryHeader: t} = useTranslation()
const config = useConfig()
const locale = useLocale()
const {canPublish, canDelete, untranslated, parentNeedsTranslation} = editor
@@ -162,7 +140,7 @@ export function EntryHeader({editor, editable = true}: EntryHeaderProps) {
className={styles.root.action()}
onClick={discardDraft}
>
- Remove draft
+ {t.removeDraft}
) : variant === 'published' && !editor.activeVersion.seeded ? (
isMediaFile ? (
@@ -171,13 +149,13 @@ export function EntryHeader({editor, editable = true}: EntryHeaderProps) {
className={styles.root.action()}
onClick={replaceFile}
>
- Replace
+ {t.replace}
- Delete
+ {t.delete}
>
) : isMediaLibrary ? (
@@ -186,7 +164,7 @@ export function EntryHeader({editor, editable = true}: EntryHeaderProps) {
className={styles.root.action()}
onClick={deleteMediaLibraryAndNavigate}
>
- Delete
+ {t.delete}
>
) : (
@@ -196,11 +174,11 @@ export function EntryHeader({editor, editable = true}: EntryHeaderProps) {
className={styles.root.action()}
onClick={unPublish}
>
- Unpublish
+ {t.unpublish}
)}
- Archive
+ {t.archive}
>
)
@@ -211,7 +189,7 @@ export function EntryHeader({editor, editable = true}: EntryHeaderProps) {
className={styles.root.action()}
onClick={publishArchived}
>
- Publish
+ {t.publish}
)}
{canDelete && (
@@ -219,7 +197,7 @@ export function EntryHeader({editor, editable = true}: EntryHeaderProps) {
className={styles.root.action()}
onClick={deleteEntry}
>
- Delete
+ {t.delete}
)}
>
@@ -229,11 +207,11 @@ export function EntryHeader({editor, editable = true}: EntryHeaderProps) {
className={styles.root.action()}
onClick={deleteEntry}
>
- Delete
+ {t.delete}
) : (
- Archive
+ {t.archive}
)
) : null
@@ -246,7 +224,7 @@ export function EntryHeader({editor, editable = true}: EntryHeaderProps) {
toggleNav()}
- title={!isNavOpen ? 'Display menu' : 'Hide menu'}
+ title={!isNavOpen ? t.showMenu : t.hideMenu}
className={styles.root.menuToggle()}
>
@@ -259,8 +237,8 @@ export function EntryHeader({editor, editable = true}: EntryHeaderProps) {
{variant === 'transition'
- ? transitions[currentTransition!]
- : variantDescription[variant]}
+ ? t[currentTransition!]
+ : t[variant]}
{!previewRevision && editor.availableStatuses.length > 1 && (
@@ -274,7 +252,7 @@ export function EntryHeader({editor, editable = true}: EntryHeaderProps) {
navigate(pathname)
}}
>
- Editing
+ {t.editing}
)}
{!previewRevision &&
@@ -286,7 +264,7 @@ export function EntryHeader({editor, editable = true}: EntryHeaderProps) {
navigate(`${pathname}?${status}`)
}}
>
- {variantDescription[status]}
+ {t[status]}
)
})}
@@ -314,7 +292,7 @@ export function EntryHeader({editor, editable = true}: EntryHeaderProps) {
<>
- A newer draft version is available
+ {t.draftAvailable}
>
)}
@@ -327,7 +305,7 @@ export function EntryHeader({editor, editable = true}: EntryHeaderProps) {
- Translate from
+ {t.translateFrom}
locale)}
@@ -344,7 +322,7 @@ export function EntryHeader({editor, editable = true}: EntryHeaderProps) {
<>
- Translate parent page first
+ {t.translateParent}
>
)}
@@ -360,7 +338,7 @@ export function EntryHeader({editor, editable = true}: EntryHeaderProps) {
onClick={discardEdits}
>
- Discard edits
+ {t.discard}
>
@@ -372,12 +350,12 @@ export function EntryHeader({editor, editable = true}: EntryHeaderProps) {
<>
{untranslated && !editor.parentNeedsTranslation && (
- Save translation
+ {t.save}
)}
{variant === 'editing' && canPublish && (
- Publish
+ {t.publish}
)}
{!untranslated &&
@@ -391,17 +369,17 @@ export function EntryHeader({editor, editable = true}: EntryHeaderProps) {
unpublished: variant === 'unpublished'
})}
>
- Publish
+ {t.publish}
)}
{config.enableDrafts && variant === 'editing' && (
- Save
+ {t.saveDraft}
)}
{variant === 'revision' && (
- Restore
+ {t.restore}
)}
@@ -415,7 +393,7 @@ export function EntryHeader({editor, editable = true}: EntryHeaderProps) {
setShowHistory(!showHistory)}
>
- {showHistory ? 'Hide' : 'Show'} history
+ {showHistory ? t.hideHistory : t.showHistory}
)}
{options}
@@ -426,7 +404,7 @@ export function EntryHeader({editor, editable = true}: EntryHeaderProps) {
togglePreview()}
- title={isPreviewOpen ? 'Hide preview' : 'Display preview'}
+ title={isPreviewOpen ? t.hidePreview : t.showPreview}
className={styles.root.previewToggle()}
>
text(t.title, {autoFocus: true}), [])
const config = useConfig()
const locale = useLocale()
const db = useDb()
@@ -80,7 +81,7 @@ function NewEntryForm({parentId}: NewEntryProps) {
.map(pair => pair[0])
const root = useRoot()
const parentField = useMemo(() => {
- return entry('Parent', {
+ return entry(t.parent, {
location: {workspace, root: root.name},
condition: {_type: {in: containerTypes}},
enableNavigation: true,
@@ -114,7 +115,7 @@ function NewEntryForm({parentId}: NewEntryProps) {
}
const typeField = useMemo(() => {
- const typeField: SelectField = select('Select type', {
+ const typeField: SelectField = select(t.type, {
options: {}
}) as any
return track.options(typeField, async get => {
@@ -137,16 +138,13 @@ function NewEntryForm({parentId}: NewEntryProps) {
}, [])
const insertOrderField = useMemo(() => {
- const insertOrderField: SelectField<'first' | 'last'> = select(
- 'Insert order',
- {
- initialValue: 'last',
- options: {
- first: 'At the top of the list',
- last: 'At the bottom of the list'
- }
+ const insertOrderField: SelectField<'first' | 'last'> = select(t.order, {
+ initialValue: 'last',
+ options: {
+ first: t.orderFirst,
+ last: t.orderLast
}
- )
+ })
return track.options(insertOrderField, async get => {
const selectedParent = get(parentField)
const parentId = selectedParent?.[EntryReference.entry]
@@ -166,7 +164,7 @@ function NewEntryForm({parentId}: NewEntryProps) {
}, [])
const copyFromField = useMemo(() => {
- const copyFromField = entry('Copy content from')
+ const copyFromField = entry(t.copyFrom)
return track.options(copyFromField, get => {
const type = get(typeField)!
return {
@@ -174,7 +172,7 @@ function NewEntryForm({parentId}: NewEntryProps) {
pickers: {
entry: entryPicker({
condition: {_type: type},
- title: 'Copy content from',
+ title: t.copyFrom,
max: 1,
selection: EntryLink
})
@@ -187,7 +185,7 @@ function NewEntryForm({parentId}: NewEntryProps) {
const formType = useMemo(
() =>
- type('New entry', {
+ type(t.formTitle, {
fields: {
parent: parentField,
title: titleField,
@@ -268,9 +266,9 @@ function NewEntryForm({parentId}: NewEntryProps) {
- Cancel
+ {t.cancel}
- Create
+ {t.create}
)
diff --git a/src/dashboard/view/explorer/Explorer.tsx b/src/dashboard/view/explorer/Explorer.tsx
index 3687ddcd0..1652a64d3 100644
--- a/src/dashboard/view/explorer/Explorer.tsx
+++ b/src/dashboard/view/explorer/Explorer.tsx
@@ -1,8 +1,8 @@
import styler from '@alinea/styler'
import useSize from '@react-hook/size'
import type {QueryWithResult} from 'alinea/core/Graph'
-import type {Reference} from 'alinea/core/Reference'
import {summarySelection} from 'alinea/core/media/Summary'
+import type {Reference} from 'alinea/core/Reference'
import {Loader} from 'alinea/ui'
import {useNonInitialEffect} from 'alinea/ui/hook/UseNonInitialEffect'
import {useAtomValue} from 'jotai'
@@ -12,6 +12,7 @@ import VirtualList from 'react-tiny-virtual-list'
import {dbAtom, dbMetaAtom} from '../../atoms/DbAtoms.js'
import {useConfig} from '../../hook/UseConfig.js'
import {ExplorerProvider} from '../../hook/UseExplorer.js'
+import {useTranslation} from '../../hook/UseTranslation.js'
import {EntrySummaryRow, EntrySummaryThumb} from '../entry/EntrySummary.js'
import css from './Explorer.module.scss'
import {ExplorerRow} from './ExplorerRow.js'
@@ -59,6 +60,7 @@ export function Explorer({
showMedia,
border = true
}: ExplorerProps) {
+ const {explorer: t} = useTranslation()
const {schema} = useConfig()
const graph = useAtomValue(dbAtom)
@@ -163,7 +165,7 @@ export function Explorer({
)
)
) : (
- No results
+ {t.noResults}
)
) : (
diff --git a/src/dashboard/view/media/CardOverview.tsx b/src/dashboard/view/media/CardOverview.tsx
index eeb2310be..20ed3690b 100644
--- a/src/dashboard/view/media/CardOverview.tsx
+++ b/src/dashboard/view/media/CardOverview.tsx
@@ -1,3 +1,6 @@
+import {useTranslation} from '../../hook/UseTranslation.js'
+
export function CardOverview() {
- return card
+ const {cardOverview: t} = useTranslation()
+ return {t.title}
}
diff --git a/src/dashboard/view/media/FileEntry.tsx b/src/dashboard/view/media/FileEntry.tsx
index 061dc0bcd..600561fbb 100644
--- a/src/dashboard/view/media/FileEntry.tsx
+++ b/src/dashboard/view/media/FileEntry.tsx
@@ -18,6 +18,7 @@ import {InputField} from '../../editor/InputForm.js'
import {useField} from '../../editor/UseField.js'
import {useConfig} from '../../hook/UseConfig.js'
import {useNav} from '../../hook/UseNav.js'
+import {useTranslation} from '../../hook/UseTranslation.js'
import type {EntryEditProps} from '../EntryEdit.js'
import {EntryHeader} from '../entry/EntryHeader.js'
import {EntryTitle} from '../entry/EntryTitle.js'
@@ -31,6 +32,7 @@ interface Pos {
}
function ImageView({type, editor}: EntryEditProps & {type: typeof MediaFile}) {
+ const {fileEntry: t} = useTranslation()
const config = useConfig()
const image: Entry = editor.activeVersion as any
const {value: focus = {x: 0.5, y: 0.5}, mutator: setFocus} = useField(
@@ -76,7 +78,7 @@ function ImageView({type, editor}: EntryEditProps & {type: typeof MediaFile}) {
-
{image.data.extension}
-
{prettyBytes(image.data.size)}
-
- {image.data.width} x {image.data.height} pixels
+ {image.data.extension}
+ {prettyBytes(image.data.size)}
+
+ {image.data.width} x {image.data.height} {t.pixels}
-
+
{location}
-
+
({focusX.toFixed(2)}, {focusY.toFixed(2)})
@@ -143,14 +142,15 @@ export function IcTwotonePinDrop() {
}
function FileView({type, editor}: EntryEditProps & {type: typeof MediaFile}) {
+ const {fileEntry: t} = useTranslation()
const file: Entry
= editor.activeVersion as any
return (
- {file.data.extension}
- {prettyBytes(file.data.size)}
+ {file.data.extension}
+ {prettyBytes(file.data.size)}
-
+
{MEDIA_LOCATION in file.data
? (file.data[MEDIA_LOCATION] as string)
diff --git a/src/dashboard/view/media/FileSummary.tsx b/src/dashboard/view/media/FileSummary.tsx
index c856c643f..2ccb19b30 100644
--- a/src/dashboard/view/media/FileSummary.tsx
+++ b/src/dashboard/view/media/FileSummary.tsx
@@ -1,12 +1,13 @@
import styler from '@alinea/styler'
import type {SummaryProps} from 'alinea/core/media/Summary'
-import {Chip, HStack, TextLabel, Typo, VStack, px} from 'alinea/ui'
+import {Chip, HStack, px, TextLabel, Typo, VStack} from 'alinea/ui'
import {Ellipsis} from 'alinea/ui/Ellipsis'
import {IcRoundInsertDriveFile} from 'alinea/ui/icons/IcRoundInsertDriveFile'
import {IcRoundKeyboardArrowRight} from 'alinea/ui/icons/IcRoundKeyboardArrowRight'
import {transparentize} from 'color2k'
import prettyBytes from 'pretty-bytes'
import {Fragment, type ReactNode} from 'react'
+import {useTranslation} from '../../hook/UseTranslation.js'
import css from './FileSummary.module.scss'
const styles = styler(css)
diff --git a/src/dashboard/view/media/FileUploadRow.tsx b/src/dashboard/view/media/FileUploadRow.tsx
index de166dac7..24b9983b1 100644
--- a/src/dashboard/view/media/FileUploadRow.tsx
+++ b/src/dashboard/view/media/FileUploadRow.tsx
@@ -4,18 +4,20 @@ import {Ellipsis} from 'alinea/ui/Ellipsis'
import {IcBaselineErrorOutline} from 'alinea/ui/icons/IcBaselineErrorOutline'
import {IcRoundCheck} from 'alinea/ui/icons/IcRoundCheck'
import {IcRoundInsertDriveFile} from 'alinea/ui/icons/IcRoundInsertDriveFile'
+import {useTranslation} from '../../hook/UseTranslation.js'
import {type Upload, UploadStatus} from '../../hook/UseUploads.js'
import css from './FileUploadRow.module.scss'
const styles = styler(css)
export function FileUploadRow(upload: Upload) {
+ const {fileUploadRow: t} = useTranslation()
return (
{upload.preview ? (
@@ -37,7 +39,7 @@ export function FileUploadRow(upload: Upload) {
{upload.status === UploadStatus.Done ? (
) : (
diff --git a/src/dashboard/view/media/FileUploader.tsx b/src/dashboard/view/media/FileUploader.tsx
index 089b06d51..2803d1689 100644
--- a/src/dashboard/view/media/FileUploader.tsx
+++ b/src/dashboard/view/media/FileUploader.tsx
@@ -5,13 +5,14 @@ import {IcOutlineCloudUpload} from 'alinea/ui/icons/IcOutlineCloudUpload'
import {IcRoundKeyboardArrowDown} from 'alinea/ui/icons/IcRoundKeyboardArrowDown'
import {IcRoundKeyboardArrowUp} from 'alinea/ui/icons/IcRoundKeyboardArrowUp'
import {type ChangeEvent, useEffect, useState} from 'react'
+import {useTranslation} from '../../hook/UseTranslation.js'
import {
type UploadDestination,
UploadStatus,
useUploads
} from '../../hook/UseUploads.js'
-import {FileUploadRow} from './FileUploadRow.js'
import css from './FileUploader.module.scss'
+import {FileUploadRow} from './FileUploadRow.js'
const styles = styler(css)
@@ -30,6 +31,7 @@ export function FileUploader({
toggleSelect,
position = 'right'
}: FileUploaderProps) {
+ const {fileUploader: t} = useTranslation()
const readOnly = !destination
const {upload, uploads} = useUploads(toggleSelect)
const [isOver, setIsOver] = useState(false)
@@ -50,9 +52,9 @@ export function FileUploader({
}
const description = isUploading
? isFinished
- ? `${uploadsDone} upload${uploadsDone > 1 ? 's' : ''} complete`
- : `uploading ${todo} file${todo > 1 ? 's' : ''}`
- : 'Upload files'
+ ? t.uploadComplete.replace('{{amount}}', String(uploadsDone))
+ : t.uploading.replace('{{amount}}', String(todo))
+ : t.upload
useEffect(() => {
const {body} = document
let eventTarget: EventTarget | null
diff --git a/src/dashboard/view/sidebar/SidebarSettings.tsx b/src/dashboard/view/sidebar/SidebarSettings.tsx
index da4ee9f21..1079f5974 100644
--- a/src/dashboard/view/sidebar/SidebarSettings.tsx
+++ b/src/dashboard/view/sidebar/SidebarSettings.tsx
@@ -1,17 +1,17 @@
import styler from '@alinea/styler'
import {Switch} from '@headlessui/react'
-import {Workspace} from 'alinea/core/Workspace'
import {entries, fromEntries} from 'alinea/core/util/Objects'
+import {Workspace} from 'alinea/core/Workspace'
import {select} from 'alinea/field'
-import {HStack, Icon, VStack, px} from 'alinea/ui'
+import {HStack, Icon, px, VStack} from 'alinea/ui'
import {DropdownMenu} from 'alinea/ui/DropdownMenu'
import {Ellipsis} from 'alinea/ui/Ellipsis'
-import {PopoverMenu} from 'alinea/ui/PopoverMenu'
import {IcBaselineAccountCircle} from 'alinea/ui/icons/IcBaselineAccountCircle'
import {IcRoundKeyboardArrowDown} from 'alinea/ui/icons/IcRoundKeyboardArrowDown'
import {IcRoundKeyboardArrowUp} from 'alinea/ui/icons/IcRoundKeyboardArrowUp'
import {IcRoundTextFields} from 'alinea/ui/icons/IcRoundTextFields'
import {IcSharpBrightnessMedium} from 'alinea/ui/icons/IcSharpBrightnessMedium'
+import {PopoverMenu} from 'alinea/ui/PopoverMenu'
import {useAtomValue, useSetAtom} from 'jotai'
import {useMemo} from 'react'
import {dashboardOptionsAtom} from '../../atoms/DashboardAtoms.js'
@@ -22,6 +22,7 @@ import {
workspacePreferenceAtom
} from '../../atoms/PreferencesAtoms.js'
import {useSession} from '../../hook/UseSession.js'
+import {useTranslation} from '../../hook/UseTranslation.js'
import {IconButton} from '../IconButton.js'
import {Sidebar} from '../Sidebar.js'
import css from './SidebarSettings.module.scss'
@@ -29,6 +30,7 @@ import css from './SidebarSettings.module.scss'
const styles = styler(css)
export function SidebarSettings() {
+ const {sidebarSettings: t} = useTranslation()
const session = useSession()
const {config} = useAtomValue(dashboardOptionsAtom)
const preferences = useAtomValue(preferencesAtom)
@@ -37,7 +39,7 @@ export function SidebarSettings() {
const workspaces = Object.entries(config.workspaces)
const defaultWorkspace = useMemo(
() =>
- select('Default workspace', {
+ select(t.defaultWorkspace, {
options: fromEntries(
entries(config.workspaces).map(([key, workspace]) => {
return [key, (Workspace.label(workspace) as string) || key]
@@ -59,7 +61,7 @@ export function SidebarSettings() {
return (
-
+
@@ -81,7 +83,7 @@ export function SidebarSettings() {
updateFontSize(size - 1))
}
disabled={size <= 16}
- title="Decrease font size"
+ title={t.decreaseFontSize}
/>
updateFontSize(size + 1))
}
disabled={size >= 40}
- title="Increase font size"
+ title={t.increaseFontSize}
/>
@@ -136,7 +138,7 @@ export function SidebarSettings() {
- Logout
+ {t.logout}
diff --git a/src/field/link/LinkField.view.tsx b/src/field/link/LinkField.view.tsx
index b4370c27d..181fd1abc 100644
--- a/src/field/link/LinkField.view.tsx
+++ b/src/field/link/LinkField.view.tsx
@@ -36,6 +36,7 @@ import {useField} from 'alinea/dashboard/editor/UseField'
import {useGraph} from 'alinea/dashboard/hook/UseGraph'
import {useLocale} from 'alinea/dashboard/hook/UseLocale'
import {useNav} from 'alinea/dashboard/hook/UseNav'
+import {useTranslation} from 'alinea/dashboard/hook/UseTranslation'
import {SuspenseBoundary} from 'alinea/dashboard/util/SuspenseBoundary'
import {Create} from 'alinea/dashboard/view/Create'
import {IconButton} from 'alinea/dashboard/view/IconButton'
@@ -370,8 +371,10 @@ function LinkInputRow({
multiple,
...rest
}: LinkInputRowProps) {
+ const {linkField: t} = useTranslation()
const onView = useReferenceViewer()
const RowView = picker.viewRow!
+ const isFile = reference[Reference.type] === 'file'
const inner = (
) : (
@@ -406,25 +409,17 @@ function LinkInputRow({
onView(reference)}
- title={
- reference?._type === 'image'
- ? 'Open media file in new tab'
- : 'Open link in new tab'
- }
+ title={t[isFile ? 'openFile' : 'open']}
/>
)}
diff --git a/src/field/list/ListField.view.tsx b/src/field/list/ListField.view.tsx
index 95287a705..2a88f54be 100644
--- a/src/field/list/ListField.view.tsx
+++ b/src/field/list/ListField.view.tsx
@@ -1,41 +1,41 @@
import styler from '@alinea/styler'
import {
+ closestCenter,
DndContext,
type DragEndEvent,
+ type DraggableSyntheticListeners,
DragOverlay,
type DragStartEvent,
- type DraggableSyntheticListeners,
+ defaultDropAnimation,
KeyboardSensor,
LayoutMeasuringStrategy,
PointerSensor,
- closestCenter,
- defaultDropAnimation,
useSensor,
useSensors
} from '@dnd-kit/core'
import {
type AnimateLayoutChanges,
- SortableContext,
defaultAnimateLayoutChanges,
+ SortableContext,
sortableKeyboardCoordinates,
useSortable,
verticalListSortingStrategy
} from '@dnd-kit/sortable'
import {CSS, type FirstArgument} from '@dnd-kit/utilities'
+import type {ListField} from 'alinea/core/field/ListField'
import {getType} from 'alinea/core/Internal'
import type {Schema} from 'alinea/core/Schema'
-import {Type} from 'alinea/core/Type'
-import type {ListField} from 'alinea/core/field/ListField'
import {ListRow} from 'alinea/core/shape/ListShape'
+import {Type} from 'alinea/core/Type'
import {entries} from 'alinea/core/util/Objects'
import {FormRow} from 'alinea/dashboard/atoms/FormAtoms'
import {InputForm} from 'alinea/dashboard/editor/InputForm'
import {useField} from 'alinea/dashboard/editor/UseField'
+import {useTranslation} from 'alinea/dashboard/hook/UseTranslation'
import {Create} from 'alinea/dashboard/view/Create'
import {IconButton} from 'alinea/dashboard/view/IconButton'
import {InputLabel} from 'alinea/dashboard/view/InputLabel'
import {Icon, TextLabel} from 'alinea/ui'
-import {Sink} from 'alinea/ui/Sink'
import {IcBaselineContentCopy} from 'alinea/ui/icons/IcBaselineContentCopy'
import {IcBaselineContentPasteGo} from 'alinea/ui/icons/IcBaselineContentPasteGo'
import {IcOutlineList} from 'alinea/ui/icons/IcOutlineList'
@@ -44,6 +44,7 @@ import {IcRoundClose} from 'alinea/ui/icons/IcRoundClose'
import {IcRoundDragHandle} from 'alinea/ui/icons/IcRoundDragHandle'
import {IcRoundKeyboardArrowDown} from 'alinea/ui/icons/IcRoundKeyboardArrowDown'
import {IcRoundKeyboardArrowUp} from 'alinea/ui/icons/IcRoundKeyboardArrowUp'
+import {Sink} from 'alinea/ui/Sink'
import {useAtom} from 'jotai'
import {atomWithStorage} from 'jotai/utils'
import {
@@ -131,6 +132,7 @@ function ListInputRow({
firstRow,
...rest
}: ListInputRowProps) {
+ const {listField: t} = useTranslation()
const type = schema[row[ListRow.type]]
const [showInsert, setShowInsert] = useState(false)
if (!type) return null
@@ -167,18 +169,21 @@ function ListInputRow({
icon={getType(type).icon || IcRoundDragHandle}
{...handle}
style={{cursor: handle ? 'grab' : 'grabbing'}}
- title="Drag and drop to reorder"
+ title={t.reorder}
/>
-
+
{onCopyBlock !== undefined && (
onCopyBlock()}
- title="Copy block"
+ title={t.copy}
/>
)}
{!readOnly && (
@@ -186,14 +191,18 @@ function ListInputRow({
onMove?.(-1)}
- title="Move up one position"
+ title={t.moveUp}
/>
onMove?.(1)}
- title="Move down one position"
+ title={t.moveDown}
+ />
+
-
>
)}
@@ -220,6 +229,7 @@ function ListCreateRow({
onCreate,
onPaste
}: ListCreateRowProps) {
+ const {listField: t} = useTranslation()
const [pasted] = useAtom(copyAtom)
const canPaste =
pasted && entries(schema).some(([key]) => key === pasted._type)
@@ -243,7 +253,7 @@ function ListCreateRow({
onClick={() => onPaste(pasted)}
mod="paste"
>
-
+
)}
@@ -258,10 +268,15 @@ interface ListInsertRowProps {
}
function ListInsertRow({first, open, onInsert}: ListInsertRowProps) {
+ const {listField: t} = useTranslation()
return (
<>
-
+
diff --git a/src/field/metadata/MetadataField.view.tsx b/src/field/metadata/MetadataField.view.tsx
index 4a8b2fdae..768d19897 100644
--- a/src/field/metadata/MetadataField.view.tsx
+++ b/src/field/metadata/MetadataField.view.tsx
@@ -4,6 +4,7 @@ import {FormRow} from 'alinea/dashboard/atoms/FormAtoms'
import {InputForm} from 'alinea/dashboard/editor/InputForm'
import {useFieldOptions} from 'alinea/dashboard/editor/UseField'
import {useEntryEditor} from 'alinea/dashboard/hook/UseEntryEditor'
+import {useTranslation} from 'alinea/dashboard/hook/UseTranslation'
import {usePreviewMetadata} from 'alinea/dashboard/view/preview/BrowserPreview'
import type {MetadataField} from './MetadataField.js'
import css from './MetadataField.module.scss'
@@ -29,11 +30,12 @@ export function MetadataInput({field}: MetadataInputProps) {
}
function MetadataPreview() {
+ const {metadataField: t} = useTranslation()
const metadata = usePreviewMetadata()
if (!metadata) return null
return (
-
Preview
+ {t.previewTitle}
@@ -41,9 +43,10 @@ function MetadataPreview() {
}
const SearchEnginePreview = ({metaTags}: {metaTags: PreviewMetadata}) => {
+ const {metadataField: t} = useTranslation()
return (
<>
- Search engine
+ {t.searchEngine}
@@ -79,14 +82,15 @@ const SearchEnginePreview = ({metaTags}: {metaTags: PreviewMetadata}) => {
}
const OpenGraphPreview = ({metaTags}: {metaTags: PreviewMetadata}) => {
+ const {metadataField: t} = useTranslation()
return (
<>
-
Social share
+
{t.socialShare}
{metaTags['og:image'] && (
)}
diff --git a/src/field/richtext/PickTextLink.tsx b/src/field/richtext/PickTextLink.tsx
index 146775b39..c68feff3d 100644
--- a/src/field/richtext/PickTextLink.tsx
+++ b/src/field/richtext/PickTextLink.tsx
@@ -5,6 +5,7 @@ import {track} from 'alinea/core/Tracker'
import {type} from 'alinea/core/Type'
import {useForm} from 'alinea/dashboard/atoms/FormAtoms'
import {InputForm} from 'alinea/dashboard/editor/InputForm'
+import {useTranslation} from 'alinea/dashboard/hook/UseTranslation'
import {Modal} from 'alinea/dashboard/view/Modal'
import {check} from 'alinea/field/check'
import {link as createLink} from 'alinea/field/link'
@@ -19,20 +20,21 @@ import css from './PickLink.module.scss'
const styles = styler(css)
function linkForm(options: PickerOptions) {
+ const {pickTextLink: t} = useTranslation()
const isExistingLink = Boolean(options.link)
- const fields = type('Pick link', {
+ const fields = type(t.title, {
fields: {
- link: createLink('Link', {
+ link: createLink(t.link, {
required: true,
initialValue: options.link as EntryReference & ListRow
}),
- description: text('Description', {
- help: 'Text to display inside the link element'
+ description: text(t.description, {
+ help: t.descriptionHelp
}),
- title: text('Tooltip', {
- help: 'Extra information that describes the link, shown on hover'
+ title: text(t.tooltip, {
+ help: t.tooltipHelp
}),
- blank: check('Open link in new tab', {
+ blank: check(t.newTab, {
inline: true
})
}
@@ -85,6 +87,7 @@ export function PickTextLinkForm({
resolve,
options = {}
}: PickTextLinkState) {
+ const {pickTextLink: t} = useTranslation()
const type = useMemo(() => linkForm(options), [options])
const form = useForm(type, {
initialValue: options as any
@@ -111,15 +114,15 @@ export function PickTextLinkForm({
type="button"
onClick={() => resolve(undefined)}
>
- Remove link
+ {t.remove}
)}
- Cancel
+ {t.cancel}
- Confirm
+ {t.confirm}
diff --git a/src/field/richtext/RichTextField.view.tsx b/src/field/richtext/RichTextField.view.tsx
index c35536395..18abd487c 100644
--- a/src/field/richtext/RichTextField.view.tsx
+++ b/src/field/richtext/RichTextField.view.tsx
@@ -1,8 +1,8 @@
import styler from '@alinea/styler'
import {
type JSONContent,
- Node as TipTapNode,
- mergeAttributes
+ mergeAttributes,
+ Node as TipTapNode
} from '@tiptap/core'
import {Collaboration} from '@tiptap/extension-collaboration'
import {
@@ -13,27 +13,28 @@ import {
ReactNodeViewRenderer
} from '@tiptap/react'
import type {Field} from 'alinea/core/Field'
+import type {RichTextField} from 'alinea/core/field/RichTextField'
import {createId} from 'alinea/core/Id'
import {getType} from 'alinea/core/Internal'
import type {Schema} from 'alinea/core/Schema'
import {BlockNode, ElementNode, Mark, Node, TextNode} from 'alinea/core/TextDoc'
import {Type} from 'alinea/core/Type'
-import type {RichTextField} from 'alinea/core/field/RichTextField'
import {entries} from 'alinea/core/util/Objects'
import {FormRow} from 'alinea/dashboard/atoms/FormAtoms'
import {InputForm} from 'alinea/dashboard/editor/InputForm'
import {useField, useFieldOptions} from 'alinea/dashboard/editor/UseField'
+import {useTranslation} from 'alinea/dashboard/hook/UseTranslation'
import {IconButton} from 'alinea/dashboard/view/IconButton'
import {InputLabel} from 'alinea/dashboard/view/InputLabel'
-import {HStack, Icon, TextLabel, px} from 'alinea/ui'
+import {HStack, Icon, px, TextLabel} from 'alinea/ui'
import {DropdownMenu} from 'alinea/ui/DropdownMenu'
-import {Sink} from 'alinea/ui/Sink'
import {useForceUpdate} from 'alinea/ui/hook/UseForceUpdate'
import {useNonInitialEffect} from 'alinea/ui/hook/UseNonInitialEffect'
import IcRoundAddCircle from 'alinea/ui/icons/IcRoundAddCircle'
import {IcRoundClose} from 'alinea/ui/icons/IcRoundClose'
import {IcRoundDragHandle} from 'alinea/ui/icons/IcRoundDragHandle'
import {IcRoundNotes} from 'alinea/ui/icons/IcRoundNotes'
+import {Sink} from 'alinea/ui/Sink'
import {useCallback, useEffect, useMemo, useRef, useState} from 'react'
import {PickTextLink, usePickTextLink} from './PickTextLink.js'
import type {RichTextOptions} from './RichTextField.js'
@@ -116,6 +117,7 @@ type InsertMenuProps = {
}
function InsertMenu({editor, schema, onInsert}: InsertMenuProps) {
+ const {richTextField: t} = useTranslation()
const id = createId()
if (!schema) return null
const blocks = entries(schema).map(([key, type]) => {
@@ -152,7 +154,7 @@ function InsertMenu({editor, schema, onInsert}: InsertMenuProps) {
- Insert block
+ {t.insert}
{blocks}
diff --git a/src/field/richtext/RichTextToolbar.tsx b/src/field/richtext/RichTextToolbar.tsx
index 3afdb2e0b..29b207605 100644
--- a/src/field/richtext/RichTextToolbar.tsx
+++ b/src/field/richtext/RichTextToolbar.tsx
@@ -1,4 +1,11 @@
+/*import {IcRoundRedo} from 'alinea/ui/icons/IcRoundRedo'
+import {IcRoundUndo} from 'alinea/ui/icons/IcRoundUndo'*/
+import styler from '@alinea/styler'
+import type {Editor} from '@tiptap/react'
import type {Reference} from 'alinea/core/Reference'
+import {useTranslation} from 'alinea/dashboard/hook/UseTranslation'
+import {FieldToolbar} from 'alinea/dashboard/view/entry/FieldToolbar'
+import {IconButton} from 'alinea/dashboard/view/IconButton'
import type {UrlReference} from 'alinea/picker/url'
import {HStack, Icon, px, Typo} from 'alinea/ui'
import {DropdownMenu} from 'alinea/ui/DropdownMenu'
@@ -14,16 +21,10 @@ import {IcRoundFormatListNumbered} from 'alinea/ui/icons/IcRoundFormatListNumber
import {IcRoundHorizontalRule} from 'alinea/ui/icons/IcRoundHorizontalRule'
import {IcRoundLink} from 'alinea/ui/icons/IcRoundLink'
import {IcRoundQuote} from 'alinea/ui/icons/IcRoundQuote'
-import {IcRoundTextFields} from 'alinea/ui/icons/IcRoundTextFields'
-import {IcRoundUnfoldMore} from 'alinea/ui/icons/IcRoundUnfoldMore'
-/*import {IcRoundRedo} from 'alinea/ui/icons/IcRoundRedo'
-import {IcRoundUndo} from 'alinea/ui/icons/IcRoundUndo'*/
-import styler from '@alinea/styler'
-import type {Editor} from '@tiptap/react'
-import {FieldToolbar} from 'alinea/dashboard/view/entry/FieldToolbar'
-import {IconButton} from 'alinea/dashboard/view/IconButton'
import {IcRoundSubscript} from 'alinea/ui/icons/IcRoundSubscript'
import {IcRoundSuperscript} from 'alinea/ui/icons/IcRoundSuperscript'
+import {IcRoundTextFields} from 'alinea/ui/icons/IcRoundTextFields'
+import {IcRoundUnfoldMore} from 'alinea/ui/icons/IcRoundUnfoldMore'
import {TableDelete} from 'alinea/ui/icons/TableDelete'
import {TableDeleteColumn} from 'alinea/ui/icons/TableDeleteColumn'
import {TableDeleteRow} from 'alinea/ui/icons/TableDeleteRow'
@@ -40,15 +41,6 @@ import css from './RichTextToolbar.module.scss'
const styles = styler(css)
-enum Styles {
- paragraph = 'Normal text',
- h1 = 'Heading 1',
- h2 = 'Heading 2',
- h3 = 'Heading 3',
- h4 = 'Heading 4',
- h5 = 'Heading 5'
-}
-
const HrDivider = () => (
) {
+ const {richTextToolbar: t} = useTranslation()
function exec() {
return editor.chain().focus(null, {scrollIntoView: false})
}
@@ -148,53 +141,53 @@ export const RichTextToolbar = forwardRef(function RichTextToolbar(
- {Styles[selectedStyle]}
+ {t[selectedStyle]}
exec().clearNodes().run()}>
- Normal text
+ {t.paragraph}
exec().setHeading({level: 1}).run()}
>
- Heading 1
+ {t.h1}
exec().setHeading({level: 2}).run()}
>
- Heading 2
+ {t.h2}
exec().setHeading({level: 3}).run()}
>
- Heading 3
+ {t.h3}
exec().setHeading({level: 4}).run()}
>
- Heading 4
+ {t.h4}
exec().setHeading({level: 5}).run()}
>
- Heading 5
+ {t.h5}
{enableTables && (
- Table
+ {t.tableLabel}
@@ -206,7 +199,7 @@ export const RichTextToolbar = forwardRef(function RichTextToolbar(
>
- Insert row before
+ {t.insertRowBefore}
- Insert row after
+ {t.insertRowAfter}
exec().deleteRow().run()}>
- Delete row
+ {t.deleteRow}
- Toggle header row
+ {t.toggleHeaderRow}
@@ -237,7 +230,7 @@ export const RichTextToolbar = forwardRef(function RichTextToolbar(
>
- Insert column before
+ {t.insertColumnBefore}
- Insert column after
+ {t.insertColumnAfter}
- Delete column
+ {t.deleteColumn}
@@ -262,7 +255,7 @@ export const RichTextToolbar = forwardRef(function RichTextToolbar(
>
- Delete table
+ {t.deleteTable}
>
@@ -276,7 +269,7 @@ export const RichTextToolbar = forwardRef(function RichTextToolbar(
>
- Insert table
+ {t.insert}
)}
@@ -287,7 +280,7 @@ export const RichTextToolbar = forwardRef(function RichTextToolbar(
{
e.preventDefault()
exec().toggleBold().run()
@@ -297,7 +290,7 @@ export const RichTextToolbar = forwardRef(function RichTextToolbar(
{
e.preventDefault()
exec().toggleItalic().run()
@@ -306,7 +299,7 @@ export const RichTextToolbar = forwardRef(function RichTextToolbar(
/>
@@ -333,10 +326,10 @@ export const RichTextToolbar = forwardRef(function RichTextToolbar(
- Left
+ {t.left}
- Center
+ {t.center}
-
Right
+
{t.right}
-
Justify
+
{t.justify}
@@ -383,7 +376,7 @@ export const RichTextToolbar = forwardRef(function RichTextToolbar(
{
e.preventDefault()
exec().unsetAllMarks().run()
@@ -394,7 +387,7 @@ export const RichTextToolbar = forwardRef(function RichTextToolbar(
{
e.preventDefault()
exec().toggleBulletList().run()
@@ -404,7 +397,7 @@ export const RichTextToolbar = forwardRef(function RichTextToolbar(
{
e.preventDefault()
exec().toggleOrderedList().run()
@@ -415,7 +408,7 @@ export const RichTextToolbar = forwardRef(function RichTextToolbar(
@@ -423,7 +416,7 @@ export const RichTextToolbar = forwardRef(function RichTextToolbar(
{
e.preventDefault()
exec().toggleBlockquote().run()
@@ -433,7 +426,7 @@ export const RichTextToolbar = forwardRef(function RichTextToolbar(
{
e.preventDefault()
exec().setHorizontalRule().run()
@@ -443,7 +436,7 @@ export const RichTextToolbar = forwardRef(function RichTextToolbar(
{
e.preventDefault()
exec().toggleSmall().run()
@@ -453,7 +446,7 @@ export const RichTextToolbar = forwardRef(function RichTextToolbar(
{
e.preventDefault()
exec().toggleSubscript().run()
@@ -463,7 +456,7 @@ export const RichTextToolbar = forwardRef(function RichTextToolbar(
{
e.preventDefault()
exec().toggleSuperscript().run()
diff --git a/src/picker/entry/EntryPicker.browser.tsx b/src/picker/entry/EntryPicker.browser.tsx
index e1808a4fd..11f88dab3 100644
--- a/src/picker/entry/EntryPicker.browser.tsx
+++ b/src/picker/entry/EntryPicker.browser.tsx
@@ -5,24 +5,25 @@ import {createId} from 'alinea/core/Id'
import {type PickerProps, pickerWithView} from 'alinea/core/Picker'
import {Reference} from 'alinea/core/Reference'
import {Root} from 'alinea/core/Root'
-import {Workspace} from 'alinea/core/Workspace'
import {workspaceMediaDir} from 'alinea/core/util/EntryFilenames'
import {entries} from 'alinea/core/util/Objects'
+import {Workspace} from 'alinea/core/Workspace'
import {useConfig} from 'alinea/dashboard/hook/UseConfig'
import {useEntryEditor} from 'alinea/dashboard/hook/UseEntryEditor'
import {useFocusList} from 'alinea/dashboard/hook/UseFocusList'
import {useGraph} from 'alinea/dashboard/hook/UseGraph'
import {useLocale} from 'alinea/dashboard/hook/UseLocale'
import {useRoot} from 'alinea/dashboard/hook/UseRoot'
+import {useTranslation} from 'alinea/dashboard/hook/UseTranslation'
import {useWorkspace} from 'alinea/dashboard/hook/UseWorkspace'
import {Breadcrumbs, BreadcrumbsItem} from 'alinea/dashboard/view/Breadcrumbs'
-import {IconButton} from 'alinea/dashboard/view/IconButton'
-import {Modal} from 'alinea/dashboard/view/Modal'
import {Langswitch} from 'alinea/dashboard/view/entry/LangSwitch'
import {
Explorer,
type ExporerItemSelect
} from 'alinea/dashboard/view/explorer/Explorer'
+import {IconButton} from 'alinea/dashboard/view/IconButton'
+import {Modal} from 'alinea/dashboard/view/Modal'
import {FileUploader} from 'alinea/dashboard/view/media/FileUploader'
import {Button, HStack, Icon, Loader, Stack, TextLabel, VStack} from 'alinea/ui'
import {DropdownMenu} from 'alinea/ui/DropdownMenu'
@@ -34,9 +35,9 @@ import {IcRoundUnfoldMore} from 'alinea/ui/icons/IcRoundUnfoldMore'
import {Suspense, useCallback, useMemo, useState} from 'react'
import {useQuery} from 'react-query'
import {
+ entryPicker as createEntryPicker,
type EditorInfo,
- type EntryPickerOptions,
- entryPicker as createEntryPicker
+ type EntryPickerOptions
} from './EntryPicker.js'
import css from './EntryPicker.module.scss'
import {EntryPickerRow} from './EntryPickerRow.js'
@@ -68,6 +69,7 @@ export function EntryPickerModal({
onConfirm,
onCancel
}: EntryPickerModalProps) {
+ const {entryPicker: t} = useTranslation()
const config = useConfig()
const graph = useGraph()
const editor = useEntryEditor()
@@ -312,9 +314,7 @@ export function EntryPickerModal({
})}
)}
-
- {title ? : 'Select a reference'}
-
+ {title ? : t.title}
@@ -322,7 +322,7 @@ export function EntryPickerModal({
setSearch(event.target.value)}
className={styles.root.search.input()}
@@ -387,9 +387,9 @@ export function EntryPickerModal({
- Cancel
+ {t.cancel}
- Confirm
+ {t.confirm}
diff --git a/src/picker/url/UrlPicker.browser.tsx b/src/picker/url/UrlPicker.browser.tsx
index 27a038e47..50f674815 100644
--- a/src/picker/url/UrlPicker.browser.tsx
+++ b/src/picker/url/UrlPicker.browser.tsx
@@ -4,12 +4,13 @@ import {Reference} from 'alinea/core/Reference'
import {type} from 'alinea/core/Type'
import {useForm} from 'alinea/dashboard/atoms/FormAtoms'
import {InputForm} from 'alinea/dashboard/editor/InputForm'
+import {useTranslation} from 'alinea/dashboard/hook/UseTranslation'
import {Modal} from 'alinea/dashboard/view/Modal'
import {check} from 'alinea/field/check'
import {text} from 'alinea/field/text'
import {Button, HStack, Stack} from 'alinea/ui'
import {type FormEvent, useMemo} from 'react'
-import {UrlReference, urlPicker as createUrlPicker} from './UrlPicker.js'
+import {urlPicker as createUrlPicker, UrlReference} from './UrlPicker.js'
import {UrlPickerRow} from './UrlPickerRow.js'
export * from './UrlPicker.js'
@@ -25,20 +26,21 @@ export function UrlPickerForm({
onConfirm,
onCancel
}: PickerProps) {
+ const {urlPicker: t} = useTranslation()
const preSelected = selection?.[0] as UrlReference | undefined
const linkForm = useMemo(
() =>
- type('Link', {
+ type(t.title, {
fields: {
- url: text('Url', {
+ url: text(t.url, {
required: true,
- help: 'Url of the link'
+ help: t.urlHelp
}),
- title: text('Description', {
- help: 'Text to display inside the link element'
+ title: text(t.description, {
+ help: t.descriptionHelp
}),
- blank: check('Target', {
- description: 'Open link in new tab',
+ blank: check(t.target, {
+ description: t.targetDescription,
initialValue: true
})
}
@@ -74,9 +76,9 @@ export function UrlPickerForm({
- Cancel
+ {t.cancel}
- Confirm
+ {t.confirm}
diff --git a/src/translations.ts b/src/translations.ts
new file mode 100644
index 000000000..229c4955c
--- /dev/null
+++ b/src/translations.ts
@@ -0,0 +1,37 @@
+export {default as ar} from './translations/ar.json' with {type: 'json'}
+export {default as az} from './translations/az.json' with {type: 'json'}
+export {default as bg} from './translations/bg.json' with {type: 'json'}
+export {default as bn} from './translations/bn.json' with {type: 'json'}
+export {default as ca} from './translations/ca.json' with {type: 'json'}
+export {default as cs} from './translations/cs.json' with {type: 'json'}
+export {default as da} from './translations/da.json' with {type: 'json'}
+export {default as de} from './translations/de.json' with {type: 'json'}
+export {default as en} from './translations/en.json' with {type: 'json'}
+export {default as es} from './translations/es.json' with {type: 'json'}
+export {default as et} from './translations/et.json' with {type: 'json'}
+export {default as fa} from './translations/fa.json' with {type: 'json'}
+export {default as fi} from './translations/fi.json' with {type: 'json'}
+export {default as he} from './translations/he.json' with {type: 'json'}
+export {default as hi} from './translations/hi.json' with {type: 'json'}
+export {default as hr} from './translations/hr.json' with {type: 'json'}
+export {default as hu} from './translations/hu.json' with {type: 'json'}
+export {default as hy} from './translations/hy.json' with {type: 'json'}
+export {default as it} from './translations/it.json' with {type: 'json'}
+export {default as ja} from './translations/ja.json' with {type: 'json'}
+export {default as ko} from './translations/ko.json' with {type: 'json'}
+export {default as lt} from './translations/lt.json' with {type: 'json'}
+export {default as lv} from './translations/lv.json' with {type: 'json'}
+export {default as my} from './translations/my.json' with {type: 'json'}
+export {default as nl} from './translations/nl.json' with {type: 'json'}
+export {default as pl} from './translations/pl.json' with {type: 'json'}
+export {default as pt} from './translations/pt.json' with {type: 'json'}
+export {default as ro} from './translations/ro.json' with {type: 'json'}
+export {default as ru} from './translations/ru.json' with {type: 'json'}
+export {default as sk} from './translations/sk.json' with {type: 'json'}
+export {default as sl} from './translations/sl.json' with {type: 'json'}
+export {default as sv} from './translations/sv.json' with {type: 'json'}
+export {default as th} from './translations/th.json' with {type: 'json'}
+export {default as tr} from './translations/tr.json' with {type: 'json'}
+export {default as uk} from './translations/uk.json' with {type: 'json'}
+export {default as vi} from './translations/vi.json' with {type: 'json'}
+export {default as zh} from './translations/zh.json' with {type: 'json'}
diff --git a/src/translations/ar.json b/src/translations/ar.json
new file mode 100644
index 000000000..f956e030c
--- /dev/null
+++ b/src/translations/ar.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "المزامنة",
+ "synced": "متزامنة",
+ "saving": "توفير…"
+ },
+ "urlPicker": {
+ "title": "وصلة",
+ "url": "عنوان URL",
+ "urlHelp": "عنوان الرابط",
+ "description": "وصف",
+ "descriptionHelp": "النص الذي سيتم عرضه داخل عنصر الرابط",
+ "target": "هدف",
+ "targetDescription": "فتح الرابط في علامة تبويب جديدة",
+ "cancel": "يلغي",
+ "confirm": "يتأكد"
+ },
+ "pickLink": {
+ "title": "اختر الرابط",
+ "link": "وصلة",
+ "description": "وصف",
+ "descriptionHelp": "النص الذي سيتم عرضه داخل عنصر الرابط",
+ "tooltip": "تلميح الأدوات",
+ "tooltipHelp": "معلومات إضافية تصف الرابط، والتي تظهر عند التمرير فوقها",
+ "newTab": "فتح الرابط في علامة تبويب جديدة",
+ "remove": "إزالة الرابط",
+ "cancel": "يلغي",
+ "confirm": "يتأكد"
+ },
+ "newEntry": {
+ "title": "عنوان",
+ "parent": "الوالد",
+ "type": "حدد النوع",
+ "order": "إدراج الطلب",
+ "orderFirst": "في أعلى القائمة",
+ "orderLast": "في أسفل القائمة",
+ "copyFrom": "نسخ المحتوى من",
+ "formTitle": "دخول جديد",
+ "cancel": "يلغي",
+ "create": "يخلق"
+ },
+ "entryEdit": {
+ "blockingTitle": "هل أنت متأكد أنك تريد تجاهل التغييرات؟",
+ "blockingWarning": "تم تغيير هذه الوثيقة",
+ "blockingPrompt": "هل ترغب في حفظ التغييرات الخاصة بك؟",
+ "blockingDiscard": "تجاهل تغييراتي",
+ "blockingSaveDraft": "حفظ كمسودة",
+ "blockingPublishChanges": "نشر التغييرات",
+ "untranslatedTitle": "غير مترجم",
+ "untranslatedParent": "قم بترجمة الصفحة الأصلية أولاً.",
+ "untranslatedPrompt": "أدخل التفاصيل أدناه واحفظها لبدء الترجمة.",
+ "draftError": "لم نتمكن من إكمال مسودة العمل، يرجى المحاولة مرة أخرى لاحقًا",
+ "saveTranslationError": "لم نتمكن من إكمال عملية الترجمة، يرجى المحاولة مرة أخرى لاحقًا",
+ "publishError": "لم نتمكن من إكمال عملية النشر، يرجى المحاولة مرة أخرى لاحقًا",
+ "discardError": "لم نتمكن من تجاهل التغييرات، يرجى المحاولة مرة أخرى لاحقًا",
+ "unpublishError": "لم نتمكن من إكمال عملية إلغاء النشر، يرجى المحاولة مرة أخرى لاحقًا",
+ "deleteError": "لم نتمكن من إكمال عملية الحذف، يرجى المحاولة مرة أخرى لاحقًا",
+ "archiveError": "لم نتمكن من إكمال عملية الأرشيف، يرجى المحاولة مرة أخرى لاحقًا"
+ },
+ "entryHeader": {
+ "draft": "مسودة",
+ "editing": "التحرير",
+ "published": "نُشرت",
+ "archived": "مؤرشفة",
+ "untranslated": "غير مترجم",
+ "unpublished": "غير منشور",
+ "revision": "مراجعة",
+ "showMenu": "قائمة العرض",
+ "hideMenu": "إخفاء القائمة",
+ "removeDraft": "إزالة المسودة",
+ "replace": "يستبدل",
+ "delete": "يمسح",
+ "unpublish": "إلغاء النشر",
+ "archive": "أرشيف",
+ "publish": "نشر",
+ "showHistory": "عرض التاريخ",
+ "hideHistory": "إخفاء التاريخ",
+ "draftAvailable": "تتوفر نسخة مسودة أحدث",
+ "translateFrom": "ترجمة من",
+ "translateParent": "ترجمة الصفحة الأصلية أولاً",
+ "discard": "تجاهل التعديلات",
+ "save": "حفظ الترجمة",
+ "saveDraft": "يحفظ",
+ "restore": "يعيد",
+ "showPreview": "معاينة العرض",
+ "hidePreview": "إخفاء المعاينة",
+ "savingDraft": "حفظ المسودة",
+ "savingTranslation": "حفظ الترجمة",
+ "publishingEdits": "تحريرات النشر",
+ "restoringRevision": "استعادة المراجعة",
+ "publishingDraft": "مسودة النشر",
+ "unpublishingDraft": "إلغاء نشر المسودة",
+ "discardingDraft": "التخلص من المسودة",
+ "archivingPublished": "أرشفة المنشورات",
+ "publishingArchived": "تم أرشفة النشر",
+ "deletingFile": "حذف الملف",
+ "deletingEntry": "حذف الإدخال"
+ },
+ "contentView": {
+ "create": "إنشاء جديد"
+ },
+ "welcome": {
+ "title": "الآن أصبح تثبيت alinea الخاص بك جاهزًا للتكوين.",
+ "button": "تعلم كيفية التكوين"
+ },
+ "cloudAuthView": {
+ "title": "فقرة",
+ "deploy": "هل أنت مستعد للنشر؟",
+ "requiresHandler": "تتطلب ألينيا معالجًا للاستمرار",
+ "backend": "تتطلب Alinea برنامجًا خلفيًا للاستمرار.",
+ "customBackend": "تكوين واجهة خلفية مخصصة بالكامل",
+ "cloud": "أو قم بإعدادها ببضع نقرات باستخدام عرضنا السحابي.",
+ "cloudButton": "متابعة مع alinea.cloud"
+ },
+ "sidebarSettings": {
+ "settings": "إعدادات",
+ "defaultWorkspace": "مساحة العمل الافتراضية",
+ "theme": "تبديل الموضوع",
+ "fontSize": "حجم الخط",
+ "decreaseFontSize": "تقليل حجم الخط",
+ "increaseFontSize": "زيادة حجم الخط",
+ "logout": "تسجيل الخروج"
+ },
+ "fileUploader": {
+ "uploadComplete": "تم تحميل الملفات كاملة: {{amount}}",
+ "uploading": "تحميل الملفات: {{amount}}",
+ "upload": "تحميل الملفات"
+ },
+ "fileUploadRow": {
+ "alt": "تم تحميل الملف",
+ "done": "منتهي"
+ },
+ "fileEntry": {
+ "preview": "معاينة ملف الوسائط",
+ "extension": "امتداد",
+ "fileSize": "حجم الملف",
+ "dimensions": "أبعاد",
+ "pixels": "بكسل",
+ "url": "عنوان URL",
+ "focus": "نقطة التركيز",
+ "focusHelp": "انقر على الصورة لتغيير نقطة التركيز"
+ },
+ "cardOverview": {
+ "title": "بطاقة"
+ },
+ "explorer": {
+ "noResults": "لا توجد نتائج"
+ },
+ "editModeToggle": {
+ "edit": "يحرر",
+ "review": "مراجعة التغييرات"
+ },
+ "searchBox": {
+ "search": "يبحث"
+ },
+ "rootOverview": {
+ "instruction": "حدد إدخالاً في شجرة التنقل على اليسار لبدء التحرير"
+ },
+ "inputLabel": {
+ "readonly": "للقراءة فقط",
+ "shared": "مشترك"
+ },
+ "errorBoundary": {
+ "title": "خطأ",
+ "oops": "عفواً، حدث خطأ ما",
+ "close": "خطأ الإغلاق",
+ "issue": "إنشاء مشكلة"
+ },
+ "toolbar": {
+ "defaultWorkspace": "مساحة العمل الافتراضية",
+ "logout": "تسجيل الخروج"
+ },
+ "listField": {
+ "reorder": "اسحب وأفلِت لإعادة الترتيب",
+ "copy": "نسخة الكتلة",
+ "moveUp": "التحرك لأعلى موضع واحد",
+ "moveDown": "التحرك لأسفل موضعًا واحدًا",
+ "delete": "حذف الكتلة",
+ "paste": "كتلة اللصق",
+ "add": "إدراج كتلة جديدة"
+ },
+ "metadataField": {
+ "previewTitle": "معاينة",
+ "searchEngine": "محرك البحث",
+ "socialShare": "المشاركة الاجتماعية",
+ "ogImageAlt": "صورة الرسم البياني المفتوحة"
+ },
+ "pickTextLink": {
+ "title": "اختر الرابط",
+ "link": "وصلة",
+ "description": "وصف",
+ "descriptionHelp": "النص الذي سيتم عرضه داخل عنصر الرابط",
+ "tooltip": "تلميح الأدوات",
+ "tooltipHelp": "معلومات إضافية تصف الرابط، والتي تظهر عند التمرير فوقها",
+ "newTab": "فتح الرابط في علامة تبويب جديدة",
+ "remove": "إزالة الرابط",
+ "cancel": "يلغي",
+ "confirm": "يتأكد"
+ },
+ "richTextField": {
+ "insert": "إدراج كتلة"
+ },
+ "richTextToolbar": {
+ "styles": "العنوان/الفقرة",
+ "table": "طاولة",
+ "bold": "عريض",
+ "italic": "مائل",
+ "align": "تنسيق",
+ "alignLeft": "محاذاة إلى اليسار",
+ "alignCenter": "محاذاة المركز",
+ "alignRight": "محاذاة إلى اليمين",
+ "alignJustify": "محاذاة وضبط",
+ "clear": "تنسيق واضح",
+ "bulletList": "قائمة نقطية",
+ "orderedList": "قائمة مرتبة",
+ "link": "وصلة",
+ "quote": "اقتباسات مقتبسة",
+ "rule": "القاعدة الأفقية",
+ "small": "صغير",
+ "sub": "أسفل",
+ "sup": "أعلى النص",
+ "paragraph": "نص عادي",
+ "h1": "العنوان 1",
+ "h2": "العنوان 2",
+ "h3": "العنوان 3",
+ "h4": "العنوان 4",
+ "h5": "العنوان 5",
+ "tableLabel": "طاولة",
+ "insert": "إدراج الجدول",
+ "insertRowBefore": "إدراج الصف قبل",
+ "insertRowAfter": "إدراج الصف بعد",
+ "deleteRow": "حذف الصف",
+ "toggleHeaderRow": "تبديل صف الرأس",
+ "insertColumnBefore": "إدراج العمود قبل",
+ "insertColumnAfter": "إدراج العمود بعد",
+ "deleteColumn": "حذف العمود",
+ "deleteTable": "حذف الجدول",
+ "left": "غادر",
+ "center": "مركز",
+ "right": "يمين",
+ "justify": "يبرر"
+ },
+ "linkField": {
+ "reorder": "اسحب وأفلِت لإعادة الترتيب",
+ "open": "فتح الرابط في علامة تبويب جديدة",
+ "openFile": "فتح ملف الوسائط في علامة تبويب جديدة",
+ "edit": "تعديل الرابط",
+ "editFile": "تغيير الصورة",
+ "delete": "حذف الرابط",
+ "deleteFile": "حذف الصورة"
+ },
+ "entryPicker": {
+ "title": "حدد مرجعًا",
+ "searchPlaceholder": "يبحث",
+ "cancel": "يلغي",
+ "confirm": "يتأكد"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/az.json b/src/translations/az.json
new file mode 100644
index 000000000..11c40be6f
--- /dev/null
+++ b/src/translations/az.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Sinxronizasiya",
+ "synced": "Sinxronlaşdırıldı",
+ "saving": "Yadda saxlanılır..."
+ },
+ "urlPicker": {
+ "title": "Link",
+ "url": "Url",
+ "urlHelp": "Linkin URL-i",
+ "description": "Təsvir",
+ "descriptionHelp": "Link elementinin daxilində göstəriləcək mətn",
+ "target": "Hədəf",
+ "targetDescription": "Linki yeni tabda açın",
+ "cancel": "Ləğv et",
+ "confirm": "Təsdiq edin"
+ },
+ "pickLink": {
+ "title": "Link seçin",
+ "link": "Link",
+ "description": "Təsvir",
+ "descriptionHelp": "Link elementinin daxilində göstəriləcək mətn",
+ "tooltip": "Alət göstərişi",
+ "tooltipHelp": "Hover üzərində göstərilən keçidi təsvir edən əlavə məlumat",
+ "newTab": "Linki yeni tabda açın",
+ "remove": "Linki silin",
+ "cancel": "Ləğv et",
+ "confirm": "Təsdiq edin"
+ },
+ "newEntry": {
+ "title": "Başlıq",
+ "parent": "Valideyn",
+ "type": "Növü seçin",
+ "order": "Sifariş daxil edin",
+ "orderFirst": "Siyahının başında",
+ "orderLast": "Siyahının sonunda",
+ "copyFrom": "Məzmunu buradan kopyalayın",
+ "formTitle": "Yeni giriş",
+ "cancel": "Ləğv et",
+ "create": "Yaradın"
+ },
+ "entryEdit": {
+ "blockingTitle": "Dəyişiklikləri ləğv etmək istədiyinizə əminsiniz?",
+ "blockingWarning": "Bu sənəd dəyişdirildi",
+ "blockingPrompt": "dəyişikliklərinizi saxlamaq istərdinizmi?",
+ "blockingDiscard": "Dəyişikliklərimi ləğv edin",
+ "blockingSaveDraft": "Qaralama olaraq yadda saxlayın",
+ "blockingPublishChanges": "Dəyişiklikləri dərc edin",
+ "untranslatedTitle": "Tərcümə edilməmiş",
+ "untranslatedParent": "Əvvəlcə ana səhifəni tərcümə edin.",
+ "untranslatedPrompt": "Aşağıdakı təfərrüatları daxil edin və tərcüməyə başlamaq üçün yadda saxlayın.",
+ "draftError": "Qaralama əməliyyatı tamamlamaq mümkün olmadı, sonra yenidən cəhd edin",
+ "saveTranslationError": "Tərcümə əməliyyatını tamamlamaq mümkün olmadı, sonra yenidən cəhd edin",
+ "publishError": "Yayımlama əməliyyatını tamamlamaq mümkün olmadı, sonra yenidən cəhd edin",
+ "discardError": "Dəyişiklikləri ləğv etmək mümkün olmadı, sonra yenidən cəhd edin",
+ "unpublishError": "Dərcdən çıxarma əməliyyatını tamamlamaq mümkün olmadı, sonra yenidən cəhd edin",
+ "deleteError": "Silinmə əməliyyatını tamamlamaq mümkün olmadı, sonra yenidən cəhd edin",
+ "archiveError": "Arxiv əməliyyatını tamamlamaq mümkün olmadı, sonra yenidən cəhd edin"
+ },
+ "entryHeader": {
+ "draft": "Qaralama",
+ "editing": "Redaktə",
+ "published": "Nəşr edilmişdir",
+ "archived": "Arxivləşdirilib",
+ "untranslated": "Tərcümə edilməmiş",
+ "unpublished": "Dərc olunmayıb",
+ "revision": "Reviziya",
+ "showMenu": "Menyu göstərin",
+ "hideMenu": "Menyu gizlət",
+ "removeDraft": "Qaralamanı silin",
+ "replace": "Əvəz edin",
+ "delete": "Sil",
+ "unpublish": "Dərcdən çıxarın",
+ "archive": "Arxiv",
+ "publish": "dərc et",
+ "showHistory": "Tarixi göstərin",
+ "hideHistory": "Tarixi gizlədin",
+ "draftAvailable": "Daha yeni qaralama versiyası mövcuddur",
+ "translateFrom": "Tərcümə et",
+ "translateParent": "Əvvəlcə ana səhifəni tərcümə edin",
+ "discard": "Redaktələri ləğv edin",
+ "save": "Tərcüməni yadda saxla",
+ "saveDraft": "Saxla",
+ "restore": "Bərpa et",
+ "showPreview": "Önizləməni göstərin",
+ "hidePreview": "Önizləməni gizlədin",
+ "savingDraft": "Qaralama yadda saxlanılır",
+ "savingTranslation": "Tərcümə saxlanılır",
+ "publishingEdits": "Redaktələrin nəşri",
+ "restoringRevision": "Revizyon bərpa edilir",
+ "publishingDraft": "Qaralama nəşr olunur",
+ "unpublishingDraft": "Qaralama dərcdən çıxarılır",
+ "discardingDraft": "Qaralama ləğv edilir",
+ "archivingPublished": "Arxiv nəşr olundu",
+ "publishingArchived": "Nəşr arxivləşdirildi",
+ "deletingFile": "Fayl silinir",
+ "deletingEntry": "Girişi silin"
+ },
+ "contentView": {
+ "create": "Yeni yaradın"
+ },
+ "welcome": {
+ "title": "Alinea quraşdırmanız artıq konfiqurasiyaya hazırdır.",
+ "button": "Necə konfiqurasiya edəcəyinizi öyrənin"
+ },
+ "cloudAuthView": {
+ "title": "Paraqraf",
+ "deploy": "Yerləşdirməyə hazırsınız?",
+ "requiresHandler": "Alinea davam etmək üçün bir idarəçi tələb edir",
+ "backend": "Alinea davam etmək üçün backend tələb edir.",
+ "customBackend": "xüsusi backend-i tam konfiqurasiya edin",
+ "cloud": "Və ya bulud təklifimizlə bir neçə kliklə quraşdırın.",
+ "cloudButton": "alinea.cloud ilə davam edin"
+ },
+ "sidebarSettings": {
+ "settings": "Parametrlər",
+ "defaultWorkspace": "Defolt iş sahəsi",
+ "theme": "Mövzunu dəyişin",
+ "fontSize": "Şrift ölçüsü",
+ "decreaseFontSize": "Şriftin ölçüsünü azaldın",
+ "increaseFontSize": "Şriftin ölçüsünü artırın",
+ "logout": "Çıxın"
+ },
+ "fileUploader": {
+ "uploadComplete": "Yükləmələr tamamlandı: {{amount}}",
+ "uploading": "Fayllar yüklənir: {{amount}}",
+ "upload": "Faylları yükləyin"
+ },
+ "fileUploadRow": {
+ "alt": "Yüklənmiş fayl",
+ "done": "Bitdi"
+ },
+ "fileEntry": {
+ "preview": "Media faylına ön baxış",
+ "extension": "Uzatma",
+ "fileSize": "Fayl ölçüsü",
+ "dimensions": "Ölçülər",
+ "pixels": "piksel",
+ "url": "URL",
+ "focus": "Fokus nöqtəsi",
+ "focusHelp": "Fokus nöqtəsini dəyişdirmək üçün şəklin üzərinə klikləyin"
+ },
+ "cardOverview": {
+ "title": "kart"
+ },
+ "explorer": {
+ "noResults": "Nəticə yoxdur"
+ },
+ "editModeToggle": {
+ "edit": "Redaktə et",
+ "review": "Dəyişiklikləri nəzərdən keçirin"
+ },
+ "searchBox": {
+ "search": "Axtar"
+ },
+ "rootOverview": {
+ "instruction": "Naviqasiya ağacında giriş seçin\nredaktə etməyə başlamaq üçün solda"
+ },
+ "inputLabel": {
+ "readonly": "Yalnız oxumaq üçün",
+ "shared": "Paylaşıldı"
+ },
+ "errorBoundary": {
+ "title": "Xəta",
+ "oops": "Ups, nəsə xəta baş verdi",
+ "close": "Bağlama xətası",
+ "issue": "Problem yaradın"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Defolt iş sahəsi",
+ "logout": "Çıxın"
+ },
+ "listField": {
+ "reorder": "Yenidən sıralamaq üçün sürükləyin və buraxın",
+ "copy": "Blok kopyalayın",
+ "moveUp": "Bir mövqe yuxarı hərəkət edin",
+ "moveDown": "Bir mövqe aşağı hərəkət edin",
+ "delete": "Bloku silin",
+ "paste": "Blok yapışdırın",
+ "add": "Yeni blok daxil edin"
+ },
+ "metadataField": {
+ "previewTitle": "Önizləmə",
+ "searchEngine": "Axtarış motoru",
+ "socialShare": "Sosial paylaşım",
+ "ogImageAlt": "Qrafik şəklini açın"
+ },
+ "pickTextLink": {
+ "title": "Link seçin",
+ "link": "Link",
+ "description": "Təsvir",
+ "descriptionHelp": "Link elementinin daxilində göstəriləcək mətn",
+ "tooltip": "Alət göstərişi",
+ "tooltipHelp": "Hover üzərində göstərilən keçidi təsvir edən əlavə məlumat",
+ "newTab": "Linki yeni tabda açın",
+ "remove": "Linki silin",
+ "cancel": "Ləğv et",
+ "confirm": "Təsdiq edin"
+ },
+ "richTextField": {
+ "insert": "Blok daxil edin"
+ },
+ "richTextToolbar": {
+ "styles": "Başlıq/paraqraf",
+ "table": "Cədvəl",
+ "bold": "Cəsarətli",
+ "italic": "kursiv",
+ "align": "Hizalanma",
+ "alignLeft": "Sola düzün",
+ "alignCenter": "Mərkəzi hizalayın",
+ "alignRight": "Sağa düzün",
+ "alignJustify": "Düzləşdirin",
+ "clear": "Təmiz format",
+ "bulletList": "Güllə siyahısı",
+ "orderedList": "Sifarişli siyahı",
+ "link": "Link",
+ "quote": "Blok sitat",
+ "rule": "Üfüqi qayda",
+ "small": "Kiçik",
+ "sub": "Subscript",
+ "sup": "Üst yazı",
+ "paragraph": "Normal mətn",
+ "h1": "Başlıq 1",
+ "h2": "Başlıq 2",
+ "h3": "Başlıq 3",
+ "h4": "Başlıq 4",
+ "h5": "Başlıq 5",
+ "tableLabel": "Cədvəl",
+ "insert": "Cədvəl daxil edin",
+ "insertRowBefore": "Öncə sıra daxil edin",
+ "insertRowAfter": "Sonra sıra daxil edin",
+ "deleteRow": "Sıranı silin",
+ "toggleHeaderRow": "Başlıq sırasını dəyişin",
+ "insertColumnBefore": "Əvvəl sütun daxil edin",
+ "insertColumnAfter": "Sonra sütun daxil edin",
+ "deleteColumn": "Sütunu silin",
+ "deleteTable": "Cədvəl silin",
+ "left": "Sol",
+ "center": "mərkəz",
+ "right": "Sağ",
+ "justify": "Əsaslandırmaq"
+ },
+ "linkField": {
+ "reorder": "Yenidən sıralamaq üçün sürükləyin və buraxın",
+ "open": "Linki yeni tabda açın",
+ "openFile": "Media faylını yeni tabda açın",
+ "edit": "Linki redaktə edin",
+ "editFile": "Şəkli dəyişdirin",
+ "delete": "Linki silin",
+ "deleteFile": "Şəkli silin"
+ },
+ "entryPicker": {
+ "title": "İstinad seçin",
+ "searchPlaceholder": "Axtar",
+ "cancel": "Ləğv et",
+ "confirm": "Təsdiq edin"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/bg.json b/src/translations/bg.json
new file mode 100644
index 000000000..e15207fdb
--- /dev/null
+++ b/src/translations/bg.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Синхронизиране",
+ "synced": "Синхронизирано",
+ "saving": "Запазване…"
+ },
+ "urlPicker": {
+ "title": "Връзка",
+ "url": "URL адрес",
+ "urlHelp": "URL адрес на връзката",
+ "description": "Описание",
+ "descriptionHelp": "Текст, който да се показва вътре в елемента за връзка",
+ "target": "Цел",
+ "targetDescription": "Отвори линка в нов раздел",
+ "cancel": "Отказ",
+ "confirm": "Потвърди"
+ },
+ "pickLink": {
+ "title": "Изберете връзка",
+ "link": "Връзка",
+ "description": "Описание",
+ "descriptionHelp": "Текст, който да се показва вътре в елемента за връзка",
+ "tooltip": "Подсказка",
+ "tooltipHelp": "Допълнителна информация, която описва връзката, показвана при задържане на курсора на мишката",
+ "newTab": "Отвори линка в нов раздел",
+ "remove": "Премахване на връзката",
+ "cancel": "Отказ",
+ "confirm": "Потвърди"
+ },
+ "newEntry": {
+ "title": "Заглавие",
+ "parent": "Родител",
+ "type": "Изберете тип",
+ "order": "Вмъкване на поръчка",
+ "orderFirst": "Начело на списъка",
+ "orderLast": "В долната част на списъка",
+ "copyFrom": "Копиране на съдържание от",
+ "formTitle": "Нов запис",
+ "cancel": "Отказ",
+ "create": "Създаване"
+ },
+ "entryEdit": {
+ "blockingTitle": "Сигурни ли сте, че искате да отхвърлите промените?",
+ "blockingWarning": "Този документ беше променен",
+ "blockingPrompt": "Искате ли да запазите промените си?",
+ "blockingDiscard": "Отхвърляне на промените ми",
+ "blockingSaveDraft": "Запазване като чернова",
+ "blockingPublishChanges": "Публикуване на промени",
+ "untranslatedTitle": "Непреведено",
+ "untranslatedParent": "Първо преведете родителската страница.",
+ "untranslatedPrompt": "Въведете данните по-долу и ги запазете, за да започнете превода.",
+ "draftError": "Не можа да се завърши действието по черновата, моля, опитайте отново по-късно",
+ "saveTranslationError": "Не можа да се завърши преводът, моля, опитайте отново по-късно",
+ "publishError": "Публикуването не можа да бъде завършено. Моля, опитайте отново по-късно.",
+ "discardError": "Не можах да отхвърля промените, моля, опитайте отново по-късно",
+ "unpublishError": "Не можа да се завърши действието по отмяна на публикуването, моля, опитайте отново по-късно",
+ "deleteError": "Не можа да се завърши действието за изтриване, моля, опитайте отново по-късно",
+ "archiveError": "Архивирането не можа да се завърши, моля, опитайте отново по-късно"
+ },
+ "entryHeader": {
+ "draft": "Чернова",
+ "editing": "Редактиране",
+ "published": "Публикувано",
+ "archived": "Архивирано",
+ "untranslated": "Непреведено",
+ "unpublished": "Непубликувано",
+ "revision": "Ревизия",
+ "showMenu": "Меню за показване",
+ "hideMenu": "Скриване на менюто",
+ "removeDraft": "Премахване на чернова",
+ "replace": "Замяна",
+ "delete": "Изтриване",
+ "unpublish": "Премахване на публикуването",
+ "archive": "Архив",
+ "publish": "Публикуване",
+ "showHistory": "Покажи историята",
+ "hideHistory": "Скриване на историята",
+ "draftAvailable": "Налична е по-нова чернова",
+ "translateFrom": "Превод от",
+ "translateParent": "Преведете първо родителската страница",
+ "discard": "Отхвърляне на редакциите",
+ "save": "Запазване на превода",
+ "saveDraft": "Запазване",
+ "restore": "Възстановяване",
+ "showPreview": "Преглед на дисплея",
+ "hidePreview": "Скриване на визуализацията",
+ "savingDraft": "Запазване на черновата",
+ "savingTranslation": "Запазване на превода",
+ "publishingEdits": "Публикуване на редакции",
+ "restoringRevision": "Възстановяване на редакция",
+ "publishingDraft": "Публикуване на чернова",
+ "unpublishingDraft": "Премахване на публикуването на черновата",
+ "discardingDraft": "Отхвърляне на черновата",
+ "archivingPublished": "Архивирането е публикувано",
+ "publishingArchived": "Публикуването е архивирано",
+ "deletingFile": "Изтриване на файл",
+ "deletingEntry": "Изтриване на запис"
+ },
+ "contentView": {
+ "create": "Създаване на ново"
+ },
+ "welcome": {
+ "title": "Вашата инсталация на alinea вече е готова за конфигуриране.",
+ "button": "Научете как да конфигурирате"
+ },
+ "cloudAuthView": {
+ "title": "Параграф",
+ "deploy": "Готови ли сте за внедряване?",
+ "requiresHandler": "Alinea изисква манипулатор, за да продължи",
+ "backend": "Alinea изисква бекенд, за да продължи.",
+ "customBackend": "напълно конфигурирайте персонализиран бекенд",
+ "cloud": "Или направете настройката с няколко кликвания с нашата облачна услуга.",
+ "cloudButton": "Продължете с alinea.cloud"
+ },
+ "sidebarSettings": {
+ "settings": "Настройки",
+ "defaultWorkspace": "Работно пространство по подразбиране",
+ "theme": "Превключване на тема",
+ "fontSize": "Размер на шрифта",
+ "decreaseFontSize": "Намаляване на размера на шрифта",
+ "increaseFontSize": "Увеличаване на размера на шрифта",
+ "logout": "Изход"
+ },
+ "fileUploader": {
+ "uploadComplete": "Качванията са завършени: {{amount}}",
+ "uploading": "Качване на файлове: {{amount}}",
+ "upload": "Качване на файлове"
+ },
+ "fileUploadRow": {
+ "alt": "Качен файл",
+ "done": "Готово"
+ },
+ "fileEntry": {
+ "preview": "Преглед на медийния файл",
+ "extension": "Разширение",
+ "fileSize": "Размер на файла",
+ "dimensions": "Размери",
+ "pixels": "пиксели",
+ "url": "URL адрес",
+ "focus": "Точка на фокус",
+ "focusHelp": "Кликнете върху изображението, за да промените точката на фокус"
+ },
+ "cardOverview": {
+ "title": "карта"
+ },
+ "explorer": {
+ "noResults": "Няма резултати"
+ },
+ "editModeToggle": {
+ "edit": "Редактиране",
+ "review": "Преглед на промените"
+ },
+ "searchBox": {
+ "search": "Търсене"
+ },
+ "rootOverview": {
+ "instruction": "Изберете запис в навигационното дърво отляво, за да започнете редактирането"
+ },
+ "inputLabel": {
+ "readonly": "Само за четене",
+ "shared": "Споделено"
+ },
+ "errorBoundary": {
+ "title": "Грешка",
+ "oops": "Опа, нещо се обърка",
+ "close": "Грешка при затваряне",
+ "issue": "Създаване на проблем"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Работно пространство по подразбиране",
+ "logout": "Изход"
+ },
+ "listField": {
+ "reorder": "Плъзнете и пуснете, за да пренаредите",
+ "copy": "Копиране на блок",
+ "moveUp": "Преместване с една позиция нагоре",
+ "moveDown": "Преместване надолу с една позиция",
+ "delete": "Изтриване на блок",
+ "paste": "Поставяне на блок",
+ "add": "Вмъкване на нов блок"
+ },
+ "metadataField": {
+ "previewTitle": "Преглед",
+ "searchEngine": "Търсачка",
+ "socialShare": "Споделяне в социалните мрежи",
+ "ogImageAlt": "Отвори изображението на графиката"
+ },
+ "pickTextLink": {
+ "title": "Изберете връзка",
+ "link": "Връзка",
+ "description": "Описание",
+ "descriptionHelp": "Текст, който да се показва вътре в елемента за връзка",
+ "tooltip": "Подсказка",
+ "tooltipHelp": "Допълнителна информация, която описва връзката, показвана при задържане на курсора на мишката",
+ "newTab": "Отвори линка в нов раздел",
+ "remove": "Премахване на връзката",
+ "cancel": "Отказ",
+ "confirm": "Потвърди"
+ },
+ "richTextField": {
+ "insert": "Вмъкване на блок"
+ },
+ "richTextToolbar": {
+ "styles": "Заглавие/абзац",
+ "table": "Таблица",
+ "bold": "Удебелен шрифт",
+ "italic": "Курсив",
+ "align": "Подравняване",
+ "alignLeft": "Подравняване вляво",
+ "alignCenter": "Подравняване по центъра",
+ "alignRight": "Подравняване вдясно",
+ "alignJustify": "Подравняване по двустранно",
+ "clear": "Изчистване на формата",
+ "bulletList": "Списък с водещи маркери",
+ "orderedList": "Подреден списък",
+ "link": "Връзка",
+ "quote": "Блоков цитат",
+ "rule": "Хоризонтално правило",
+ "small": "Малък",
+ "sub": "Долен индекс",
+ "sup": "Горен индекс",
+ "paragraph": "Нормален текст",
+ "h1": "Заглавие 1",
+ "h2": "Заглавие 2",
+ "h3": "Заглавие 3",
+ "h4": "Заглавие 4",
+ "h5": "Заглавие 5",
+ "tableLabel": "Таблица",
+ "insert": "Вмъкване на таблица",
+ "insertRowBefore": "Вмъкни ред преди",
+ "insertRowAfter": "Вмъкване на ред след",
+ "deleteRow": "Изтриване на ред",
+ "toggleHeaderRow": "Превключване на заглавния ред",
+ "insertColumnBefore": "Вмъкване на колона преди",
+ "insertColumnAfter": "Вмъкване на колона след",
+ "deleteColumn": "Изтриване на колона",
+ "deleteTable": "Изтриване на таблица",
+ "left": "Ляво",
+ "center": "Център",
+ "right": "Дясно",
+ "justify": "Подравняване"
+ },
+ "linkField": {
+ "reorder": "Плъзнете и пуснете, за да пренаредите",
+ "open": "Отвори линка в нов раздел",
+ "openFile": "Отваряне на медиен файл в нов раздел",
+ "edit": "Редактиране на връзката",
+ "editFile": "Промяна на изображението",
+ "delete": "Изтриване на връзката",
+ "deleteFile": "Изтриване на изображение"
+ },
+ "entryPicker": {
+ "title": "Изберете препратка",
+ "searchPlaceholder": "Търсене",
+ "cancel": "Отказ",
+ "confirm": "Потвърди"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/bn.json b/src/translations/bn.json
new file mode 100644
index 000000000..6ae63b0bc
--- /dev/null
+++ b/src/translations/bn.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "সিঙ্ক হচ্ছে",
+ "synced": "সিঙ্ক করা হয়েছে",
+ "saving": "সংরক্ষণ করা হচ্ছে..."
+ },
+ "urlPicker": {
+ "title": "লিংক",
+ "url": "ইউআরএল",
+ "urlHelp": "লিঙ্কের ইউআরএল",
+ "description": "বিবরণ",
+ "descriptionHelp": "লিঙ্ক এলিমেন্টের ভিতরে প্রদর্শনের জন্য টেক্সট",
+ "target": "লক্ষ্য",
+ "targetDescription": "নতুন ট্যাবে লিঙ্কটি খুলুন",
+ "cancel": "বাতিল করুন",
+ "confirm": "নিশ্চিত করুন"
+ },
+ "pickLink": {
+ "title": "লিঙ্ক বেছে নিন",
+ "link": "লিংক",
+ "description": "বিবরণ",
+ "descriptionHelp": "লিঙ্ক এলিমেন্টের ভিতরে প্রদর্শনের জন্য টেক্সট",
+ "tooltip": "টুলটিপ",
+ "tooltipHelp": "হোভারে দেখানো লিঙ্কটি বর্ণনা করে এমন অতিরিক্ত তথ্য",
+ "newTab": "নতুন ট্যাবে লিঙ্কটি খুলুন",
+ "remove": "লিঙ্কটি সরান",
+ "cancel": "বাতিল করুন",
+ "confirm": "নিশ্চিত করুন"
+ },
+ "newEntry": {
+ "title": "শিরোনাম",
+ "parent": "অভিভাবক",
+ "type": "প্রকার নির্বাচন করুন",
+ "order": "অর্ডার ঢোকান",
+ "orderFirst": "তালিকার শীর্ষে",
+ "orderLast": "তালিকার নীচে",
+ "copyFrom": "থেকে কন্টেন্ট কপি করুন",
+ "formTitle": "নতুন এন্ট্রি",
+ "cancel": "বাতিল করুন",
+ "create": "তৈরি করুন"
+ },
+ "entryEdit": {
+ "blockingTitle": "আপনি কি নিশ্চিত যে আপনি পরিবর্তনগুলি বাতিল করতে চান?",
+ "blockingWarning": "এই নথিটি পরিবর্তন করা হয়েছে।",
+ "blockingPrompt": "আপনি কি আপনার পরিবর্তনগুলি সংরক্ষণ করতে চান?",
+ "blockingDiscard": "আমার পরিবর্তনগুলি বাতিল করুন",
+ "blockingSaveDraft": "খসড়া হিসেবে সংরক্ষণ করুন",
+ "blockingPublishChanges": "পরিবর্তনগুলি প্রকাশ করুন",
+ "untranslatedTitle": "অনূদিত",
+ "untranslatedParent": "প্রথমে মূল পৃষ্ঠাটি অনুবাদ করুন।",
+ "untranslatedPrompt": "অনুবাদ শুরু করতে নীচের বিবরণ লিখুন এবং সংরক্ষণ করুন।",
+ "draftError": "খসড়া কাজটি সম্পূর্ণ করা যায়নি, অনুগ্রহ করে পরে আবার চেষ্টা করুন",
+ "saveTranslationError": "অনুবাদের কাজটি সম্পূর্ণ করা যায়নি, দয়া করে পরে আবার চেষ্টা করুন।",
+ "publishError": "প্রকাশের কাজটি সম্পূর্ণ করা যায়নি, অনুগ্রহ করে পরে আবার চেষ্টা করুন",
+ "discardError": "পরিবর্তনগুলি বাতিল করা যায়নি, দয়া করে পরে আবার চেষ্টা করুন।",
+ "unpublishError": "প্রকাশনা প্রত্যাহারের কাজটি সম্পূর্ণ করা যায়নি, দয়া করে পরে আবার চেষ্টা করুন",
+ "deleteError": "মুছে ফেলার কাজটি সম্পূর্ণ করা যায়নি, অনুগ্রহ করে পরে আবার চেষ্টা করুন।",
+ "archiveError": "আর্কাইভের কাজটি সম্পূর্ণ করা যায়নি, অনুগ্রহ করে পরে আবার চেষ্টা করুন"
+ },
+ "entryHeader": {
+ "draft": "খসড়া",
+ "editing": "সম্পাদনা",
+ "published": "প্রকাশিত",
+ "archived": "সংরক্ষণাগারভুক্ত",
+ "untranslated": "অনূদিত নয়",
+ "unpublished": "অপ্রকাশিত",
+ "revision": "সংশোধন",
+ "showMenu": "মেনু প্রদর্শন করুন",
+ "hideMenu": "মেনু লুকান",
+ "removeDraft": "খসড়া সরান",
+ "replace": "প্রতিস্থাপন করুন",
+ "delete": "মুছে ফেলুন",
+ "unpublish": "অপ্রকাশিত করুন",
+ "archive": "সংরক্ষণাগার",
+ "publish": "প্রকাশ করুন",
+ "showHistory": "ইতিহাস দেখান",
+ "hideHistory": "ইতিহাস লুকান",
+ "draftAvailable": "একটি নতুন খসড়া সংস্করণ উপলব্ধ।",
+ "translateFrom": "থেকে অনুবাদ করুন",
+ "translateParent": "প্রথমে মূল পৃষ্ঠাটি অনুবাদ করুন",
+ "discard": "সম্পাদনাগুলি বাতিল করুন",
+ "save": "অনুবাদ সংরক্ষণ করুন",
+ "saveDraft": "সংরক্ষণ করুন",
+ "restore": "পুনরুদ্ধার করুন",
+ "showPreview": "প্রদর্শনের পূর্বরূপ",
+ "hidePreview": "প্রিভিউ লুকান",
+ "savingDraft": "খসড়া সংরক্ষণ করা হচ্ছে",
+ "savingTranslation": "অনুবাদ সংরক্ষণ করা হচ্ছে",
+ "publishingEdits": "প্রকাশনা সম্পাদনা",
+ "restoringRevision": "পুনর্বিবেচনা পুনরুদ্ধার করা হচ্ছে",
+ "publishingDraft": "খসড়া প্রকাশ করা হচ্ছে",
+ "unpublishingDraft": "খসড়াটি অপ্রকাশিত করা হচ্ছে",
+ "discardingDraft": "খসড়া বাতিল করা হচ্ছে",
+ "archivingPublished": "আর্কাইভ প্রকাশিত হয়েছে",
+ "publishingArchived": "প্রকাশনা সংরক্ষণাগারভুক্ত করা হয়েছে",
+ "deletingFile": "ফাইল মুছে ফেলা হচ্ছে",
+ "deletingEntry": "এন্ট্রি মুছুন"
+ },
+ "contentView": {
+ "create": "নতুন তৈরি করুন"
+ },
+ "welcome": {
+ "title": "আপনার অ্যালিনিয়া ইনস্টলেশন এখন কনফিগারেশনের জন্য প্রস্তুত।",
+ "button": "কীভাবে কনফিগার করবেন তা শিখুন"
+ },
+ "cloudAuthView": {
+ "title": "অনুচ্ছেদ",
+ "deploy": "মোতায়েন করতে প্রস্তুত?",
+ "requiresHandler": "অ্যালিনার চালিয়ে যাওয়ার জন্য একজন হ্যান্ডলারের প্রয়োজন",
+ "backend": "অ্যালিনাকে চালিয়ে যাওয়ার জন্য একটি ব্যাকএন্ড প্রয়োজন।",
+ "customBackend": "একটি কাস্টম ব্যাকএন্ড সম্পূর্ণরূপে কনফিগার করুন",
+ "cloud": "অথবা আমাদের ক্লাউড অফারটি ব্যবহার করে কয়েক ক্লিকেই সেট আপ হয়ে যান।",
+ "cloudButton": "alinea.cloud ব্যবহার করে চালিয়ে যান"
+ },
+ "sidebarSettings": {
+ "settings": "সেটিংস",
+ "defaultWorkspace": "ডিফল্ট ওয়ার্কস্পেস",
+ "theme": "থিম পরিবর্তন করুন",
+ "fontSize": "ফন্ট সাইজ",
+ "decreaseFontSize": "ফন্টের আকার কমান",
+ "increaseFontSize": "ফন্টের আকার বাড়ান",
+ "logout": "লগআউট"
+ },
+ "fileUploader": {
+ "uploadComplete": "আপলোড সম্পূর্ণ হয়েছে: {{amount}}",
+ "uploading": "ফাইল আপলোড করা হচ্ছে: {{amount}}",
+ "upload": "ফাইল আপলোড করুন"
+ },
+ "fileUploadRow": {
+ "alt": "আপলোড করা ফাইল",
+ "done": "সম্পন্ন"
+ },
+ "fileEntry": {
+ "preview": "মিডিয়া ফাইলের প্রিভিউ",
+ "extension": "এক্সটেনশন",
+ "fileSize": "ফাইলের আকার",
+ "dimensions": "মাত্রা",
+ "pixels": "পিক্সেল",
+ "url": "URL টি",
+ "focus": "ফোকাস পয়েন্ট",
+ "focusHelp": "ফোকাস পয়েন্ট পরিবর্তন করতে ছবিতে ক্লিক করুন"
+ },
+ "cardOverview": {
+ "title": "কার্ড"
+ },
+ "explorer": {
+ "noResults": "কোনও ফলাফল নেই"
+ },
+ "editModeToggle": {
+ "edit": "সম্পাদনা",
+ "review": "পরিবর্তনগুলি পর্যালোচনা করুন"
+ },
+ "searchBox": {
+ "search": "অনুসন্ধান করুন"
+ },
+ "rootOverview": {
+ "instruction": "সম্পাদনা শুরু করতে বাম দিকের নেভিগেশন ট্রিতে একটি এন্ট্রি নির্বাচন করুন।"
+ },
+ "inputLabel": {
+ "readonly": "কেবল পঠনযোগ্য",
+ "shared": "ভাগ করা হয়েছে"
+ },
+ "errorBoundary": {
+ "title": "ত্রুটি",
+ "oops": "ওহো, কিছু একটা সমস্যা হয়েছে।",
+ "close": "ত্রুটি বন্ধ করুন",
+ "issue": "একটি সমস্যা তৈরি করুন"
+ },
+ "toolbar": {
+ "defaultWorkspace": "ডিফল্ট ওয়ার্কস্পেস",
+ "logout": "লগআউট"
+ },
+ "listField": {
+ "reorder": "পুনঃক্রম করতে টেনে আনুন এবং ছেড়ে দিন",
+ "copy": "কপি ব্লক",
+ "moveUp": "এক অবস্থান উপরে যান",
+ "moveDown": "এক অবস্থান নিচে সরান",
+ "delete": "ব্লক মুছুন",
+ "paste": "ব্লক পেস্ট করুন",
+ "add": "নতুন ব্লক ঢোকান"
+ },
+ "metadataField": {
+ "previewTitle": "প্রিভিউ",
+ "searchEngine": "সার্চ ইঞ্জিন",
+ "socialShare": "সোশ্যাল শেয়ার",
+ "ogImageAlt": "গ্রাফ চিত্র খুলুন"
+ },
+ "pickTextLink": {
+ "title": "লিঙ্ক বেছে নিন",
+ "link": "লিংক",
+ "description": "বিবরণ",
+ "descriptionHelp": "লিঙ্ক এলিমেন্টের ভিতরে প্রদর্শনের জন্য টেক্সট",
+ "tooltip": "টুলটিপ",
+ "tooltipHelp": "হোভারে দেখানো লিঙ্কটি বর্ণনা করে এমন অতিরিক্ত তথ্য",
+ "newTab": "নতুন ট্যাবে লিঙ্কটি খুলুন",
+ "remove": "লিঙ্কটি সরান",
+ "cancel": "বাতিল করুন",
+ "confirm": "নিশ্চিত করুন"
+ },
+ "richTextField": {
+ "insert": "ব্লক ঢোকান"
+ },
+ "richTextToolbar": {
+ "styles": "শিরোনাম/অনুচ্ছেদ",
+ "table": "টেবিল",
+ "bold": "বোল্ড",
+ "italic": "ইটালিক",
+ "align": "সারিবদ্ধকরণ",
+ "alignLeft": "বাম দিকে সারিবদ্ধ করুন",
+ "alignCenter": "কেন্দ্র সারিবদ্ধ করুন",
+ "alignRight": "ডানদিকে সারিবদ্ধ করুন",
+ "alignJustify": "সারিবদ্ধভাবে সারিবদ্ধ করুন",
+ "clear": "ফর্ম্যাট সাফ করুন",
+ "bulletList": "বুলেট তালিকা",
+ "orderedList": "অর্ডার করা তালিকা",
+ "link": "লিংক",
+ "quote": "ব্লককোট",
+ "rule": "অনুভূমিক নিয়ম",
+ "small": "ছোট",
+ "sub": "সাবস্ক্রিপ্ট",
+ "sup": "সুপারস্ক্রিপ্ট",
+ "paragraph": "সাধারণ টেক্সট",
+ "h1": "শিরোনাম ১",
+ "h2": "শিরোনাম ২",
+ "h3": "শিরোনাম ৩",
+ "h4": "শিরোনাম ৪",
+ "h5": "শিরোনাম ৫",
+ "tableLabel": "টেবিল",
+ "insert": "টেবিল ঢোকান",
+ "insertRowBefore": "আগে সারি ঢোকান",
+ "insertRowAfter": "পরে সারি ঢোকান",
+ "deleteRow": "সারি মুছুন",
+ "toggleHeaderRow": "হেডার সারি টগল করুন",
+ "insertColumnBefore": "আগে কলাম ঢোকান",
+ "insertColumnAfter": "পরে কলাম ঢোকান",
+ "deleteColumn": "কলাম মুছুন",
+ "deleteTable": "টেবিল মুছুন",
+ "left": "বাম",
+ "center": "কেন্দ্র",
+ "right": "ঠিক",
+ "justify": "ন্যায্যতা প্রমাণ করুন"
+ },
+ "linkField": {
+ "reorder": "পুনঃক্রম করতে টেনে আনুন এবং ছেড়ে দিন",
+ "open": "নতুন ট্যাবে লিঙ্কটি খুলুন",
+ "openFile": "নতুন ট্যাবে মিডিয়া ফাইল খুলুন",
+ "edit": "লিঙ্ক সম্পাদনা করুন",
+ "editFile": "ছবি পরিবর্তন করুন",
+ "delete": "লিঙ্ক মুছুন",
+ "deleteFile": "ছবি মুছুন"
+ },
+ "entryPicker": {
+ "title": "একটি রেফারেন্স নির্বাচন করুন",
+ "searchPlaceholder": "অনুসন্ধান করুন",
+ "cancel": "বাতিল করুন",
+ "confirm": "নিশ্চিত করুন"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/ca.json b/src/translations/ca.json
new file mode 100644
index 000000000..31076860a
--- /dev/null
+++ b/src/translations/ca.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Sincronització",
+ "synced": "Sincronitzat",
+ "saving": "Desant…"
+ },
+ "urlPicker": {
+ "title": "Enllaç",
+ "url": "URL",
+ "urlHelp": "URL de l'enllaç",
+ "description": "Descripció",
+ "descriptionHelp": "Text que es mostrarà dins de l'element d'enllaç",
+ "target": "Objectiu",
+ "targetDescription": "Obre l'enllaç en una pestanya nova",
+ "cancel": "Cancel·la",
+ "confirm": "Confirma"
+ },
+ "pickLink": {
+ "title": "Tria l'enllaç",
+ "link": "Enllaç",
+ "description": "Descripció",
+ "descriptionHelp": "Text que es mostrarà dins de l'element d'enllaç",
+ "tooltip": "Descripció emergent",
+ "tooltipHelp": "Informació addicional que descriu l'enllaç, que es mostra en passar el cursor per sobre",
+ "newTab": "Obre l'enllaç en una pestanya nova",
+ "remove": "Elimina l'enllaç",
+ "cancel": "Cancel·la",
+ "confirm": "Confirma"
+ },
+ "newEntry": {
+ "title": "Títol",
+ "parent": "Pare/Mare",
+ "type": "Selecciona el tipus",
+ "order": "Insereix ordre",
+ "orderFirst": "A la part superior de la llista",
+ "orderLast": "A la part inferior de la llista",
+ "copyFrom": "Copiar contingut de",
+ "formTitle": "Nova entrada",
+ "cancel": "Cancel·la",
+ "create": "Crea"
+ },
+ "entryEdit": {
+ "blockingTitle": "Esteu segur que voleu descartar els canvis?",
+ "blockingWarning": "Aquest document ha estat modificat",
+ "blockingPrompt": "Voleu desar els canvis?",
+ "blockingDiscard": "Descarta els meus canvis",
+ "blockingSaveDraft": "Desa com a esborrany",
+ "blockingPublishChanges": "Publica els canvis",
+ "untranslatedTitle": "Sense traduir",
+ "untranslatedParent": "Tradueix primer la pàgina principal.",
+ "untranslatedPrompt": "Introduïu les dades següents i deseu-les per començar a traduir.",
+ "draftError": "No s'ha pogut completar l'acció d'esborrany, torneu-ho a provar més tard.",
+ "saveTranslationError": "No s'ha pogut completar l'acció de traducció. Torna-ho a provar més tard.",
+ "publishError": "No s'ha pogut completar l'acció de publicació. Torna-ho a provar més tard.",
+ "discardError": "No s'han pogut descartar els canvis. Torna-ho a provar més tard.",
+ "unpublishError": "No s'ha pogut completar l'acció de no publicar. Torna-ho a provar més tard.",
+ "deleteError": "No s'ha pogut completar l'acció d'eliminació. Torna-ho a provar més tard.",
+ "archiveError": "No s'ha pogut completar l'acció d'arxivament. Torna-ho a provar més tard."
+ },
+ "entryHeader": {
+ "draft": "Esborrany",
+ "editing": "Edició",
+ "published": "Publicat",
+ "archived": "Arxivat",
+ "untranslated": "Sense traduir",
+ "unpublished": "Inèdit",
+ "revision": "Revisió",
+ "showMenu": "Mostra el menú",
+ "hideMenu": "Amaga el menú",
+ "removeDraft": "Elimina l'esborrany",
+ "replace": "Substitueix",
+ "delete": "Suprimeix",
+ "unpublish": "Anul·la la publicació",
+ "archive": "Arxiu",
+ "publish": "Publica",
+ "showHistory": "Mostra l'historial",
+ "hideHistory": "Amaga l'historial",
+ "draftAvailable": "Hi ha disponible una versió d'esborrany més recent",
+ "translateFrom": "Tradueix de",
+ "translateParent": "Tradueix primer la pàgina principal",
+ "discard": "Descarta les edicions",
+ "save": "Desa la traducció",
+ "saveDraft": "Desa",
+ "restore": "Restaurar",
+ "showPreview": "Visualització prèvia",
+ "hidePreview": "Amaga la vista prèvia",
+ "savingDraft": "Desant l'esborrany",
+ "savingTranslation": "Desant la traducció",
+ "publishingEdits": "Publicació d'edicions",
+ "restoringRevision": "Restauració de la revisió",
+ "publishingDraft": "Publicació de l'esborrany",
+ "unpublishingDraft": "Anul·lació de l'esborrany",
+ "discardingDraft": "Descartant l'esborrany",
+ "archivingPublished": "Arxivament publicat",
+ "publishingArchived": "Publicació arxivada",
+ "deletingFile": "Supressió del fitxer",
+ "deletingEntry": "Suprimeix l'entrada"
+ },
+ "contentView": {
+ "create": "Crear nou"
+ },
+ "welcome": {
+ "title": "La instal·lació d'alinea ja està a punt per a la configuració.",
+ "button": "Aprèn a configurar"
+ },
+ "cloudAuthView": {
+ "title": "Paràgraf",
+ "deploy": "A punt per desplegar-se?",
+ "requiresHandler": "Alinea necessita un gestor per continuar",
+ "backend": "Alinea necessita un backend per continuar.",
+ "customBackend": "configurar completament un backend personalitzat",
+ "cloud": "O configura't en uns quants clics amb la nostra oferta al núvol.",
+ "cloudButton": "Continua amb alinea.cloud"
+ },
+ "sidebarSettings": {
+ "settings": "Configuració",
+ "defaultWorkspace": "Espai de treball predeterminat",
+ "theme": "Canvia el tema",
+ "fontSize": "Mida de la lletra",
+ "decreaseFontSize": "Reduir la mida de la lletra",
+ "increaseFontSize": "Augmenta la mida de la lletra",
+ "logout": "Tanca la sessió"
+ },
+ "fileUploader": {
+ "uploadComplete": "Càrregues completades: {{amount}}",
+ "uploading": "Pujant fitxers: {{amount}}",
+ "upload": "Puja fitxers"
+ },
+ "fileUploadRow": {
+ "alt": "Fitxer carregat",
+ "done": "Fet"
+ },
+ "fileEntry": {
+ "preview": "Vista prèvia del fitxer multimèdia",
+ "extension": "Extensió",
+ "fileSize": "Mida del fitxer",
+ "dimensions": "Dimensions",
+ "pixels": "píxels",
+ "url": "URL",
+ "focus": "Punt d'enfocament",
+ "focusHelp": "Feu clic a la imatge per canviar el punt d'enfocament"
+ },
+ "cardOverview": {
+ "title": "targeta"
+ },
+ "explorer": {
+ "noResults": "Sense resultats"
+ },
+ "editModeToggle": {
+ "edit": "Edita",
+ "review": "Revisa els canvis"
+ },
+ "searchBox": {
+ "search": "Cerca"
+ },
+ "rootOverview": {
+ "instruction": "Seleccioneu una entrada a l'arbre de navegació de l'esquerra per començar a editar"
+ },
+ "inputLabel": {
+ "readonly": "Només lectura",
+ "shared": "Compartit"
+ },
+ "errorBoundary": {
+ "title": "Error",
+ "oops": "Ups, alguna cosa ha anat malament",
+ "close": "Error de tancament",
+ "issue": "Crea un problema"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Espai de treball predeterminat",
+ "logout": "Tanca la sessió"
+ },
+ "listField": {
+ "reorder": "Arrossega i deixa anar per reordenar",
+ "copy": "Bloc de còpia",
+ "moveUp": "Puja una posició",
+ "moveDown": "Baixar una posició",
+ "delete": "Suprimeix el bloc",
+ "paste": "Enganxa el bloc",
+ "add": "Insereix un bloc nou"
+ },
+ "metadataField": {
+ "previewTitle": "Vista prèvia",
+ "searchEngine": "Motor de cerca",
+ "socialShare": "Compartir a les xarxes socials",
+ "ogImageAlt": "Imatge de gràfic obert"
+ },
+ "pickTextLink": {
+ "title": "Tria l'enllaç",
+ "link": "Enllaç",
+ "description": "Descripció",
+ "descriptionHelp": "Text que es mostrarà dins de l'element d'enllaç",
+ "tooltip": "Descripció emergent",
+ "tooltipHelp": "Informació addicional que descriu l'enllaç, que es mostra en passar el cursor per sobre",
+ "newTab": "Obre l'enllaç en una pestanya nova",
+ "remove": "Elimina l'enllaç",
+ "cancel": "Cancel·la",
+ "confirm": "Confirma"
+ },
+ "richTextField": {
+ "insert": "Insereix un bloc"
+ },
+ "richTextToolbar": {
+ "styles": "Encapçalament/paràgraf",
+ "table": "Taula",
+ "bold": "Negreta",
+ "italic": "Cursiva",
+ "align": "Alineació",
+ "alignLeft": "Alinea a l'esquerra",
+ "alignCenter": "Alinea al centre",
+ "alignRight": "Alinea a la dreta",
+ "alignJustify": "Alinea justifica",
+ "clear": "Format clar",
+ "bulletList": "Llista amb vinyetes",
+ "orderedList": "Llista ordenada",
+ "link": "Enllaç",
+ "quote": "Cita en bloc",
+ "rule": "Regla horitzontal",
+ "small": "Petit",
+ "sub": "Subíndex",
+ "sup": "Superíndex",
+ "paragraph": "Text normal",
+ "h1": "Títol 1",
+ "h2": "Títol 2",
+ "h3": "Títol 3",
+ "h4": "Títol 4",
+ "h5": "Títol 5",
+ "tableLabel": "Taula",
+ "insert": "Insereix una taula",
+ "insertRowBefore": "Insereix una fila abans de",
+ "insertRowAfter": "Insereix una fila després de",
+ "deleteRow": "Suprimeix la fila",
+ "toggleHeaderRow": "Activa/desactiva la fila de capçalera",
+ "insertColumnBefore": "Insereix una columna abans de",
+ "insertColumnAfter": "Insereix una columna després de",
+ "deleteColumn": "Suprimeix la columna",
+ "deleteTable": "Suprimeix la taula",
+ "left": "Esquerra",
+ "center": "Centre",
+ "right": "Dreta",
+ "justify": "Justificar"
+ },
+ "linkField": {
+ "reorder": "Arrossega i deixa anar per reordenar",
+ "open": "Obre l'enllaç en una pestanya nova",
+ "openFile": "Obre el fitxer multimèdia en una pestanya nova",
+ "edit": "Edita l'enllaç",
+ "editFile": "Canvia la imatge",
+ "delete": "Suprimeix l'enllaç",
+ "deleteFile": "Suprimeix la imatge"
+ },
+ "entryPicker": {
+ "title": "Selecciona una referència",
+ "searchPlaceholder": "Cerca",
+ "cancel": "Cancel·la",
+ "confirm": "Confirma"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/cs.json b/src/translations/cs.json
new file mode 100644
index 000000000..9e8b10307
--- /dev/null
+++ b/src/translations/cs.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Synchronizace",
+ "synced": "Synchronizováno",
+ "saving": "Ukládání…"
+ },
+ "urlPicker": {
+ "title": "Odkaz",
+ "url": "URL",
+ "urlHelp": "URL odkazu",
+ "description": "Popis",
+ "descriptionHelp": "Text, který se má zobrazit uvnitř elementu odkazu",
+ "target": "Cíl",
+ "targetDescription": "Otevřít odkaz v nové kartě",
+ "cancel": "Zrušit",
+ "confirm": "Potvrdit"
+ },
+ "pickLink": {
+ "title": "Vyberte odkaz",
+ "link": "Odkaz",
+ "description": "Popis",
+ "descriptionHelp": "Text, který se má zobrazit uvnitř elementu odkazu",
+ "tooltip": "Popisek",
+ "tooltipHelp": "Doplňující informace popisující odkaz, zobrazené při najetí myší",
+ "newTab": "Otevřít odkaz v nové kartě",
+ "remove": "Odebrat odkaz",
+ "cancel": "Zrušit",
+ "confirm": "Potvrdit"
+ },
+ "newEntry": {
+ "title": "Titul",
+ "parent": "Rodič",
+ "type": "Vyberte typ",
+ "order": "Vložit objednávku",
+ "orderFirst": "Na vrcholu seznamu",
+ "orderLast": "Na konci seznamu",
+ "copyFrom": "Kopírovat obsah z",
+ "formTitle": "Nový záznam",
+ "cancel": "Zrušit",
+ "create": "Vytvořit"
+ },
+ "entryEdit": {
+ "blockingTitle": "Opravdu chcete změny zahodit?",
+ "blockingWarning": "Tento dokument byl změněn",
+ "blockingPrompt": "Chcete uložit změny?",
+ "blockingDiscard": "Zahodit mé změny",
+ "blockingSaveDraft": "Uložit jako koncept",
+ "blockingPublishChanges": "Publikovat změny",
+ "untranslatedTitle": "Nepřeložené",
+ "untranslatedParent": "Nejprve přeložte nadřazenou stránku.",
+ "untranslatedPrompt": "Zadejte níže uvedené údaje a uložte je pro zahájení překladu.",
+ "draftError": "Akci konceptu se nepodařilo dokončit, zkuste to prosím znovu později.",
+ "saveTranslationError": "Překlad se nepodařilo dokončit, zkuste to prosím znovu později.",
+ "publishError": "Akci publikování se nepodařilo dokončit, zkuste to prosím znovu později.",
+ "discardError": "Změny se nepodařilo zahodit, zkuste to prosím znovu později.",
+ "unpublishError": "Akci zrušení publikování se nepodařilo dokončit, zkuste to prosím znovu později.",
+ "deleteError": "Akci smazání se nepodařilo dokončit, zkuste to prosím znovu později.",
+ "archiveError": "Akci archivace se nepodařilo dokončit, zkuste to prosím znovu později."
+ },
+ "entryHeader": {
+ "draft": "Návrh",
+ "editing": "Editace",
+ "published": "Publikováno",
+ "archived": "Archivováno",
+ "untranslated": "Nepřeložené",
+ "unpublished": "Nepublikovaný",
+ "revision": "Revize",
+ "showMenu": "Zobrazit nabídku",
+ "hideMenu": "Skrýt nabídku",
+ "removeDraft": "Odebrat koncept",
+ "replace": "Nahradit",
+ "delete": "Vymazat",
+ "unpublish": "Zrušit publikování",
+ "archive": "Archiv",
+ "publish": "Publikovat",
+ "showHistory": "Zobrazit historii",
+ "hideHistory": "Skrýt historii",
+ "draftAvailable": "Je k dispozici novější koncept verze",
+ "translateFrom": "Přeložit z",
+ "translateParent": "Nejprve přeložit nadřazenou stránku",
+ "discard": "Zahodit úpravy",
+ "save": "Uložit překlad",
+ "saveDraft": "Uložit",
+ "restore": "Obnovit",
+ "showPreview": "Náhled zobrazení",
+ "hidePreview": "Skrýt náhled",
+ "savingDraft": "Ukládání konceptu",
+ "savingTranslation": "Ukládání překladu",
+ "publishingEdits": "Publikování úprav",
+ "restoringRevision": "Obnovení revize",
+ "publishingDraft": "Publikování konceptu",
+ "unpublishingDraft": "Zrušení publikování konceptu",
+ "discardingDraft": "Zahazování konceptu",
+ "archivingPublished": "Archivace publikována",
+ "publishingArchived": "Publikování archivováno",
+ "deletingFile": "Mazání souboru",
+ "deletingEntry": "Smazat položku"
+ },
+ "contentView": {
+ "create": "Vytvořit nové"
+ },
+ "welcome": {
+ "title": "Vaše instalace Alinea je nyní připravena ke konfiguraci.",
+ "button": "Naučte se, jak konfigurovat"
+ },
+ "cloudAuthView": {
+ "title": "Odstavec",
+ "deploy": "Připraveni k nasazení?",
+ "requiresHandler": "Alinea vyžaduje pro pokračování psovoda",
+ "backend": "Alinea vyžaduje pro pokračování backend.",
+ "customBackend": "plně nakonfigurovat vlastní backend",
+ "cloud": "Nebo si vše nastavte několika kliknutími s naší cloudovou nabídkou.",
+ "cloudButton": "Pokračujte s alinea.cloud"
+ },
+ "sidebarSettings": {
+ "settings": "Nastavení",
+ "defaultWorkspace": "Výchozí pracovní prostor",
+ "theme": "Přepnout téma",
+ "fontSize": "Velikost písma",
+ "decreaseFontSize": "Zmenšit velikost písma",
+ "increaseFontSize": "Zvětšit velikost písma",
+ "logout": "Odhlásit se"
+ },
+ "fileUploader": {
+ "uploadComplete": "Nahrávání dokončeno: {{amount}}",
+ "uploading": "Nahrávání souborů: {{amount}}",
+ "upload": "Nahrát soubory"
+ },
+ "fileUploadRow": {
+ "alt": "Nahraný soubor",
+ "done": "Hotovo"
+ },
+ "fileEntry": {
+ "preview": "Náhled mediálního souboru",
+ "extension": "Rozšíření",
+ "fileSize": "Velikost souboru",
+ "dimensions": "Rozměry",
+ "pixels": "pixely",
+ "url": "URL",
+ "focus": "Bod zaostření",
+ "focusHelp": "Kliknutím na obrázek změníte bod zaostření"
+ },
+ "cardOverview": {
+ "title": "karta"
+ },
+ "explorer": {
+ "noResults": "Žádné výsledky"
+ },
+ "editModeToggle": {
+ "edit": "Upravit",
+ "review": "Zkontrolovat změny"
+ },
+ "searchBox": {
+ "search": "Vyhledávání"
+ },
+ "rootOverview": {
+ "instruction": "Vyberte položku v navigačním stromu vlevo pro zahájení úprav"
+ },
+ "inputLabel": {
+ "readonly": "Pouze pro čtení",
+ "shared": "Sdílené"
+ },
+ "errorBoundary": {
+ "title": "Chyba",
+ "oops": "Jejda, něco se pokazilo",
+ "close": "Chyba zavření",
+ "issue": "Vytvořit problém"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Výchozí pracovní prostor",
+ "logout": "Odhlásit se"
+ },
+ "listField": {
+ "reorder": "Přetažením změníte pořadí",
+ "copy": "Kopírovat blok",
+ "moveUp": "Posunout o jednu pozici nahoru",
+ "moveDown": "Posunout o jednu pozici dolů",
+ "delete": "Smazat blok",
+ "paste": "Vložit blok",
+ "add": "Vložit nový blok"
+ },
+ "metadataField": {
+ "previewTitle": "Náhled",
+ "searchEngine": "Vyhledávač",
+ "socialShare": "Sdílení na sociálních sítích",
+ "ogImageAlt": "Otevřít obrázek grafu"
+ },
+ "pickTextLink": {
+ "title": "Vyberte odkaz",
+ "link": "Odkaz",
+ "description": "Popis",
+ "descriptionHelp": "Text, který se má zobrazit uvnitř elementu odkazu",
+ "tooltip": "Popisek",
+ "tooltipHelp": "Doplňující informace popisující odkaz, zobrazené při najetí myší",
+ "newTab": "Otevřít odkaz v nové kartě",
+ "remove": "Odebrat odkaz",
+ "cancel": "Zrušit",
+ "confirm": "Potvrdit"
+ },
+ "richTextField": {
+ "insert": "Vložit blok"
+ },
+ "richTextToolbar": {
+ "styles": "Nadpis/odstavec",
+ "table": "Tabulka",
+ "bold": "Tučné písmo",
+ "italic": "Kurzíva",
+ "align": "Zarovnání",
+ "alignLeft": "Zarovnat doleva",
+ "alignCenter": "Zarovnat na střed",
+ "alignRight": "Zarovnat vpravo",
+ "alignJustify": "Zarovnat do stran",
+ "clear": "Vymazat formát",
+ "bulletList": "Seznam s odrážkami",
+ "orderedList": "Seřazený seznam",
+ "link": "Odkaz",
+ "quote": "Bloková citace",
+ "rule": "Horizontální pravítko",
+ "small": "Malý",
+ "sub": "Dolní index",
+ "sup": "Horní index",
+ "paragraph": "Normální text",
+ "h1": "Nadpis 1",
+ "h2": "Nadpis 2",
+ "h3": "Nadpis 3",
+ "h4": "Nadpis 4",
+ "h5": "Nadpis 5",
+ "tableLabel": "Tabulka",
+ "insert": "Vložit tabulku",
+ "insertRowBefore": "Vložit řádek před",
+ "insertRowAfter": "Vložit řádek za",
+ "deleteRow": "Smazat řádek",
+ "toggleHeaderRow": "Přepnout řádek záhlaví",
+ "insertColumnBefore": "Vložit sloupec před",
+ "insertColumnAfter": "Vložit sloupec za",
+ "deleteColumn": "Smazat sloupec",
+ "deleteTable": "Smazat tabulku",
+ "left": "Vlevo",
+ "center": "Centrum",
+ "right": "Právo",
+ "justify": "Zarovnat"
+ },
+ "linkField": {
+ "reorder": "Přetažením změníte pořadí",
+ "open": "Otevřít odkaz v nové kartě",
+ "openFile": "Otevřít mediální soubor v nové kartě",
+ "edit": "Upravit odkaz",
+ "editFile": "Změnit obrázek",
+ "delete": "Smazat odkaz",
+ "deleteFile": "Smazat obrázek"
+ },
+ "entryPicker": {
+ "title": "Vyberte referenci",
+ "searchPlaceholder": "Vyhledávání",
+ "cancel": "Zrušit",
+ "confirm": "Potvrdit"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/da.json b/src/translations/da.json
new file mode 100644
index 000000000..96272b5c3
--- /dev/null
+++ b/src/translations/da.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Synkronisering",
+ "synced": "Synkroniseret",
+ "saving": "Gemmer…"
+ },
+ "urlPicker": {
+ "title": "Forbindelse",
+ "url": "URL",
+ "urlHelp": "URL'en til linket",
+ "description": "Beskrivelse",
+ "descriptionHelp": "Tekst, der skal vises inde i linkelementet",
+ "target": "Mål",
+ "targetDescription": "Åbn link i ny fane",
+ "cancel": "Ophæve",
+ "confirm": "Bekræfte"
+ },
+ "pickLink": {
+ "title": "Vælg link",
+ "link": "Forbindelse",
+ "description": "Beskrivelse",
+ "descriptionHelp": "Tekst, der skal vises inde i linkelementet",
+ "tooltip": "Værktøjstip",
+ "tooltipHelp": "Ekstra information, der beskriver linket, vist ved at holde musen over det",
+ "newTab": "Åbn link i ny fane",
+ "remove": "Fjern link",
+ "cancel": "Ophæve",
+ "confirm": "Bekræfte"
+ },
+ "newEntry": {
+ "title": "Titel",
+ "parent": "Forælder",
+ "type": "Vælg type",
+ "order": "Indsæt ordre",
+ "orderFirst": "Øverst på listen",
+ "orderLast": "Nederst på listen",
+ "copyFrom": "Kopiér indhold fra",
+ "formTitle": "Ny indtastning",
+ "cancel": "Ophæve",
+ "create": "Skabe"
+ },
+ "entryEdit": {
+ "blockingTitle": "Er du sikker på, at du vil kassere ændringerne?",
+ "blockingWarning": "Dette dokument blev ændret",
+ "blockingPrompt": "Vil du gemme dine ændringer?",
+ "blockingDiscard": "Kassér mine ændringer",
+ "blockingSaveDraft": "Gem som kladde",
+ "blockingPublishChanges": "Udgiv ændringer",
+ "untranslatedTitle": "Uoversat",
+ "untranslatedParent": "Oversæt først den overordnede side.",
+ "untranslatedPrompt": "Indtast oplysningerne nedenfor, og gem for at begynde at oversætte.",
+ "draftError": "Kunne ikke fuldføre udkastet. Prøv igen senere.",
+ "saveTranslationError": "Oversættelsen kunne ikke fuldføres. Prøv igen senere.",
+ "publishError": "Kunne ikke fuldføre udgivelseshandlingen. Prøv igen senere.",
+ "discardError": "Ændringerne kunne ikke kasseres. Prøv igen senere.",
+ "unpublishError": "Kunne ikke fuldføre handlingen \"annullering af publicering\". Prøv igen senere.",
+ "deleteError": "Sletningen kunne ikke fuldføres. Prøv igen senere.",
+ "archiveError": "Arkiveringen kunne ikke fuldføres. Prøv igen senere."
+ },
+ "entryHeader": {
+ "draft": "Udkast",
+ "editing": "Redigering",
+ "published": "Udgivet",
+ "archived": "Arkiveret",
+ "untranslated": "Uoversat",
+ "unpublished": "Ikke-udgivet",
+ "revision": "Revision",
+ "showMenu": "Vis menu",
+ "hideMenu": "Skjul menu",
+ "removeDraft": "Fjern kladde",
+ "replace": "Erstatte",
+ "delete": "Slet",
+ "unpublish": "Fjern publicering",
+ "archive": "Arkiv",
+ "publish": "Offentliggøre",
+ "showHistory": "Vis historik",
+ "hideHistory": "Skjul historik",
+ "draftAvailable": "En nyere udkastversion er tilgængelig",
+ "translateFrom": "Oversæt fra",
+ "translateParent": "Oversæt først den overordnede side",
+ "discard": "Kassér redigeringer",
+ "save": "Gem oversættelse",
+ "saveDraft": "Spare",
+ "restore": "Gendan",
+ "showPreview": "Vis forhåndsvisning",
+ "hidePreview": "Skjul forhåndsvisning",
+ "savingDraft": "Gemmer kladde",
+ "savingTranslation": "Gemmer oversættelse",
+ "publishingEdits": "Udgivelse af redigeringer",
+ "restoringRevision": "Gendannelse af revision",
+ "publishingDraft": "Udgivelseskladde",
+ "unpublishingDraft": "Fjerner udgivelse af kladde",
+ "discardingDraft": "Kasserer kladde",
+ "archivingPublished": "Arkivering af publicering",
+ "publishingArchived": "Arkiveret udgivelse",
+ "deletingFile": "Sletter fil",
+ "deletingEntry": "Slet indtastning"
+ },
+ "contentView": {
+ "create": "Opret ny"
+ },
+ "welcome": {
+ "title": "Din alinea-installation er nu klar til konfiguration.",
+ "button": "Lær hvordan du konfigurerer"
+ },
+ "cloudAuthView": {
+ "title": "Afsnit",
+ "deploy": "Klar til implementering?",
+ "requiresHandler": "Alinea har brug for en handler for at fortsætte",
+ "backend": "Alinea kræver en backend for at fortsætte.",
+ "customBackend": "fuldt ud konfigurere en brugerdefineret backend",
+ "cloud": "Eller bliv opsat med et par klik med vores cloud-tilbud.",
+ "cloudButton": "Fortsæt med alinea.cloud"
+ },
+ "sidebarSettings": {
+ "settings": "Indstillinger",
+ "defaultWorkspace": "Standardarbejdsområde",
+ "theme": "Skift tema",
+ "fontSize": "Skriftstørrelse",
+ "decreaseFontSize": "Formindsk skriftstørrelsen",
+ "increaseFontSize": "Øg skriftstørrelsen",
+ "logout": "Log ud"
+ },
+ "fileUploader": {
+ "uploadComplete": "Uploads fuldført: {{amount}}",
+ "uploading": "Uploader filer: {{amount}}",
+ "upload": "Upload filer"
+ },
+ "fileUploadRow": {
+ "alt": "Uploadet fil",
+ "done": "Færdig"
+ },
+ "fileEntry": {
+ "preview": "Forhåndsvisning af mediefil",
+ "extension": "Udvidelse",
+ "fileSize": "Filstørrelse",
+ "dimensions": "Dimensioner",
+ "pixels": "pixels",
+ "url": "URL",
+ "focus": "Fokuspunkt",
+ "focusHelp": "Klik på billedet for at ændre fokuspunktet"
+ },
+ "cardOverview": {
+ "title": "kort"
+ },
+ "explorer": {
+ "noResults": "Ingen resultater"
+ },
+ "editModeToggle": {
+ "edit": "Redigere",
+ "review": "Gennemgå ændringer"
+ },
+ "searchBox": {
+ "search": "Søge"
+ },
+ "rootOverview": {
+ "instruction": "Vælg en post i navigationstræet til venstre for at starte redigering"
+ },
+ "inputLabel": {
+ "readonly": "Skrivebeskyttet",
+ "shared": "Delt"
+ },
+ "errorBoundary": {
+ "title": "Fejl",
+ "oops": "Ups, noget gik galt",
+ "close": "Luk fejl",
+ "issue": "Opret et problem"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Standardarbejdsområde",
+ "logout": "Log ud"
+ },
+ "listField": {
+ "reorder": "Træk og slip for at ændre rækkefølgen",
+ "copy": "Kopiér blok",
+ "moveUp": "Flyt én position op",
+ "moveDown": "Flyt én position ned",
+ "delete": "Slet blok",
+ "paste": "Indsæt blok",
+ "add": "Indsæt ny blok"
+ },
+ "metadataField": {
+ "previewTitle": "Forhåndsvisning",
+ "searchEngine": "Søgemaskine",
+ "socialShare": "Social deling",
+ "ogImageAlt": "Åbn grafbillede"
+ },
+ "pickTextLink": {
+ "title": "Vælg link",
+ "link": "Forbindelse",
+ "description": "Beskrivelse",
+ "descriptionHelp": "Tekst, der skal vises inde i linkelementet",
+ "tooltip": "Værktøjstip",
+ "tooltipHelp": "Ekstra information, der beskriver linket, vist ved at holde musen over det",
+ "newTab": "Åbn link i ny fane",
+ "remove": "Fjern link",
+ "cancel": "Ophæve",
+ "confirm": "Bekræfte"
+ },
+ "richTextField": {
+ "insert": "Indsæt blok"
+ },
+ "richTextToolbar": {
+ "styles": "Overskrift/afsnit",
+ "table": "Tabel",
+ "bold": "Dristig",
+ "italic": "Kursiv",
+ "align": "Justering",
+ "alignLeft": "Juster til venstre",
+ "alignCenter": "Juster center",
+ "alignRight": "Juster til højre",
+ "alignJustify": "Juster/juster",
+ "clear": "Ryd format",
+ "bulletList": "Punktliste",
+ "orderedList": "Ordnet liste",
+ "link": "Forbindelse",
+ "quote": "Blokcitat",
+ "rule": "Vandret regel",
+ "small": "Lille",
+ "sub": "Subskript",
+ "sup": "Hævet skrift",
+ "paragraph": "Normal tekst",
+ "h1": "Overskrift 1",
+ "h2": "Overskrift 2",
+ "h3": "Overskrift 3",
+ "h4": "Overskrift 4",
+ "h5": "Overskrift 5",
+ "tableLabel": "Tabel",
+ "insert": "Indsæt tabel",
+ "insertRowBefore": "Indsæt række før",
+ "insertRowAfter": "Indsæt række efter",
+ "deleteRow": "Slet række",
+ "toggleHeaderRow": "Slå overskriftsrække til/fra",
+ "insertColumnBefore": "Indsæt kolonne før",
+ "insertColumnAfter": "Indsæt kolonne efter",
+ "deleteColumn": "Slet kolonne",
+ "deleteTable": "Slet tabel",
+ "left": "Venstre",
+ "center": "Centrum",
+ "right": "Højre",
+ "justify": "Begrund"
+ },
+ "linkField": {
+ "reorder": "Træk og slip for at ændre rækkefølgen",
+ "open": "Åbn link i ny fane",
+ "openFile": "Åbn mediefil i ny fane",
+ "edit": "Rediger link",
+ "editFile": "Skift billede",
+ "delete": "Slet link",
+ "deleteFile": "Slet billede"
+ },
+ "entryPicker": {
+ "title": "Vælg en reference",
+ "searchPlaceholder": "Søge",
+ "cancel": "Ophæve",
+ "confirm": "Bekræfte"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/de.json b/src/translations/de.json
new file mode 100644
index 000000000..5a5b3b28b
--- /dev/null
+++ b/src/translations/de.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Synchronisierung",
+ "synced": "Synchronisiert",
+ "saving": "Speichern…"
+ },
+ "urlPicker": {
+ "title": "Link",
+ "url": "URL",
+ "urlHelp": "URL des Links",
+ "description": "Beschreibung",
+ "descriptionHelp": "Text, der im Link-Element angezeigt werden soll",
+ "target": "Ziel",
+ "targetDescription": "Link in neuem Tab öffnen",
+ "cancel": "Stornieren",
+ "confirm": "Bestätigen"
+ },
+ "pickLink": {
+ "title": "Link auswählen",
+ "link": "Link",
+ "description": "Beschreibung",
+ "descriptionHelp": "Text, der im Link-Element angezeigt werden soll",
+ "tooltip": "Tooltip",
+ "tooltipHelp": "Zusätzliche Informationen, die den Link beschreiben und beim Hovern angezeigt werden",
+ "newTab": "Link in neuem Tab öffnen",
+ "remove": "Link entfernen",
+ "cancel": "Stornieren",
+ "confirm": "Bestätigen"
+ },
+ "newEntry": {
+ "title": "Titel",
+ "parent": "Elternteil",
+ "type": "Typ auswählen",
+ "order": "Insert-Reihenfolge",
+ "orderFirst": "Ganz oben auf der Liste",
+ "orderLast": "Am Ende der Liste",
+ "copyFrom": "Inhalt kopieren von",
+ "formTitle": "Neuer Eintrag",
+ "cancel": "Stornieren",
+ "create": "Erstellen"
+ },
+ "entryEdit": {
+ "blockingTitle": "Möchten Sie die Änderungen wirklich verwerfen?",
+ "blockingWarning": "Dieses Dokument wurde geändert",
+ "blockingPrompt": "möchten Sie Ihre Änderungen speichern?",
+ "blockingDiscard": "Meine Änderungen verwerfen",
+ "blockingSaveDraft": "Als Entwurf speichern",
+ "blockingPublishChanges": "Änderungen veröffentlichen",
+ "untranslatedTitle": "Unübersetzt",
+ "untranslatedParent": "Übersetzen Sie zuerst die übergeordnete Seite.",
+ "untranslatedPrompt": "Geben Sie unten die Details ein und speichern Sie, um mit der Übersetzung zu beginnen.",
+ "draftError": "Die Entwurfsaktion konnte nicht abgeschlossen werden. Bitte versuchen Sie es später noch einmal.",
+ "saveTranslationError": "Die Übersetzungsaktion konnte nicht abgeschlossen werden. Bitte versuchen Sie es später noch einmal.",
+ "publishError": "Die Veröffentlichungsaktion konnte nicht abgeschlossen werden. Bitte versuchen Sie es später erneut.",
+ "discardError": "Änderungen konnten nicht verworfen werden. Bitte versuchen Sie es später erneut.",
+ "unpublishError": "Die Aktion zum Aufheben der Veröffentlichung konnte nicht abgeschlossen werden. Bitte versuchen Sie es später erneut.",
+ "deleteError": "Löschvorgang konnte nicht abgeschlossen werden. Bitte versuchen Sie es später erneut.",
+ "archiveError": "Die Archivierungsaktion konnte nicht abgeschlossen werden. Bitte versuchen Sie es später erneut."
+ },
+ "entryHeader": {
+ "draft": "Entwurf",
+ "editing": "Bearbeitung",
+ "published": "Veröffentlicht",
+ "archived": "Archiviert",
+ "untranslated": "Unübersetzt",
+ "unpublished": "Unveröffentlicht",
+ "revision": "Revision",
+ "showMenu": "Menü anzeigen",
+ "hideMenu": "Menü ausblenden",
+ "removeDraft": "Entwurf entfernen",
+ "replace": "Ersetzen",
+ "delete": "Löschen",
+ "unpublish": "Veröffentlichung aufheben",
+ "archive": "Archiv",
+ "publish": "Veröffentlichen",
+ "showHistory": "Verlauf anzeigen",
+ "hideHistory": "Verlauf ausblenden",
+ "draftAvailable": "Eine neuere Entwurfsversion ist verfügbar",
+ "translateFrom": "Übersetzen von",
+ "translateParent": "Übersetzen Sie zuerst die übergeordnete Seite",
+ "discard": "Änderungen verwerfen",
+ "save": "Übersetzung speichern",
+ "saveDraft": "Speichern",
+ "restore": "Wiederherstellen",
+ "showPreview": "Vorschau anzeigen",
+ "hidePreview": "Vorschau ausblenden",
+ "savingDraft": "Entwurf speichern",
+ "savingTranslation": "Übersetzung speichern",
+ "publishingEdits": "Änderungen veröffentlichen",
+ "restoringRevision": "Revision wiederherstellen",
+ "publishingDraft": "Veröffentlichungsentwurf",
+ "unpublishingDraft": "Entwurf wird nicht veröffentlicht",
+ "discardingDraft": "Entwurf verwerfen",
+ "archivingPublished": "Archivierung veröffentlicht",
+ "publishingArchived": "Veröffentlichung archiviert",
+ "deletingFile": "Datei löschen",
+ "deletingEntry": "Eintrag löschen"
+ },
+ "contentView": {
+ "create": "Neu erstellen"
+ },
+ "welcome": {
+ "title": "Ihre alinea-Installation ist nun bereit zur Konfiguration.",
+ "button": "Erfahren Sie, wie Sie konfigurieren"
+ },
+ "cloudAuthView": {
+ "title": "Absatz",
+ "deploy": "Bereit zur Bereitstellung?",
+ "requiresHandler": "Alinea benötigt einen Handler, um fortzufahren",
+ "backend": "Alinea benötigt ein Backend, um fortzufahren.",
+ "customBackend": "Konfigurieren Sie ein benutzerdefiniertes Backend vollständig",
+ "cloud": "Oder richten Sie sich mit unserem Cloud-Angebot in wenigen Klicks ein.",
+ "cloudButton": "Weiter mit alinea.cloud"
+ },
+ "sidebarSettings": {
+ "settings": "Einstellungen",
+ "defaultWorkspace": "Standardarbeitsbereich",
+ "theme": "Design wechseln",
+ "fontSize": "Schriftgröße",
+ "decreaseFontSize": "Schriftgröße verringern",
+ "increaseFontSize": "Schriftgröße erhöhen",
+ "logout": "Ausloggen"
+ },
+ "fileUploader": {
+ "uploadComplete": "Uploads abgeschlossen: {{amount}}",
+ "uploading": "Dateien werden hochgeladen: {{amount}}",
+ "upload": "Dateien hochladen"
+ },
+ "fileUploadRow": {
+ "alt": "Hochgeladene Datei",
+ "done": "Erledigt"
+ },
+ "fileEntry": {
+ "preview": "Vorschau der Mediendatei",
+ "extension": "Verlängerung",
+ "fileSize": "Dateigröße",
+ "dimensions": "Maße",
+ "pixels": "Pixel",
+ "url": "URL",
+ "focus": "Fokuspunkt",
+ "focusHelp": "Klicken Sie auf das Bild, um den Fokuspunkt zu ändern"
+ },
+ "cardOverview": {
+ "title": "Karte"
+ },
+ "explorer": {
+ "noResults": "Keine Ergebnisse"
+ },
+ "editModeToggle": {
+ "edit": "Bearbeiten",
+ "review": "Änderungen überprüfen"
+ },
+ "searchBox": {
+ "search": "Suchen"
+ },
+ "rootOverview": {
+ "instruction": "Wählen Sie einen Eintrag im Navigationsbaum links aus, um mit der Bearbeitung zu beginnen"
+ },
+ "inputLabel": {
+ "readonly": "Schreibgeschützt",
+ "shared": "Geteilt"
+ },
+ "errorBoundary": {
+ "title": "Fehler",
+ "oops": "Hoppla, da ist etwas schiefgelaufen",
+ "close": "Fehler schließen",
+ "issue": "Problem erstellen"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Standardarbeitsbereich",
+ "logout": "Ausloggen"
+ },
+ "listField": {
+ "reorder": "Zum Neuordnen per Drag & Drop",
+ "copy": "Block kopieren",
+ "moveUp": "Eine Position nach oben",
+ "moveDown": "Eine Position nach unten verschieben",
+ "delete": "Block löschen",
+ "paste": "Block einfügen",
+ "add": "Neuen Block einfügen"
+ },
+ "metadataField": {
+ "previewTitle": "Vorschau",
+ "searchEngine": "Suchmaschine",
+ "socialShare": "Soziales Teilen",
+ "ogImageAlt": "Graph-Bild öffnen"
+ },
+ "pickTextLink": {
+ "title": "Link auswählen",
+ "link": "Link",
+ "description": "Beschreibung",
+ "descriptionHelp": "Text, der im Link-Element angezeigt werden soll",
+ "tooltip": "Tooltip",
+ "tooltipHelp": "Zusätzliche Informationen, die den Link beschreiben und beim Hovern angezeigt werden",
+ "newTab": "Link in neuem Tab öffnen",
+ "remove": "Link entfernen",
+ "cancel": "Stornieren",
+ "confirm": "Bestätigen"
+ },
+ "richTextField": {
+ "insert": "Block einfügen"
+ },
+ "richTextToolbar": {
+ "styles": "Überschrift/Absatz",
+ "table": "Tisch",
+ "bold": "Deutlich",
+ "italic": "Kursiv",
+ "align": "Ausrichtung",
+ "alignLeft": "Linksbündig",
+ "alignCenter": "Zentriert ausrichten",
+ "alignRight": "Rechtsbündig",
+ "alignJustify": "Blocksatz ausrichten",
+ "clear": "Übersichtliches Format",
+ "bulletList": "Aufzählungsliste",
+ "orderedList": "Geordnete Liste",
+ "link": "Link",
+ "quote": "Blockzitat",
+ "rule": "Horizontale Linie",
+ "small": "Klein",
+ "sub": "Index",
+ "sup": "Hochgestellt",
+ "paragraph": "Normaler Text",
+ "h1": "Überschrift 1",
+ "h2": "Überschrift 2",
+ "h3": "Überschrift 3",
+ "h4": "Überschrift 4",
+ "h5": "Überschrift 5",
+ "tableLabel": "Tisch",
+ "insert": "Tabelle einfügen",
+ "insertRowBefore": "Zeile einfügen vor",
+ "insertRowAfter": "Zeile einfügen nach",
+ "deleteRow": "Zeile löschen",
+ "toggleHeaderRow": "Kopfzeile umschalten",
+ "insertColumnBefore": "Spalte einfügen vor",
+ "insertColumnAfter": "Spalte einfügen nach",
+ "deleteColumn": "Spalte löschen",
+ "deleteTable": "Tabelle löschen",
+ "left": "Links",
+ "center": "Center",
+ "right": "Rechts",
+ "justify": "Rechtfertigen"
+ },
+ "linkField": {
+ "reorder": "Zum Neuordnen per Drag & Drop",
+ "open": "Link in neuem Tab öffnen",
+ "openFile": "Mediendatei in neuem Tab öffnen",
+ "edit": "Link bearbeiten",
+ "editFile": "Bild ändern",
+ "delete": "Link löschen",
+ "deleteFile": "Bild löschen"
+ },
+ "entryPicker": {
+ "title": "Wählen Sie eine Referenz",
+ "searchPlaceholder": "Suchen",
+ "cancel": "Stornieren",
+ "confirm": "Bestätigen"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/en.json b/src/translations/en.json
new file mode 100644
index 000000000..02dde3d05
--- /dev/null
+++ b/src/translations/en.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Syncing",
+ "synced": "Synced",
+ "saving": "Saving…"
+ },
+ "urlPicker": {
+ "title": "Link",
+ "url": "Url",
+ "urlHelp": "Url of the link",
+ "description": "Description",
+ "descriptionHelp": "Text to display inside the link element",
+ "target": "Target",
+ "targetDescription": "Open link in new tab",
+ "cancel": "Cancel",
+ "confirm": "Confirm"
+ },
+ "pickLink": {
+ "title": "Pick link",
+ "link": "Link",
+ "description": "Description",
+ "descriptionHelp": "Text to display inside the link element",
+ "tooltip": "Tooltip",
+ "tooltipHelp": "Extra information that describes the link, shown on hover",
+ "newTab": "Open link in new tab",
+ "remove": "Remove link",
+ "cancel": "Cancel",
+ "confirm": "Confirm"
+ },
+ "newEntry": {
+ "title": "Title",
+ "parent": "Parent",
+ "type": "Select type",
+ "order": "Insert order",
+ "orderFirst": "At the top of the list",
+ "orderLast": "At the bottom of the list",
+ "copyFrom": "Copy content from",
+ "formTitle": "New entry",
+ "cancel": "Cancel",
+ "create": "Create"
+ },
+ "entryEdit": {
+ "blockingTitle": "Are you sure you want to discard changes?",
+ "blockingWarning": "This document was changed",
+ "blockingPrompt": "would you like to save your changes?",
+ "blockingDiscard": "Discard my changes",
+ "blockingSaveDraft": "Save as draft",
+ "blockingPublishChanges": "Publish changes",
+ "untranslatedTitle": "Untranslated",
+ "untranslatedParent": "Translate the parent page first.",
+ "untranslatedPrompt": "Enter the details below and save to start translating.",
+ "draftError": "Could not complete draft action, please try again later",
+ "saveTranslationError": "Could not complete translate action, please try again later",
+ "publishError": "Could not complete publish action, please try again later",
+ "discardError": "Could not discard changes, please try again later",
+ "unpublishError": "Could not complete unpublish action, please try again later",
+ "deleteError": "Could not complete delete action, please try again later",
+ "archiveError": "Could not complete archive action, please try again later"
+ },
+ "entryHeader": {
+ "draft": "Draft",
+ "editing": "Editing",
+ "published": "Published",
+ "archived": "Archived",
+ "untranslated": "Untranslated",
+ "unpublished": "Unpublished",
+ "revision": "Revision",
+ "showMenu": "Display menu",
+ "hideMenu": "Hide menu",
+ "removeDraft": "Remove draft",
+ "replace": "Replace",
+ "delete": "Delete",
+ "unpublish": "Unpublish",
+ "archive": "Archive",
+ "publish": "Publish",
+ "showHistory": "Show history",
+ "hideHistory": "Hide history",
+ "draftAvailable": "A newer draft version is available",
+ "translateFrom": "Translate from",
+ "translateParent": "Translate parent page first",
+ "discard": "Discard edits",
+ "save": "Save translation",
+ "saveDraft": "Save",
+ "restore": "Restore",
+ "showPreview": "Display preview",
+ "hidePreview": "Hide preview",
+ "savingDraft": "Saving draft",
+ "savingTranslation": "Saving translation",
+ "publishingEdits": "Publishing edits",
+ "restoringRevision": "Restoring revision",
+ "publishingDraft": "Publishing draft",
+ "unpublishingDraft": "Unpublishing draft",
+ "discardingDraft": "Discarding draft",
+ "archivingPublished": "Archiving published",
+ "publishingArchived": "Publishing archived",
+ "deletingFile": "Deleting file",
+ "deletingEntry": "Delete entry"
+ },
+ "contentView": {
+ "create": "Create new"
+ },
+ "welcome": {
+ "title": "Your alinea installation is now ready for configuration.",
+ "button": "Learn how to configure"
+ },
+ "cloudAuthView": {
+ "title": "Alinea",
+ "deploy": "Ready to deploy?",
+ "requiresHandler": "Alinea requires a handler to continue",
+ "backend": "Alinea requires a backend to continue.",
+ "customBackend": "fully configure a custom backend",
+ "cloud": "Or get set up in a few clicks with our cloud offering.",
+ "cloudButton": "Continue with alinea.cloud"
+ },
+ "sidebarSettings": {
+ "settings": "Settings",
+ "defaultWorkspace": "Default workspace",
+ "theme": "Switch theme",
+ "fontSize": "Font size",
+ "decreaseFontSize": "Decrease font size",
+ "increaseFontSize": "Increase font size",
+ "logout": "Logout"
+ },
+ "fileUploader": {
+ "uploadComplete": "Uploads complete: {{amount}}",
+ "uploading": "Uploading files: {{amount}}",
+ "upload": "Upload files"
+ },
+ "fileUploadRow": {
+ "alt": "Uploaded file",
+ "done": "Done"
+ },
+ "fileEntry": {
+ "preview": "Preview of media file",
+ "extension": "Extension",
+ "fileSize": "File size",
+ "dimensions": "Dimensions",
+ "pixels": "pixels",
+ "url": "URL",
+ "focus": "Focus point",
+ "focusHelp": "Click on the image to change the focus point"
+ },
+ "cardOverview": {
+ "title": "card"
+ },
+ "explorer": {
+ "noResults": "No results"
+ },
+ "editModeToggle": {
+ "edit": "Edit",
+ "review": "Review changes"
+ },
+ "searchBox": {
+ "search": "Search"
+ },
+ "rootOverview": {
+ "instruction": "Select an entry in the navigation tree\non the left to start editing"
+ },
+ "inputLabel": {
+ "readonly": "Read-only",
+ "shared": "Shared"
+ },
+ "errorBoundary": {
+ "title": "Error",
+ "oops": "Oops, something went wrong",
+ "close": "Close error",
+ "issue": "Create an issue"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Default workspace",
+ "logout": "Logout"
+ },
+ "listField": {
+ "reorder": "Drag and drop to reorder",
+ "copy": "Copy block",
+ "moveUp": "Move up one position",
+ "moveDown": "Move down one position",
+ "delete": "Delete block",
+ "paste": "Paste block",
+ "add": "Insert new block"
+ },
+ "metadataField": {
+ "previewTitle": "Preview",
+ "searchEngine": "Search engine",
+ "socialShare": "Social share",
+ "ogImageAlt": "Open Graph image"
+ },
+ "pickTextLink": {
+ "title": "Pick link",
+ "link": "Link",
+ "description": "Description",
+ "descriptionHelp": "Text to display inside the link element",
+ "tooltip": "Tooltip",
+ "tooltipHelp": "Extra information that describes the link, shown on hover",
+ "newTab": "Open link in new tab",
+ "remove": "Remove link",
+ "cancel": "Cancel",
+ "confirm": "Confirm"
+ },
+ "richTextField": {
+ "insert": "Insert block"
+ },
+ "richTextToolbar": {
+ "styles": "Heading/paragraph",
+ "table": "Table",
+ "bold": "Bold",
+ "italic": "Italic",
+ "align": "Alignment",
+ "alignLeft": "Align left",
+ "alignCenter": "Align center",
+ "alignRight": "Align right",
+ "alignJustify": "Align justify",
+ "clear": "Clear format",
+ "bulletList": "Bullet list",
+ "orderedList": "Ordered list",
+ "link": "Link",
+ "quote": "Blockquote",
+ "rule": "Horizontal Rule",
+ "small": "Small",
+ "sub": "Subscript",
+ "sup": "Superscript",
+ "paragraph": "Normal text",
+ "h1": "Heading 1",
+ "h2": "Heading 2",
+ "h3": "Heading 3",
+ "h4": "Heading 4",
+ "h5": "Heading 5",
+ "tableLabel": "Table",
+ "insert": "Insert table",
+ "insertRowBefore": "Insert row before",
+ "insertRowAfter": "Insert row after",
+ "deleteRow": "Delete row",
+ "toggleHeaderRow": "Toggle header row",
+ "insertColumnBefore": "Insert column before",
+ "insertColumnAfter": "Insert column after",
+ "deleteColumn": "Delete column",
+ "deleteTable": "Delete table",
+ "left": "Left",
+ "center": "Center",
+ "right": "Right",
+ "justify": "Justify"
+ },
+ "linkField": {
+ "reorder": "Drag and drop to reorder",
+ "open": "Open link in new tab",
+ "openFile": "Open media file in new tab",
+ "edit": "Edit link",
+ "editFile": "Change image",
+ "delete": "Delete link",
+ "deleteFile": "Delete image"
+ },
+ "entryPicker": {
+ "title": "Select a reference",
+ "searchPlaceholder": "Search",
+ "cancel": "Cancel",
+ "confirm": "Confirm"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/es.json b/src/translations/es.json
new file mode 100644
index 000000000..f57c48c55
--- /dev/null
+++ b/src/translations/es.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Sincronización",
+ "synced": "Sincronizado",
+ "saving": "Ahorro…"
+ },
+ "urlPicker": {
+ "title": "Enlace",
+ "url": "URL",
+ "urlHelp": "URL del enlace",
+ "description": "Descripción",
+ "descriptionHelp": "Texto a mostrar dentro del elemento de enlace",
+ "target": "Objetivo",
+ "targetDescription": "Abrir enlace en nueva pestaña",
+ "cancel": "Cancelar",
+ "confirm": "Confirmar"
+ },
+ "pickLink": {
+ "title": "Seleccionar enlace",
+ "link": "Enlace",
+ "description": "Descripción",
+ "descriptionHelp": "Texto a mostrar dentro del elemento de enlace",
+ "tooltip": "Información sobre herramientas",
+ "tooltipHelp": "Información adicional que describe el enlace, que se muestra al pasar el mouse sobre él.",
+ "newTab": "Abrir enlace en nueva pestaña",
+ "remove": "Eliminar enlace",
+ "cancel": "Cancelar",
+ "confirm": "Confirmar"
+ },
+ "newEntry": {
+ "title": "Título",
+ "parent": "Padre",
+ "type": "Seleccione el tipo",
+ "order": "Insertar orden",
+ "orderFirst": "A la cabeza de la lista",
+ "orderLast": "Al final de la lista",
+ "copyFrom": "Copiar contenido de",
+ "formTitle": "Nueva entrada",
+ "cancel": "Cancelar",
+ "create": "Crear"
+ },
+ "entryEdit": {
+ "blockingTitle": "¿Está seguro de que desea descartar los cambios?",
+ "blockingWarning": "Este documento fue modificado",
+ "blockingPrompt": "¿Quieres guardar los cambios?",
+ "blockingDiscard": "Descartar mis cambios",
+ "blockingSaveDraft": "Guardar como borrador",
+ "blockingPublishChanges": "Publicar cambios",
+ "untranslatedTitle": "Sin traducir",
+ "untranslatedParent": "Traduzca primero la página principal.",
+ "untranslatedPrompt": "Ingrese los detalles a continuación y guárdelos para comenzar a traducir.",
+ "draftError": "No se pudo completar el borrador de acción, inténtelo nuevamente más tarde",
+ "saveTranslationError": "No se pudo completar la acción de traducción, inténtelo nuevamente más tarde",
+ "publishError": "No se pudo completar la acción de publicación, inténtelo nuevamente más tarde",
+ "discardError": "No se pudieron descartar los cambios, inténtelo nuevamente más tarde",
+ "unpublishError": "No se pudo completar la acción de cancelar la publicación, inténtelo nuevamente más tarde",
+ "deleteError": "No se pudo completar la acción de eliminación, inténtelo nuevamente más tarde",
+ "archiveError": "No se pudo completar la acción de archivar, inténtelo nuevamente más tarde"
+ },
+ "entryHeader": {
+ "draft": "Borrador",
+ "editing": "Edición",
+ "published": "Publicado",
+ "archived": "Archivado",
+ "untranslated": "Sin traducir",
+ "unpublished": "Inédito",
+ "revision": "Revisión",
+ "showMenu": "Menú de visualización",
+ "hideMenu": "Ocultar el menú",
+ "removeDraft": "Eliminar borrador",
+ "replace": "Reemplazar",
+ "delete": "Borrar",
+ "unpublish": "Anular publicación",
+ "archive": "Archivo",
+ "publish": "Publicar",
+ "showHistory": "Mostrar historial",
+ "hideHistory": "Ocultar historial",
+ "draftAvailable": "Está disponible una versión borrador más nueva",
+ "translateFrom": "Traducir de",
+ "translateParent": "Traducir primero la página principal",
+ "discard": "Descartar ediciones",
+ "save": "Guardar traducción",
+ "saveDraft": "Ahorrar",
+ "restore": "Restaurar",
+ "showPreview": "Vista previa de la pantalla",
+ "hidePreview": "Ocultar vista previa",
+ "savingDraft": "Guardar borrador",
+ "savingTranslation": "Guardar traducción",
+ "publishingEdits": "Ediciones de publicación",
+ "restoringRevision": "Restaurando la revisión",
+ "publishingDraft": "Borrador de publicación",
+ "unpublishingDraft": "Borrador de anulación de publicación",
+ "discardingDraft": "Descartando borrador",
+ "archivingPublished": "Archivado publicado",
+ "publishingArchived": "Publicación archivada",
+ "deletingFile": "Eliminar archivo",
+ "deletingEntry": "Eliminar entrada"
+ },
+ "contentView": {
+ "create": "Crear nuevo"
+ },
+ "welcome": {
+ "title": "Su instalación de alinea ahora está lista para la configuración.",
+ "button": "Aprenda a configurar"
+ },
+ "cloudAuthView": {
+ "title": "Párrafo",
+ "deploy": "¿Listo para implementar?",
+ "requiresHandler": "Alinea necesita un manejador para continuar",
+ "backend": "Alinea requiere un backend para continuar.",
+ "customBackend": "configurar completamente un backend personalizado",
+ "cloud": "O configúrelo en unos pocos clics con nuestra oferta en la nube.",
+ "cloudButton": "Continuar con alinea.cloud"
+ },
+ "sidebarSettings": {
+ "settings": "Ajustes",
+ "defaultWorkspace": "Espacio de trabajo predeterminado",
+ "theme": "Cambiar tema",
+ "fontSize": "Tamaño de fuente",
+ "decreaseFontSize": "Disminuir el tamaño de la fuente",
+ "increaseFontSize": "Aumentar el tamaño de la fuente",
+ "logout": "Cerrar sesión"
+ },
+ "fileUploader": {
+ "uploadComplete": "Subidas completadas: {{amount}}",
+ "uploading": "Subiendo archivos: {{amount}}",
+ "upload": "Subir archivos"
+ },
+ "fileUploadRow": {
+ "alt": "Archivo subido",
+ "done": "Hecho"
+ },
+ "fileEntry": {
+ "preview": "Vista previa del archivo multimedia",
+ "extension": "Extensión",
+ "fileSize": "Tamaño del archivo",
+ "dimensions": "Dimensiones",
+ "pixels": "píxeles",
+ "url": "URL",
+ "focus": "Punto de enfoque",
+ "focusHelp": "Haga clic en la imagen para cambiar el punto de enfoque."
+ },
+ "cardOverview": {
+ "title": "tarjeta"
+ },
+ "explorer": {
+ "noResults": "No hay resultados"
+ },
+ "editModeToggle": {
+ "edit": "Editar",
+ "review": "Revisar cambios"
+ },
+ "searchBox": {
+ "search": "Buscar"
+ },
+ "rootOverview": {
+ "instruction": "Seleccione una entrada en el árbol de navegación a la izquierda para comenzar a editar."
+ },
+ "inputLabel": {
+ "readonly": "Sólo lectura",
+ "shared": "Compartido"
+ },
+ "errorBoundary": {
+ "title": "Error",
+ "oops": "Ups, algo salió mal",
+ "close": "Error de cierre",
+ "issue": "Crear un problema"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Espacio de trabajo predeterminado",
+ "logout": "Cerrar sesión"
+ },
+ "listField": {
+ "reorder": "Arrastre y suelte para reordenar",
+ "copy": "Copiar bloque",
+ "moveUp": "Subir una posición",
+ "moveDown": "Bajar una posición",
+ "delete": "Eliminar bloque",
+ "paste": "Bloque de pegado",
+ "add": "Insertar nuevo bloque"
+ },
+ "metadataField": {
+ "previewTitle": "Avance",
+ "searchEngine": "Motor de búsqueda",
+ "socialShare": "Compartir en redes sociales",
+ "ogImageAlt": "Imagen de Open Graph"
+ },
+ "pickTextLink": {
+ "title": "Seleccionar enlace",
+ "link": "Enlace",
+ "description": "Descripción",
+ "descriptionHelp": "Texto a mostrar dentro del elemento de enlace",
+ "tooltip": "Información sobre herramientas",
+ "tooltipHelp": "Información adicional que describe el enlace, que se muestra al pasar el mouse sobre él.",
+ "newTab": "Abrir enlace en nueva pestaña",
+ "remove": "Eliminar enlace",
+ "cancel": "Cancelar",
+ "confirm": "Confirmar"
+ },
+ "richTextField": {
+ "insert": "Insertar bloque"
+ },
+ "richTextToolbar": {
+ "styles": "Encabezado/párrafo",
+ "table": "Mesa",
+ "bold": "Atrevido",
+ "italic": "Itálico",
+ "align": "Alineación",
+ "alignLeft": "Alinear a la izquierda",
+ "alignCenter": "Alinear al centro",
+ "alignRight": "Alinear a la derecha",
+ "alignJustify": "Alinear justificado",
+ "clear": "Formato claro",
+ "bulletList": "Lista de viñetas",
+ "orderedList": "Lista ordenada",
+ "link": "Enlace",
+ "quote": "Cita en bloque",
+ "rule": "Regla horizontal",
+ "small": "Pequeño",
+ "sub": "Subíndice",
+ "sup": "Sobrescrito",
+ "paragraph": "Texto normal",
+ "h1": "Título 1",
+ "h2": "Título 2",
+ "h3": "Título 3",
+ "h4": "Título 4",
+ "h5": "Título 5",
+ "tableLabel": "Mesa",
+ "insert": "Insertar tabla",
+ "insertRowBefore": "Insertar fila antes",
+ "insertRowAfter": "Insertar fila después",
+ "deleteRow": "Eliminar fila",
+ "toggleHeaderRow": "Alternar fila de encabezado",
+ "insertColumnBefore": "Insertar columna antes",
+ "insertColumnAfter": "Insertar columna después",
+ "deleteColumn": "Eliminar columna",
+ "deleteTable": "Eliminar tabla",
+ "left": "Izquierda",
+ "center": "Centro",
+ "right": "Bien",
+ "justify": "Justificar"
+ },
+ "linkField": {
+ "reorder": "Arrastre y suelte para reordenar",
+ "open": "Abrir enlace en nueva pestaña",
+ "openFile": "Abrir archivo multimedia en una nueva pestaña",
+ "edit": "Editar enlace",
+ "editFile": "Cambiar imagen",
+ "delete": "Eliminar enlace",
+ "deleteFile": "Eliminar imagen"
+ },
+ "entryPicker": {
+ "title": "Seleccione una referencia",
+ "searchPlaceholder": "Buscar",
+ "cancel": "Cancelar",
+ "confirm": "Confirmar"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/et.json b/src/translations/et.json
new file mode 100644
index 000000000..b35dff6fc
--- /dev/null
+++ b/src/translations/et.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Sünkroonimine",
+ "synced": "Sünkroonitud",
+ "saving": "Salvestamine…"
+ },
+ "urlPicker": {
+ "title": "Link",
+ "url": "URL",
+ "urlHelp": "Lingi URL",
+ "description": "Kirjeldus",
+ "descriptionHelp": "Lingi elemendi sees kuvatav tekst",
+ "target": "Sihtmärk",
+ "targetDescription": "Ava link uuel vahelehel",
+ "cancel": "Tühista",
+ "confirm": "Kinnita"
+ },
+ "pickLink": {
+ "title": "Valige link",
+ "link": "Link",
+ "description": "Kirjeldus",
+ "descriptionHelp": "Lingi elemendi sees kuvatav tekst",
+ "tooltip": "Tööriistavihje",
+ "tooltipHelp": "Lisateave, mis kirjeldab linki ja kuvatakse kursoril",
+ "newTab": "Ava link uuel vahelehel",
+ "remove": "Eemalda link",
+ "cancel": "Tühista",
+ "confirm": "Kinnita"
+ },
+ "newEntry": {
+ "title": "Pealkiri",
+ "parent": "Vanem",
+ "type": "Valige tüüp",
+ "order": "Lisa järjekord",
+ "orderFirst": "Nimekirja ülaosas",
+ "orderLast": "Nimekirja allosas",
+ "copyFrom": "Kopeeri sisu saidilt",
+ "formTitle": "Uus kirje",
+ "cancel": "Tühista",
+ "create": "Loo"
+ },
+ "entryEdit": {
+ "blockingTitle": "Kas oled kindel, et soovid muudatused tühistada?",
+ "blockingWarning": "Seda dokumenti muudeti",
+ "blockingPrompt": "Kas soovite oma muudatused salvestada?",
+ "blockingDiscard": "Tühista mu muudatused",
+ "blockingSaveDraft": "Salvesta mustandina",
+ "blockingPublishChanges": "Avalda muudatused",
+ "untranslatedTitle": "Tõlkimata",
+ "untranslatedParent": "Tõlgi esmalt ülemlehekülg.",
+ "untranslatedPrompt": "Sisestage allolevad andmed ja salvestage, et tõlkimist alustada.",
+ "draftError": "Mustanditoimingut ei õnnestunud lõpule viia, proovige hiljem uuesti",
+ "saveTranslationError": "Tõlkimist ei õnnestunud lõpule viia, proovige hiljem uuesti.",
+ "publishError": "Avaldamist ei õnnestunud lõpule viia, proovige hiljem uuesti.",
+ "discardError": "Muudatusi ei õnnestunud tühistada, proovige hiljem uuesti.",
+ "unpublishError": "Avaldamise tühistamise toimingut ei õnnestunud lõpule viia, proovige hiljem uuesti.",
+ "deleteError": "Kustutamistoimingut ei õnnestunud lõpule viia, proovige hiljem uuesti.",
+ "archiveError": "Arhiveerimistoimingut ei õnnestunud lõpule viia, proovige hiljem uuesti."
+ },
+ "entryHeader": {
+ "draft": "Mustand",
+ "editing": "Redigeerimine",
+ "published": "Avaldatud",
+ "archived": "Arhiveeritud",
+ "untranslated": "Tõlkimata",
+ "unpublished": "Avaldamata",
+ "revision": "Läbivaatamine",
+ "showMenu": "Kuva menüü",
+ "hideMenu": "Peida menüü",
+ "removeDraft": "Eemalda mustand",
+ "replace": "Asenda",
+ "delete": "Kustuta",
+ "unpublish": "Tühista avaldamine",
+ "archive": "Arhiiv",
+ "publish": "Avalda",
+ "showHistory": "Näita ajalugu",
+ "hideHistory": "Peida ajalugu",
+ "draftAvailable": "Uuem mustandiversioon on saadaval",
+ "translateFrom": "Tõlgi keelest",
+ "translateParent": "Tõlgi esmalt ülemleht",
+ "discard": "Muudatuste tühistamine",
+ "save": "Salvesta tõlge",
+ "saveDraft": "Salvesta",
+ "restore": "Taasta",
+ "showPreview": "Kuva eelvaade",
+ "hidePreview": "Peida eelvaade",
+ "savingDraft": "Mustandi salvestamine",
+ "savingTranslation": "Tõlke salvestamine",
+ "publishingEdits": "Muudatuste avaldamine",
+ "restoringRevision": "Redaktsiooni taastamine",
+ "publishingDraft": "Mustandi avaldamine",
+ "unpublishingDraft": "Mustandi avaldamise tühistamine",
+ "discardingDraft": "Mustandist loobumine",
+ "archivingPublished": "Avaldatud arhiveerimine",
+ "publishingArchived": "Avaldamine arhiveeritud",
+ "deletingFile": "Faili kustutamine",
+ "deletingEntry": "Kustuta kirje"
+ },
+ "contentView": {
+ "create": "Loo uus"
+ },
+ "welcome": {
+ "title": "Teie alinea install on nüüd seadistamiseks valmis.",
+ "button": "Siit saate teada, kuidas seadistada"
+ },
+ "cloudAuthView": {
+ "title": "Lõik",
+ "deploy": "Kas olete juurutamiseks valmis?",
+ "requiresHandler": "Alinea vajab jätkamiseks käitlejat",
+ "backend": "Alinea vajab jätkamiseks taustaserverit.",
+ "customBackend": "kohandatud taustaprogrammi täielik konfigureerimine",
+ "cloud": "Või seadista see vaid mõne hiireklõpsuga meie pilveteenuse abil.",
+ "cloudButton": "Jätka alinea.cloudiga"
+ },
+ "sidebarSettings": {
+ "settings": "Seaded",
+ "defaultWorkspace": "Vaikimisi tööruum",
+ "theme": "Teema vahetamine",
+ "fontSize": "Fondi suurus",
+ "decreaseFontSize": "Vähenda fondi suurust",
+ "increaseFontSize": "Suurenda fondi suurust",
+ "logout": "Logi välja"
+ },
+ "fileUploader": {
+ "uploadComplete": "Üleslaadimised lõpetatud: {{amount}}",
+ "uploading": "Failide üleslaadimine: {{amount}}",
+ "upload": "Laadi failid üles"
+ },
+ "fileUploadRow": {
+ "alt": "Üleslaaditud fail",
+ "done": "Valmis"
+ },
+ "fileEntry": {
+ "preview": "Meediumifaili eelvaade",
+ "extension": "Laiendus",
+ "fileSize": "Faili suurus",
+ "dimensions": "Mõõtmed",
+ "pixels": "pikslid",
+ "url": "URL",
+ "focus": "Fookuspunkt",
+ "focusHelp": "Fookuspunkti muutmiseks klõpsake pildil"
+ },
+ "cardOverview": {
+ "title": "kaart"
+ },
+ "explorer": {
+ "noResults": "Tulemusi pole"
+ },
+ "editModeToggle": {
+ "edit": "Redigeeri",
+ "review": "Vaadake muudatused üle"
+ },
+ "searchBox": {
+ "search": "Otsi"
+ },
+ "rootOverview": {
+ "instruction": "Redigeerimise alustamiseks valige vasakul asuvast navigeerimispuust kirje"
+ },
+ "inputLabel": {
+ "readonly": "Kirjutuskaitstud",
+ "shared": "Jagatud"
+ },
+ "errorBoundary": {
+ "title": "Viga",
+ "oops": "Ups, midagi läks valesti",
+ "close": "Sulgemisviga",
+ "issue": "Loo probleem"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Vaikimisi tööruum",
+ "logout": "Logi välja"
+ },
+ "listField": {
+ "reorder": "Lohistage ümberjärjestamiseks",
+ "copy": "Kopeerimisplokk",
+ "moveUp": "Liigu ühe positsiooni võrra üles",
+ "moveDown": "Liigu ühe positsiooni võrra alla",
+ "delete": "Kustuta plokk",
+ "paste": "Kleebi plokk",
+ "add": "Lisa uus plokk"
+ },
+ "metadataField": {
+ "previewTitle": "Eelvaade",
+ "searchEngine": "Otsingumootor",
+ "socialShare": "Jaga sotsiaalmeedias",
+ "ogImageAlt": "Ava graafiku pilt"
+ },
+ "pickTextLink": {
+ "title": "Valige link",
+ "link": "Link",
+ "description": "Kirjeldus",
+ "descriptionHelp": "Lingi elemendi sees kuvatav tekst",
+ "tooltip": "Tööriistavihje",
+ "tooltipHelp": "Lisateave, mis kirjeldab linki ja kuvatakse kursoril",
+ "newTab": "Ava link uuel vahelehel",
+ "remove": "Eemalda link",
+ "cancel": "Tühista",
+ "confirm": "Kinnita"
+ },
+ "richTextField": {
+ "insert": "Sisesta plokk"
+ },
+ "richTextToolbar": {
+ "styles": "Pealkiri/lõik",
+ "table": "Tabel",
+ "bold": "Paks kiri",
+ "italic": "Kursiiv",
+ "align": "Joondus",
+ "alignLeft": "Joonda vasakule",
+ "alignCenter": "Joonda keskele",
+ "alignRight": "Joonda paremale",
+ "alignJustify": "Joonda õigustatult",
+ "clear": "Selge vorming",
+ "bulletList": "Täpploend",
+ "orderedList": "Järjestatud nimekiri",
+ "link": "Link",
+ "quote": "Plokktsitaat",
+ "rule": "Horisontaalne reegel",
+ "small": "Väike",
+ "sub": "Alamindeks",
+ "sup": "Ülaindeks",
+ "paragraph": "Tavaline tekst",
+ "h1": "Pealkiri 1",
+ "h2": "Pealkiri 2",
+ "h3": "Pealkiri 3",
+ "h4": "Pealkiri 4",
+ "h5": "Pealkiri 5",
+ "tableLabel": "Tabel",
+ "insert": "Lisa tabel",
+ "insertRowBefore": "Lisa rida ette",
+ "insertRowAfter": "Lisa rida pärast",
+ "deleteRow": "Kustuta rida",
+ "toggleHeaderRow": "Päise rea sisse/välja lülitamine",
+ "insertColumnBefore": "Lisa veerg ette",
+ "insertColumnAfter": "Lisa veerg pärast",
+ "deleteColumn": "Kustuta veerg",
+ "deleteTable": "Kustuta tabel",
+ "left": "Vasakule",
+ "center": "Keskus",
+ "right": "Parem",
+ "justify": "Joonda"
+ },
+ "linkField": {
+ "reorder": "Lohistage ümberjärjestamiseks",
+ "open": "Ava link uuel vahelehel",
+ "openFile": "Ava meediafail uuel vahelehel",
+ "edit": "Redigeeri linki",
+ "editFile": "Muuda pilti",
+ "delete": "Kustuta link",
+ "deleteFile": "Kustuta pilt"
+ },
+ "entryPicker": {
+ "title": "Valige viide",
+ "searchPlaceholder": "Otsi",
+ "cancel": "Tühista",
+ "confirm": "Kinnita"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/fa.json b/src/translations/fa.json
new file mode 100644
index 000000000..f69e175ef
--- /dev/null
+++ b/src/translations/fa.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "همگامسازی",
+ "synced": "همگامسازی شده",
+ "saving": "در حال ذخیره…"
+ },
+ "urlPicker": {
+ "title": "پیوند",
+ "url": "آدرس اینترنتی",
+ "urlHelp": "آدرس اینترنتی (URL) لینک",
+ "description": "توضیحات",
+ "descriptionHelp": "متنی که قرار است درون عنصر لینک نمایش داده شود",
+ "target": "هدف",
+ "targetDescription": "باز کردن لینک در تب جدید",
+ "cancel": "لغو",
+ "confirm": "تأیید"
+ },
+ "pickLink": {
+ "title": "پیوند را انتخاب کنید",
+ "link": "پیوند",
+ "description": "توضیحات",
+ "descriptionHelp": "متنی که قرار است درون عنصر لینک نمایش داده شود",
+ "tooltip": "راهنمای ابزار",
+ "tooltipHelp": "اطلاعات اضافی که لینک را توصیف میکند، با نگه داشتن ماوس روی آن نمایش داده میشود",
+ "newTab": "باز کردن لینک در تب جدید",
+ "remove": "حذف لینک",
+ "cancel": "لغو",
+ "confirm": "تأیید"
+ },
+ "newEntry": {
+ "title": "عنوان",
+ "parent": "والدین",
+ "type": "نوع را انتخاب کنید",
+ "order": "سفارش درج کنید",
+ "orderFirst": "در بالای لیست",
+ "orderLast": "در پایین لیست",
+ "copyFrom": "کپی کردن محتوا از",
+ "formTitle": "ورودی جدید",
+ "cancel": "لغو",
+ "create": "ایجاد"
+ },
+ "entryEdit": {
+ "blockingTitle": "آیا مطمئن هستید که میخواهید تغییرات را لغو کنید؟",
+ "blockingWarning": "این سند تغییر کرد",
+ "blockingPrompt": "آیا میخواهید تغییرات خود را ذخیره کنید؟",
+ "blockingDiscard": "تغییرات من را نادیده بگیر",
+ "blockingSaveDraft": "ذخیره به عنوان پیش نویس",
+ "blockingPublishChanges": "انتشار تغییرات",
+ "untranslatedTitle": "ترجمه نشده",
+ "untranslatedParent": "ابتدا صفحه والد را ترجمه کنید.",
+ "untranslatedPrompt": "جزئیات زیر را وارد کنید و برای شروع ترجمه، ذخیره کنید.",
+ "draftError": "نتوانستیم عملیات پیشنویس را تکمیل کنیم، لطفاً بعداً دوباره امتحان کنید",
+ "saveTranslationError": "عملیات ترجمه انجام نشد، لطفاً بعداً دوباره امتحان کنید",
+ "publishError": "عملیات انتشار کامل نشد، لطفاً بعداً دوباره امتحان کنید",
+ "discardError": "نتوانستم تغییرات را نادیده بگیرم، لطفاً بعداً دوباره امتحان کنید",
+ "unpublishError": "عملیات لغو انتشار انجام نشد، لطفاً بعداً دوباره امتحان کنید",
+ "deleteError": "عملیات حذف کامل نشد، لطفاً بعداً دوباره امتحان کنید",
+ "archiveError": "عملیات بایگانی کامل نشد، لطفاً بعداً دوباره امتحان کنید"
+ },
+ "entryHeader": {
+ "draft": "پیش نویس",
+ "editing": "ویرایش",
+ "published": "منتشر شده",
+ "archived": "بایگانی شده",
+ "untranslated": "ترجمه نشده",
+ "unpublished": "منتشر نشده",
+ "revision": "بازنگری",
+ "showMenu": "نمایش منو",
+ "hideMenu": "پنهان کردن منو",
+ "removeDraft": "حذف پیشنویس",
+ "replace": "جایگزین کردن",
+ "delete": "حذف",
+ "unpublish": "عدم انتشار",
+ "archive": "بایگانی",
+ "publish": "منتشر کردن",
+ "showHistory": "نمایش تاریخچه",
+ "hideHistory": "پنهان کردن تاریخچه",
+ "draftAvailable": "نسخه پیشنویس جدیدتری در دسترس است",
+ "translateFrom": "ترجمه از",
+ "translateParent": "ابتدا صفحه والد را ترجمه کنید",
+ "discard": "ویرایشها را لغو کنید",
+ "save": "ذخیره ترجمه",
+ "saveDraft": "ذخیره",
+ "restore": "بازیابی",
+ "showPreview": "پیشنمایش نمایش",
+ "hidePreview": "پنهان کردن پیشنمایش",
+ "savingDraft": "ذخیره پیشنویس",
+ "savingTranslation": "ذخیره ترجمه",
+ "publishingEdits": "انتشار ویرایشها",
+ "restoringRevision": "بازیابی نسخه",
+ "publishingDraft": "انتشار پیشنویس",
+ "unpublishingDraft": "عدم انتشار پیشنویس",
+ "discardingDraft": "کنار گذاشتن پیشنویس",
+ "archivingPublished": "بایگانی منتشر شده",
+ "publishingArchived": "انتشار بایگانی شده",
+ "deletingFile": "حذف فایل",
+ "deletingEntry": "حذف ورودی"
+ },
+ "contentView": {
+ "create": "ایجاد جدید"
+ },
+ "welcome": {
+ "title": "نصب alinea شما اکنون آماده پیکربندی است.",
+ "button": "یاد بگیرید چگونه پیکربندی کنید"
+ },
+ "cloudAuthView": {
+ "title": "پاراگراف",
+ "deploy": "آمادهی استقرار هستید؟",
+ "requiresHandler": "آلینیا برای ادامه کار به یک دستیار نیاز دارد",
+ "backend": "آلینیا برای ادامه به یک بکاند نیاز دارد.",
+ "customBackend": "یک backend سفارشی را به طور کامل پیکربندی کنید",
+ "cloud": "یا با چند کلیک با سرویس ابری ما، آن را راهاندازی کنید.",
+ "cloudButton": "با alinea.cloud ادامه دهید"
+ },
+ "sidebarSettings": {
+ "settings": "تنظیمات",
+ "defaultWorkspace": "فضای کاری پیشفرض",
+ "theme": "تغییر تم",
+ "fontSize": "اندازه فونت",
+ "decreaseFontSize": "کاهش اندازه فونت",
+ "increaseFontSize": "افزایش اندازه فونت",
+ "logout": "خروج"
+ },
+ "fileUploader": {
+ "uploadComplete": "آپلودها تکمیل شد: {{amount}}",
+ "uploading": "در حال آپلود فایلها: {{amount}}",
+ "upload": "آپلود فایلها"
+ },
+ "fileUploadRow": {
+ "alt": "فایل آپلود شده",
+ "done": "انجام شد"
+ },
+ "fileEntry": {
+ "preview": "پیشنمایش فایل رسانهای",
+ "extension": "پسوند",
+ "fileSize": "حجم فایل",
+ "dimensions": "ابعاد",
+ "pixels": "پیکسلها",
+ "url": "آدرس اینترنتی",
+ "focus": "نقطه تمرکز",
+ "focusHelp": "برای تغییر نقطه فوکوس روی تصویر کلیک کنید"
+ },
+ "cardOverview": {
+ "title": "کارت"
+ },
+ "explorer": {
+ "noResults": "هیچ نتیجهای حاصل نشد"
+ },
+ "editModeToggle": {
+ "edit": "ویرایش",
+ "review": "بررسی تغییرات"
+ },
+ "searchBox": {
+ "search": "جستجو"
+ },
+ "rootOverview": {
+ "instruction": "برای شروع ویرایش، یک ورودی را در درخت ناوبری سمت چپ انتخاب کنید"
+ },
+ "inputLabel": {
+ "readonly": "فقط خواندنی",
+ "shared": "اشتراکی"
+ },
+ "errorBoundary": {
+ "title": "خطا",
+ "oops": "اوه، یه مشکلی پیش اومد",
+ "close": "خطا را ببندید",
+ "issue": "ایجاد یک مسئله"
+ },
+ "toolbar": {
+ "defaultWorkspace": "فضای کاری پیشفرض",
+ "logout": "خروج"
+ },
+ "listField": {
+ "reorder": "برای مرتب سازی مجدد، بکشید و رها کنید",
+ "copy": "بلوک کپی",
+ "moveUp": "یک رتبه بالاتر بروید",
+ "moveDown": "یک موقعیت به پایین حرکت کنید",
+ "delete": "حذف بلوک",
+ "paste": "بلوک چسباندن",
+ "add": "درج بلوک جدید"
+ },
+ "metadataField": {
+ "previewTitle": "پیشنمایش",
+ "searchEngine": "موتور جستجو",
+ "socialShare": "اشتراکگذاری در شبکههای اجتماعی",
+ "ogImageAlt": "تصویر گراف باز"
+ },
+ "pickTextLink": {
+ "title": "پیوند را انتخاب کنید",
+ "link": "پیوند",
+ "description": "توضیحات",
+ "descriptionHelp": "متنی که قرار است درون عنصر لینک نمایش داده شود",
+ "tooltip": "راهنمای ابزار",
+ "tooltipHelp": "اطلاعات اضافی که لینک را توصیف میکند، با نگه داشتن ماوس روی آن نمایش داده میشود",
+ "newTab": "باز کردن لینک در تب جدید",
+ "remove": "حذف لینک",
+ "cancel": "لغو",
+ "confirm": "تأیید"
+ },
+ "richTextField": {
+ "insert": "بلوک را وارد کنید"
+ },
+ "richTextToolbar": {
+ "styles": "عنوان/پاراگراف",
+ "table": "میز",
+ "bold": "پررنگ",
+ "italic": "ایتالیک",
+ "align": "ترازبندی",
+ "alignLeft": "ترازبندی از چپ",
+ "alignCenter": "مرکز را تراز کنید",
+ "alignRight": "ترازبندی از راست",
+ "alignJustify": "تراز کردن، توجیه کردن",
+ "clear": "قالب را پاک کنید",
+ "bulletList": "فهرست گلولهای",
+ "orderedList": "لیست مرتب شده",
+ "link": "پیوند",
+ "quote": "نقل قول بلوکی",
+ "rule": "خطکش افقی",
+ "small": "کوچک",
+ "sub": "زیرنویس",
+ "sup": "متن بالانویس",
+ "paragraph": "متن عادی",
+ "h1": "عنوان ۱",
+ "h2": "عنوان ۲",
+ "h3": "عنوان ۳",
+ "h4": "عنوان ۴",
+ "h5": "عنوان ۵",
+ "tableLabel": "میز",
+ "insert": "جدول را وارد کنید",
+ "insertRowBefore": "قبل از آن ردیف را وارد کنید",
+ "insertRowAfter": "درج ردیف بعد از",
+ "deleteRow": "حذف ردیف",
+ "toggleHeaderRow": "تغییر وضعیت ردیف هدر",
+ "insertColumnBefore": "ستون را قبل از آن وارد کنید",
+ "insertColumnAfter": "درج ستون بعد از",
+ "deleteColumn": "حذف ستون",
+ "deleteTable": "حذف جدول",
+ "left": "چپ",
+ "center": "مرکز",
+ "right": "درست",
+ "justify": "توجیه کردن"
+ },
+ "linkField": {
+ "reorder": "برای مرتب سازی مجدد، بکشید و رها کنید",
+ "open": "باز کردن لینک در تب جدید",
+ "openFile": "باز کردن فایل رسانه در تب جدید",
+ "edit": "ویرایش پیوند",
+ "editFile": "تغییر تصویر",
+ "delete": "حذف لینک",
+ "deleteFile": "حذف تصویر"
+ },
+ "entryPicker": {
+ "title": "یک مرجع انتخاب کنید",
+ "searchPlaceholder": "جستجو",
+ "cancel": "لغو",
+ "confirm": "تأیید"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/fi.json b/src/translations/fi.json
new file mode 100644
index 000000000..fcc116530
--- /dev/null
+++ b/src/translations/fi.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Synkronoidaan",
+ "synced": "Synkronoitu",
+ "saving": "Tallennetaan…"
+ },
+ "urlPicker": {
+ "title": "Linkki",
+ "url": "URL-osoite",
+ "urlHelp": "Linkin URL-osoite",
+ "description": "Kuvaus",
+ "descriptionHelp": "Linkkielementin sisällä näytettävä teksti",
+ "target": "Kohde",
+ "targetDescription": "Avaa linkki uudessa välilehdessä",
+ "cancel": "Peruuttaa",
+ "confirm": "Vahvistaa"
+ },
+ "pickLink": {
+ "title": "Valitse linkki",
+ "link": "Linkki",
+ "description": "Kuvaus",
+ "descriptionHelp": "Linkkielementin sisällä näytettävä teksti",
+ "tooltip": "Työkaluvihje",
+ "tooltipHelp": "Linkkiä kuvaavat lisätiedot, jotka näkyvät hiiren osoittimella",
+ "newTab": "Avaa linkki uudessa välilehdessä",
+ "remove": "Poista linkki",
+ "cancel": "Peruuttaa",
+ "confirm": "Vahvistaa"
+ },
+ "newEntry": {
+ "title": "Otsikko",
+ "parent": "Vanhempi",
+ "type": "Valitse tyyppi",
+ "order": "Lisää järjestys",
+ "orderFirst": "Listan kärjessä",
+ "orderLast": "Listan lopussa",
+ "copyFrom": "Kopioi sisältöä osoitteesta",
+ "formTitle": "Uusi merkintä",
+ "cancel": "Peruuttaa",
+ "create": "Luoda"
+ },
+ "entryEdit": {
+ "blockingTitle": "Haluatko varmasti hylätä muutokset?",
+ "blockingWarning": "Tätä asiakirjaa on muutettu",
+ "blockingPrompt": "Haluatko tallentaa muutoksesi?",
+ "blockingDiscard": "Hylkää muutokset",
+ "blockingSaveDraft": "Tallenna luonnoksena",
+ "blockingPublishChanges": "Julkaise muutokset",
+ "untranslatedTitle": "Kääntämätön",
+ "untranslatedParent": "Käännä ensin pääsivu.",
+ "untranslatedPrompt": "Syötä alla olevat tiedot ja tallenna aloittaaksesi kääntämisen.",
+ "draftError": "Luonnostoimintoa ei voitu suorittaa loppuun, yritä myöhemmin uudelleen.",
+ "saveTranslationError": "Käännöstoimintoa ei voitu suorittaa loppuun, yritä myöhemmin uudelleen.",
+ "publishError": "Julkaisutoimintoa ei voitu suorittaa loppuun, yritä myöhemmin uudelleen.",
+ "discardError": "Muutoksia ei voitu hylätä, yritä myöhemmin uudelleen.",
+ "unpublishError": "Julkaisun peruuttamista ei voitu suorittaa loppuun. Yritä myöhemmin uudelleen.",
+ "deleteError": "Poistoa ei voitu suorittaa loppuun, yritä myöhemmin uudelleen.",
+ "archiveError": "Arkistointitoimintoa ei voitu suorittaa loppuun, yritä myöhemmin uudelleen."
+ },
+ "entryHeader": {
+ "draft": "Luonnos",
+ "editing": "Muokkaus",
+ "published": "Julkaistu",
+ "archived": "Arkistoitu",
+ "untranslated": "Kääntämätön",
+ "unpublished": "Julkaisematon",
+ "revision": "Versio",
+ "showMenu": "Näytä valikko",
+ "hideMenu": "Piilota valikko",
+ "removeDraft": "Poista luonnos",
+ "replace": "Korvata",
+ "delete": "Poistaa",
+ "unpublish": "Peruuta julkaisu",
+ "archive": "Arkisto",
+ "publish": "Julkaista",
+ "showHistory": "Näytä historia",
+ "hideHistory": "Piilota historia",
+ "draftAvailable": "Uudempi luonnosversio on saatavilla",
+ "translateFrom": "Käännä kielestä",
+ "translateParent": "Käännä ensin pääsivu",
+ "discard": "Hylkää muokkaukset",
+ "save": "Tallenna käännös",
+ "saveDraft": "Tallentaa",
+ "restore": "Palauttaa",
+ "showPreview": "Näytä esikatselu",
+ "hidePreview": "Piilota esikatselu",
+ "savingDraft": "Luonnoksen tallentaminen",
+ "savingTranslation": "Käännöstä tallennetaan",
+ "publishingEdits": "Julkaisumuokkaukset",
+ "restoringRevision": "Version palauttaminen",
+ "publishingDraft": "Julkaisuluonnos",
+ "unpublishingDraft": "Luonnoksen julkaisun peruuttaminen",
+ "discardingDraft": "Luonnoksen hylkääminen",
+ "archivingPublished": "Julkaistujen arkistointi",
+ "publishingArchived": "Julkaisu arkistoitu",
+ "deletingFile": "Tiedoston poistaminen",
+ "deletingEntry": "Poista merkintä"
+ },
+ "contentView": {
+ "create": "Luo uusi"
+ },
+ "welcome": {
+ "title": "Alinea-asennuksesi on nyt valmis konfigurointiin.",
+ "button": "Opi konfiguroimaan"
+ },
+ "cloudAuthView": {
+ "title": "Kohta",
+ "deploy": "Valmis käyttöönottoon?",
+ "requiresHandler": "Alinea vaatii käsittelijän jatkaakseen",
+ "backend": "Alinea vaatii taustajärjestelmän jatkaakseen.",
+ "customBackend": "konfiguroi täysin mukautettu taustajärjestelmä",
+ "cloud": "Tai ota käyttöön muutamalla napsautuksella pilvipalvelumme avulla.",
+ "cloudButton": "Jatka alinea.cloud-palvelulla"
+ },
+ "sidebarSettings": {
+ "settings": "Asetukset",
+ "defaultWorkspace": "Oletustyötila",
+ "theme": "Vaihda teemaa",
+ "fontSize": "Fonttikoko",
+ "decreaseFontSize": "Pienennä fonttikokoa",
+ "increaseFontSize": "Suurenna fonttikokoa",
+ "logout": "Kirjaudu ulos"
+ },
+ "fileUploader": {
+ "uploadComplete": "Lataukset valmiit: {{amount}}",
+ "uploading": "Tiedostojen lataaminen: {{amount}}",
+ "upload": "Lataa tiedostoja"
+ },
+ "fileUploadRow": {
+ "alt": "Ladattu tiedosto",
+ "done": "Tehty"
+ },
+ "fileEntry": {
+ "preview": "Mediatiedoston esikatselu",
+ "extension": "Laajennus",
+ "fileSize": "Tiedostokoko",
+ "dimensions": "Mitat",
+ "pixels": "pikseliä",
+ "url": "URL-osoite",
+ "focus": "Tarkennuspiste",
+ "focusHelp": "Napsauta kuvaa vaihtaaksesi tarkennuspistettä"
+ },
+ "cardOverview": {
+ "title": "kortti"
+ },
+ "explorer": {
+ "noResults": "Ei tuloksia"
+ },
+ "editModeToggle": {
+ "edit": "Muokata",
+ "review": "Tarkista muutokset"
+ },
+ "searchBox": {
+ "search": "Haku"
+ },
+ "rootOverview": {
+ "instruction": "Aloita muokkaaminen valitsemalla merkintä vasemmalla olevasta navigointipuusta"
+ },
+ "inputLabel": {
+ "readonly": "Vain lukuoikeus",
+ "shared": "Jaettu"
+ },
+ "errorBoundary": {
+ "title": "Virhe",
+ "oops": "Hupsista, jokin meni pieleen",
+ "close": "Sulkemisvirhe",
+ "issue": "Luo ongelma"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Oletustyötila",
+ "logout": "Kirjaudu ulos"
+ },
+ "listField": {
+ "reorder": "Vedä ja pudota järjestääksesi uudelleen",
+ "copy": "Kopioi lohko",
+ "moveUp": "Siirry yhden sijan ylöspäin",
+ "moveDown": "Siirry yhden paikan alaspäin",
+ "delete": "Poista lohko",
+ "paste": "Liitä lohko",
+ "add": "Lisää uusi lohko"
+ },
+ "metadataField": {
+ "previewTitle": "Esikatselu",
+ "searchEngine": "Hakukone",
+ "socialShare": "Jaa sosiaalisessa mediassa",
+ "ogImageAlt": "Avaa graafikuva"
+ },
+ "pickTextLink": {
+ "title": "Valitse linkki",
+ "link": "Linkki",
+ "description": "Kuvaus",
+ "descriptionHelp": "Linkkielementin sisällä näytettävä teksti",
+ "tooltip": "Työkaluvihje",
+ "tooltipHelp": "Linkkiä kuvaavat lisätiedot, jotka näkyvät hiiren osoittimella",
+ "newTab": "Avaa linkki uudessa välilehdessä",
+ "remove": "Poista linkki",
+ "cancel": "Peruuttaa",
+ "confirm": "Vahvistaa"
+ },
+ "richTextField": {
+ "insert": "Lisää lohko"
+ },
+ "richTextToolbar": {
+ "styles": "Otsikko/kappale",
+ "table": "Taulukko",
+ "bold": "Lihavoitu",
+ "italic": "Kursiivi",
+ "align": "Tasaus",
+ "alignLeft": "Tasaa vasemmalle",
+ "alignCenter": "Tasaa keskelle",
+ "alignRight": "Tasaa oikealle",
+ "alignJustify": "Tasaa tasaus",
+ "clear": "Tyhjennä muoto",
+ "bulletList": "Luettelomerkkiluettelo",
+ "orderedList": "Järjestetty lista",
+ "link": "Linkki",
+ "quote": "Lainauslohko",
+ "rule": "Vaakasuora viiva",
+ "small": "Pieni",
+ "sub": "Alaindeksi",
+ "sup": "Yläindeksi",
+ "paragraph": "Normaali teksti",
+ "h1": "Otsikko 1",
+ "h2": "Otsikko 2",
+ "h3": "Otsikko 3",
+ "h4": "Otsikko 4",
+ "h5": "Otsikko 5",
+ "tableLabel": "Taulukko",
+ "insert": "Lisää taulukko",
+ "insertRowBefore": "Lisää rivi ennen",
+ "insertRowAfter": "Lisää rivi jälkeen",
+ "deleteRow": "Poista rivi",
+ "toggleHeaderRow": "Näytä/piilota otsikkorivi",
+ "insertColumnBefore": "Lisää sarake ennen",
+ "insertColumnAfter": "Lisää sarake jälkeen",
+ "deleteColumn": "Poista sarake",
+ "deleteTable": "Poista taulukko",
+ "left": "Vasen",
+ "center": "Keskusta",
+ "right": "Oikea",
+ "justify": "Perustella"
+ },
+ "linkField": {
+ "reorder": "Vedä ja pudota järjestääksesi uudelleen",
+ "open": "Avaa linkki uudessa välilehdessä",
+ "openFile": "Avaa mediatiedosto uudessa välilehdessä",
+ "edit": "Muokkaa linkkiä",
+ "editFile": "Vaihda kuva",
+ "delete": "Poista linkki",
+ "deleteFile": "Poista kuva"
+ },
+ "entryPicker": {
+ "title": "Valitse viite",
+ "searchPlaceholder": "Haku",
+ "cancel": "Peruuttaa",
+ "confirm": "Vahvistaa"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/fr.json b/src/translations/fr.json
new file mode 100644
index 000000000..5603c9ebc
--- /dev/null
+++ b/src/translations/fr.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Synchronisation",
+ "synced": "Synchronisé",
+ "saving": "Économie…"
+ },
+ "urlPicker": {
+ "title": "Lien",
+ "url": "URL",
+ "urlHelp": "URL du lien",
+ "description": "Description",
+ "descriptionHelp": "Texte à afficher à l'intérieur de l'élément de lien",
+ "target": "Cible",
+ "targetDescription": "Ouvrir le lien dans un nouvel onglet",
+ "cancel": "Annuler",
+ "confirm": "Confirmer"
+ },
+ "pickLink": {
+ "title": "Choisir le lien",
+ "link": "Lien",
+ "description": "Description",
+ "descriptionHelp": "Texte à afficher à l'intérieur de l'élément de lien",
+ "tooltip": "Info-bulle",
+ "tooltipHelp": "Informations supplémentaires décrivant le lien, affichées au survol",
+ "newTab": "Ouvrir le lien dans un nouvel onglet",
+ "remove": "Supprimer le lien",
+ "cancel": "Annuler",
+ "confirm": "Confirmer"
+ },
+ "newEntry": {
+ "title": "Titre",
+ "parent": "Mère",
+ "type": "Sélectionnez le type",
+ "order": "Ordre d'insertion",
+ "orderFirst": "En tête de liste",
+ "orderLast": "Au bas de la liste",
+ "copyFrom": "Copier le contenu de",
+ "formTitle": "Nouvelle entrée",
+ "cancel": "Annuler",
+ "create": "Créer"
+ },
+ "entryEdit": {
+ "blockingTitle": "Êtes-vous sûr de vouloir annuler les modifications ?",
+ "blockingWarning": "Ce document a été modifié",
+ "blockingPrompt": "Souhaitez-vous enregistrer vos modifications ?",
+ "blockingDiscard": "Annuler mes modifications",
+ "blockingSaveDraft": "Enregistrer comme brouillon",
+ "blockingPublishChanges": "Publier les modifications",
+ "untranslatedTitle": "Non traduit",
+ "untranslatedParent": "Traduisez d’abord la page parent.",
+ "untranslatedPrompt": "Saisissez les détails ci-dessous et enregistrez pour commencer la traduction.",
+ "draftError": "Impossible de terminer le brouillon, veuillez réessayer plus tard",
+ "saveTranslationError": "Impossible de terminer l'action de traduction, veuillez réessayer plus tard",
+ "publishError": "Impossible de terminer l'action de publication, veuillez réessayer plus tard",
+ "discardError": "Impossible d'annuler les modifications, veuillez réessayer plus tard",
+ "unpublishError": "Impossible de terminer l'action de non-publication, veuillez réessayer plus tard",
+ "deleteError": "Impossible de terminer l'action de suppression, veuillez réessayer plus tard",
+ "archiveError": "Impossible de terminer l'action d'archivage, veuillez réessayer plus tard"
+ },
+ "entryHeader": {
+ "draft": "Brouillon",
+ "editing": "Édition",
+ "published": "Publié",
+ "archived": "Archivé",
+ "untranslated": "Non traduit",
+ "unpublished": "Inédit",
+ "revision": "Révision",
+ "showMenu": "Afficher le menu",
+ "hideMenu": "Masquer le menu",
+ "removeDraft": "Supprimer le brouillon",
+ "replace": "Remplacer",
+ "delete": "Supprimer",
+ "unpublish": "Dépublier",
+ "archive": "Archive",
+ "publish": "Publier",
+ "showHistory": "Afficher l'historique",
+ "hideHistory": "Masquer l'historique",
+ "draftAvailable": "Une version préliminaire plus récente est disponible",
+ "translateFrom": "Traduire de",
+ "translateParent": "Traduire d'abord la page parent",
+ "discard": "Annuler les modifications",
+ "save": "Enregistrer la traduction",
+ "saveDraft": "Sauvegarder",
+ "restore": "Restaurer",
+ "showPreview": "Aperçu de l'affichage",
+ "hidePreview": "Masquer l'aperçu",
+ "savingDraft": "Sauvegarde du brouillon",
+ "savingTranslation": "Sauvegarde de la traduction",
+ "publishingEdits": "Modifications de publication",
+ "restoringRevision": "Restauration de la révision",
+ "publishingDraft": "Projet de publication",
+ "unpublishingDraft": "Brouillon de dépublication",
+ "discardingDraft": "Rejet du projet",
+ "archivingPublished": "Archivage publié",
+ "publishingArchived": "Publication archivée",
+ "deletingFile": "Suppression du fichier",
+ "deletingEntry": "Supprimer l'entrée"
+ },
+ "contentView": {
+ "create": "Créer un nouveau"
+ },
+ "welcome": {
+ "title": "Votre installation alinea est maintenant prête à être configurée.",
+ "button": "Apprenez à configurer"
+ },
+ "cloudAuthView": {
+ "title": "Paragraphe",
+ "deploy": "Prêt à être déployé ?",
+ "requiresHandler": "Alinea a besoin d'un maître pour continuer",
+ "backend": "Alinea nécessite un backend pour continuer.",
+ "customBackend": "configurer entièrement un backend personnalisé",
+ "cloud": "Ou installez-vous en quelques clics avec notre offre cloud.",
+ "cloudButton": "Continuer avec alinea.cloud"
+ },
+ "sidebarSettings": {
+ "settings": "Paramètres",
+ "defaultWorkspace": "Espace de travail par défaut",
+ "theme": "Changer de thème",
+ "fontSize": "Taille de la police",
+ "decreaseFontSize": "Réduire la taille de la police",
+ "increaseFontSize": "Augmenter la taille de la police",
+ "logout": "Déconnexion"
+ },
+ "fileUploader": {
+ "uploadComplete": "Téléchargements terminés : {{amount}}",
+ "uploading": "Téléchargement de fichiers : {{amount}}",
+ "upload": "Télécharger des fichiers"
+ },
+ "fileUploadRow": {
+ "alt": "Fichier téléchargé",
+ "done": "Fait"
+ },
+ "fileEntry": {
+ "preview": "Aperçu du fichier multimédia",
+ "extension": "Extension",
+ "fileSize": "Taille du fichier",
+ "dimensions": "Dimensions",
+ "pixels": "pixels",
+ "url": "URL",
+ "focus": "Point focal",
+ "focusHelp": "Cliquez sur l'image pour changer le point de focalisation"
+ },
+ "cardOverview": {
+ "title": "carte"
+ },
+ "explorer": {
+ "noResults": "Aucun résultat"
+ },
+ "editModeToggle": {
+ "edit": "Modifier",
+ "review": "Examiner les modifications"
+ },
+ "searchBox": {
+ "search": "Recherche"
+ },
+ "rootOverview": {
+ "instruction": "Sélectionnez une entrée dans l'arborescence de navigation\nà gauche pour commencer la modification."
+ },
+ "inputLabel": {
+ "readonly": "Lecture seule",
+ "shared": "Commun"
+ },
+ "errorBoundary": {
+ "title": "Erreur",
+ "oops": "Oups, quelque chose s'est mal passé",
+ "close": "Erreur de fermeture",
+ "issue": "Créer un problème"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Espace de travail par défaut",
+ "logout": "Déconnexion"
+ },
+ "listField": {
+ "reorder": "Glissez-déposez pour réorganiser",
+ "copy": "Bloc de copie",
+ "moveUp": "Monter d'une position",
+ "moveDown": "Descendre d'une position",
+ "delete": "Supprimer le bloc",
+ "paste": "Coller le bloc",
+ "add": "Insérer un nouveau bloc"
+ },
+ "metadataField": {
+ "previewTitle": "Aperçu",
+ "searchEngine": "Moteur de recherche",
+ "socialShare": "Partage social",
+ "ogImageAlt": "Image graphique ouverte"
+ },
+ "pickTextLink": {
+ "title": "Choisir le lien",
+ "link": "Lien",
+ "description": "Description",
+ "descriptionHelp": "Texte à afficher à l'intérieur de l'élément de lien",
+ "tooltip": "Info-bulle",
+ "tooltipHelp": "Informations supplémentaires décrivant le lien, affichées au survol",
+ "newTab": "Ouvrir le lien dans un nouvel onglet",
+ "remove": "Supprimer le lien",
+ "cancel": "Annuler",
+ "confirm": "Confirmer"
+ },
+ "richTextField": {
+ "insert": "Insérer un bloc"
+ },
+ "richTextToolbar": {
+ "styles": "Titre/paragraphe",
+ "table": "Tableau",
+ "bold": "Audacieux",
+ "italic": "Italique",
+ "align": "Alignement",
+ "alignLeft": "Aligner à gauche",
+ "alignCenter": "Aligner le centre",
+ "alignRight": "Aligner à droite",
+ "alignJustify": "Aligner et justifier",
+ "clear": "Format clair",
+ "bulletList": "Liste à puces",
+ "orderedList": "Liste ordonnée",
+ "link": "Lien",
+ "quote": "Citation en bloc",
+ "rule": "Règle horizontale",
+ "small": "Petit",
+ "sub": "Indice",
+ "sup": "Exposant",
+ "paragraph": "Texte normal",
+ "h1": "Titre 1",
+ "h2": "Titre 2",
+ "h3": "Titre 3",
+ "h4": "Titre 4",
+ "h5": "Titre 5",
+ "tableLabel": "Tableau",
+ "insert": "Insérer un tableau",
+ "insertRowBefore": "Insérer une ligne avant",
+ "insertRowAfter": "Insérer une ligne après",
+ "deleteRow": "Supprimer la ligne",
+ "toggleHeaderRow": "Basculer la ligne d'en-tête",
+ "insertColumnBefore": "Insérer une colonne avant",
+ "insertColumnAfter": "Insérer une colonne après",
+ "deleteColumn": "Supprimer la colonne",
+ "deleteTable": "Supprimer le tableau",
+ "left": "Gauche",
+ "center": "Centre",
+ "right": "Droite",
+ "justify": "Justifier"
+ },
+ "linkField": {
+ "reorder": "Glissez-déposez pour réorganiser",
+ "open": "Ouvrir le lien dans un nouvel onglet",
+ "openFile": "Ouvrir le fichier multimédia dans un nouvel onglet",
+ "edit": "Modifier le lien",
+ "editFile": "Changer l'image",
+ "delete": "Supprimer le lien",
+ "deleteFile": "Supprimer l'image"
+ },
+ "entryPicker": {
+ "title": "Sélectionnez une référence",
+ "searchPlaceholder": "Recherche",
+ "cancel": "Annuler",
+ "confirm": "Confirmer"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/he.json b/src/translations/he.json
new file mode 100644
index 000000000..ed55123ee
--- /dev/null
+++ b/src/translations/he.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "סנכרון",
+ "synced": "מסונכרן",
+ "saving": "חִסָכוֹן…"
+ },
+ "urlPicker": {
+ "title": "לְקַשֵׁר",
+ "url": "כתובת אתר",
+ "urlHelp": "כתובת הקישור",
+ "description": "תֵאוּר",
+ "descriptionHelp": "טקסט להצגה בתוך רכיב הקישור",
+ "target": "יַעַד",
+ "targetDescription": "פתח קישור בכרטיסייה חדשה",
+ "cancel": "לְבַטֵל",
+ "confirm": "לְאַשֵׁר"
+ },
+ "pickLink": {
+ "title": "בחירת קישור",
+ "link": "לְקַשֵׁר",
+ "description": "תֵאוּר",
+ "descriptionHelp": "טקסט להצגה בתוך רכיב הקישור",
+ "tooltip": "תיאור כלי",
+ "tooltipHelp": "מידע נוסף המתאר את הקישור, מוצג בעת העכבר",
+ "newTab": "פתח קישור בכרטיסייה חדשה",
+ "remove": "הסר קישור",
+ "cancel": "לְבַטֵל",
+ "confirm": "לְאַשֵׁר"
+ },
+ "newEntry": {
+ "title": "כּוֹתֶרֶת",
+ "parent": "הוֹרֶה",
+ "type": "בחר סוג",
+ "order": "הכנס הזמנה",
+ "orderFirst": "בראש הרשימה",
+ "orderLast": "בתחתית הרשימה",
+ "copyFrom": "העתקת תוכן מ",
+ "formTitle": "ערך חדש",
+ "cancel": "לְבַטֵל",
+ "create": "לִיצוֹר"
+ },
+ "entryEdit": {
+ "blockingTitle": "האם אתה בטוח שברצונך לבטל את השינויים?",
+ "blockingWarning": "מסמך זה שונה",
+ "blockingPrompt": "האם תרצה לשמור את השינויים שלך?",
+ "blockingDiscard": "בטל את השינויים שלי",
+ "blockingSaveDraft": "שמור כטיוטה",
+ "blockingPublishChanges": "פרסום שינויים",
+ "untranslatedTitle": "לא מתורגם",
+ "untranslatedParent": "תרגם תחילה את דף האב.",
+ "untranslatedPrompt": "הזן את הפרטים למטה ושמור כדי להתחיל בתרגום.",
+ "draftError": "לא ניתן היה להשלים את פעולת הטיוטה, אנא נסה שוב מאוחר יותר",
+ "saveTranslationError": "לא ניתן היה להשלים את פעולת התרגום, אנא נסה שוב מאוחר יותר",
+ "publishError": "לא ניתן היה להשלים את פעולת הפרסום, אנא נסה שוב מאוחר יותר",
+ "discardError": "לא ניתן היה לבטל את השינויים, אנא נסה שוב מאוחר יותר",
+ "unpublishError": "לא ניתן היה להשלים את פעולת ביטול הפרסום, אנא נסה שוב מאוחר יותר",
+ "deleteError": "לא ניתן היה להשלים את פעולת המחיקה, אנא נסה שוב מאוחר יותר",
+ "archiveError": "לא ניתן היה להשלים את פעולת הארכיון, אנא נסה שוב מאוחר יותר"
+ },
+ "entryHeader": {
+ "draft": "טְיוּטָה",
+ "editing": "עֲרִיכָה",
+ "published": "פורסם",
+ "archived": "הועבר לארכיון",
+ "untranslated": "לא מתורגם",
+ "unpublished": "לא פורסם",
+ "revision": "גרסה",
+ "showMenu": "תפריט תצוגה",
+ "hideMenu": "הסתר תפריט",
+ "removeDraft": "הסר טיוטה",
+ "replace": "לְהַחלִיף",
+ "delete": "לִמְחוֹק",
+ "unpublish": "בטל פרסום",
+ "archive": "ארכיון",
+ "publish": "לְפַרְסֵם",
+ "showHistory": "הצג היסטוריה",
+ "hideHistory": "הסתר היסטוריה",
+ "draftAvailable": "גרסת טיוטה חדשה יותר זמינה",
+ "translateFrom": "תרגם מ",
+ "translateParent": "תרגם תחילה את דף האב",
+ "discard": "בטל עריכות",
+ "save": "שמור תרגום",
+ "saveDraft": "לְהַצִיל",
+ "restore": "לְשַׁחְזֵר",
+ "showPreview": "תצוגה מקדימה",
+ "hidePreview": "הסתר תצוגה מקדימה",
+ "savingDraft": "שומר טיוטה",
+ "savingTranslation": "שמירת התרגום",
+ "publishingEdits": "עריכות פרסום",
+ "restoringRevision": "משחזר את הגרסה",
+ "publishingDraft": "טיוטת פרסום",
+ "unpublishingDraft": "מבטל פרסום טיוטה",
+ "discardingDraft": "מחיקת טיוטה",
+ "archivingPublished": "פורסם בארכיון",
+ "publishingArchived": "הפרסום הועבר לארכיון",
+ "deletingFile": "מחיקת קובץ",
+ "deletingEntry": "מחיקת ערך"
+ },
+ "contentView": {
+ "create": "צור חדש"
+ },
+ "welcome": {
+ "title": "התקנת ה-alinea שלך מוכנה כעת להגדרה.",
+ "button": "למד כיצד להגדיר"
+ },
+ "cloudAuthView": {
+ "title": "סָעִיף",
+ "deploy": "מוכנים לפריסה?",
+ "requiresHandler": "אלינה זקוקה למטפל כדי להמשיך",
+ "backend": "אלינה דורשת שרת אחורי כדי להמשיך.",
+ "customBackend": "הגדרה מלאה של backend מותאם אישית",
+ "cloud": "או התחל את ההגדרה בכמה לחיצות עם הצעת הענן שלנו.",
+ "cloudButton": "המשך עם alinea.cloud"
+ },
+ "sidebarSettings": {
+ "settings": "הגדרות",
+ "defaultWorkspace": "סביבת עבודה ברירת מחדל",
+ "theme": "החלפת ערכת נושא",
+ "fontSize": "גודל גופן",
+ "decreaseFontSize": "הקטנת גודל הגופן",
+ "increaseFontSize": "הגדלת גודל הגופן",
+ "logout": "התנתק"
+ },
+ "fileUploader": {
+ "uploadComplete": "העלאות הושלמו: {{amount}}",
+ "uploading": "מעלה קבצים: {{amount}}",
+ "upload": "העלאת קבצים"
+ },
+ "fileUploadRow": {
+ "alt": "קובץ שהועלה",
+ "done": "נַעֲשָׂה"
+ },
+ "fileEntry": {
+ "preview": "תצוגה מקדימה של קובץ מדיה",
+ "extension": "הַרחָבָה",
+ "fileSize": "גודל הקובץ",
+ "dimensions": "מידות",
+ "pixels": "פיקסלים",
+ "url": "כתובת אתר",
+ "focus": "נקודת מיקוד",
+ "focusHelp": "לחץ על התמונה כדי לשנות את נקודת המיקוד"
+ },
+ "cardOverview": {
+ "title": "כַּרְטִיס"
+ },
+ "explorer": {
+ "noResults": "אין תוצאות"
+ },
+ "editModeToggle": {
+ "edit": "לַעֲרוֹך",
+ "review": "סקירת שינויים"
+ },
+ "searchBox": {
+ "search": "לְחַפֵּשׂ"
+ },
+ "rootOverview": {
+ "instruction": "בחר ערך בעץ הניווט משמאל כדי להתחיל בעריכה"
+ },
+ "inputLabel": {
+ "readonly": "לקריאה בלבד",
+ "shared": "מְשׁוּתָף"
+ },
+ "errorBoundary": {
+ "title": "שְׁגִיאָה",
+ "oops": "אופס, משהו השתבש",
+ "close": "סגירת שגיאה",
+ "issue": "צור בעיה"
+ },
+ "toolbar": {
+ "defaultWorkspace": "סביבת עבודה ברירת מחדל",
+ "logout": "התנתק"
+ },
+ "listField": {
+ "reorder": "גרור ושחרר כדי לסדר מחדש",
+ "copy": "העתקת בלוק",
+ "moveUp": "עלייה במיקום אחד",
+ "moveDown": "הזז למטה מיקום אחד",
+ "delete": "מחיקת בלוק",
+ "paste": "הדבקת בלוק",
+ "add": "הכנס בלוק חדש"
+ },
+ "metadataField": {
+ "previewTitle": "תצוגה מקדימה",
+ "searchEngine": "מנוע חיפוש",
+ "socialShare": "שיתוף חברתי",
+ "ogImageAlt": "תמונה של גרף פתוח"
+ },
+ "pickTextLink": {
+ "title": "בחירת קישור",
+ "link": "לְקַשֵׁר",
+ "description": "תֵאוּר",
+ "descriptionHelp": "טקסט להצגה בתוך רכיב הקישור",
+ "tooltip": "תיאור כלי",
+ "tooltipHelp": "מידע נוסף המתאר את הקישור, מוצג בעת העכבר",
+ "newTab": "פתח קישור בכרטיסייה חדשה",
+ "remove": "הסר קישור",
+ "cancel": "לְבַטֵל",
+ "confirm": "לְאַשֵׁר"
+ },
+ "richTextField": {
+ "insert": "הכנס בלוק"
+ },
+ "richTextToolbar": {
+ "styles": "כותרת/פסקה",
+ "table": "לוּחַ",
+ "bold": "נוֹעָז",
+ "italic": "נטוי",
+ "align": "מַעֲרָך",
+ "alignLeft": "יישור שמאלה",
+ "alignCenter": "יישור למרכז",
+ "alignRight": "יישור ימינה",
+ "alignJustify": "יישור צדק",
+ "clear": "פורמט ברור",
+ "bulletList": "רשימת תבליטים",
+ "orderedList": "רשימה מסודרת",
+ "link": "לְקַשֵׁר",
+ "quote": "ציטוט חסום",
+ "rule": "כלל אופקי",
+ "small": "קָטָן",
+ "sub": "מנוי",
+ "sup": "כתב עילי",
+ "paragraph": "טקסט רגיל",
+ "h1": "כותרת 1",
+ "h2": "כותרת 2",
+ "h3": "כותרת 3",
+ "h4": "כותרת 4",
+ "h5": "כותרת 5",
+ "tableLabel": "לוּחַ",
+ "insert": "הכנס טבלה",
+ "insertRowBefore": "הכנס שורה לפני",
+ "insertRowAfter": "הוספת שורה אחרי",
+ "deleteRow": "מחיקת שורה",
+ "toggleHeaderRow": "הפעל/הפעל שורת כותרת",
+ "insertColumnBefore": "הכנס עמודה לפני",
+ "insertColumnAfter": "הוסף עמודה אחרי",
+ "deleteColumn": "מחיקת עמודה",
+ "deleteTable": "מחיקת טבלה",
+ "left": "שְׁמֹאל",
+ "center": "מֶרְכָּז",
+ "right": "יָמִינָה",
+ "justify": "לְהַצְדִיק"
+ },
+ "linkField": {
+ "reorder": "גרור ושחרר כדי לסדר מחדש",
+ "open": "פתח קישור בכרטיסייה חדשה",
+ "openFile": "פתיחת קובץ מדיה בכרטיסייה חדשה",
+ "edit": "עריכת קישור",
+ "editFile": "שנה תמונה",
+ "delete": "מחיקת קישור",
+ "deleteFile": "מחיקת תמונה"
+ },
+ "entryPicker": {
+ "title": "בחר הפניה",
+ "searchPlaceholder": "לְחַפֵּשׂ",
+ "cancel": "לְבַטֵל",
+ "confirm": "לְאַשֵׁר"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/hi.json b/src/translations/hi.json
new file mode 100644
index 000000000..99be8d288
--- /dev/null
+++ b/src/translations/hi.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "सिंक्रनाइज़ किए जा रहे",
+ "synced": "सिंक किया गया",
+ "saving": "बचत…"
+ },
+ "urlPicker": {
+ "title": "जोड़ना",
+ "url": "यूआरएल",
+ "urlHelp": "लिंक का URL",
+ "description": "विवरण",
+ "descriptionHelp": "लिंक तत्व के अंदर प्रदर्शित करने के लिए पाठ",
+ "target": "लक्ष्य",
+ "targetDescription": "नए टैब में लिंक खोलें",
+ "cancel": "रद्द करना",
+ "confirm": "पुष्टि करना"
+ },
+ "pickLink": {
+ "title": "लिंक चुनें",
+ "link": "जोड़ना",
+ "description": "विवरण",
+ "descriptionHelp": "लिंक तत्व के अंदर प्रदर्शित करने के लिए पाठ",
+ "tooltip": "टूलटिप",
+ "tooltipHelp": "लिंक का वर्णन करने वाली अतिरिक्त जानकारी, होवर पर दिखाई जाती है",
+ "newTab": "नए टैब में लिंक खोलें",
+ "remove": "लिंक हटाएँ",
+ "cancel": "रद्द करना",
+ "confirm": "पुष्टि करना"
+ },
+ "newEntry": {
+ "title": "शीर्षक",
+ "parent": "माता-पिता",
+ "type": "प्रकार चुनें",
+ "order": "आदेश डालें",
+ "orderFirst": "सूची में सबसे ऊपर",
+ "orderLast": "सूची में सबसे नीचे",
+ "copyFrom": "सामग्री कॉपी करें",
+ "formTitle": "नई प्रविष्टि",
+ "cancel": "रद्द करना",
+ "create": "बनाएं"
+ },
+ "entryEdit": {
+ "blockingTitle": "क्या आप वाकई परिवर्तनों को त्यागना चाहते हैं?",
+ "blockingWarning": "यह दस्तावेज़ बदल दिया गया था",
+ "blockingPrompt": "क्या आप अपने परिवर्तन सहेजना चाहेंगे?",
+ "blockingDiscard": "मेरे परिवर्तन त्यागें",
+ "blockingSaveDraft": "ड्राफ्ट के रूप में सेव करें",
+ "blockingPublishChanges": "परिवर्तन प्रकाशित करें",
+ "untranslatedTitle": "अनुवाद नहीं",
+ "untranslatedParent": "पहले मूल पृष्ठ का अनुवाद करें.",
+ "untranslatedPrompt": "अनुवाद शुरू करने के लिए नीचे विवरण दर्ज करें और सहेजें।",
+ "draftError": "ड्राफ़्ट कार्रवाई पूरी नहीं की जा सकी, कृपया बाद में पुनः प्रयास करें",
+ "saveTranslationError": "अनुवाद कार्य पूरा नहीं किया जा सका, कृपया बाद में पुनः प्रयास करें",
+ "publishError": "प्रकाशन कार्य पूरा नहीं किया जा सका, कृपया बाद में पुनः प्रयास करें",
+ "discardError": "परिवर्तनों को रद्द नहीं किया जा सका, कृपया बाद में पुनः प्रयास करें",
+ "unpublishError": "अप्रकाशित कार्रवाई पूरी नहीं की जा सकी, कृपया बाद में पुनः प्रयास करें",
+ "deleteError": "हटाने की कार्रवाई पूरी नहीं हो सकी, कृपया बाद में पुनः प्रयास करें",
+ "archiveError": "संग्रह कार्रवाई पूरी नहीं हो सकी, कृपया बाद में पुनः प्रयास करें"
+ },
+ "entryHeader": {
+ "draft": "मसौदा",
+ "editing": "संपादन",
+ "published": "प्रकाशित",
+ "archived": "संग्रहीत",
+ "untranslated": "अनुवाद नहीं",
+ "unpublished": "अप्रकाशित",
+ "revision": "दोहराव",
+ "showMenu": "प्रदर्शन मेनू",
+ "hideMenu": "मेनू छिपाएँ",
+ "removeDraft": "ड्राफ्ट हटाएँ",
+ "replace": "प्रतिस्थापित करें",
+ "delete": "मिटाना",
+ "unpublish": "अप्रकाशित करें",
+ "archive": "पुरालेख",
+ "publish": "प्रकाशित करना",
+ "showHistory": "इतिहास दिखाएँ",
+ "hideHistory": "इतिहास छिपाएँ",
+ "draftAvailable": "एक नया मसौदा संस्करण उपलब्ध है",
+ "translateFrom": "से अनुवाद करें",
+ "translateParent": "पहले मूल पृष्ठ का अनुवाद करें",
+ "discard": "संपादन त्यागें",
+ "save": "अनुवाद सहेजें",
+ "saveDraft": "बचाना",
+ "restore": "पुनर्स्थापित करना",
+ "showPreview": "पूर्वावलोकन प्रदर्शित करें",
+ "hidePreview": "पूर्वावलोकन छिपाएँ",
+ "savingDraft": "ड्राफ्ट सहेजा जा रहा है",
+ "savingTranslation": "अनुवाद सहेजा जा रहा है",
+ "publishingEdits": "संपादन प्रकाशित करना",
+ "restoringRevision": "संशोधन बहाल करना",
+ "publishingDraft": "मसौदा प्रकाशित करना",
+ "unpublishingDraft": "मसौदा अप्रकाशित करना",
+ "discardingDraft": "ड्राफ्ट को त्यागना",
+ "archivingPublished": "संग्रह प्रकाशित",
+ "publishingArchived": "प्रकाशन संग्रहीत",
+ "deletingFile": "फ़ाइल हटाना",
+ "deletingEntry": "प्रविष्टि हटाएं"
+ },
+ "contentView": {
+ "create": "नया निर्माण"
+ },
+ "welcome": {
+ "title": "आपका एलाइनिया इंस्टॉलेशन अब कॉन्फ़िगरेशन के लिए तैयार है।",
+ "button": "कॉन्फ़िगर करने का तरीका जानें"
+ },
+ "cloudAuthView": {
+ "title": "अनुच्छेद",
+ "deploy": "तैनात करने के लिए तैयार हैं?",
+ "requiresHandler": "एलिनिया को जारी रखने के लिए एक हैंडलर की आवश्यकता है",
+ "backend": "एलिनेया को जारी रखने के लिए एक बैकएंड की आवश्यकता है।",
+ "customBackend": "एक कस्टम बैकएंड को पूरी तरह से कॉन्फ़िगर करें",
+ "cloud": "या फिर हमारी क्लाउड पेशकश के साथ कुछ ही क्लिक में सेटअप करें।",
+ "cloudButton": "alinea.cloud के साथ जारी रखें"
+ },
+ "sidebarSettings": {
+ "settings": "सेटिंग्स",
+ "defaultWorkspace": "डिफ़ॉल्ट कार्यस्थान",
+ "theme": "थीम बदलें",
+ "fontSize": "फ़ॉन्ट आकार",
+ "decreaseFontSize": "फ़ॉन्ट आकार घटाएँ",
+ "increaseFontSize": "फ़ॉन्ट आकार बढ़ाएँ",
+ "logout": "लॉग आउट"
+ },
+ "fileUploader": {
+ "uploadComplete": "अपलोड पूर्ण: {{amount}}",
+ "uploading": "फ़ाइलें अपलोड हो रही हैं: {{amount}}",
+ "upload": "फाइलें अपलोड करें"
+ },
+ "fileUploadRow": {
+ "alt": "अपलोड की गई फ़ाइल",
+ "done": "हो गया"
+ },
+ "fileEntry": {
+ "preview": "मीडिया फ़ाइल का पूर्वावलोकन",
+ "extension": "विस्तार",
+ "fileSize": "फ़ाइल का साइज़",
+ "dimensions": "DIMENSIONS",
+ "pixels": "पिक्सेल",
+ "url": "यूआरएल",
+ "focus": "फोकस बिन्दु",
+ "focusHelp": "फोकस बिंदु बदलने के लिए छवि पर क्लिक करें"
+ },
+ "cardOverview": {
+ "title": "कार्ड"
+ },
+ "explorer": {
+ "noResults": "कोई परिणाम नहीं"
+ },
+ "editModeToggle": {
+ "edit": "संपादन करना",
+ "review": "परिवर्तनों की समीक्षा करें"
+ },
+ "searchBox": {
+ "search": "खोज"
+ },
+ "rootOverview": {
+ "instruction": "संपादन शुरू करने के लिए बाईं ओर नेविगेशन ट्री में एक प्रविष्टि चुनें\n"
+ },
+ "inputLabel": {
+ "readonly": "केवल पढ़ने के लिए",
+ "shared": "साझा"
+ },
+ "errorBoundary": {
+ "title": "गलती",
+ "oops": "ओह! कुछ गलत हो गया है",
+ "close": "बंद त्रुटि",
+ "issue": "कोई समस्या बनाएँ"
+ },
+ "toolbar": {
+ "defaultWorkspace": "डिफ़ॉल्ट कार्यस्थान",
+ "logout": "लॉग आउट"
+ },
+ "listField": {
+ "reorder": "पुनःक्रमित करने के लिए खींचें और छोड़ें",
+ "copy": "ब्लॉक कॉपी करें",
+ "moveUp": "एक स्थान ऊपर जाएँ",
+ "moveDown": "एक स्थान नीचे जाएँ",
+ "delete": "ब्लॉक हटाएं",
+ "paste": "ब्लॉक चिपकाएँ",
+ "add": "नया ब्लॉक डालें"
+ },
+ "metadataField": {
+ "previewTitle": "पूर्व दर्शन",
+ "searchEngine": "खोज इंजन",
+ "socialShare": "सामाजिक हिस्सेदारी",
+ "ogImageAlt": "ग्राफ़ छवि खोलें"
+ },
+ "pickTextLink": {
+ "title": "लिंक चुनें",
+ "link": "जोड़ना",
+ "description": "विवरण",
+ "descriptionHelp": "लिंक तत्व के अंदर प्रदर्शित करने के लिए पाठ",
+ "tooltip": "टूलटिप",
+ "tooltipHelp": "लिंक का वर्णन करने वाली अतिरिक्त जानकारी, होवर पर दिखाई जाती है",
+ "newTab": "नए टैब में लिंक खोलें",
+ "remove": "लिंक हटाएँ",
+ "cancel": "रद्द करना",
+ "confirm": "पुष्टि करना"
+ },
+ "richTextField": {
+ "insert": "ब्लॉक डालें"
+ },
+ "richTextToolbar": {
+ "styles": "शीर्षक/अनुच्छेद",
+ "table": "मेज़",
+ "bold": "बोल्ड",
+ "italic": "तिरछा",
+ "align": "संरेखण",
+ "alignLeft": "बाईं ओर संरेखित करें",
+ "alignCenter": "मध्य में संरेखित करें",
+ "alignRight": "दाईं ओर संरेखित करें",
+ "alignJustify": "संरेखित करें औचित्य सिद्ध करें",
+ "clear": "स्पष्ट प्रारूप",
+ "bulletList": "बुलेट सूची",
+ "orderedList": "क्रमबद्ध सूची",
+ "link": "जोड़ना",
+ "quote": "ब्लॉककोट",
+ "rule": "क्षैतिज नियम",
+ "small": "छोटा",
+ "sub": "सबस्क्रिप्ट",
+ "sup": "ऊपर की ओर लिखा हुआ",
+ "paragraph": "सामान्य पाठ",
+ "h1": "शीर्षक 1",
+ "h2": "शीर्षक 2",
+ "h3": "शीर्षक 3",
+ "h4": "शीर्षक 4",
+ "h5": "शीर्षक 5",
+ "tableLabel": "मेज़",
+ "insert": "टेबल इंसर्ट करें",
+ "insertRowBefore": "पहले पंक्ति डालें",
+ "insertRowAfter": "इसके बाद पंक्ति डालें",
+ "deleteRow": "पंक्ति को हटाएं",
+ "toggleHeaderRow": "शीर्षलेख पंक्ति टॉगल करें",
+ "insertColumnBefore": "इससे पहले कॉलम डालें",
+ "insertColumnAfter": "इसके बाद कॉलम डालें",
+ "deleteColumn": "कॉलम हटाएं",
+ "deleteTable": "तालिका हटाएँ",
+ "left": "बाएं",
+ "center": "केंद्र",
+ "right": "सही",
+ "justify": "औचित्य"
+ },
+ "linkField": {
+ "reorder": "पुनःक्रमित करने के लिए खींचें और छोड़ें",
+ "open": "नए टैब में लिंक खोलें",
+ "openFile": "मीडिया फ़ाइल को नए टैब में खोलें",
+ "edit": "लिंक संपादित करें",
+ "editFile": "छवि बदलें",
+ "delete": "लिंक हटाएं",
+ "deleteFile": "छवि हटाएं"
+ },
+ "entryPicker": {
+ "title": "एक संदर्भ चुनें",
+ "searchPlaceholder": "खोज",
+ "cancel": "रद्द करना",
+ "confirm": "पुष्टि करना"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/hr.json b/src/translations/hr.json
new file mode 100644
index 000000000..061bfb327
--- /dev/null
+++ b/src/translations/hr.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Sinkronizacija",
+ "synced": "Sinkronizirano",
+ "saving": "Spremanje…"
+ },
+ "urlPicker": {
+ "title": "Link",
+ "url": "URL",
+ "urlHelp": "URL poveznice",
+ "description": "Opis",
+ "descriptionHelp": "Tekst koji će se prikazati unutar elementa poveznice",
+ "target": "Cilj",
+ "targetDescription": "Otvori poveznicu u novoj kartici",
+ "cancel": "Otkazati",
+ "confirm": "Potvrdi"
+ },
+ "pickLink": {
+ "title": "Odaberite vezu",
+ "link": "Link",
+ "description": "Opis",
+ "descriptionHelp": "Tekst koji će se prikazati unutar elementa poveznice",
+ "tooltip": "Opis alata",
+ "tooltipHelp": "Dodatne informacije koje opisuju vezu, prikazane prilikom zadržavanja pokazivača miša",
+ "newTab": "Otvori poveznicu u novoj kartici",
+ "remove": "Ukloni vezu",
+ "cancel": "Otkazati",
+ "confirm": "Potvrdi"
+ },
+ "newEntry": {
+ "title": "Titula",
+ "parent": "Roditelj",
+ "type": "Odaberite vrstu",
+ "order": "Umetni narudžbu",
+ "orderFirst": "Na vrhu popisa",
+ "orderLast": "Na dnu popisa",
+ "copyFrom": "Kopiraj sadržaj iz",
+ "formTitle": "Novi unos",
+ "cancel": "Otkazati",
+ "create": "Stvoriti"
+ },
+ "entryEdit": {
+ "blockingTitle": "Jeste li sigurni da želite odbaciti promjene?",
+ "blockingWarning": "Ovaj dokument je promijenjen",
+ "blockingPrompt": "Želite li spremiti promjene?",
+ "blockingDiscard": "Odbaci moje promjene",
+ "blockingSaveDraft": "Spremi kao skicu",
+ "blockingPublishChanges": "Objavi promjene",
+ "untranslatedTitle": "Neprevedeno",
+ "untranslatedParent": "Prvo prevedite nadređenu stranicu.",
+ "untranslatedPrompt": "Unesite podatke u nastavku i spremite ih kako biste započeli s prevođenjem.",
+ "draftError": "Nije moguće dovršiti skicu, pokušajte ponovno kasnije",
+ "saveTranslationError": "Nije moguće dovršiti prevođenje, pokušajte ponovno kasnije.",
+ "publishError": "Objavljivanje nije moguće dovršiti, pokušajte ponovno kasnije.",
+ "discardError": "Nije moguće odbaciti promjene, pokušajte ponovno kasnije.",
+ "unpublishError": "Nije moguće dovršiti poništavanje objave, pokušajte ponovno kasnije.",
+ "deleteError": "Nije moguće dovršiti brisanje, pokušajte ponovno kasnije",
+ "archiveError": "Nije moguće dovršiti akciju arhiviranja, pokušajte ponovno kasnije"
+ },
+ "entryHeader": {
+ "draft": "Nacrt",
+ "editing": "Uređivanje",
+ "published": "Objavljeno",
+ "archived": "Arhivirano",
+ "untranslated": "Neprevedeno",
+ "unpublished": "Neobjavljeno",
+ "revision": "Revizija",
+ "showMenu": "Izbornik prikaza",
+ "hideMenu": "Sakrij izbornik",
+ "removeDraft": "Ukloni skicu",
+ "replace": "Zamijeniti",
+ "delete": "Izbrisati",
+ "unpublish": "Poništi objavu",
+ "archive": "Arhiva",
+ "publish": "Objaviti",
+ "showHistory": "Prikaži povijest",
+ "hideHistory": "Sakrij povijest",
+ "draftAvailable": "Dostupna je novija nacrtna verzija",
+ "translateFrom": "Prevedi s",
+ "translateParent": "Prvo prevedi nadređenu stranicu",
+ "discard": "Odbaci izmjene",
+ "save": "Spremi prijevod",
+ "saveDraft": "Uštedjeti",
+ "restore": "Vratiti",
+ "showPreview": "Pregled prikaza",
+ "hidePreview": "Sakrij pregled",
+ "savingDraft": "Spremanje skice",
+ "savingTranslation": "Spremanje prijevoda",
+ "publishingEdits": "Objavljivanje izmjena",
+ "restoringRevision": "Vraćanje revizije",
+ "publishingDraft": "Objavljivanje nacrta",
+ "unpublishingDraft": "Poništavanje objave skice",
+ "discardingDraft": "Odbacivanje nacrta",
+ "archivingPublished": "Arhiviranje objavljeno",
+ "publishingArchived": "Objavljivanje arhivirano",
+ "deletingFile": "Brisanje datoteke",
+ "deletingEntry": "Izbriši unos"
+ },
+ "contentView": {
+ "create": "Stvori novo"
+ },
+ "welcome": {
+ "title": "Vaša Alinea instalacija je sada spremna za konfiguraciju.",
+ "button": "Naučite kako konfigurirati"
+ },
+ "cloudAuthView": {
+ "title": "Odlomak",
+ "deploy": "Spremni za implementaciju?",
+ "requiresHandler": "Alinea zahtijeva rukovatelja za nastavak",
+ "backend": "Alinea zahtijeva pozadinski program za nastavak rada.",
+ "customBackend": "potpuno konfigurirati prilagođeni backend",
+ "cloud": "Ili se postavite u nekoliko klikova uz našu ponudu u oblaku.",
+ "cloudButton": "Nastavite s alinea.cloud"
+ },
+ "sidebarSettings": {
+ "settings": "Postavke",
+ "defaultWorkspace": "Zadani radni prostor",
+ "theme": "Promijeni temu",
+ "fontSize": "Veličina fonta",
+ "decreaseFontSize": "Smanji veličinu fonta",
+ "increaseFontSize": "Povećaj veličinu fonta",
+ "logout": "Odjava"
+ },
+ "fileUploader": {
+ "uploadComplete": "Prijenosi dovršeni: {{amount}}",
+ "uploading": "Prijenos datoteka: {{amount}}",
+ "upload": "Prenesi datoteke"
+ },
+ "fileUploadRow": {
+ "alt": "Prenesena datoteka",
+ "done": "Gotovo"
+ },
+ "fileEntry": {
+ "preview": "Pregled medijske datoteke",
+ "extension": "Proširenje",
+ "fileSize": "Veličina datoteke",
+ "dimensions": "Dimenzije",
+ "pixels": "pikseli",
+ "url": "URL",
+ "focus": "Točka fokusa",
+ "focusHelp": "Kliknite na sliku za promjenu točke fokusa"
+ },
+ "cardOverview": {
+ "title": "kartica"
+ },
+ "explorer": {
+ "noResults": "Nema rezultata"
+ },
+ "editModeToggle": {
+ "edit": "Uredi",
+ "review": "Pregled promjena"
+ },
+ "searchBox": {
+ "search": "Pretraživanje"
+ },
+ "rootOverview": {
+ "instruction": "Odaberite unos u navigacijskom stablu s lijeve strane za početak uređivanja"
+ },
+ "inputLabel": {
+ "readonly": "Samo za čitanje",
+ "shared": "Dijeljeno"
+ },
+ "errorBoundary": {
+ "title": "Pogreška",
+ "oops": "Ups, nešto je pošlo po zlu",
+ "close": "Pogreška zatvaranja",
+ "issue": "Stvori problem"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Zadani radni prostor",
+ "logout": "Odjava"
+ },
+ "listField": {
+ "reorder": "Povucite i ispustite za promjenu redoslijeda",
+ "copy": "Kopiraj blok",
+ "moveUp": "Pomakni se za jednu poziciju gore",
+ "moveDown": "Pomakni se za jednu poziciju niže",
+ "delete": "Izbriši blok",
+ "paste": "Zalijepi blok",
+ "add": "Umetni novi blok"
+ },
+ "metadataField": {
+ "previewTitle": "Pregled",
+ "searchEngine": "Tražilica",
+ "socialShare": "Dijeljenje na društvenim mrežama",
+ "ogImageAlt": "Otvori sliku grafa"
+ },
+ "pickTextLink": {
+ "title": "Odaberite vezu",
+ "link": "Link",
+ "description": "Opis",
+ "descriptionHelp": "Tekst koji će se prikazati unutar elementa poveznice",
+ "tooltip": "Opis alata",
+ "tooltipHelp": "Dodatne informacije koje opisuju vezu, prikazane prilikom zadržavanja pokazivača miša",
+ "newTab": "Otvori poveznicu u novoj kartici",
+ "remove": "Ukloni vezu",
+ "cancel": "Otkazati",
+ "confirm": "Potvrdi"
+ },
+ "richTextField": {
+ "insert": "Umetni blok"
+ },
+ "richTextToolbar": {
+ "styles": "Naslov/odlomak",
+ "table": "Stol",
+ "bold": "Podebljano",
+ "italic": "Kurziv",
+ "align": "Poravnanje",
+ "alignLeft": "Poravnaj lijevo",
+ "alignCenter": "Poravnaj po sredini",
+ "alignRight": "Poravnaj desno",
+ "alignJustify": "Poravnaj obostrano",
+ "clear": "Očisti format",
+ "bulletList": "Popis s grafičkim oznakama",
+ "orderedList": "Uređeni popis",
+ "link": "Link",
+ "quote": "Blokovni citat",
+ "rule": "Horizontalno pravilo",
+ "small": "Mali",
+ "sub": "Indeks",
+ "sup": "Nadpis",
+ "paragraph": "Normalni tekst",
+ "h1": "Naslov 1",
+ "h2": "Naslov 2",
+ "h3": "Naslov 3",
+ "h4": "Naslov 4",
+ "h5": "Naslov 5",
+ "tableLabel": "Stol",
+ "insert": "Umetni tablicu",
+ "insertRowBefore": "Umetni redak prije",
+ "insertRowAfter": "Umetni redak nakon",
+ "deleteRow": "Izbriši redak",
+ "toggleHeaderRow": "Prikaži/sakrij redak zaglavlja",
+ "insertColumnBefore": "Umetni stupac prije",
+ "insertColumnAfter": "Umetni stupac nakon",
+ "deleteColumn": "Izbriši stupac",
+ "deleteTable": "Izbriši tablicu",
+ "left": "Lijevo",
+ "center": "Centar",
+ "right": "Pravo",
+ "justify": "Opravdati"
+ },
+ "linkField": {
+ "reorder": "Povucite i ispustite za promjenu redoslijeda",
+ "open": "Otvori poveznicu u novoj kartici",
+ "openFile": "Otvori medijsku datoteku u novoj kartici",
+ "edit": "Uredi vezu",
+ "editFile": "Promijeni sliku",
+ "delete": "Izbriši vezu",
+ "deleteFile": "Izbriši sliku"
+ },
+ "entryPicker": {
+ "title": "Odaberite referencu",
+ "searchPlaceholder": "Pretraživanje",
+ "cancel": "Otkazati",
+ "confirm": "Potvrdi"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/hu.json b/src/translations/hu.json
new file mode 100644
index 000000000..b53670681
--- /dev/null
+++ b/src/translations/hu.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Szinkronizálás",
+ "synced": "Szinkronizálva",
+ "saving": "Megtakarítás…"
+ },
+ "urlPicker": {
+ "title": "Link",
+ "url": "URL-cím",
+ "urlHelp": "A link URL-címe",
+ "description": "Leírás",
+ "descriptionHelp": "A hivatkozás elemen belül megjelenítendő szöveg",
+ "target": "Cél",
+ "targetDescription": "Link megnyitása új lapon",
+ "cancel": "Mégsem",
+ "confirm": "Megerősítés"
+ },
+ "pickLink": {
+ "title": "Válasszon linket",
+ "link": "Link",
+ "description": "Leírás",
+ "descriptionHelp": "A hivatkozás elemen belül megjelenítendő szöveg",
+ "tooltip": "Elemleírás",
+ "tooltipHelp": "A hivatkozást leíró extra információk, amelyek az egérrel kiemelve jelennek meg",
+ "newTab": "Link megnyitása új lapon",
+ "remove": "Link eltávolítása",
+ "cancel": "Mégsem",
+ "confirm": "Megerősítés"
+ },
+ "newEntry": {
+ "title": "Cím",
+ "parent": "Szülő",
+ "type": "Válasszon típust",
+ "order": "Sorrend beszúrása",
+ "orderFirst": "A lista tetején",
+ "orderLast": "A lista alján",
+ "copyFrom": "Tartalom másolása innen",
+ "formTitle": "Új bejegyzés",
+ "cancel": "Mégsem",
+ "create": "Teremt"
+ },
+ "entryEdit": {
+ "blockingTitle": "Biztosan elveti a változtatásokat?",
+ "blockingWarning": "Ez a dokumentum megváltozott",
+ "blockingPrompt": "Szeretnéd menteni a módosításokat?",
+ "blockingDiscard": "Változtatások elvetése",
+ "blockingSaveDraft": "Mentés piszkozatként",
+ "blockingPublishChanges": "Változások közzététele",
+ "untranslatedTitle": "Lefordítatlan",
+ "untranslatedParent": "Először a szülőoldalt fordítsd le.",
+ "untranslatedPrompt": "Add meg az alábbi adatokat, és mentsd el a fordítás megkezdéséhez.",
+ "draftError": "Nem sikerült befejezni a vázlatműveletet, kérjük, próbálja meg később",
+ "saveTranslationError": "Nem sikerült befejezni a fordítási műveletet, kérjük, próbálja meg később.",
+ "publishError": "A közzétételi művelet nem fejezhető be, kérjük, próbálja meg később.",
+ "discardError": "Nem sikerült elvetni a változtatásokat, kérjük, próbálja újra később.",
+ "unpublishError": "Nem sikerült befejezni a közzététel visszavonását, kérjük, próbálja meg később.",
+ "deleteError": "Nem sikerült befejezni a törlési műveletet, kérjük, próbálja meg később.",
+ "archiveError": "Nem sikerült befejezni az archiválási műveletet, kérjük, próbálja meg később."
+ },
+ "entryHeader": {
+ "draft": "Vázlat",
+ "editing": "Szerkesztés",
+ "published": "Közzétett",
+ "archived": "Archivált",
+ "untranslated": "Lefordítatlan",
+ "unpublished": "Kiadatlan",
+ "revision": "Felülvizsgálat",
+ "showMenu": "Menü megjelenítése",
+ "hideMenu": "Menü elrejtése",
+ "removeDraft": "Vázlat eltávolítása",
+ "replace": "Csere",
+ "delete": "Töröl",
+ "unpublish": "Közzététel visszavonása",
+ "archive": "Archívum",
+ "publish": "Közzététel",
+ "showHistory": "Előzmények megjelenítése",
+ "hideHistory": "Előzmények elrejtése",
+ "draftAvailable": "Újabb vázlatverzió érhető el",
+ "translateFrom": "Fordítás innen:",
+ "translateParent": "Először a szülőoldalt fordítsa le",
+ "discard": "Szerkesztések elvetése",
+ "save": "Fordítás mentése",
+ "saveDraft": "Megtakarítás",
+ "restore": "Visszaállítás",
+ "showPreview": "Előnézet megjelenítése",
+ "hidePreview": "Előnézet elrejtése",
+ "savingDraft": "Vázlat mentése",
+ "savingTranslation": "Fordítás mentése",
+ "publishingEdits": "Szerkesztések közzététele",
+ "restoringRevision": "Verzió visszaállítása",
+ "publishingDraft": "Piszkozat közzététele",
+ "unpublishingDraft": "Vázlat közzétételének visszavonása",
+ "discardingDraft": "Vázlat elvetése",
+ "archivingPublished": "Közzétéve archiválása",
+ "publishingArchived": "Közzététel archiválva",
+ "deletingFile": "Fájl törlése",
+ "deletingEntry": "Bejegyzés törlése"
+ },
+ "contentView": {
+ "create": "Új létrehozása"
+ },
+ "welcome": {
+ "title": "Az alinea telepítése most már készen áll a konfigurálásra.",
+ "button": "Ismerje meg, hogyan konfigurálható"
+ },
+ "cloudAuthView": {
+ "title": "Bekezdés",
+ "deploy": "Készen áll a telepítésre?",
+ "requiresHandler": "Alinea folytatásához kezelőre van szükség.",
+ "backend": "Az Alinea folytatásához háttérrendszerre van szükség.",
+ "customBackend": "egyéni háttérrendszer teljes konfigurálása",
+ "cloud": "Vagy állítsd be néhány kattintással felhőalapú ajánlatunkkal.",
+ "cloudButton": "Folytatás az alinea.clouddal"
+ },
+ "sidebarSettings": {
+ "settings": "Beállítások",
+ "defaultWorkspace": "Alapértelmezett munkaterület",
+ "theme": "Témaváltás",
+ "fontSize": "Betűméret",
+ "decreaseFontSize": "Betűméret csökkentése",
+ "increaseFontSize": "Betűméret növelése",
+ "logout": "Kijelentkezés"
+ },
+ "fileUploader": {
+ "uploadComplete": "Feltöltések befejeződtek: {{amount}}",
+ "uploading": "Fájlok feltöltése: {{amount}}",
+ "upload": "Fájlok feltöltése"
+ },
+ "fileUploadRow": {
+ "alt": "Feltöltött fájl",
+ "done": "Kész"
+ },
+ "fileEntry": {
+ "preview": "Médiafájl előnézete",
+ "extension": "Kiterjesztés",
+ "fileSize": "Fájlméret",
+ "dimensions": "Méretek",
+ "pixels": "pixelek",
+ "url": "URL-cím",
+ "focus": "Fókuszpont",
+ "focusHelp": "Kattintson a képre a fókuszpont megváltoztatásához"
+ },
+ "cardOverview": {
+ "title": "kártya"
+ },
+ "explorer": {
+ "noResults": "Nincs találat"
+ },
+ "editModeToggle": {
+ "edit": "Szerkesztés",
+ "review": "Változások áttekintése"
+ },
+ "searchBox": {
+ "search": "Keresés"
+ },
+ "rootOverview": {
+ "instruction": "Válasszon ki egy bejegyzést a bal oldali navigációs fában a szerkesztés megkezdéséhez"
+ },
+ "inputLabel": {
+ "readonly": "Csak olvasható",
+ "shared": "Megosztott"
+ },
+ "errorBoundary": {
+ "title": "Hiba",
+ "oops": "Hoppá, valami hiba történt",
+ "close": "Bezárási hiba",
+ "issue": "Probléma létrehozása"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Alapértelmezett munkaterület",
+ "logout": "Kijelentkezés"
+ },
+ "listField": {
+ "reorder": "Húzd át az átrendezéshez",
+ "copy": "Másolási blokk",
+ "moveUp": "Egy pozícióval feljebb lépés",
+ "moveDown": "Egy pozícióval lejjebb lépés",
+ "delete": "Blokk törlése",
+ "paste": "Beillesztési blokk",
+ "add": "Új blokk beszúrása"
+ },
+ "metadataField": {
+ "previewTitle": "Előnézet",
+ "searchEngine": "Keresőmotor",
+ "socialShare": "Közösségi megosztás",
+ "ogImageAlt": "Nyissa meg a grafikon képét"
+ },
+ "pickTextLink": {
+ "title": "Válasszon linket",
+ "link": "Link",
+ "description": "Leírás",
+ "descriptionHelp": "A hivatkozás elemen belül megjelenítendő szöveg",
+ "tooltip": "Elemleírás",
+ "tooltipHelp": "A hivatkozást leíró extra információk, amelyek az egérrel kiemelve jelennek meg",
+ "newTab": "Link megnyitása új lapon",
+ "remove": "Link eltávolítása",
+ "cancel": "Mégsem",
+ "confirm": "Megerősítés"
+ },
+ "richTextField": {
+ "insert": "Blokk beszúrása"
+ },
+ "richTextToolbar": {
+ "styles": "Címsor/bekezdés",
+ "table": "Táblázat",
+ "bold": "Bátor",
+ "italic": "Dőlt betűs",
+ "align": "Igazítás",
+ "alignLeft": "Balra igazítás",
+ "alignCenter": "Középre igazítás",
+ "alignRight": "Jobbra igazítás",
+ "alignJustify": "Sorkizárás",
+ "clear": "Tiszta formátum",
+ "bulletList": "Felsorolás",
+ "orderedList": "Rendezett lista",
+ "link": "Link",
+ "quote": "Idézetblokk",
+ "rule": "Vízszintes vonal",
+ "small": "Kicsi",
+ "sub": "Alsó index",
+ "sup": "Felső index",
+ "paragraph": "Normál szöveg",
+ "h1": "1. címsor",
+ "h2": "2. címsor",
+ "h3": "3. címsor",
+ "h4": "4. címsor",
+ "h5": "5. címsor",
+ "tableLabel": "Táblázat",
+ "insert": "Táblázat beszúrása",
+ "insertRowBefore": "Sor beszúrása elé",
+ "insertRowAfter": "Sor beszúrása után",
+ "deleteRow": "Sor törlése",
+ "toggleHeaderRow": "Fejlécsor be-/kikapcsolása",
+ "insertColumnBefore": "Oszlop beszúrása elé",
+ "insertColumnAfter": "Oszlop beszúrása után",
+ "deleteColumn": "Oszlop törlése",
+ "deleteTable": "Táblázat törlése",
+ "left": "Balra",
+ "center": "Központ",
+ "right": "Jobbra",
+ "justify": "Sorkizárás"
+ },
+ "linkField": {
+ "reorder": "Húzd át az átrendezéshez",
+ "open": "Link megnyitása új lapon",
+ "openFile": "Médiafájl megnyitása új lapon",
+ "edit": "Link szerkesztése",
+ "editFile": "Kép módosítása",
+ "delete": "Link törlése",
+ "deleteFile": "Kép törlése"
+ },
+ "entryPicker": {
+ "title": "Válasszon egy referenciát",
+ "searchPlaceholder": "Keresés",
+ "cancel": "Mégsem",
+ "confirm": "Megerősítés"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/hy.json b/src/translations/hy.json
new file mode 100644
index 000000000..ffebc6c61
--- /dev/null
+++ b/src/translations/hy.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Համաժամեցում",
+ "synced": "Համաժամեցված է",
+ "saving": "Պահպանվում է…"
+ },
+ "urlPicker": {
+ "title": "Հղում",
+ "url": "URL",
+ "urlHelp": "Հղման URL-ը",
+ "description": "Նկարագրություն",
+ "descriptionHelp": "Հղման տարրի ներսում ցուցադրվող տեքստ",
+ "target": "Նպատակակետ",
+ "targetDescription": "Բացել հղումը նոր ներդիրում",
+ "cancel": "Չեղարկել",
+ "confirm": "Հաստատել"
+ },
+ "pickLink": {
+ "title": "Ընտրեք հղումը",
+ "link": "Հղում",
+ "description": "Նկարագրություն",
+ "descriptionHelp": "Հղման տարրի ներսում ցուցադրվող տեքստ",
+ "tooltip": "Հուշում",
+ "tooltipHelp": "Լրացուցիչ տեղեկություններ, որոնք նկարագրում են հղումը, ցուցադրվում են մկնիկի կուրսորը պահելիս",
+ "newTab": "Բացել հղումը նոր ներդիրում",
+ "remove": "Հեռացնել հղումը",
+ "cancel": "Չեղարկել",
+ "confirm": "Հաստատել"
+ },
+ "newEntry": {
+ "title": "Վերնագիր",
+ "parent": "Ծնող",
+ "type": "Ընտրեք տեսակը",
+ "order": "Տեղադրեք կարգը",
+ "orderFirst": "Ցանկի վերևում",
+ "orderLast": "Ցանկի ներքևում",
+ "copyFrom": "Պատճենել բովանդակությունը",
+ "formTitle": "Նոր գրառում",
+ "cancel": "Չեղարկել",
+ "create": "Ստեղծել"
+ },
+ "entryEdit": {
+ "blockingTitle": "Վստա՞հ եք, որ ուզում եք չեղարկել փոփոխությունները։",
+ "blockingWarning": "Այս փաստաթուղթը փոփոխվել է",
+ "blockingPrompt": "Կցանկանայի՞ք պահպանել ձեր փոփոխությունները։",
+ "blockingDiscard": "Հրաժարվել իմ փոփոխություններից",
+ "blockingSaveDraft": "Պահպանել որպես սևագիր",
+ "blockingPublishChanges": "Հրապարակել փոփոխությունները",
+ "untranslatedTitle": "Անթարգմանված",
+ "untranslatedParent": "Սկզբում թարգմանեք մայր էջը։",
+ "untranslatedPrompt": "Մուտքագրեք ստորև նշված տվյալները և պահպանեք՝ թարգմանությունը սկսելու համար։",
+ "draftError": "Չհաջողվեց ավարտել սևագրի գործողությունը, խնդրում ենք փորձել կրկին ավելի ուշ",
+ "saveTranslationError": "Թարգմանության գործողությունը չհաջողվեց ավարտել, խնդրում ենք փորձել կրկին ավելի ուշ։",
+ "publishError": "Հրապարակման գործողությունը չհաջողվեց ավարտել, խնդրում ենք փորձել կրկին ավելի ուշ։",
+ "discardError": "Հնարավոր չէ չեղարկել փոփոխությունները, խնդրում ենք փորձել կրկին ավելի ուշ։",
+ "unpublishError": "Հնարավոր չէ ավարտել հրապարակումը չեղարկելու գործողությունը, խնդրում ենք փորձել կրկին ավելի ուշ։",
+ "deleteError": "Ջնջման գործողությունը չհաջողվեց ավարտել, խնդրում ենք փորձել կրկին ավելի ուշ։",
+ "archiveError": "Հնարավոր չէ ավարտել արխիվացման գործողությունը, խնդրում ենք փորձել կրկին ավելի ուշ"
+ },
+ "entryHeader": {
+ "draft": "Սևագիր",
+ "editing": "Խմբագրում",
+ "published": "Հրապարակված",
+ "archived": "Արխիվացված է",
+ "untranslated": "Անթարգմանված",
+ "unpublished": "Չհրապարակված",
+ "revision": "Վերանայում",
+ "showMenu": "Ցուցադրել ցանկը",
+ "hideMenu": "Թաքցնել ցանկը",
+ "removeDraft": "Հեռացնել նախագիծը",
+ "replace": "Փոխարինել",
+ "delete": "Ջնջել",
+ "unpublish": "Հրապարակումը չեղարկել",
+ "archive": "Արխիվ",
+ "publish": "Հրապարակել",
+ "showHistory": "Ցուցադրել պատմությունը",
+ "hideHistory": "Թաքցնել պատմությունը",
+ "draftAvailable": "Ավելի նոր նախագծի տարբերակը հասանելի է",
+ "translateFrom": "Թարգմանել",
+ "translateParent": "Սկզբում թարգմանեք մայր էջը",
+ "discard": "Հրաժարվել խմբագրումներից",
+ "save": "Պահպանել թարգմանությունը",
+ "saveDraft": "Պահպանել",
+ "restore": "Վերականգնել",
+ "showPreview": "Ցուցադրել նախադիտումը",
+ "hidePreview": "Թաքցնել նախադիտումը",
+ "savingDraft": "Սևագրի պահպանում",
+ "savingTranslation": "Թարգմանությունը պահպանվում է",
+ "publishingEdits": "Հրապարակման խմբագրումներ",
+ "restoringRevision": "Վերանայման վերականգնում",
+ "publishingDraft": "Հրատարակչական նախագիծ",
+ "unpublishingDraft": "Հրապարակման հանում նախագծից",
+ "discardingDraft": "Սևագիրը մերժվում է",
+ "archivingPublished": "Արխիվացումը հրապարակված է",
+ "publishingArchived": "Հրատարակությունը արխիվացված է",
+ "deletingFile": "Ֆայլը ջնջվում է",
+ "deletingEntry": "Ջնջել գրառումը"
+ },
+ "contentView": {
+ "create": "Ստեղծել նորը"
+ },
+ "welcome": {
+ "title": "Ձեր alinea տեղադրումը այժմ պատրաստ է կարգավորման համար։",
+ "button": "Իմացեք, թե ինչպես կարգավորել"
+ },
+ "cloudAuthView": {
+ "title": "Պարբերություն",
+ "deploy": "Պատրա՞ստ եք տեղակայելու:",
+ "requiresHandler": "Ալինեան շարունակելու համար մշակողի կարիք ունի",
+ "backend": "Alinea-ն շարունակելու համար պահանջում է ներքին համակարգ։",
+ "customBackend": "լիովին կարգավորել անհատական backend-ը",
+ "cloud": "Կամ մի քանի սեղմումով տեղադրվեք մեր ամպային առաջարկի միջոցով։",
+ "cloudButton": "Շարունակեք alinea.cloud-ով"
+ },
+ "sidebarSettings": {
+ "settings": "Կարգավորումներ",
+ "defaultWorkspace": "Լռելյայն աշխատանքային տարածք",
+ "theme": "Փոխել թեման",
+ "fontSize": "Տառատեսակի չափսը",
+ "decreaseFontSize": "Փոքրացնել տառատեսակի չափը",
+ "increaseFontSize": "Մեծացնել տառատեսակի չափը",
+ "logout": "Ելք"
+ },
+ "fileUploader": {
+ "uploadComplete": "Բեռնումներն ավարտված են՝ {{amount}}",
+ "uploading": "Ֆայլերի վերբեռնում՝ {{amount}}",
+ "upload": "Ֆայլերի վերբեռնում"
+ },
+ "fileUploadRow": {
+ "alt": "Վերբեռնված ֆայլ",
+ "done": "Կատարված է"
+ },
+ "fileEntry": {
+ "preview": "Մեդիա ֆայլի նախադիտում",
+ "extension": "Ընդլայնում",
+ "fileSize": "Ֆայլի չափը",
+ "dimensions": "Չափսեր",
+ "pixels": "պիքսելներ",
+ "url": "URL",
+ "focus": "Կիզակետ",
+ "focusHelp": "Սեղմեք պատկերի վրա՝ կիզակետը փոխելու համար"
+ },
+ "cardOverview": {
+ "title": "քարտ"
+ },
+ "explorer": {
+ "noResults": "Արդյունքներ չկան"
+ },
+ "editModeToggle": {
+ "edit": "Խմբագրել",
+ "review": "Վերանայել փոփոխությունները"
+ },
+ "searchBox": {
+ "search": "Որոնում"
+ },
+ "rootOverview": {
+ "instruction": "Ընտրեք գրառում ձախ կողմում գտնվող նավիգացիոն ծառում՝ խմբագրումը սկսելու համար"
+ },
+ "inputLabel": {
+ "readonly": "Միայն ընթերցման համար",
+ "shared": "Համօգտագործված"
+ },
+ "errorBoundary": {
+ "title": "Սխալ",
+ "oops": "Վա՜յ, ինչ-որ բան սխալ է գնացել",
+ "close": "Փակման սխալ",
+ "issue": "Ստեղծել խնդիր"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Լռելյայն աշխատանքային տարածք",
+ "logout": "Ելք"
+ },
+ "listField": {
+ "reorder": "Քաշեք և գցեք՝ վերադասավորելու համար",
+ "copy": "Պատճենել բլոկը",
+ "moveUp": "Մեկ դիրքով վերև շարժվել",
+ "moveDown": "Մեկ դիրքով ներքև իջնել",
+ "delete": "Ջնջել բլոկը",
+ "paste": "Տեղադրել բլոկը",
+ "add": "Տեղադրեք նոր բլոկ"
+ },
+ "metadataField": {
+ "previewTitle": "Նախադիտում",
+ "searchEngine": "Որոնողական համակարգ",
+ "socialShare": "Սոցցանցերում կիսվել",
+ "ogImageAlt": "Բացել գրաֆիկի պատկերը"
+ },
+ "pickTextLink": {
+ "title": "Ընտրեք հղումը",
+ "link": "Հղում",
+ "description": "Նկարագրություն",
+ "descriptionHelp": "Հղման տարրի ներսում ցուցադրվող տեքստ",
+ "tooltip": "Հուշում",
+ "tooltipHelp": "Լրացուցիչ տեղեկություններ, որոնք նկարագրում են հղումը, ցուցադրվում են մկնիկի կուրսորը պահելիս",
+ "newTab": "Բացել հղումը նոր ներդիրում",
+ "remove": "Հեռացնել հղումը",
+ "cancel": "Չեղարկել",
+ "confirm": "Հաստատել"
+ },
+ "richTextField": {
+ "insert": "Տեղադրեք բլոկ"
+ },
+ "richTextToolbar": {
+ "styles": "Վերնագիր/պարբերություն",
+ "table": "Սեղան",
+ "bold": "Թավատառ",
+ "italic": "Իտալիկ",
+ "align": "Հավասարեցում",
+ "alignLeft": "Հավասարեցնել ձախ կողմում",
+ "alignCenter": "Հավասարեցնել կենտրոնում",
+ "alignRight": "Հավասարեցնել աջ",
+ "alignJustify": "Հավասարեցնել ուղիղ գծով",
+ "clear": "Մաքրել ձևաչափը",
+ "bulletList": "Կետերի ցանկ",
+ "orderedList": "Դասավորված ցանկ",
+ "link": "Հղում",
+ "quote": "Բլոկային մեջբերում",
+ "rule": "Հորիզոնական կանոն",
+ "small": "Փոքր",
+ "sub": "Ենթագրային",
+ "sup": "Վերին ցուցիչ",
+ "paragraph": "Սովորական տեքստ",
+ "h1": "Վերնագիր 1",
+ "h2": "Վերնագիր 2",
+ "h3": "Վերնագիր 3",
+ "h4": "Վերնագիր 4",
+ "h5": "Վերնագիր 5",
+ "tableLabel": "Սեղան",
+ "insert": "Աղյուսակի տեղադրում",
+ "insertRowBefore": "Տող զետեղել նախքան",
+ "insertRowAfter": "Տող տեղադրել հետո",
+ "deleteRow": "Ջնջել տողը",
+ "toggleHeaderRow": "Վերնագրի տողը միացնել/անջատել",
+ "insertColumnBefore": "Տեղադրեք սյունակը նախքան",
+ "insertColumnAfter": "Տեղադրեք սյունակ հետո",
+ "deleteColumn": "Ջնջել սյունակը",
+ "deleteTable": "Ջնջել աղյուսակը",
+ "left": "Ձախ",
+ "center": "Կենտրոն",
+ "right": "Աջ",
+ "justify": "Հավասարեցնել"
+ },
+ "linkField": {
+ "reorder": "Քաշեք և գցեք՝ վերադասավորելու համար",
+ "open": "Բացել հղումը նոր ներդիրում",
+ "openFile": "Բացել մեդիա ֆայլը նոր ներդիրում",
+ "edit": "Խմբագրել հղումը",
+ "editFile": "Փոխել պատկերը",
+ "delete": "Ջնջել հղումը",
+ "deleteFile": "Ջնջել պատկերը"
+ },
+ "entryPicker": {
+ "title": "Ընտրեք հղում",
+ "searchPlaceholder": "Որոնում",
+ "cancel": "Չեղարկել",
+ "confirm": "Հաստատել"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/it.json b/src/translations/it.json
new file mode 100644
index 000000000..9ecd77caa
--- /dev/null
+++ b/src/translations/it.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Sincronizzazione",
+ "synced": "Sincronizzato",
+ "saving": "Risparmio…"
+ },
+ "urlPicker": {
+ "title": "Collegamento",
+ "url": "URL",
+ "urlHelp": "URL del collegamento",
+ "description": "Descrizione",
+ "descriptionHelp": "Testo da visualizzare all'interno dell'elemento link",
+ "target": "Bersaglio",
+ "targetDescription": "Apri il collegamento in una nuova scheda",
+ "cancel": "Cancellare",
+ "confirm": "Confermare"
+ },
+ "pickLink": {
+ "title": "Seleziona collegamento",
+ "link": "Collegamento",
+ "description": "Descrizione",
+ "descriptionHelp": "Testo da visualizzare all'interno dell'elemento link",
+ "tooltip": "Suggerimento",
+ "tooltipHelp": "Informazioni aggiuntive che descrivono il collegamento, mostrate al passaggio del mouse",
+ "newTab": "Apri il collegamento in una nuova scheda",
+ "remove": "Rimuovi collegamento",
+ "cancel": "Cancellare",
+ "confirm": "Confermare"
+ },
+ "newEntry": {
+ "title": "Titolo",
+ "parent": "Genitore",
+ "type": "Seleziona il tipo",
+ "order": "Inserisci ordine",
+ "orderFirst": "In cima alla lista",
+ "orderLast": "In fondo alla lista",
+ "copyFrom": "Copia il contenuto da",
+ "formTitle": "Nuova voce",
+ "cancel": "Cancellare",
+ "create": "Creare"
+ },
+ "entryEdit": {
+ "blockingTitle": "Vuoi davvero annullare le modifiche?",
+ "blockingWarning": "Questo documento è stato modificato",
+ "blockingPrompt": "Vuoi salvare le modifiche?",
+ "blockingDiscard": "Ignora le mie modifiche",
+ "blockingSaveDraft": "Salva come bozza",
+ "blockingPublishChanges": "Pubblica le modifiche",
+ "untranslatedTitle": "Non tradotto",
+ "untranslatedParent": "Tradurre prima la pagina padre.",
+ "untranslatedPrompt": "Inserisci i dettagli qui sotto e salva per iniziare la traduzione.",
+ "draftError": "Impossibile completare l'azione di bozza, riprovare più tardi",
+ "saveTranslationError": "Impossibile completare l'azione di traduzione, riprovare più tardi",
+ "publishError": "Impossibile completare l'azione di pubblicazione, riprovare più tardi",
+ "discardError": "Impossibile ignorare le modifiche, riprova più tardi",
+ "unpublishError": "Impossibile completare l'azione di annullamento della pubblicazione. Riprova più tardi.",
+ "deleteError": "Impossibile completare l'azione di eliminazione, riprovare più tardi",
+ "archiveError": "Impossibile completare l'azione di archiviazione, riprovare più tardi"
+ },
+ "entryHeader": {
+ "draft": "Bozza",
+ "editing": "Modifica",
+ "published": "Pubblicato",
+ "archived": "Archiviato",
+ "untranslated": "Non tradotto",
+ "unpublished": "Non pubblicato",
+ "revision": "Revisione",
+ "showMenu": "Visualizza il menu",
+ "hideMenu": "Nascondi il menu",
+ "removeDraft": "Rimuovi bozza",
+ "replace": "Sostituire",
+ "delete": "Eliminare",
+ "unpublish": "Annulla pubblicazione",
+ "archive": "Archivio",
+ "publish": "Pubblicare",
+ "showHistory": "Mostra cronologia",
+ "hideHistory": "Nascondi cronologia",
+ "draftAvailable": "È disponibile una versione bozza più recente",
+ "translateFrom": "Traduci da",
+ "translateParent": "Traduci prima la pagina padre",
+ "discard": "Ignora modifiche",
+ "save": "Salva la traduzione",
+ "saveDraft": "Salva",
+ "restore": "Ripristinare",
+ "showPreview": "Visualizza anteprima",
+ "hidePreview": "Nascondi anteprima",
+ "savingDraft": "Bozza di risparmio",
+ "savingTranslation": "Salvataggio della traduzione",
+ "publishingEdits": "Pubblicazione delle modifiche",
+ "restoringRevision": "Ripristino della revisione",
+ "publishingDraft": "Bozza di pubblicazione",
+ "unpublishingDraft": "Bozza di annullamento della pubblicazione",
+ "discardingDraft": "Scartare la bozza",
+ "archivingPublished": "Archiviazione pubblicata",
+ "publishingArchived": "Pubblicazione archiviata",
+ "deletingFile": "Eliminazione del file",
+ "deletingEntry": "Elimina voce"
+ },
+ "contentView": {
+ "create": "Crea nuovo"
+ },
+ "welcome": {
+ "title": "L'installazione di alinea è ora pronta per la configurazione.",
+ "button": "Scopri come configurare"
+ },
+ "cloudAuthView": {
+ "title": "Paragrafo",
+ "deploy": "Pronti per la distribuzione?",
+ "requiresHandler": "Alinea richiede un gestore per continuare",
+ "backend": "Alinea necessita di un backend per continuare.",
+ "customBackend": "configurare completamente un backend personalizzato",
+ "cloud": "Oppure configuralo in pochi clic con la nostra offerta cloud.",
+ "cloudButton": "Continua con alinea.cloud"
+ },
+ "sidebarSettings": {
+ "settings": "Impostazioni",
+ "defaultWorkspace": "Area di lavoro predefinita",
+ "theme": "Cambia tema",
+ "fontSize": "Dimensione del carattere",
+ "decreaseFontSize": "Diminuire la dimensione del carattere",
+ "increaseFontSize": "Aumenta la dimensione del carattere",
+ "logout": "Esci"
+ },
+ "fileUploader": {
+ "uploadComplete": "Caricamenti completati: {{amount}}",
+ "uploading": "Caricamento file: {{amount}}",
+ "upload": "Carica file"
+ },
+ "fileUploadRow": {
+ "alt": "File caricato",
+ "done": "Fatto"
+ },
+ "fileEntry": {
+ "preview": "Anteprima del file multimediale",
+ "extension": "Estensione",
+ "fileSize": "Dimensione del file",
+ "dimensions": "Dimensioni",
+ "pixels": "pixel",
+ "url": "URL",
+ "focus": "Punto focale",
+ "focusHelp": "Fare clic sull'immagine per cambiare il punto di messa a fuoco"
+ },
+ "cardOverview": {
+ "title": "carta"
+ },
+ "explorer": {
+ "noResults": "Nessun risultato"
+ },
+ "editModeToggle": {
+ "edit": "Modificare",
+ "review": "Rivedi le modifiche"
+ },
+ "searchBox": {
+ "search": "Ricerca"
+ },
+ "rootOverview": {
+ "instruction": "Seleziona una voce nell'albero di navigazione a sinistra per iniziare la modifica."
+ },
+ "inputLabel": {
+ "readonly": "Di sola lettura",
+ "shared": "Condiviso"
+ },
+ "errorBoundary": {
+ "title": "Errore",
+ "oops": "Oops, qualcosa è andato storto",
+ "close": "Errore di chiusura",
+ "issue": "Crea un problema"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Area di lavoro predefinita",
+ "logout": "Esci"
+ },
+ "listField": {
+ "reorder": "Trascina e rilascia per riordinare",
+ "copy": "Copia blocco",
+ "moveUp": "Salire di una posizione",
+ "moveDown": "Spostarsi verso il basso di una posizione",
+ "delete": "Elimina blocco",
+ "paste": "Incolla blocco",
+ "add": "Inserisci nuovo blocco"
+ },
+ "metadataField": {
+ "previewTitle": "Anteprima",
+ "searchEngine": "Motore di ricerca",
+ "socialShare": "Condivisione sociale",
+ "ogImageAlt": "Immagine Open Graph"
+ },
+ "pickTextLink": {
+ "title": "Seleziona collegamento",
+ "link": "Collegamento",
+ "description": "Descrizione",
+ "descriptionHelp": "Testo da visualizzare all'interno dell'elemento link",
+ "tooltip": "Suggerimento",
+ "tooltipHelp": "Informazioni aggiuntive che descrivono il collegamento, mostrate al passaggio del mouse",
+ "newTab": "Apri il collegamento in una nuova scheda",
+ "remove": "Rimuovi collegamento",
+ "cancel": "Cancellare",
+ "confirm": "Confermare"
+ },
+ "richTextField": {
+ "insert": "Inserisci blocco"
+ },
+ "richTextToolbar": {
+ "styles": "Titolo/paragrafo",
+ "table": "Tavolo",
+ "bold": "Grassetto",
+ "italic": "Corsivo",
+ "align": "Allineamento",
+ "alignLeft": "Allinea a sinistra",
+ "alignCenter": "Allinea il centro",
+ "alignRight": "Allinea a destra",
+ "alignJustify": "Allinea giustificato",
+ "clear": "Formato chiaro",
+ "bulletList": "Elenco puntato",
+ "orderedList": "Elenco ordinato",
+ "link": "Collegamento",
+ "quote": "Citazione a blocchi",
+ "rule": "Regola orizzontale",
+ "small": "Piccolo",
+ "sub": "Pedice",
+ "sup": "Apice",
+ "paragraph": "Testo normale",
+ "h1": "Titolo 1",
+ "h2": "Titolo 2",
+ "h3": "Titolo 3",
+ "h4": "Titolo 4",
+ "h5": "Titolo 5",
+ "tableLabel": "Tavolo",
+ "insert": "Inserisci tabella",
+ "insertRowBefore": "Inserisci riga prima",
+ "insertRowAfter": "Inserisci riga dopo",
+ "deleteRow": "Elimina riga",
+ "toggleHeaderRow": "Attiva/disattiva la riga dell'intestazione",
+ "insertColumnBefore": "Inserisci colonna prima",
+ "insertColumnAfter": "Inserisci colonna dopo",
+ "deleteColumn": "Elimina colonna",
+ "deleteTable": "Elimina tabella",
+ "left": "Sinistra",
+ "center": "Centro",
+ "right": "Giusto",
+ "justify": "Giustificare"
+ },
+ "linkField": {
+ "reorder": "Trascina e rilascia per riordinare",
+ "open": "Apri il collegamento in una nuova scheda",
+ "openFile": "Apri il file multimediale in una nuova scheda",
+ "edit": "Modifica collegamento",
+ "editFile": "Cambia immagine",
+ "delete": "Elimina collegamento",
+ "deleteFile": "Elimina immagine"
+ },
+ "entryPicker": {
+ "title": "Seleziona un riferimento",
+ "searchPlaceholder": "Ricerca",
+ "cancel": "Cancellare",
+ "confirm": "Confermare"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/ja.json b/src/translations/ja.json
new file mode 100644
index 000000000..c48d6614f
--- /dev/null
+++ b/src/translations/ja.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "同期中",
+ "synced": "同期済み",
+ "saving": "保存中…"
+ },
+ "urlPicker": {
+ "title": "リンク",
+ "url": "URL",
+ "urlHelp": "リンクのURL",
+ "description": "説明",
+ "descriptionHelp": "リンク要素内に表示するテキスト",
+ "target": "ターゲット",
+ "targetDescription": "リンクを新しいタブで開く",
+ "cancel": "キャンセル",
+ "confirm": "確認する"
+ },
+ "pickLink": {
+ "title": "リンクを選択",
+ "link": "リンク",
+ "description": "説明",
+ "descriptionHelp": "リンク要素内に表示するテキスト",
+ "tooltip": "ツールチップ",
+ "tooltipHelp": "リンクを説明する追加情報(マウスオーバー時に表示される)",
+ "newTab": "リンクを新しいタブで開く",
+ "remove": "リンクを削除",
+ "cancel": "キャンセル",
+ "confirm": "確認する"
+ },
+ "newEntry": {
+ "title": "タイトル",
+ "parent": "親",
+ "type": "タイプを選択",
+ "order": "注文を挿入",
+ "orderFirst": "リストの一番上に",
+ "orderLast": "リストの一番下",
+ "copyFrom": "コンテンツをコピー",
+ "formTitle": "新規エントリー",
+ "cancel": "キャンセル",
+ "create": "作成する"
+ },
+ "entryEdit": {
+ "blockingTitle": "変更を破棄してもよろしいですか?",
+ "blockingWarning": "この文書は変更されました",
+ "blockingPrompt": "変更を保存しますか?",
+ "blockingDiscard": "変更を破棄",
+ "blockingSaveDraft": "下書きとして保存",
+ "blockingPublishChanges": "変更を公開する",
+ "untranslatedTitle": "未翻訳",
+ "untranslatedParent": "まず親ページを翻訳します。",
+ "untranslatedPrompt": "以下の詳細を入力して保存し、翻訳を開始してください。",
+ "draftError": "下書き操作を完了できませんでした。しばらくしてからもう一度お試しください。",
+ "saveTranslationError": "翻訳操作を完了できませんでした。しばらくしてからもう一度お試しください。",
+ "publishError": "公開操作を完了できませんでした。しばらくしてからもう一度お試しください。",
+ "discardError": "変更を破棄できませんでした。後でもう一度お試しください。",
+ "unpublishError": "非公開操作を完了できませんでした。しばらくしてからもう一度お試しください。",
+ "deleteError": "削除操作を完了できませんでした。しばらくしてからもう一度お試しください。",
+ "archiveError": "アーカイブ操作を完了できませんでした。しばらくしてからもう一度お試しください。"
+ },
+ "entryHeader": {
+ "draft": "下書き",
+ "editing": "編集",
+ "published": "出版",
+ "archived": "アーカイブ済み",
+ "untranslated": "未翻訳",
+ "unpublished": "未発表",
+ "revision": "リビジョン",
+ "showMenu": "表示メニュー",
+ "hideMenu": "メニューを非表示",
+ "removeDraft": "下書きを削除",
+ "replace": "交換する",
+ "delete": "消去",
+ "unpublish": "非公開",
+ "archive": "アーカイブ",
+ "publish": "公開",
+ "showHistory": "履歴を表示",
+ "hideHistory": "履歴を非表示",
+ "draftAvailable": "新しいドラフト版が利用可能です",
+ "translateFrom": "翻訳元",
+ "translateParent": "親ページを最初に翻訳する",
+ "discard": "編集を破棄",
+ "save": "翻訳を保存",
+ "saveDraft": "保存",
+ "restore": "復元する",
+ "showPreview": "プレビューを表示",
+ "hidePreview": "プレビューを非表示",
+ "savingDraft": "下書きを保存しています",
+ "savingTranslation": "翻訳を保存しています",
+ "publishingEdits": "編集内容の公開",
+ "restoringRevision": "復元リビジョン",
+ "publishingDraft": "公開草稿",
+ "unpublishingDraft": "下書きを非公開にする",
+ "discardingDraft": "ドラフトの破棄",
+ "archivingPublished": "アーカイブ公開",
+ "publishingArchived": "出版アーカイブ",
+ "deletingFile": "ファイルを削除しています",
+ "deletingEntry": "エントリを削除"
+ },
+ "contentView": {
+ "create": "新規作成"
+ },
+ "welcome": {
+ "title": "これで、alinea インストールの構成準備が整いました。",
+ "button": "設定方法を学ぶ"
+ },
+ "cloudAuthView": {
+ "title": "段落",
+ "deploy": "展開する準備はできましたか?",
+ "requiresHandler": "Alinea を続行するにはハンドラーが必要です",
+ "backend": "Alinea を続行するにはバックエンドが必要です。",
+ "customBackend": "カスタムバックエンドを完全に構成する",
+ "cloud": "または、当社のクラウド サービスを使用して、数回のクリックでセットアップできます。",
+ "cloudButton": "alinea.cloud を続ける"
+ },
+ "sidebarSettings": {
+ "settings": "設定",
+ "defaultWorkspace": "デフォルトのワークスペース",
+ "theme": "テーマを切り替える",
+ "fontSize": "フォントサイズ",
+ "decreaseFontSize": "フォントサイズを小さくする",
+ "increaseFontSize": "フォントサイズを大きくする",
+ "logout": "ログアウト"
+ },
+ "fileUploader": {
+ "uploadComplete": "アップロードが完了しました: {{amount}}",
+ "uploading": "ファイルをアップロードしています: {{amount}}",
+ "upload": "ファイルをアップロードする"
+ },
+ "fileUploadRow": {
+ "alt": "アップロードされたファイル",
+ "done": "終わり"
+ },
+ "fileEntry": {
+ "preview": "メディアファイルのプレビュー",
+ "extension": "拡大",
+ "fileSize": "ファイルサイズ",
+ "dimensions": "寸法",
+ "pixels": "ピクセル",
+ "url": "URL",
+ "focus": "焦点",
+ "focusHelp": "画像をクリックすると焦点位置が変更されます"
+ },
+ "cardOverview": {
+ "title": "カード"
+ },
+ "explorer": {
+ "noResults": "結果なし"
+ },
+ "editModeToggle": {
+ "edit": "編集",
+ "review": "変更を確認する"
+ },
+ "searchBox": {
+ "search": "検索"
+ },
+ "rootOverview": {
+ "instruction": "左側のナビゲーションツリーからエントリを選択して編集を開始します"
+ },
+ "inputLabel": {
+ "readonly": "読み取り専用",
+ "shared": "共有"
+ },
+ "errorBoundary": {
+ "title": "エラー",
+ "oops": "申し訳ありません。問題が発生しました",
+ "close": "エラーを閉じる",
+ "issue": "問題を作成する"
+ },
+ "toolbar": {
+ "defaultWorkspace": "デフォルトのワークスペース",
+ "logout": "ログアウト"
+ },
+ "listField": {
+ "reorder": "ドラッグアンドドロップで並べ替え",
+ "copy": "コピーブロック",
+ "moveUp": "1つ上のポジションへ移動",
+ "moveDown": "1つ下に移動",
+ "delete": "ブロックを削除",
+ "paste": "ブロックを貼り付ける",
+ "add": "新しいブロックを挿入"
+ },
+ "metadataField": {
+ "previewTitle": "プレビュー",
+ "searchEngine": "検索エンジン",
+ "socialShare": "ソーシャルシェア",
+ "ogImageAlt": "オープングラフ画像"
+ },
+ "pickTextLink": {
+ "title": "リンクを選択",
+ "link": "リンク",
+ "description": "説明",
+ "descriptionHelp": "リンク要素内に表示するテキスト",
+ "tooltip": "ツールチップ",
+ "tooltipHelp": "リンクを説明する追加情報(マウスオーバー時に表示される)",
+ "newTab": "リンクを新しいタブで開く",
+ "remove": "リンクを削除",
+ "cancel": "キャンセル",
+ "confirm": "確認する"
+ },
+ "richTextField": {
+ "insert": "ブロックを挿入"
+ },
+ "richTextToolbar": {
+ "styles": "見出し/段落",
+ "table": "テーブル",
+ "bold": "大胆な",
+ "italic": "イタリック",
+ "align": "アライメント",
+ "alignLeft": "左揃え",
+ "alignCenter": "中央揃え",
+ "alignRight": "右揃え",
+ "alignJustify": "両端揃え",
+ "clear": "フォーマットをクリア",
+ "bulletList": "箇条書きリスト",
+ "orderedList": "順序付きリスト",
+ "link": "リンク",
+ "quote": "引用ブロック",
+ "rule": "水平線",
+ "small": "小さい",
+ "sub": "添字",
+ "sup": "上付き文字",
+ "paragraph": "通常のテキスト",
+ "h1": "見出し1",
+ "h2": "見出し2",
+ "h3": "見出し3",
+ "h4": "見出し4",
+ "h5": "見出し5",
+ "tableLabel": "テーブル",
+ "insert": "表を挿入",
+ "insertRowBefore": "前に行を挿入",
+ "insertRowAfter": "後に行を挿入",
+ "deleteRow": "行を削除",
+ "toggleHeaderRow": "ヘッダー行を切り替える",
+ "insertColumnBefore": "前に列を挿入",
+ "insertColumnAfter": "列を挿入",
+ "deleteColumn": "列を削除",
+ "deleteTable": "テーブルを削除",
+ "left": "左",
+ "center": "中心",
+ "right": "右",
+ "justify": "正当化する"
+ },
+ "linkField": {
+ "reorder": "ドラッグアンドドロップで並べ替え",
+ "open": "リンクを新しいタブで開く",
+ "openFile": "新しいタブでメディアファイルを開く",
+ "edit": "リンクを編集",
+ "editFile": "画像を変更",
+ "delete": "リンクを削除",
+ "deleteFile": "画像を削除"
+ },
+ "entryPicker": {
+ "title": "参照を選択",
+ "searchPlaceholder": "検索",
+ "cancel": "キャンセル",
+ "confirm": "確認する"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/ko.json b/src/translations/ko.json
new file mode 100644
index 000000000..efb0ea78b
--- /dev/null
+++ b/src/translations/ko.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "동기화 중",
+ "synced": "동기화됨",
+ "saving": "절약…"
+ },
+ "urlPicker": {
+ "title": "링크",
+ "url": "URL",
+ "urlHelp": "링크의 URL",
+ "description": "설명",
+ "descriptionHelp": "링크 요소 내부에 표시할 텍스트",
+ "target": "목표",
+ "targetDescription": "새 탭에서 링크 열기",
+ "cancel": "취소",
+ "confirm": "확인하다"
+ },
+ "pickLink": {
+ "title": "링크 선택",
+ "link": "링크",
+ "description": "설명",
+ "descriptionHelp": "링크 요소 내부에 표시할 텍스트",
+ "tooltip": "도구 설명",
+ "tooltipHelp": "링크를 설명하는 추가 정보(호버 시 표시됨)",
+ "newTab": "새 탭에서 링크 열기",
+ "remove": "링크 제거",
+ "cancel": "취소",
+ "confirm": "확인하다"
+ },
+ "newEntry": {
+ "title": "제목",
+ "parent": "조상",
+ "type": "유형을 선택하세요",
+ "order": "삽입 주문",
+ "orderFirst": "목록의 맨 위에",
+ "orderLast": "목록의 맨 아래에",
+ "copyFrom": "콘텐츠 복사",
+ "formTitle": "새로운 항목",
+ "cancel": "취소",
+ "create": "만들다"
+ },
+ "entryEdit": {
+ "blockingTitle": "변경 사항을 취소하시겠습니까?",
+ "blockingWarning": "이 문서는 변경되었습니다",
+ "blockingPrompt": "변경 사항을 저장하시겠습니까?",
+ "blockingDiscard": "내 변경 사항 취소",
+ "blockingSaveDraft": "초안으로 저장",
+ "blockingPublishChanges": "변경 사항 게시",
+ "untranslatedTitle": "번역되지 않음",
+ "untranslatedParent": "먼저 상위 페이지를 번역하세요.",
+ "untranslatedPrompt": "아래에 세부 정보를 입력하고 저장하여 번역을 시작하세요.",
+ "draftError": "초안 작업을 완료할 수 없습니다. 나중에 다시 시도하세요.",
+ "saveTranslationError": "번역 작업을 완료할 수 없습니다. 나중에 다시 시도하세요.",
+ "publishError": "게시 작업을 완료할 수 없습니다. 나중에 다시 시도하세요.",
+ "discardError": "변경 사항을 삭제할 수 없습니다. 나중에 다시 시도하세요.",
+ "unpublishError": "게시 취소 작업을 완료할 수 없습니다. 나중에 다시 시도하세요.",
+ "deleteError": "삭제 작업을 완료할 수 없습니다. 나중에 다시 시도하세요.",
+ "archiveError": "보관 작업을 완료할 수 없습니다. 나중에 다시 시도하세요."
+ },
+ "entryHeader": {
+ "draft": "초안",
+ "editing": "편집 중",
+ "published": "게시됨",
+ "archived": "보관됨",
+ "untranslated": "번역되지 않음",
+ "unpublished": "널리 알려지지 않은",
+ "revision": "개정",
+ "showMenu": "디스플레이 메뉴",
+ "hideMenu": "메뉴 숨기기",
+ "removeDraft": "초안 제거",
+ "replace": "바꾸다",
+ "delete": "삭제",
+ "unpublish": "게시 취소",
+ "archive": "보관소",
+ "publish": "게시하다",
+ "showHistory": "기록 보기",
+ "hideHistory": "기록 숨기기",
+ "draftAvailable": "최신 초안 버전이 출시되었습니다.",
+ "translateFrom": "번역에서",
+ "translateParent": "먼저 상위 페이지를 번역하세요",
+ "discard": "편집 내용 취소",
+ "save": "번역 저장",
+ "saveDraft": "구하다",
+ "restore": "복원하다",
+ "showPreview": "미리보기 표시",
+ "hidePreview": "미리보기 숨기기",
+ "savingDraft": "초안 저장",
+ "savingTranslation": "번역 저장 중",
+ "publishingEdits": "편집 내용 게시",
+ "restoringRevision": "개정판 복원",
+ "publishingDraft": "초안 출판",
+ "unpublishingDraft": "초안 게시 취소",
+ "discardingDraft": "초안 폐기",
+ "archivingPublished": "게시된 보관함",
+ "publishingArchived": "게시됨 보관됨",
+ "deletingFile": "파일 삭제",
+ "deletingEntry": "항목 삭제"
+ },
+ "contentView": {
+ "create": "새로 만들기"
+ },
+ "welcome": {
+ "title": "이제 Alinea 설치를 구성할 준비가 되었습니다.",
+ "button": "구성 방법을 알아보세요"
+ },
+ "cloudAuthView": {
+ "title": "절",
+ "deploy": "배치할 준비가 되셨나요?",
+ "requiresHandler": "Alinea는 계속하려면 핸들러가 필요합니다.",
+ "backend": "Alinea를 계속 사용하려면 백엔드가 필요합니다.",
+ "customBackend": "사용자 정의 백엔드를 완벽하게 구성",
+ "cloud": "또는 클라우드 서비스를 이용해 몇 번의 클릭만으로 설정을 완료하세요.",
+ "cloudButton": "alinea.cloud로 계속 진행하세요"
+ },
+ "sidebarSettings": {
+ "settings": "설정",
+ "defaultWorkspace": "기본 작업 공간",
+ "theme": "테마 전환",
+ "fontSize": "글꼴 크기",
+ "decreaseFontSize": "글꼴 크기 줄이기",
+ "increaseFontSize": "글꼴 크기 늘리기",
+ "logout": "로그아웃"
+ },
+ "fileUploader": {
+ "uploadComplete": "업로드 완료: {{amount}}",
+ "uploading": "파일 업로드 중: {{amount}}",
+ "upload": "파일 업로드"
+ },
+ "fileUploadRow": {
+ "alt": "업로드된 파일",
+ "done": "완료"
+ },
+ "fileEntry": {
+ "preview": "미디어 파일 미리보기",
+ "extension": "확대",
+ "fileSize": "파일 크기",
+ "dimensions": "치수",
+ "pixels": "픽셀",
+ "url": "URL",
+ "focus": "초점 포인트",
+ "focusHelp": "이미지를 클릭하여 초점 포인트를 변경하세요"
+ },
+ "cardOverview": {
+ "title": "카드"
+ },
+ "explorer": {
+ "noResults": "결과가 없습니다"
+ },
+ "editModeToggle": {
+ "edit": "편집하다",
+ "review": "변경 사항 검토"
+ },
+ "searchBox": {
+ "search": "찾다"
+ },
+ "rootOverview": {
+ "instruction": "왼쪽 탐색 트리에서 항목을 선택하여\n편집을 시작하세요."
+ },
+ "inputLabel": {
+ "readonly": "읽기 전용",
+ "shared": "공유됨"
+ },
+ "errorBoundary": {
+ "title": "오류",
+ "oops": "앗, 뭔가 잘못됐어요",
+ "close": "닫기 오류",
+ "issue": "이슈 생성"
+ },
+ "toolbar": {
+ "defaultWorkspace": "기본 작업 공간",
+ "logout": "로그아웃"
+ },
+ "listField": {
+ "reorder": "드래그 앤 드롭으로 재정렬",
+ "copy": "블록 복사",
+ "moveUp": "한 단계 위로 이동",
+ "moveDown": "한 단계 아래로 이동",
+ "delete": "블록 삭제",
+ "paste": "블록 붙여넣기",
+ "add": "새로운 블록 삽입"
+ },
+ "metadataField": {
+ "previewTitle": "시사",
+ "searchEngine": "검색 엔진",
+ "socialShare": "소셜 공유",
+ "ogImageAlt": "오픈 그래프 이미지"
+ },
+ "pickTextLink": {
+ "title": "링크 선택",
+ "link": "링크",
+ "description": "설명",
+ "descriptionHelp": "링크 요소 내부에 표시할 텍스트",
+ "tooltip": "도구 설명",
+ "tooltipHelp": "링크를 설명하는 추가 정보(호버 시 표시됨)",
+ "newTab": "새 탭에서 링크 열기",
+ "remove": "링크 제거",
+ "cancel": "취소",
+ "confirm": "확인하다"
+ },
+ "richTextField": {
+ "insert": "블록 삽입"
+ },
+ "richTextToolbar": {
+ "styles": "제목/단락",
+ "table": "테이블",
+ "bold": "용감한",
+ "italic": "이탤릭체",
+ "align": "조정",
+ "alignLeft": "왼쪽 정렬",
+ "alignCenter": "가운데 정렬",
+ "alignRight": "오른쪽 정렬",
+ "alignJustify": "정렬 정렬",
+ "clear": "명확한 형식",
+ "bulletList": "글머리 기호 목록",
+ "orderedList": "순서가 있는 목록",
+ "link": "링크",
+ "quote": "인용구",
+ "rule": "수평선",
+ "small": "작은",
+ "sub": "아래 첨자",
+ "sup": "어깨 기호",
+ "paragraph": "일반 텍스트",
+ "h1": "제목 1",
+ "h2": "제목 2",
+ "h3": "제목 3",
+ "h4": "제목 4",
+ "h5": "제목 5",
+ "tableLabel": "테이블",
+ "insert": "표 삽입",
+ "insertRowBefore": "행을 앞에 삽입",
+ "insertRowAfter": "행 삽입",
+ "deleteRow": "행 삭제",
+ "toggleHeaderRow": "헤더 행 전환",
+ "insertColumnBefore": "열 삽입 전에",
+ "insertColumnAfter": "다음에 열 삽입",
+ "deleteColumn": "열 삭제",
+ "deleteTable": "테이블 삭제",
+ "left": "왼쪽",
+ "center": "센터",
+ "right": "오른쪽",
+ "justify": "신이 옳다고 하다"
+ },
+ "linkField": {
+ "reorder": "드래그 앤 드롭으로 순서를 변경하세요",
+ "open": "새 탭에서 링크 열기",
+ "openFile": "새 탭에서 미디어 파일 열기",
+ "edit": "링크 편집",
+ "editFile": "이미지 변경",
+ "delete": "링크 삭제",
+ "deleteFile": "이미지 삭제"
+ },
+ "entryPicker": {
+ "title": "참조를 선택하세요",
+ "searchPlaceholder": "찾다",
+ "cancel": "취소",
+ "confirm": "확인하다"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/lt.json b/src/translations/lt.json
new file mode 100644
index 000000000..0ad929987
--- /dev/null
+++ b/src/translations/lt.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Sinchronizuojama",
+ "synced": "Sinchronizuota",
+ "saving": "Įrašoma…"
+ },
+ "urlPicker": {
+ "title": "Nuoroda",
+ "url": "URL",
+ "urlHelp": "Nuorodos URL adresas",
+ "description": "Aprašymas",
+ "descriptionHelp": "Tekstas, kuris bus rodomas nuorodos elemento viduje",
+ "target": "Tikslas",
+ "targetDescription": "Atidaryti nuorodą naujame skirtuke",
+ "cancel": "Atšaukti",
+ "confirm": "Patvirtinti"
+ },
+ "pickLink": {
+ "title": "Pasirinkite nuorodą",
+ "link": "Nuoroda",
+ "description": "Aprašymas",
+ "descriptionHelp": "Tekstas, kuris bus rodomas nuorodos elemento viduje",
+ "tooltip": "Patarimas",
+ "tooltipHelp": "Papildoma informacija, apibūdinanti nuorodą, rodoma užvedus pelės žymeklį",
+ "newTab": "Atidaryti nuorodą naujame skirtuke",
+ "remove": "Pašalinti nuorodą",
+ "cancel": "Atšaukti",
+ "confirm": "Patvirtinti"
+ },
+ "newEntry": {
+ "title": "Pavadinimas",
+ "parent": "Tėvų",
+ "type": "Pasirinkite tipą",
+ "order": "Įterpti užsakymą",
+ "orderFirst": "Sąrašo viršuje",
+ "orderLast": "Sąrašo apačioje",
+ "copyFrom": "Kopijuoti turinį iš",
+ "formTitle": "Naujas įrašas",
+ "cancel": "Atšaukti",
+ "create": "Sukurti"
+ },
+ "entryEdit": {
+ "blockingTitle": "Ar tikrai norite atmesti pakeitimus?",
+ "blockingWarning": "Šis dokumentas buvo pakeistas",
+ "blockingPrompt": "Ar norite išsaugoti pakeitimus?",
+ "blockingDiscard": "Atmesti mano pakeitimus",
+ "blockingSaveDraft": "Išsaugoti kaip juodraštį",
+ "blockingPublishChanges": "Paskelbti pakeitimus",
+ "untranslatedTitle": "Neišverstas",
+ "untranslatedParent": "Pirmiausia išverskite pagrindinį puslapį.",
+ "untranslatedPrompt": "Įveskite toliau pateiktą informaciją ir išsaugokite, kad pradėtumėte versti.",
+ "draftError": "Nepavyko užbaigti juodraščio veiksmo, bandykite dar kartą vėliau",
+ "saveTranslationError": "Nepavyko užbaigti vertimo veiksmo, bandykite dar kartą vėliau",
+ "publishError": "Nepavyko užbaigti paskelbimo veiksmo, bandykite dar kartą vėliau",
+ "discardError": "Nepavyko atmesti pakeitimų, bandykite dar kartą vėliau",
+ "unpublishError": "Nepavyko atšaukti paskelbimo, bandykite dar kartą vėliau.",
+ "deleteError": "Nepavyko užbaigti trynimo veiksmo, bandykite dar kartą vėliau",
+ "archiveError": "Nepavyko užbaigti archyvavimo veiksmo, bandykite dar kartą vėliau"
+ },
+ "entryHeader": {
+ "draft": "Juodraštis",
+ "editing": "Redagavimas",
+ "published": "Paskelbta",
+ "archived": "Archyvuota",
+ "untranslated": "Neišverstas",
+ "unpublished": "Neskelbta",
+ "revision": "Pataisymas",
+ "showMenu": "Rodyti meniu",
+ "hideMenu": "Slėpti meniu",
+ "removeDraft": "Pašalinti juodraštį",
+ "replace": "Pakeisti",
+ "delete": "Ištrinti",
+ "unpublish": "Atšaukti publikavimą",
+ "archive": "Archyvas",
+ "publish": "Paskelbti",
+ "showHistory": "Rodyti istoriją",
+ "hideHistory": "Slėpti istoriją",
+ "draftAvailable": "Naujesnė juodraščio versija yra prieinama",
+ "translateFrom": "Versti iš",
+ "translateParent": "Pirmiausia išverskite pagrindinį puslapį",
+ "discard": "Atmesti redagavimus",
+ "save": "Išsaugoti vertimą",
+ "saveDraft": "Išsaugoti",
+ "restore": "Atkurti",
+ "showPreview": "Rodyti peržiūrą",
+ "hidePreview": "Slėpti peržiūrą",
+ "savingDraft": "Įrašomas juodraštis",
+ "savingTranslation": "Įrašomas vertimas",
+ "publishingEdits": "Publikuojami redagavimai",
+ "restoringRevision": "Atkuriama versija",
+ "publishingDraft": "Skelbiamo juodraščio",
+ "unpublishingDraft": "Juodraščio paskelbimo atšaukimas",
+ "discardingDraft": "Atmetamas juodraštis",
+ "archivingPublished": "Archyvuojamas publikuotas turinys",
+ "publishingArchived": "Leidimas archyvuotas",
+ "deletingFile": "Failo trynimas",
+ "deletingEntry": "Ištrinti įrašą"
+ },
+ "contentView": {
+ "create": "Sukurti naują"
+ },
+ "welcome": {
+ "title": "Jūsų „alinea“ diegimas dabar paruoštas konfigūravimui.",
+ "button": "Sužinokite, kaip konfigūruoti"
+ },
+ "cloudAuthView": {
+ "title": "Pastraipa",
+ "deploy": "Pasiruošę dislokuoti?",
+ "requiresHandler": "Alineai reikia tvarkytojo, kad galėtų tęsti",
+ "backend": "Alineai tęsti reikalinga serverio sąsaja.",
+ "customBackend": "visiškai sukonfigūruoti pasirinktinę posistemę",
+ "cloud": "Arba susikurkite vos keliais paspaudimais naudodamiesi mūsų debesijos pasiūlymu.",
+ "cloudButton": "Tęsti su alinea.cloud"
+ },
+ "sidebarSettings": {
+ "settings": "Nustatymai",
+ "defaultWorkspace": "Numatytoji darbo sritis",
+ "theme": "Perjungti temą",
+ "fontSize": "Šrifto dydis",
+ "decreaseFontSize": "Sumažinti šrifto dydį",
+ "increaseFontSize": "Padidinti šrifto dydį",
+ "logout": "Atsijungti"
+ },
+ "fileUploader": {
+ "uploadComplete": "Įkėlimai baigti: {{amount}}",
+ "uploading": "Įkeliami failai: {{amount}}",
+ "upload": "Įkelti failus"
+ },
+ "fileUploadRow": {
+ "alt": "Įkeltas failas",
+ "done": "Atlikta"
+ },
+ "fileEntry": {
+ "preview": "Medijos failo peržiūra",
+ "extension": "Pratęsimas",
+ "fileSize": "Failo dydis",
+ "dimensions": "Matmenys",
+ "pixels": "pikselių",
+ "url": "URL",
+ "focus": "Fokusavimo taškas",
+ "focusHelp": "Spustelėkite paveikslėlį, kad pakeistumėte fokusavimo tašką"
+ },
+ "cardOverview": {
+ "title": "kortelė"
+ },
+ "explorer": {
+ "noResults": "Nėra rezultatų"
+ },
+ "editModeToggle": {
+ "edit": "Redaguoti",
+ "review": "Peržiūrėti pakeitimus"
+ },
+ "searchBox": {
+ "search": "Paieška"
+ },
+ "rootOverview": {
+ "instruction": "Norėdami pradėti redaguoti, kairėje pusėje esančiame naršymo medyje pasirinkite įrašą"
+ },
+ "inputLabel": {
+ "readonly": "Tik skaitymui",
+ "shared": "Bendrinama"
+ },
+ "errorBoundary": {
+ "title": "Klaida",
+ "oops": "Oi, kažkas nutiko ne taip",
+ "close": "Uždarymo klaida",
+ "issue": "Sukurti problemą"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Numatytoji darbo sritis",
+ "logout": "Atsijungti"
+ },
+ "listField": {
+ "reorder": "Nuvilkite, kad pertvarkytumėte",
+ "copy": "Kopijavimo blokas",
+ "moveUp": "Perkelti viena pozicija aukštyn",
+ "moveDown": "Perkelti žemyn viena pozicija",
+ "delete": "Ištrinti bloką",
+ "paste": "Įklijuoti bloką",
+ "add": "Įterpti naują bloką"
+ },
+ "metadataField": {
+ "previewTitle": "Peržiūra",
+ "searchEngine": "Paieškos sistema",
+ "socialShare": "Dalintis socialiniuose tinkluose",
+ "ogImageAlt": "Atidaryti grafiko vaizdą"
+ },
+ "pickTextLink": {
+ "title": "Pasirinkite nuorodą",
+ "link": "Nuoroda",
+ "description": "Aprašymas",
+ "descriptionHelp": "Tekstas, kuris bus rodomas nuorodos elemento viduje",
+ "tooltip": "Patarimas",
+ "tooltipHelp": "Papildoma informacija, apibūdinanti nuorodą, rodoma užvedus pelės žymeklį",
+ "newTab": "Atidaryti nuorodą naujame skirtuke",
+ "remove": "Pašalinti nuorodą",
+ "cancel": "Atšaukti",
+ "confirm": "Patvirtinti"
+ },
+ "richTextField": {
+ "insert": "Įterpti bloką"
+ },
+ "richTextToolbar": {
+ "styles": "Antraštė / pastraipa",
+ "table": "Lentelė",
+ "bold": "Paryškintas",
+ "italic": "Kursyvas",
+ "align": "Lygiavimas",
+ "alignLeft": "Lygiuoti kairėje",
+ "alignCenter": "Sulygiuoti centrą",
+ "alignRight": "Lygiuoti dešinėje",
+ "alignJustify": "Lygiuoti lygiagrečiai",
+ "clear": "Aiškus formatas",
+ "bulletList": "Ženklelių sąrašas",
+ "orderedList": "Sutvarkytas sąrašas",
+ "link": "Nuoroda",
+ "quote": "Citatos blokas",
+ "rule": "Horizontalioji taisyklė",
+ "small": "Mažas",
+ "sub": "Apatinis indeksas",
+ "sup": "Viršutinis indeksas",
+ "paragraph": "Įprastas tekstas",
+ "h1": "1 antraštė",
+ "h2": "2 antraštė",
+ "h3": "3 antraštė",
+ "h4": "4 antraštė",
+ "h5": "5 antraštė",
+ "tableLabel": "Lentelė",
+ "insert": "Įterpti lentelę",
+ "insertRowBefore": "Įterpti eilutę prieš",
+ "insertRowAfter": "Įterpti eilutę po",
+ "deleteRow": "Ištrinti eilutę",
+ "toggleHeaderRow": "Perjungti antraštės eilutę",
+ "insertColumnBefore": "Įterpti stulpelį prieš",
+ "insertColumnAfter": "Įterpti stulpelį po",
+ "deleteColumn": "Ištrinti stulpelį",
+ "deleteTable": "Ištrinti lentelę",
+ "left": "Kairė",
+ "center": "Centras",
+ "right": "Dešinė",
+ "justify": "Lygiuoti"
+ },
+ "linkField": {
+ "reorder": "Nuvilkite, kad pertvarkytumėte",
+ "open": "Atidaryti nuorodą naujame skirtuke",
+ "openFile": "Atidaryti medijos failą naujame skirtuke",
+ "edit": "Redaguoti nuorodą",
+ "editFile": "Keisti vaizdą",
+ "delete": "Ištrinti nuorodą",
+ "deleteFile": "Ištrinti vaizdą"
+ },
+ "entryPicker": {
+ "title": "Pasirinkite nuorodą",
+ "searchPlaceholder": "Paieška",
+ "cancel": "Atšaukti",
+ "confirm": "Patvirtinti"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/lv.json b/src/translations/lv.json
new file mode 100644
index 000000000..5eec7b276
--- /dev/null
+++ b/src/translations/lv.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Sinhronizācija",
+ "synced": "Sinhronizēts",
+ "saving": "Saglabāšana…"
+ },
+ "urlPicker": {
+ "title": "Saite",
+ "url": "URL",
+ "urlHelp": "Saites URL",
+ "description": "Apraksts",
+ "descriptionHelp": "Teksts, kas jārāda saites elementā",
+ "target": "Mērķis",
+ "targetDescription": "Atvērt saiti jaunā cilnē",
+ "cancel": "Atcelt",
+ "confirm": "Apstiprināt"
+ },
+ "pickLink": {
+ "title": "Izvēlēties saiti",
+ "link": "Saite",
+ "description": "Apraksts",
+ "descriptionHelp": "Teksts, kas jārāda saites elementā",
+ "tooltip": "Rīka padoms",
+ "tooltipHelp": "Papildinformācija, kas apraksta saiti, tiek parādīta, virzot kursoru virs tās",
+ "newTab": "Atvērt saiti jaunā cilnē",
+ "remove": "Noņemt saiti",
+ "cancel": "Atcelt",
+ "confirm": "Apstiprināt"
+ },
+ "newEntry": {
+ "title": "Nosaukums",
+ "parent": "Vecāks",
+ "type": "Izvēlieties veidu",
+ "order": "Ievietot secību",
+ "orderFirst": "Saraksta augšgalā",
+ "orderLast": "Saraksta apakšā",
+ "copyFrom": "Kopēt saturu no",
+ "formTitle": "Jauns ieraksts",
+ "cancel": "Atcelt",
+ "create": "Izveidot"
+ },
+ "entryEdit": {
+ "blockingTitle": "Vai tiešām vēlaties atmest izmaiņas?",
+ "blockingWarning": "Šis dokuments tika mainīts",
+ "blockingPrompt": "Vai vēlaties saglabāt izmaiņas?",
+ "blockingDiscard": "Atmest manas izmaiņas",
+ "blockingSaveDraft": "Saglabāt kā melnrakstu",
+ "blockingPublishChanges": "Publicēt izmaiņas",
+ "untranslatedTitle": "Netulkots",
+ "untranslatedParent": "Vispirms iztulkojiet vecāklapu.",
+ "untranslatedPrompt": "Ievadiet tālāk norādīto informāciju un saglabājiet, lai sāktu tulkošanu.",
+ "draftError": "Nevarēja pabeigt melnraksta darbību. Lūdzu, mēģiniet vēlreiz vēlāk.",
+ "saveTranslationError": "Nevarēja pabeigt tulkošanas darbību. Lūdzu, mēģiniet vēlreiz vēlāk.",
+ "publishError": "Nevarēja pabeigt publicēšanas darbību. Lūdzu, mēģiniet vēlreiz vēlāk.",
+ "discardError": "Nevarēja atmest izmaiņas. Lūdzu, mēģiniet vēlreiz vēlāk.",
+ "unpublishError": "Nevarēja pabeigt publicēšanas atcelšanu. Lūdzu, mēģiniet vēlreiz vēlāk.",
+ "deleteError": "Nevarēja pabeigt dzēšanas darbību. Lūdzu, mēģiniet vēlreiz vēlāk.",
+ "archiveError": "Nevarēja pabeigt arhivēšanas darbību. Lūdzu, mēģiniet vēlreiz vēlāk."
+ },
+ "entryHeader": {
+ "draft": "Melnraksts",
+ "editing": "Rediģēšana",
+ "published": "Publicēts",
+ "archived": "Arhivēts",
+ "untranslated": "Netulkots",
+ "unpublished": "Nepublicēts",
+ "revision": "Pārskatīšana",
+ "showMenu": "Attēlot izvēlni",
+ "hideMenu": "Slēpt izvēlni",
+ "removeDraft": "Noņemt melnrakstu",
+ "replace": "Aizstāt",
+ "delete": "Dzēst",
+ "unpublish": "Atcelt publicēšanu",
+ "archive": "Arhīvs",
+ "publish": "Publicēt",
+ "showHistory": "Rādīt vēsturi",
+ "hideHistory": "Slēpt vēsturi",
+ "draftAvailable": "Ir pieejama jaunāka melnraksta versija",
+ "translateFrom": "Tulkot no",
+ "translateParent": "Vispirms tulkot vecāklapu",
+ "discard": "Atmest labojumus",
+ "save": "Saglabāt tulkojumu",
+ "saveDraft": "Saglabāt",
+ "restore": "Atjaunot",
+ "showPreview": "Rādīt priekšskatījumu",
+ "hidePreview": "Slēpt priekšskatījumu",
+ "savingDraft": "Melnraksta saglabāšana",
+ "savingTranslation": "Tulkojuma saglabāšana",
+ "publishingEdits": "Publicēšanas labojumi",
+ "restoringRevision": "Atjaunot labojumu",
+ "publishingDraft": "Melnraksta publicēšana",
+ "unpublishingDraft": "Melnraksta publicēšanas atcelšana",
+ "discardingDraft": "Melnraksta atmešana",
+ "archivingPublished": "Publicēto arhivēšana",
+ "publishingArchived": "Publicēšana arhivēta",
+ "deletingFile": "Faila dzēšana",
+ "deletingEntry": "Dzēst ierakstu"
+ },
+ "contentView": {
+ "create": "Izveidot jaunu"
+ },
+ "welcome": {
+ "title": "Jūsu alinea instalācija tagad ir gatava konfigurēšanai.",
+ "button": "Uzziniet, kā konfigurēt"
+ },
+ "cloudAuthView": {
+ "title": "Rindkopa",
+ "deploy": "Gatavs izvietošanai?",
+ "requiresHandler": "Alineai ir nepieciešams apstrādātājs, lai turpinātu",
+ "backend": "Lai turpinātu, Alineai ir nepieciešama aizmugursistēma.",
+ "customBackend": "pilnībā konfigurēt pielāgotu aizmugures sistēmu",
+ "cloud": "Vai arī iestatiet to ar dažiem klikšķiem, izmantojot mūsu mākoņpakalpojumu.",
+ "cloudButton": "Turpināt ar alinea.cloud"
+ },
+ "sidebarSettings": {
+ "settings": "Iestatījumi",
+ "defaultWorkspace": "Noklusējuma darbvieta",
+ "theme": "Mainīt tēmu",
+ "fontSize": "Fonta lielums",
+ "decreaseFontSize": "Samazināt fonta lielumu",
+ "increaseFontSize": "Palielināt fonta lielumu",
+ "logout": "Izrakstīties"
+ },
+ "fileUploader": {
+ "uploadComplete": "Augšupielādes pabeigtas: {{amount}}",
+ "uploading": "Failu augšupielāde: {{amount}}",
+ "upload": "Augšupielādēt failus"
+ },
+ "fileUploadRow": {
+ "alt": "Augšupielādētais fails",
+ "done": "Pabeigts"
+ },
+ "fileEntry": {
+ "preview": "Multivides faila priekšskatījums",
+ "extension": "Paplašinājums",
+ "fileSize": "Faila lielums",
+ "dimensions": "Izmēri",
+ "pixels": "pikseļi",
+ "url": "URL",
+ "focus": "Fokusa punkts",
+ "focusHelp": "Noklikšķiniet uz attēla, lai mainītu fokusa punktu"
+ },
+ "cardOverview": {
+ "title": "karte"
+ },
+ "explorer": {
+ "noResults": "Nav rezultātu"
+ },
+ "editModeToggle": {
+ "edit": "Rediģēt",
+ "review": "Pārskatīt izmaiņas"
+ },
+ "searchBox": {
+ "search": "Meklēt"
+ },
+ "rootOverview": {
+ "instruction": "Lai sāktu rediģēšanu, kreisajā pusē esošajā navigācijas kokā atlasiet ierakstu."
+ },
+ "inputLabel": {
+ "readonly": "Tikai lasāms",
+ "shared": "Kopīgots"
+ },
+ "errorBoundary": {
+ "title": "Kļūda",
+ "oops": "Ups, kaut kas nogāja greizi",
+ "close": "Aizvēršanas kļūda",
+ "issue": "Izveidot problēmu"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Noklusējuma darbvieta",
+ "logout": "Izrakstīties"
+ },
+ "listField": {
+ "reorder": "Velciet un nometiet, lai pārkārtotu",
+ "copy": "Kopēšanas bloks",
+ "moveUp": "Pārvietot vienu pozīciju uz augšu",
+ "moveDown": "Pārvietot vienu pozīciju uz leju",
+ "delete": "Dzēst bloku",
+ "paste": "Ielīmēt bloku",
+ "add": "Ievietot jaunu bloku"
+ },
+ "metadataField": {
+ "previewTitle": "Priekšskatījums",
+ "searchEngine": "Meklētājprogramma",
+ "socialShare": "Dalīšanās sociālajos tīklos",
+ "ogImageAlt": "Atvērt grafika attēlu"
+ },
+ "pickTextLink": {
+ "title": "Izvēlēties saiti",
+ "link": "Saite",
+ "description": "Apraksts",
+ "descriptionHelp": "Teksts, kas jārāda saites elementā",
+ "tooltip": "Rīka padoms",
+ "tooltipHelp": "Papildinformācija, kas apraksta saiti, tiek parādīta, virzot kursoru virs tās",
+ "newTab": "Atvērt saiti jaunā cilnē",
+ "remove": "Noņemt saiti",
+ "cancel": "Atcelt",
+ "confirm": "Apstiprināt"
+ },
+ "richTextField": {
+ "insert": "Ievietot bloku"
+ },
+ "richTextToolbar": {
+ "styles": "Virsraksts/rindkopa",
+ "table": "Galds",
+ "bold": "Treknraksts",
+ "italic": "slīpraksts",
+ "align": "Izlīdzināšana",
+ "alignLeft": "Izlīdzināt pa kreisi",
+ "alignCenter": "Izlīdzināt centrā",
+ "alignRight": "Izlīdzināt pa labi",
+ "alignJustify": "Izlīdzināt",
+ "clear": "Notīrīt formātu",
+ "bulletList": "Aizzīmju saraksts",
+ "orderedList": "Sakārtots saraksts",
+ "link": "Saite",
+ "quote": "Citātu bloks",
+ "rule": "Horizontālā robeža",
+ "small": "Mazs",
+ "sub": "Apakšindekss",
+ "sup": "Augšraksts",
+ "paragraph": "Normāls teksts",
+ "h1": "1. virsraksts",
+ "h2": "2. virsraksts",
+ "h3": "3. virsraksts",
+ "h4": "4. virsraksts",
+ "h5": "5. virsraksts",
+ "tableLabel": "Galds",
+ "insert": "Ievietot tabulu",
+ "insertRowBefore": "Ievietot rindu pirms",
+ "insertRowAfter": "Ievietot rindu pēc",
+ "deleteRow": "Dzēst rindu",
+ "toggleHeaderRow": "Pārslēgt galvenes rindu",
+ "insertColumnBefore": "Ievietot kolonnu pirms",
+ "insertColumnAfter": "Ievietot kolonnu pēc",
+ "deleteColumn": "Dzēst kolonnu",
+ "deleteTable": "Dzēst tabulu",
+ "left": "Kreisā",
+ "center": "Centrs",
+ "right": "Pa labi",
+ "justify": "Izlīdzināt"
+ },
+ "linkField": {
+ "reorder": "Velciet un nometiet, lai pārkārtotu",
+ "open": "Atvērt saiti jaunā cilnē",
+ "openFile": "Atvērt multivides failu jaunā cilnē",
+ "edit": "Rediģēt saiti",
+ "editFile": "Mainīt attēlu",
+ "delete": "Dzēst saiti",
+ "deleteFile": "Dzēst attēlu"
+ },
+ "entryPicker": {
+ "title": "Izvēlieties atsauci",
+ "searchPlaceholder": "Meklēt",
+ "cancel": "Atcelt",
+ "confirm": "Apstiprināt"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/my.json b/src/translations/my.json
new file mode 100644
index 000000000..c2e47f444
--- /dev/null
+++ b/src/translations/my.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "ထပ်တူပြုခြင်း။",
+ "synced": "ထပ်တူပြုထားသည်။",
+ "saving": "သိမ်းဆည်းနေသည်..."
+ },
+ "urlPicker": {
+ "title": "လင့်",
+ "url": "Url",
+ "urlHelp": "လင့်ခ်၏ Url",
+ "description": "ဖော်ပြချက်",
+ "descriptionHelp": "လင့်ခ်ဒြပ်စင်အတွင်း ပြသရန် စာသား",
+ "target": "ပစ်မှတ်",
+ "targetDescription": "တက်ဘ်အသစ်တွင် လင့်ခ်ကိုဖွင့်ပါ။",
+ "cancel": "မလုပ်တော့",
+ "confirm": "အတည်ပြုပါ။"
+ },
+ "pickLink": {
+ "title": "လင့်ခ်ကို ရွေးပါ။",
+ "link": "လင့်",
+ "description": "ဖော်ပြချက်",
+ "descriptionHelp": "လင့်ခ်ဒြပ်စင်အတွင်း ပြသရန် စာသား",
+ "tooltip": "Tooltip",
+ "tooltipHelp": "လင့်ခ်ကို ဖော်ပြသည့် အပိုအချက်အလက်၊",
+ "newTab": "တက်ဘ်အသစ်တွင် လင့်ခ်ကိုဖွင့်ပါ။",
+ "remove": "လင့်ခ်ကို ဖယ်ရှားပါ။",
+ "cancel": "မလုပ်တော့",
+ "confirm": "အတည်ပြုပါ။"
+ },
+ "newEntry": {
+ "title": "ခေါင်းစဉ်",
+ "parent": "မိဘ",
+ "type": "အမျိုးအစားကို ရွေးပါ။",
+ "order": "အော်ဒါထည့်ပါ။",
+ "orderFirst": "စာရင်း၏ထိပ်တွင်",
+ "orderLast": "စာရင်း၏အောက်ခြေတွင်",
+ "copyFrom": "အကြောင်းအရာကို ကူးယူသည်။",
+ "formTitle": "အသစ်ဝင်ရောက်မှု",
+ "cancel": "မလုပ်တော့",
+ "create": "ဖန်တီးပါ။"
+ },
+ "entryEdit": {
+ "blockingTitle": "အပြောင်းအလဲများကို ဖျက်သိမ်းလိုသည်မှာ သေချာပါသလား။",
+ "blockingWarning": "ဤစာတမ်းကို ပြောင်းလဲခဲ့သည်။",
+ "blockingPrompt": "သင်၏ပြောင်းလဲမှုများကို သိမ်းဆည်းလိုပါသလား။",
+ "blockingDiscard": "ကျွန်ုပ်၏ပြောင်းလဲမှုများကို စွန့်ပစ်ပါ။",
+ "blockingSaveDraft": "မူကြမ်းအဖြစ် သိမ်းဆည်းပါ။",
+ "blockingPublishChanges": "အပြောင်းအလဲများကို ထုတ်ပြန်ပါ။",
+ "untranslatedTitle": "ဘာသာမပြန်ပါ။",
+ "untranslatedParent": "ပင်မစာမျက်နှာကို ဦးစွာ ဘာသာပြန်ပါ။",
+ "untranslatedPrompt": "အောက်ပါအသေးစိတ်အချက်အလက်များကို ထည့်သွင်းပြီး ဘာသာပြန်စရန် သိမ်းဆည်းပါ။",
+ "draftError": "မူကြမ်းလုပ်ဆောင်ချက်ကို မပြီးမြောက်နိုင်ခဲ့ပါ၊ ကျေးဇူးပြု၍ နောက်မှ ထပ်ကြိုးစားပါ။",
+ "saveTranslationError": "ဘာသာပြန်ခြင်းလုပ်ဆောင်ချက်ကို မပြီးမြောက်နိုင်ခဲ့ပါ၊ ကျေးဇူးပြု၍ နောက်မှ ထပ်ကြိုးစားပါ။",
+ "publishError": "ထုတ်ဝေသည့်လုပ်ဆောင်ချက်ကို အပြီးသတ်၍မရပါ၊ ကျေးဇူးပြု၍ နောက်မှထပ်ကြိုးစားပါ။",
+ "discardError": "အပြောင်းအလဲများကို မစွန့်ပစ်နိုင်ခဲ့ပါ၊ ကျေးဇူးပြု၍ နောက်မှ ထပ်ကြိုးစားပါ။",
+ "unpublishError": "ထုတ်ဝေခြင်းမှ ပြန်ဖြုတ်ခြင်း လုပ်ဆောင်ချက်ကို အပြီးသတ်၍ မရပါ၊ ကျေးဇူးပြု၍ နောက်မှ ထပ်ကြိုးစားပါ။",
+ "deleteError": "ဖျက်ပစ်သည့် လုပ်ဆောင်ချက်ကို အပြီးသတ်၍ မရပါ၊ ကျေးဇူးပြု၍ နောက်မှ ထပ်ကြိုးစားပါ။",
+ "archiveError": "မော်ကွန်းတင်သည့်လုပ်ဆောင်ချက်ကို အပြီးသတ်၍မရပါ၊ ကျေးဇူးပြု၍ နောက်မှထပ်ကြိုးစားပါ။"
+ },
+ "entryHeader": {
+ "draft": "အကြမ်း",
+ "editing": "တည်းဖြတ်ခြင်း။",
+ "published": "ထုတ်ဝေခဲ့သည်။",
+ "archived": "သိမ်းဆည်းထားသည်။",
+ "untranslated": "ဘာသာမပြန်ပါ။",
+ "unpublished": "မထုတ်ဝေရသေးပါ။",
+ "revision": "ပြန်လည်ပြင်ဆင်ခြင်း။",
+ "showMenu": "ပြသရန် မီနူး",
+ "hideMenu": "မီနူးကို ဝှက်ပါ။",
+ "removeDraft": "မူကြမ်းကို ဖယ်ရှားပါ။",
+ "replace": "အစားထိုးပါ။",
+ "delete": "ဖျက်ပါ။",
+ "unpublish": "ထုတ်ဝေမှုကို ပြန်ဖြုတ်ပါ။",
+ "archive": "စုစည်းမှု",
+ "publish": "ထုတ်ဝေသည်။",
+ "showHistory": "သမိုင်းကိုပြပါ။",
+ "hideHistory": "သမိုင်းကို ဖျောက်ပါ။",
+ "draftAvailable": "အသစ်သော မူကြမ်းဗားရှင်းကို ရနိုင်ပါပြီ။",
+ "translateFrom": "မှ ဘာသာပြန်ဆိုပါသည်။",
+ "translateParent": "မိခင်စာမျက်နှာကို ဦးစွာဘာသာပြန်ပါ။",
+ "discard": "တည်းဖြတ်မှုများကို ဖျက်သိမ်းပါ။",
+ "save": "ဘာသာပြန်ခြင်းကို သိမ်းဆည်းပါ။",
+ "saveDraft": "သိမ်းဆည်းပါ။",
+ "restore": "ပြန်ယူပါ။",
+ "showPreview": "ပြသမှု အစမ်းကြည့်ရှုခြင်း။",
+ "hidePreview": "အစမ်းကြည့်ခြင်းကို ဖျောက်ပါ။",
+ "savingDraft": "မူကြမ်းကို သိမ်းဆည်းနေသည်။",
+ "savingTranslation": "ဘာသာပြန်ခြင်းကို သိမ်းဆည်းနေသည်။",
+ "publishingEdits": "တည်းဖြတ်မှုများထုတ်ဝေခြင်း။",
+ "restoringRevision": "ပြန်လည်ပြင်ဆင်ခြင်း",
+ "publishingDraft": "မူကြမ်းထုတ်ဝေခြင်း။",
+ "unpublishingDraft": "မူကြမ်းကို ထုတ်ဝေခြင်းမှ ဖြုတ်နေပါသည်။",
+ "discardingDraft": "မူကြမ်းကို စွန့်ပစ်ခြင်း။",
+ "archivingPublished": "သိမ်းဆည်းထုတ်ဝေခဲ့သည်။",
+ "publishingArchived": "ထုတ်ဝေခြင်းကို သိမ်းဆည်းထားသည်။",
+ "deletingFile": "ဖိုင်ကိုဖျက်ခြင်း။",
+ "deletingEntry": "ထည့်သွင်းမှုကို ဖျက်ပါ။"
+ },
+ "contentView": {
+ "create": "အသစ်ဖန်တီးပါ။"
+ },
+ "welcome": {
+ "title": "သင်၏ alinea တပ်ဆင်မှုသည် ဖွဲ့စည်းမှုပုံစံအတွက် အဆင်သင့်ဖြစ်နေပါပြီ။",
+ "button": "configure လုပ်နည်းကို လေ့လာပါ။"
+ },
+ "cloudAuthView": {
+ "title": "စာပိုဒ်",
+ "deploy": "အသုံးပြုရန် အဆင်သင့်ဖြစ်ပြီလား။",
+ "requiresHandler": "ရှေ့ဆက်ရန် Alinea သည် ကိုင်တွယ်သူလိုအပ်သည်။",
+ "backend": "ရှေ့ဆက်ရန် Alinea နောက်ခံတစ်ခု လိုအပ်သည်။",
+ "customBackend": "စိတ်ကြိုက် backend ကို အပြည့်အဝ စီစဉ်သတ်မှတ်ပါ။",
+ "cloud": "သို့မဟုတ် ကျွန်ုပ်တို့၏ cloud ကမ်းလှမ်းမှုဖြင့် ကလစ်အနည်းငယ်ဖြင့် စတင်သတ်မှတ်ပါ။",
+ "cloudButton": "alinea.cloud ဖြင့် ရှေ့ဆက်ပါ။"
+ },
+ "sidebarSettings": {
+ "settings": "ဆက်တင်များ",
+ "defaultWorkspace": "ပုံသေ အလုပ်ခွင်",
+ "theme": "အပြင်အဆင်ပြောင်းပါ။",
+ "fontSize": "ဖောင့်အရွယ်အစား",
+ "decreaseFontSize": "ဖောင့်အရွယ်အစားကို လျှော့ချပါ။",
+ "increaseFontSize": "ဖောင့်အရွယ်အစားကို တိုးမြှင့်ပါ။",
+ "logout": "ထွက်လိုက်ပါ။"
+ },
+ "fileUploader": {
+ "uploadComplete": "အပ်လုဒ်များ ပြီးပါပြီ- {{amount}}",
+ "uploading": "ဖိုင်များကို အပ်လုဒ်လုပ်နေသည်- {{amount}}",
+ "upload": "ဖိုင်များတင်ပါ။"
+ },
+ "fileUploadRow": {
+ "alt": "တင်ထားသောဖိုင်",
+ "done": "ပြီးပြီ။"
+ },
+ "fileEntry": {
+ "preview": "မီဒီယာဖိုင်ကို အစမ်းကြည့်ရှုခြင်း။",
+ "extension": "တိုးချဲ့မှု",
+ "fileSize": "ဖိုင်အရွယ်အစား",
+ "dimensions": "အတိုင်းအတာများ",
+ "pixels": "ပစ်ဇယ်",
+ "url": "URL",
+ "focus": "အာရုံစူးစိုက်မှုအမှတ်",
+ "focusHelp": "ဆုံချက်အမှတ်ကို ပြောင်းလဲရန် ပုံကို နှိပ်ပါ။"
+ },
+ "cardOverview": {
+ "title": "ကတ်"
+ },
+ "explorer": {
+ "noResults": "ရလဒ်မရှိပါ။"
+ },
+ "editModeToggle": {
+ "edit": "တည်းဖြတ်ပါ။",
+ "review": "အပြောင်းအလဲများကို သုံးသပ်ပါ။"
+ },
+ "searchBox": {
+ "search": "ရှာရန်"
+ },
+ "rootOverview": {
+ "instruction": "လမ်းညွှန်မှုသစ်ပင်ရှိ ဝင်ခွင့်တစ်ခုကို ရွေးပါ။\nစတင်တည်းဖြတ်ရန် ဘယ်ဘက်တွင်"
+ },
+ "inputLabel": {
+ "readonly": "ဖတ်ရန်သာ",
+ "shared": "မျှဝေခဲ့သည်။"
+ },
+ "errorBoundary": {
+ "title": "အမှား",
+ "oops": "အိုး၊ တစ်ခုခု မှားသွားသည်။",
+ "close": "ပိတ်လိုက်ပေါ့ဗျာ။",
+ "issue": "ပြဿနာတစ်ခုဖန်တီးပါ။"
+ },
+ "toolbar": {
+ "defaultWorkspace": "ပုံသေ အလုပ်ခွင်",
+ "logout": "ထွက်လိုက်ပါ။"
+ },
+ "listField": {
+ "reorder": "ပြန်လည်စီစဥ်ရန် ဆွဲယူ၍ချပါ။",
+ "copy": "ကော်ပီကူးပါ။",
+ "moveUp": "အနေအထားတစ်ခုသို့ ရွှေ့ပါ။",
+ "moveDown": "အနေအထားတစ်ခုသို့ရွှေ့ပါ။",
+ "delete": "ဘလောက်ကိုဖျက်ပါ။",
+ "paste": "တစ်တုံးကို ကူးထည့်ပါ။",
+ "add": "ဘလောက်အသစ်ထည့်ပါ။"
+ },
+ "metadataField": {
+ "previewTitle": "စမ်းကြည့်ပါ။",
+ "searchEngine": "ရှာဖွေရေးအင်ဂျင်",
+ "socialShare": "လူမှုမျှဝေမှု",
+ "ogImageAlt": "ဂရပ်ဖစ်ပုံကိုဖွင့်ပါ။"
+ },
+ "pickTextLink": {
+ "title": "လင့်ခ်ကို ရွေးပါ။",
+ "link": "လင့်",
+ "description": "ဖော်ပြချက်",
+ "descriptionHelp": "လင့်ခ်ဒြပ်စင်အတွင်း ပြသရန် စာသား",
+ "tooltip": "Tooltip",
+ "tooltipHelp": "လင့်ခ်ကို ဖော်ပြသည့် အပိုအချက်အလက်၊",
+ "newTab": "တက်ဘ်အသစ်တွင် လင့်ခ်ကိုဖွင့်ပါ။",
+ "remove": "လင့်ခ်ကို ဖယ်ရှားပါ။",
+ "cancel": "မလုပ်တော့",
+ "confirm": "အတည်ပြုပါ။"
+ },
+ "richTextField": {
+ "insert": "ပိတ်ဆို့ထည့်ပါ။"
+ },
+ "richTextToolbar": {
+ "styles": "ခေါင်းစဉ်/စာပိုဒ်",
+ "table": "စားပွဲ",
+ "bold": "ရဲရင့်သည်။",
+ "italic": "စာလုံးစောင်း",
+ "align": "တန်းညှိခြင်း။",
+ "alignLeft": "ဘယ်ဘက်သို့ ညှိပါ။",
+ "alignCenter": "အလယ်တည့်တည့်",
+ "alignRight": "ညာဘက်ညှိပါ။",
+ "alignJustify": "အကြောင်းပြပြီး ညှိပါ။",
+ "clear": "ဖော်မတ်ကို ရှင်းလင်းပါ။",
+ "bulletList": "ကျည်ဆန်စာရင်း",
+ "orderedList": "အမိန့်စာရင်း",
+ "link": "လင့်",
+ "quote": "Blockquote",
+ "rule": "Horizontal Rule",
+ "small": "အငယ်",
+ "sub": "စာရင်းသွင်းပါ။",
+ "sup": "လုံးကြီးတင်",
+ "paragraph": "ပုံမှန်စာသား",
+ "h1": "ခေါင်းစဉ် ၁",
+ "h2": "ခေါင်းစီး ၂",
+ "h3": "ခေါင်းစဉ် ၃",
+ "h4": "ခေါင်းစဉ် ၄",
+ "h5": "ခေါင်းစီး ၅",
+ "tableLabel": "စားပွဲ",
+ "insert": "ဇယားထည့်ပါ။",
+ "insertRowBefore": "ရှေ့တွင် အတန်းထည့်ပါ။",
+ "insertRowAfter": "ပြီးနောက် အတန်းကို ထည့်ပါ။",
+ "deleteRow": "အတန်းကိုဖျက်ပါ။",
+ "toggleHeaderRow": "ခေါင်းစီးအတန်းကို ပြောင်းပါ။",
+ "insertColumnBefore": "ရှေ့တွင် ကော်လံထည့်ပါ။",
+ "insertColumnAfter": "ပြီးနောက် ကော်လံထည့်ပါ။",
+ "deleteColumn": "ကော်လံကိုဖျက်ပါ။",
+ "deleteTable": "ဇယားကိုဖျက်ပါ။",
+ "left": "ဝဲ",
+ "center": "စင်တာ",
+ "right": "မှန်တယ်။",
+ "justify": "အကြောင်းပြပါ။"
+ },
+ "linkField": {
+ "reorder": "ပြန်လည်စီစဥ်ရန် ဆွဲယူ၍ချပါ။",
+ "open": "တက်ဘ်အသစ်တွင် လင့်ခ်ကိုဖွင့်ပါ။",
+ "openFile": "တဘ်အသစ်တွင် မီဒီယာဖိုင်ကိုဖွင့်ပါ။",
+ "edit": "လင့်ခ်ကို တည်းဖြတ်ပါ။",
+ "editFile": "ပုံပြောင်း",
+ "delete": "လင့်ခ်ကိုဖျက်ပါ။",
+ "deleteFile": "ပုံဖျက်ပါ။"
+ },
+ "entryPicker": {
+ "title": "အကိုးအကားကို ရွေးပါ။",
+ "searchPlaceholder": "ရှာရန်",
+ "cancel": "မလုပ်တော့",
+ "confirm": "အတည်ပြုပါ။"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/nl.json b/src/translations/nl.json
new file mode 100644
index 000000000..a673cea06
--- /dev/null
+++ b/src/translations/nl.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Synchroniseren",
+ "synced": "Gesynchroniseerd",
+ "saving": "Opslaan..."
+ },
+ "urlPicker": {
+ "title": "Link",
+ "url": "Url",
+ "urlHelp": "Url van de link",
+ "description": "Beschrijving",
+ "descriptionHelp": "Tekst om weer te geven in het linkelement",
+ "target": "Doel",
+ "targetDescription": "Link openen in nieuw tabblad",
+ "cancel": "Annuleren",
+ "confirm": "Bevestigen"
+ },
+ "pickLink": {
+ "title": "Link kiezen",
+ "link": "Link",
+ "description": "Beschrijving",
+ "descriptionHelp": "Tekst om weer te geven in het linkelement",
+ "tooltip": "Tooltip",
+ "tooltipHelp": "Extra informatie die de link beschrijft, weergegeven bij hover",
+ "newTab": "Link openen in nieuw tabblad",
+ "remove": "Link verwijderen",
+ "cancel": "Annuleren",
+ "confirm": "Bevestigen"
+ },
+ "newEntry": {
+ "title": "Titel",
+ "parent": "Ouder",
+ "type": "Type selecteren",
+ "order": "Order invoegen",
+ "orderFirst": "Bovenaan de lijst",
+ "orderLast": "Onderaan de lijst",
+ "copyFrom": "Inhoud kopiëren van",
+ "formTitle": "Nieuw item",
+ "cancel": "Annuleren",
+ "create": "Aanmaken"
+ },
+ "entryEdit": {
+ "blockingTitle": "Weet u zeker dat u de wijzigingen wilt verwijderen?",
+ "blockingWarning": "Dit document is gewijzigd",
+ "blockingPrompt": "Wilt u uw wijzigingen opslaan?",
+ "blockingDiscard": "Verwijderen mijn wijzigingen",
+ "blockingSaveDraft": "Opslaan als concept",
+ "blockingPublishChanges": "Wijzigingen publiceren",
+ "untranslatedTitle": "Niet vertaald",
+ "untranslatedParent": "Vertaal eerst de bovenliggende pagina.",
+ "untranslatedPrompt": "Voer de onderstaande gegevens in en sla ze op om te beginnen met vertalen.",
+ "draftError": "Kan de conceptactie niet voltooien, probeer het later opnieuw",
+ "saveTranslationError": "Kan de vertaalactie niet voltooien, probeer het later opnieuw",
+ "publishError": "Kan de publicatieactie niet voltooien, probeer het later opnieuw",
+ "discardError": "Kan de wijzigingen niet verwijderen, probeer het later opnieuw",
+ "unpublishError": "Kan de ongedaanmakingsactie niet voltooien, probeer het later opnieuw",
+ "deleteError": "Kan de verwijderactie niet voltooien, probeer het later opnieuw",
+ "archiveError": "Kan Archiefactie niet voltooien, probeer het later opnieuw"
+ },
+ "entryHeader": {
+ "draft": "Concept",
+ "editing": "Bewerken",
+ "published": "Gepubliceerd",
+ "archived": "Gearchiveerd",
+ "untranslated": "Niet vertaald",
+ "unpublished": "Niet gepubliceerd",
+ "revision": "Revisie",
+ "showMenu": "Menu weergeven",
+ "hideMenu": "Menu verbergen",
+ "removeDraft": "Concept verwijderen",
+ "replace": "Vervangen",
+ "delete": "Verwijderen",
+ "unpublish": "Niet publiceren",
+ "archive": "Archiveren",
+ "publish": "Publiceren",
+ "showHistory": "Geschiedenis weergeven",
+ "hideHistory": "Geschiedenis verbergen",
+ "draftAvailable": "Er is een nieuwere conceptversie beschikbaar beschikbaar",
+ "translateFrom": "Vertalen van",
+ "translateParent": "Eerst bovenliggende pagina vertalen",
+ "discard": "Bewerkingen verwijderen",
+ "save": "Vertaling opslaan",
+ "saveDraft": "Opslaan",
+ "restore": "Herstellen",
+ "showPreview": "Voorbeeld weergeven",
+ "hidePreview": "Voorbeeld verbergen",
+ "savingDraft": "Concept opslaan",
+ "savingTranslation": "Vertaling opslaan",
+ "publishingEdits": "Bewerkingen publiceren",
+ "restoringRevision": "Revisie herstellen",
+ "publishingDraft": "Concept publiceren",
+ "unpublishingDraft": "Concept depubliceren",
+ "discardingDraft": "Concept verwijderen",
+ "archivingPublished": "Gepubliceerd archiveren",
+ "publishingArchived": "Gearchiveerd publiceren",
+ "deletingFile": "Bestand verwijderen",
+ "deletingEntry": "Item verwijderen"
+ },
+ "contentView": {
+ "create": "Nieuw maken"
+ },
+ "welcome": {
+ "title": "Uw alinea-installatie is nu klaar voor configuratie.",
+ "button": "Leer hoe u kunt configureren"
+ },
+ "cloudAuthView": {
+ "title": "Alinea",
+ "deploy": "Klaar voor implementatie?",
+ "requiresHandler": "Alinea heeft een handler nodig om door te gaan.",
+ "backend": "Alinea heeft een backend nodig om door te gaan.",
+ "customBackend": "Configureer een aangepaste backend volledig",
+ "cloud": "Of stel het in met een paar klikken in met ons cloudaanbod.",
+ "cloudButton": "Ga verder met alinea.cloud"
+ },
+ "sidebarSettings": {
+ "settings": "Instellingen",
+ "defaultWorkspace": "Standaardwerkruimte",
+ "theme": "Thema wisselen",
+ "fontSize": "Lettergrootte",
+ "decreaseFontSize": "Lettergrootte verkleinen",
+ "increaseFontSize": "Lettergrootte vergroten",
+ "logout": "Uitloggen"
+ },
+ "fileUploader": {
+ "uploadComplete": "Uploads voltooid: {{amount}}",
+ "uploading": "Bestanden uploaden: {{amount}}",
+ "upload": "Bestanden uploaden"
+ },
+ "fileUploadRow": {
+ "alt": "Geüpload bestand",
+ "done": "Klaar"
+ },
+ "fileEntry": {
+ "preview": "Voorbeeld van mediabestand",
+ "extension": "Extensie",
+ "fileSize": "Bestandsgrootte",
+ "dimensions": "Afmetingen",
+ "pixels": "pixels",
+ "url": "URL",
+ "focus": "Scherpstelpunt",
+ "focusHelp": "Klik op de afbeelding om het scherpstelpunt te wijzigen"
+ },
+ "cardOverview": {
+ "title": "kaart"
+ },
+ "explorer": {
+ "noResults": "Geen resultaten"
+ },
+ "editModeToggle": {
+ "edit": "Bewerken",
+ "review": "Wijzigingen controleren"
+ },
+ "searchBox": {
+ "search": "Zoeken"
+ },
+ "rootOverview": {
+ "instruction": "Selecteer een item in de navigatiestructuur\non links om te beginnen met bewerken"
+ },
+ "inputLabel": {
+ "readonly": "Alleen-lezen",
+ "shared": "Gedeeld"
+ },
+ "errorBoundary": {
+ "title": "Fout",
+ "oops": "Oeps, er is iets misgegaan",
+ "close": "Fout sluiten",
+ "issue": "Maak een issue aan"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Standaardwerkruimte",
+ "logout": "Uitloggen"
+ },
+ "listField": {
+ "reorder": "Sleep en zet neer om de volgorde te wijzigen",
+ "copy": "Blok kopiëren",
+ "moveUp": "Eén positie omhoog verplaatsen",
+ "moveDown": "Eén positie omlaag verplaatsen",
+ "delete": "Blok verwijderen",
+ "paste": "Blok plakken",
+ "add": "Nieuw blok invoegen"
+ },
+ "metadataField": {
+ "previewTitle": "Voorbeeld",
+ "searchEngine": "Zoekmachine",
+ "socialShare": "Sociaal delen",
+ "ogImageAlt": "Open Graph-afbeelding"
+ },
+ "pickTextLink": {
+ "title": "Link kiezen",
+ "link": "Link",
+ "description": "Beschrijving",
+ "descriptionHelp": "Tekst om weer te geven in het linkelement",
+ "tooltip": "Tooltip",
+ "tooltipHelp": "Extra informatie die de link beschrijft, weergegeven bij hover",
+ "newTab": "Link openen in nieuw tabblad",
+ "remove": "Link verwijderen",
+ "cancel": "Annuleren",
+ "confirm": "Bevestigen"
+ },
+ "richTextField": {
+ "insert": "Blok invoegen"
+ },
+ "richTextToolbar": {
+ "styles": "Kop/alinea",
+ "table": "Tabel",
+ "bold": "Vet",
+ "italic": "Cursief",
+ "align": "Uitlijning",
+ "alignLeft": "Links uitlijnen",
+ "alignCenter": "Centreren",
+ "alignRight": "Rechts uitlijnen",
+ "alignJustify": "Uitlijnen",
+ "clear": "Opmaak wissen",
+ "bulletList": "Lijst met opsommingstekens",
+ "orderedList": "Geordende lijst",
+ "link": "Link",
+ "quote": "Blokcitaat",
+ "rule": "Horizontale regel",
+ "small": "Klein",
+ "sub": "Subscript",
+ "sup": "Superscript",
+ "paragraph": "Normale tekst",
+ "h1": "Kop 1",
+ "h2": "Kop 2",
+ "h3": "Kop 3",
+ "h4": "Kop 4",
+ "h5": "Kop 5",
+ "tableLabel": "Tabel",
+ "insert": "Tabel invoegen",
+ "insertRowBefore": "Rij invoegen vóór",
+ "insertRowAfter": "Rij invoegen na",
+ "deleteRow": "Rij verwijderen",
+ "toggleHeaderRow": "Koptekstrij in-/uitschakelen",
+ "insertColumnBefore": "Kolom invoegen vóór",
+ "insertColumnAfter": "Kolom invoegen na",
+ "deleteColumn": "Kolom verwijderen",
+ "deleteTable": "Tabel verwijderen",
+ "left": "Links",
+ "center": "Midden",
+ "right": "Rechts",
+ "justify": "Uitvullen"
+ },
+ "linkField": {
+ "reorder": "Slepen en neerzetten om de volgorde te wijzigen",
+ "open": "Link openen in nieuw tabblad",
+ "openFile": "Mediabestand openen in nieuw tabblad",
+ "edit": "Link bewerken",
+ "editFile": "Afbeelding wijzigen",
+ "delete": "Link verwijderen",
+ "deleteFile": "Afbeelding verwijderen"
+ },
+ "entryPicker": {
+ "title": "Selecteer een referentie",
+ "searchPlaceholder": "Zoeken",
+ "cancel": "Annuleren",
+ "confirm": "Bevestigen"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/pl.json b/src/translations/pl.json
new file mode 100644
index 000000000..0f127f629
--- /dev/null
+++ b/src/translations/pl.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Synchronizacja",
+ "synced": "Zsynchronizowane",
+ "saving": "Zapisywanie…"
+ },
+ "urlPicker": {
+ "title": "Połączyć",
+ "url": "Adres URL",
+ "urlHelp": "Adres URL linku",
+ "description": "Opis",
+ "descriptionHelp": "Tekst do wyświetlenia wewnątrz elementu linku",
+ "target": "Cel",
+ "targetDescription": "Otwórz link w nowej karcie",
+ "cancel": "Anulować",
+ "confirm": "Potwierdzać"
+ },
+ "pickLink": {
+ "title": "Wybierz link",
+ "link": "Połączyć",
+ "description": "Opis",
+ "descriptionHelp": "Tekst do wyświetlenia wewnątrz elementu linku",
+ "tooltip": "Podpowiedź",
+ "tooltipHelp": "Dodatkowe informacje opisujące link, wyświetlane po najechaniu kursorem",
+ "newTab": "Otwórz link w nowej karcie",
+ "remove": "Usuń link",
+ "cancel": "Anulować",
+ "confirm": "Potwierdzać"
+ },
+ "newEntry": {
+ "title": "Tytuł",
+ "parent": "Rodzic",
+ "type": "Wybierz typ",
+ "order": "Wstaw zamówienie",
+ "orderFirst": "Na szczycie listy",
+ "orderLast": "Na dole listy",
+ "copyFrom": "Kopiuj zawartość z",
+ "formTitle": "Nowy wpis",
+ "cancel": "Anulować",
+ "create": "Tworzyć"
+ },
+ "entryEdit": {
+ "blockingTitle": "Czy na pewno chcesz odrzucić zmiany?",
+ "blockingWarning": "Ten dokument został zmieniony",
+ "blockingPrompt": "Czy chcesz zapisać zmiany?",
+ "blockingDiscard": "Odrzuć moje zmiany",
+ "blockingSaveDraft": "Zapisz jako wersję roboczą",
+ "blockingPublishChanges": "Opublikuj zmiany",
+ "untranslatedTitle": "Nieprzetłumaczone",
+ "untranslatedParent": "Najpierw przetłumacz stronę główną.",
+ "untranslatedPrompt": "Wprowadź dane poniżej i zapisz, aby rozpocząć tłumaczenie.",
+ "draftError": "Nie udało się ukończyć akcji roboczej. Spróbuj ponownie później.",
+ "saveTranslationError": "Nie udało się dokończyć operacji tłumaczenia. Spróbuj ponownie później.",
+ "publishError": "Nie udało się ukończyć akcji publikowania. Spróbuj ponownie później.",
+ "discardError": "Nie udało się odrzucić zmian. Spróbuj ponownie później.",
+ "unpublishError": "Nie udało się ukończyć akcji cofnięcia publikacji. Spróbuj ponownie później.",
+ "deleteError": "Nie udało się dokończyć operacji usuwania. Spróbuj ponownie później.",
+ "archiveError": "Nie udało się ukończyć akcji archiwizacji. Spróbuj ponownie później."
+ },
+ "entryHeader": {
+ "draft": "Projekt",
+ "editing": "Redagowanie",
+ "published": "Opublikowany",
+ "archived": "Zarchiwizowane",
+ "untranslated": "Nieprzetłumaczone",
+ "unpublished": "Niepublikowane",
+ "revision": "Rewizja",
+ "showMenu": "Wyświetl menu",
+ "hideMenu": "Ukryj menu",
+ "removeDraft": "Usuń wersję roboczą",
+ "replace": "Zastępować",
+ "delete": "Usuwać",
+ "unpublish": "Anuluj publikację",
+ "archive": "Archiwum",
+ "publish": "Publikować",
+ "showHistory": "Pokaż historię",
+ "hideHistory": "Ukryj historię",
+ "draftAvailable": "Dostępna jest nowsza wersja robocza",
+ "translateFrom": "Przetłumacz z",
+ "translateParent": "Najpierw przetłumacz stronę nadrzędną",
+ "discard": "Odrzuć edycje",
+ "save": "Zapisz tłumaczenie",
+ "saveDraft": "Ratować",
+ "restore": "Przywrócić",
+ "showPreview": "Wyświetl podgląd",
+ "hidePreview": "Ukryj podgląd",
+ "savingDraft": "Zapisywanie wersji roboczej",
+ "savingTranslation": "Zapisywanie tłumaczenia",
+ "publishingEdits": "Edycje publikacji",
+ "restoringRevision": "Przywracanie wersji",
+ "publishingDraft": "Publikacja robocza",
+ "unpublishingDraft": "Wycofywanie publikacji roboczej",
+ "discardingDraft": "Odrzucanie wersji roboczej",
+ "archivingPublished": "Archiwizacja opublikowanych",
+ "publishingArchived": "Archiwum publikacji",
+ "deletingFile": "Usuwanie pliku",
+ "deletingEntry": "Usuń wpis"
+ },
+ "contentView": {
+ "create": "Utwórz nowy"
+ },
+ "welcome": {
+ "title": "Instalacja alinea jest teraz gotowa do konfiguracji.",
+ "button": "Dowiedz się, jak skonfigurować"
+ },
+ "cloudAuthView": {
+ "title": "Ustęp",
+ "deploy": "Gotowy do wdrożenia?",
+ "requiresHandler": "Alinea potrzebuje opiekuna, aby kontynuować",
+ "backend": "Aby kontynuować działanie Alinea, wymagane jest zaplecze.",
+ "customBackend": "w pełni skonfiguruj niestandardowy back-end",
+ "cloud": "Albo zainstaluj naszą ofertę w chmurze za pomocą kilku kliknięć.",
+ "cloudButton": "Kontynuuj z alinea.cloud"
+ },
+ "sidebarSettings": {
+ "settings": "Ustawienia",
+ "defaultWorkspace": "Domyślny obszar roboczy",
+ "theme": "Zmień motyw",
+ "fontSize": "Rozmiar czcionki",
+ "decreaseFontSize": "Zmniejsz rozmiar czcionki",
+ "increaseFontSize": "Zwiększ rozmiar czcionki",
+ "logout": "Wyloguj"
+ },
+ "fileUploader": {
+ "uploadComplete": "Zakończono przesyłanie: {{amount}}",
+ "uploading": "Przesyłanie plików: {{amount}}",
+ "upload": "Prześlij pliki"
+ },
+ "fileUploadRow": {
+ "alt": "Przesłany plik",
+ "done": "Zrobione"
+ },
+ "fileEntry": {
+ "preview": "Podgląd pliku multimedialnego",
+ "extension": "Rozszerzenie",
+ "fileSize": "Rozmiar pliku",
+ "dimensions": "Wymiary",
+ "pixels": "pikseli",
+ "url": "Adres URL",
+ "focus": "Punkt skupienia",
+ "focusHelp": "Kliknij na obraz, aby zmienić punkt ostrości"
+ },
+ "cardOverview": {
+ "title": "karta"
+ },
+ "explorer": {
+ "noResults": "Brak wyników"
+ },
+ "editModeToggle": {
+ "edit": "Redagować",
+ "review": "Przejrzyj zmiany"
+ },
+ "searchBox": {
+ "search": "Szukaj"
+ },
+ "rootOverview": {
+ "instruction": "Wybierz wpis w drzewie nawigacyjnym po lewej stronie, aby rozpocząć edycję"
+ },
+ "inputLabel": {
+ "readonly": "Tylko do odczytu",
+ "shared": "Wspólny"
+ },
+ "errorBoundary": {
+ "title": "Błąd",
+ "oops": "Ups, coś poszło nie tak",
+ "close": "Zamknij błąd",
+ "issue": "Utwórz problem"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Domyślny obszar roboczy",
+ "logout": "Wyloguj"
+ },
+ "listField": {
+ "reorder": "Przeciągnij i upuść, aby zmienić kolejność",
+ "copy": "Kopiuj blok",
+ "moveUp": "Przesuń się o jedną pozycję w górę",
+ "moveDown": "Przesuń się o jedną pozycję w dół",
+ "delete": "Usuń blok",
+ "paste": "Wklej blok",
+ "add": "Wstaw nowy blok"
+ },
+ "metadataField": {
+ "previewTitle": "Zapowiedź",
+ "searchEngine": "Wyszukiwarka",
+ "socialShare": "Udostępnianie społecznościowe",
+ "ogImageAlt": "Obraz Open Graph"
+ },
+ "pickTextLink": {
+ "title": "Wybierz link",
+ "link": "Połączyć",
+ "description": "Opis",
+ "descriptionHelp": "Tekst do wyświetlenia wewnątrz elementu linku",
+ "tooltip": "Podpowiedź",
+ "tooltipHelp": "Dodatkowe informacje opisujące link, wyświetlane po najechaniu kursorem",
+ "newTab": "Otwórz link w nowej karcie",
+ "remove": "Usuń link",
+ "cancel": "Anulować",
+ "confirm": "Potwierdzać"
+ },
+ "richTextField": {
+ "insert": "Wstaw blok"
+ },
+ "richTextToolbar": {
+ "styles": "Nagłówek/akapit",
+ "table": "Tabela",
+ "bold": "Pogrubiony",
+ "italic": "italski",
+ "align": "Wyrównanie",
+ "alignLeft": "Wyrównaj do lewej",
+ "alignCenter": "Wyrównaj do środka",
+ "alignRight": "Wyrównaj do prawej",
+ "alignJustify": "Wyrównaj i wyjustuj",
+ "clear": "Wyczyść format",
+ "bulletList": "Lista punktowana",
+ "orderedList": "Lista uporządkowana",
+ "link": "Połączyć",
+ "quote": "Cytat blokowy",
+ "rule": "Linia pozioma",
+ "small": "Mały",
+ "sub": "Indeks dolny",
+ "sup": "Napisany u góry",
+ "paragraph": "Zwykły tekst",
+ "h1": "Nagłówek 1",
+ "h2": "Nagłówek 2",
+ "h3": "Nagłówek 3",
+ "h4": "Nagłówek 4",
+ "h5": "Nagłówek 5",
+ "tableLabel": "Tabela",
+ "insert": "Wstaw tabelę",
+ "insertRowBefore": "Wstaw wiersz przed",
+ "insertRowAfter": "Wstaw wiersz po",
+ "deleteRow": "Usuń wiersz",
+ "toggleHeaderRow": "Przełącz wiersz nagłówka",
+ "insertColumnBefore": "Wstaw kolumnę przed",
+ "insertColumnAfter": "Wstaw kolumnę po",
+ "deleteColumn": "Usuń kolumnę",
+ "deleteTable": "Usuń tabelę",
+ "left": "Lewy",
+ "center": "Centrum",
+ "right": "Prawidłowy",
+ "justify": "Uzasadniać"
+ },
+ "linkField": {
+ "reorder": "Przeciągnij i upuść, aby zmienić kolejność",
+ "open": "Otwórz link w nowej karcie",
+ "openFile": "Otwórz plik multimedialny w nowej karcie",
+ "edit": "Edytuj link",
+ "editFile": "Zmień obraz",
+ "delete": "Usuń link",
+ "deleteFile": "Usuń obraz"
+ },
+ "entryPicker": {
+ "title": "Wybierz odniesienie",
+ "searchPlaceholder": "Szukaj",
+ "cancel": "Anulować",
+ "confirm": "Potwierdzać"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/pt.json b/src/translations/pt.json
new file mode 100644
index 000000000..a16fd434f
--- /dev/null
+++ b/src/translations/pt.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Sincronização",
+ "synced": "Sincronizado",
+ "saving": "Salvando…"
+ },
+ "urlPicker": {
+ "title": "Link",
+ "url": "URL",
+ "urlHelp": "URL do link",
+ "description": "Descrição",
+ "descriptionHelp": "Texto a ser exibido dentro do elemento de link",
+ "target": "Alvo",
+ "targetDescription": "Abrir link em nova aba",
+ "cancel": "Cancelar",
+ "confirm": "Confirmar"
+ },
+ "pickLink": {
+ "title": "Selecionar link",
+ "link": "Link",
+ "description": "Descrição",
+ "descriptionHelp": "Texto a ser exibido dentro do elemento de link",
+ "tooltip": "Dica de ferramenta",
+ "tooltipHelp": "Informações extras que descrevem o link, mostradas ao passar o mouse",
+ "newTab": "Abrir link em nova aba",
+ "remove": "Remover link",
+ "cancel": "Cancelar",
+ "confirm": "Confirmar"
+ },
+ "newEntry": {
+ "title": "Título",
+ "parent": "Pai",
+ "type": "Selecione o tipo",
+ "order": "Inserir ordem",
+ "orderFirst": "No topo da lista",
+ "orderLast": "No final da lista",
+ "copyFrom": "Copiar conteúdo de",
+ "formTitle": "Nova entrada",
+ "cancel": "Cancelar",
+ "create": "Criar"
+ },
+ "entryEdit": {
+ "blockingTitle": "Tem certeza de que deseja descartar as alterações?",
+ "blockingWarning": "Este documento foi alterado",
+ "blockingPrompt": "você gostaria de salvar suas alterações?",
+ "blockingDiscard": "Descartar minhas alterações",
+ "blockingSaveDraft": "Salvar como rascunho",
+ "blockingPublishChanges": "Publicar alterações",
+ "untranslatedTitle": "Não traduzido",
+ "untranslatedParent": "Traduza a página principal primeiro.",
+ "untranslatedPrompt": "Insira os detalhes abaixo e salve para começar a traduzir.",
+ "draftError": "Não foi possível concluir a ação de rascunho, tente novamente mais tarde.",
+ "saveTranslationError": "Não foi possível concluir a ação de tradução. Tente novamente mais tarde.",
+ "publishError": "Não foi possível concluir a ação de publicação. Tente novamente mais tarde.",
+ "discardError": "Não foi possível descartar as alterações, tente novamente mais tarde.",
+ "unpublishError": "Não foi possível concluir a ação de cancelamento de publicação. Tente novamente mais tarde.",
+ "deleteError": "Não foi possível concluir a ação de exclusão. Tente novamente mais tarde.",
+ "archiveError": "Não foi possível concluir a ação de arquivamento. Tente novamente mais tarde."
+ },
+ "entryHeader": {
+ "draft": "Rascunho",
+ "editing": "Edição",
+ "published": "Publicado",
+ "archived": "Arquivado",
+ "untranslated": "Não traduzido",
+ "unpublished": "Não publicado",
+ "revision": "Revisão",
+ "showMenu": "Exibir menu",
+ "hideMenu": "Ocultar menu",
+ "removeDraft": "Remover rascunho",
+ "replace": "Substituir",
+ "delete": "Excluir",
+ "unpublish": "Despublicar",
+ "archive": "Arquivo",
+ "publish": "Publicar",
+ "showHistory": "Mostrar histórico",
+ "hideHistory": "Ocultar histórico",
+ "draftAvailable": "Uma versão de rascunho mais recente está disponível",
+ "translateFrom": "Traduzir de",
+ "translateParent": "Traduzir a página principal primeiro",
+ "discard": "Descartar edições",
+ "save": "Salvar tradução",
+ "saveDraft": "Salvar",
+ "restore": "Restaurar",
+ "showPreview": "Exibir pré-visualização",
+ "hidePreview": "Ocultar visualização",
+ "savingDraft": "Salvando rascunho",
+ "savingTranslation": "Salvando a tradução",
+ "publishingEdits": "Edições de publicação",
+ "restoringRevision": "Restaurando revisão",
+ "publishingDraft": "Rascunho de publicação",
+ "unpublishingDraft": "Rascunho de despublicação",
+ "discardingDraft": "Descartando rascunho",
+ "archivingPublished": "Arquivamento publicado",
+ "publishingArchived": "Publicação arquivada",
+ "deletingFile": "Excluindo arquivo",
+ "deletingEntry": "Excluir entrada"
+ },
+ "contentView": {
+ "create": "Criar novo"
+ },
+ "welcome": {
+ "title": "Sua instalação do alinea agora está pronta para configuração.",
+ "button": "Aprenda a configurar"
+ },
+ "cloudAuthView": {
+ "title": "Parágrafo",
+ "deploy": "Pronto para implementar?",
+ "requiresHandler": "Alinea precisa de um manipulador para continuar",
+ "backend": "Alinea precisa de um backend para continuar.",
+ "customBackend": "configurar completamente um backend personalizado",
+ "cloud": "Ou configure em poucos cliques nossa oferta de nuvem.",
+ "cloudButton": "Continue com alinea.cloud"
+ },
+ "sidebarSettings": {
+ "settings": "Configurações",
+ "defaultWorkspace": "Espaço de trabalho padrão",
+ "theme": "Mudar tema",
+ "fontSize": "Tamanho da fonte",
+ "decreaseFontSize": "Diminuir o tamanho da fonte",
+ "increaseFontSize": "Aumentar o tamanho da fonte",
+ "logout": "Sair"
+ },
+ "fileUploader": {
+ "uploadComplete": "Uploads concluídos: {{amount}}",
+ "uploading": "Carregando arquivos: {{amount}}",
+ "upload": "Carregar arquivos"
+ },
+ "fileUploadRow": {
+ "alt": "Arquivo enviado",
+ "done": "Feito"
+ },
+ "fileEntry": {
+ "preview": "Visualização do arquivo de mídia",
+ "extension": "Extensão",
+ "fileSize": "Tamanho do arquivo",
+ "dimensions": "Dimensões",
+ "pixels": "pixels",
+ "url": "URL",
+ "focus": "Ponto de foco",
+ "focusHelp": "Clique na imagem para alterar o ponto de foco"
+ },
+ "cardOverview": {
+ "title": "cartão"
+ },
+ "explorer": {
+ "noResults": "Nenhum resultado"
+ },
+ "editModeToggle": {
+ "edit": "Editar",
+ "review": "Revisar alterações"
+ },
+ "searchBox": {
+ "search": "Procurar"
+ },
+ "rootOverview": {
+ "instruction": "Selecione uma entrada na árvore de navegação\nà esquerda para iniciar a edição"
+ },
+ "inputLabel": {
+ "readonly": "Somente leitura",
+ "shared": "Compartilhado"
+ },
+ "errorBoundary": {
+ "title": "Erro",
+ "oops": "Ops, algo deu errado",
+ "close": "Erro de fechamento",
+ "issue": "Criar um problema"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Espaço de trabalho padrão",
+ "logout": "Sair"
+ },
+ "listField": {
+ "reorder": "Arraste e solte para reordenar",
+ "copy": "Bloco de cópia",
+ "moveUp": "Subir uma posição",
+ "moveDown": "Mover uma posição para baixo",
+ "delete": "Excluir bloco",
+ "paste": "Bloco de colagem",
+ "add": "Inserir novo bloco"
+ },
+ "metadataField": {
+ "previewTitle": "Visualização",
+ "searchEngine": "Motor de busca",
+ "socialShare": "Compartilhamento social",
+ "ogImageAlt": "Imagem do Open Graph"
+ },
+ "pickTextLink": {
+ "title": "Selecionar link",
+ "link": "Link",
+ "description": "Descrição",
+ "descriptionHelp": "Texto a ser exibido dentro do elemento de link",
+ "tooltip": "Dica de ferramenta",
+ "tooltipHelp": "Informações extras que descrevem o link, mostradas ao passar o mouse",
+ "newTab": "Abrir link em nova aba",
+ "remove": "Remover link",
+ "cancel": "Cancelar",
+ "confirm": "Confirmar"
+ },
+ "richTextField": {
+ "insert": "Inserir bloco"
+ },
+ "richTextToolbar": {
+ "styles": "Título/parágrafo",
+ "table": "Mesa",
+ "bold": "Audacioso",
+ "italic": "itálico",
+ "align": "Alinhamento",
+ "alignLeft": "Alinhar à esquerda",
+ "alignCenter": "Alinhar ao centro",
+ "alignRight": "Alinhar à direita",
+ "alignJustify": "Alinhar justificar",
+ "clear": "Formato claro",
+ "bulletList": "Lista com marcadores",
+ "orderedList": "Lista ordenada",
+ "link": "Link",
+ "quote": "Citação em bloco",
+ "rule": "Régua horizontal",
+ "small": "Pequeno",
+ "sub": "Subscrito",
+ "sup": "Sobrescrito",
+ "paragraph": "Texto normal",
+ "h1": "Título 1",
+ "h2": "Título 2",
+ "h3": "Título 3",
+ "h4": "Título 4",
+ "h5": "Título 5",
+ "tableLabel": "Mesa",
+ "insert": "Inserir tabela",
+ "insertRowBefore": "Inserir linha antes",
+ "insertRowAfter": "Inserir linha após",
+ "deleteRow": "Excluir linha",
+ "toggleHeaderRow": "Alternar linha de cabeçalho",
+ "insertColumnBefore": "Inserir coluna antes",
+ "insertColumnAfter": "Inserir coluna após",
+ "deleteColumn": "Excluir coluna",
+ "deleteTable": "Excluir tabela",
+ "left": "Esquerda",
+ "center": "Centro",
+ "right": "Certo",
+ "justify": "Justificar"
+ },
+ "linkField": {
+ "reorder": "Arraste e solte para reordenar",
+ "open": "Abrir link em nova aba",
+ "openFile": "Abrir arquivo de mídia em uma nova aba",
+ "edit": "Editar link",
+ "editFile": "Alterar imagem",
+ "delete": "Excluir link",
+ "deleteFile": "Excluir imagem"
+ },
+ "entryPicker": {
+ "title": "Selecione uma referência",
+ "searchPlaceholder": "Procurar",
+ "cancel": "Cancelar",
+ "confirm": "Confirmar"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/ro.json b/src/translations/ro.json
new file mode 100644
index 000000000..116006132
--- /dev/null
+++ b/src/translations/ro.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Sincronizare",
+ "synced": "Sincronizat",
+ "saving": "Salvare…"
+ },
+ "urlPicker": {
+ "title": "Legătură",
+ "url": "Adresă URL",
+ "urlHelp": "URL-ul linkului",
+ "description": "Descriere",
+ "descriptionHelp": "Text de afișat în interiorul elementului de link",
+ "target": "Ţintă",
+ "targetDescription": "Deschide linkul într-o filă nouă",
+ "cancel": "Anula",
+ "confirm": "Confirma"
+ },
+ "pickLink": {
+ "title": "Alege linkul",
+ "link": "Legătură",
+ "description": "Descriere",
+ "descriptionHelp": "Text de afișat în interiorul elementului de link",
+ "tooltip": "Sugestie instrumentală",
+ "tooltipHelp": "Informații suplimentare care descriu linkul, afișate la trecerea cu mouse-ul peste",
+ "newTab": "Deschide linkul într-o filă nouă",
+ "remove": "Eliminați linkul",
+ "cancel": "Anula",
+ "confirm": "Confirma"
+ },
+ "newEntry": {
+ "title": "Titlu",
+ "parent": "Mamă",
+ "type": "Selectați tipul",
+ "order": "Introduceți comanda",
+ "orderFirst": "În fruntea listei",
+ "orderLast": "În partea de jos a listei",
+ "copyFrom": "Copiați conținutul din",
+ "formTitle": "Intrare nouă",
+ "cancel": "Anula",
+ "create": "Crea"
+ },
+ "entryEdit": {
+ "blockingTitle": "Sigur vrei să ștergi modificările?",
+ "blockingWarning": "Acest document a fost modificat",
+ "blockingPrompt": "Doriți să salvați modificările?",
+ "blockingDiscard": "Anulează modificările mele",
+ "blockingSaveDraft": "Salvați ca schiță",
+ "blockingPublishChanges": "Publicați modificările",
+ "untranslatedTitle": "Netradus",
+ "untranslatedParent": "Traduceți mai întâi pagina părinte.",
+ "untranslatedPrompt": "Introduceți detaliile de mai jos și salvați pentru a începe traducerea.",
+ "draftError": "Nu s-a putut finaliza acțiunea preliminară, vă rugăm să încercați din nou mai târziu.",
+ "saveTranslationError": "Nu s-a putut finaliza acțiunea de traducere, vă rugăm să încercați din nou mai târziu.",
+ "publishError": "Nu s-a putut finaliza acțiunea de publicare, vă rugăm să încercați din nou mai târziu.",
+ "discardError": "Nu s-au putut șterge modificările, vă rugăm să încercați din nou mai târziu.",
+ "unpublishError": "Nu s-a putut finaliza acțiunea de anulare a publicării. Vă rugăm să încercați din nou mai târziu.",
+ "deleteError": "Nu s-a putut finaliza acțiunea de ștergere, vă rugăm să încercați din nou mai târziu.",
+ "archiveError": "Nu s-a putut finaliza acțiunea de arhivare, vă rugăm să încercați din nou mai târziu."
+ },
+ "entryHeader": {
+ "draft": "Proiect",
+ "editing": "Editare",
+ "published": "Publicat",
+ "archived": "Arhivat",
+ "untranslated": "Netradus",
+ "unpublished": "Nepublicat",
+ "revision": "Revizuire",
+ "showMenu": "Afișare meniu",
+ "hideMenu": "Ascunde meniul",
+ "removeDraft": "Eliminați schița",
+ "replace": "Înlocui",
+ "delete": "Şterge",
+ "unpublish": "Anulează publicarea",
+ "archive": "Arhivă",
+ "publish": "Publica",
+ "showHistory": "Afișați istoricul",
+ "hideHistory": "Ascunde istoricul",
+ "draftAvailable": "O versiune preliminară mai nouă este disponibilă",
+ "translateFrom": "Traduceți din",
+ "translateParent": "Traduceți mai întâi pagina părinte",
+ "discard": "Anulează modificările",
+ "save": "Salvați traducerea",
+ "saveDraft": "Salva",
+ "restore": "Restabili",
+ "showPreview": "Afișare previzualizare",
+ "hidePreview": "Ascunde previzualizarea",
+ "savingDraft": "Se salvează schița",
+ "savingTranslation": "Salvarea traducerii",
+ "publishingEdits": "Publicarea editărilor",
+ "restoringRevision": "Restaurarea reviziei",
+ "publishingDraft": "Publicarea schiței",
+ "unpublishingDraft": "Anularea publicării schiței",
+ "discardingDraft": "Se elimină schița",
+ "archivingPublished": "Arhivare publicată",
+ "publishingArchived": "Publicare arhivată",
+ "deletingFile": "Ștergerea fișierului",
+ "deletingEntry": "Ștergeți intrarea"
+ },
+ "contentView": {
+ "create": "Creați nou"
+ },
+ "welcome": {
+ "title": "Instalarea dvs. alinea este acum gata de configurare.",
+ "button": "Aflați cum să configurați"
+ },
+ "cloudAuthView": {
+ "title": "Paragraf",
+ "deploy": "Gata de implementare?",
+ "requiresHandler": "Alinea necesită un handler pentru a continua",
+ "backend": "Alinea necesită un backend pentru a continua.",
+ "customBackend": "configurați complet un backend personalizat",
+ "cloud": "Sau configurează-te în câteva clicuri cu oferta noastră de cloud.",
+ "cloudButton": "Continuă cu alinea.cloud"
+ },
+ "sidebarSettings": {
+ "settings": "Setări",
+ "defaultWorkspace": "Spațiu de lucru implicit",
+ "theme": "Schimbă tema",
+ "fontSize": "Dimensiunea fontului",
+ "decreaseFontSize": "Micșorează dimensiunea fontului",
+ "increaseFontSize": "Măriți dimensiunea fontului",
+ "logout": "Deconectare"
+ },
+ "fileUploader": {
+ "uploadComplete": "Încărcări finalizate: {{amount}}",
+ "uploading": "Încărcarea fișierelor: {{amount}}",
+ "upload": "Încărcați fișiere"
+ },
+ "fileUploadRow": {
+ "alt": "Fișier încărcat",
+ "done": "Făcut"
+ },
+ "fileEntry": {
+ "preview": "Previzualizare fișier media",
+ "extension": "Extensie",
+ "fileSize": "Dimensiunea fișierului",
+ "dimensions": "Dimensiuni",
+ "pixels": "pixeli",
+ "url": "URL-ul",
+ "focus": "Punct de focalizare",
+ "focusHelp": "Faceți clic pe imagine pentru a schimba punctul de focalizare"
+ },
+ "cardOverview": {
+ "title": "card"
+ },
+ "explorer": {
+ "noResults": "Niciun rezultat"
+ },
+ "editModeToggle": {
+ "edit": "Edita",
+ "review": "Revizuirea modificărilor"
+ },
+ "searchBox": {
+ "search": "Căutare"
+ },
+ "rootOverview": {
+ "instruction": "Selectați o intrare în arborele de navigare din stânga pentru a începe editarea"
+ },
+ "inputLabel": {
+ "readonly": "Doar citire",
+ "shared": "Partajat"
+ },
+ "errorBoundary": {
+ "title": "Eroare",
+ "oops": "Oops, ceva nu a mers bine",
+ "close": "Eroare la închidere",
+ "issue": "Creați o problemă"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Spațiu de lucru implicit",
+ "logout": "Deconectare"
+ },
+ "listField": {
+ "reorder": "Trageți și plasați pentru a reordona",
+ "copy": "Copiere bloc",
+ "moveUp": "Mută o poziție mai sus",
+ "moveDown": "Mută o poziție în jos",
+ "delete": "Ștergeți blocul",
+ "paste": "Lipire bloc",
+ "add": "Introduceți un bloc nou"
+ },
+ "metadataField": {
+ "previewTitle": "Previzualizare",
+ "searchEngine": "Motor de căutare",
+ "socialShare": "Partajare socială",
+ "ogImageAlt": "Imagine grafică deschisă"
+ },
+ "pickTextLink": {
+ "title": "Alege linkul",
+ "link": "Legătură",
+ "description": "Descriere",
+ "descriptionHelp": "Text de afișat în interiorul elementului de link",
+ "tooltip": "Sugestie instrumentală",
+ "tooltipHelp": "Informații suplimentare care descriu linkul, afișate la trecerea cu mouse-ul peste",
+ "newTab": "Deschide linkul într-o filă nouă",
+ "remove": "Eliminați linkul",
+ "cancel": "Anula",
+ "confirm": "Confirma"
+ },
+ "richTextField": {
+ "insert": "Inserare bloc"
+ },
+ "richTextToolbar": {
+ "styles": "Titlu/paragraf",
+ "table": "Masă",
+ "bold": "Îndrăzneţ",
+ "italic": "Cursiv",
+ "align": "Aliniere",
+ "alignLeft": "Aliniere la stânga",
+ "alignCenter": "Aliniere la centru",
+ "alignRight": "Aliniere la dreapta",
+ "alignJustify": "Aliniere justificare",
+ "clear": "Format clar",
+ "bulletList": "Listă cu puncte",
+ "orderedList": "Listă ordonată",
+ "link": "Legătură",
+ "quote": "Citat bloc",
+ "rule": "Regula orizontală",
+ "small": "Mic",
+ "sub": "Indice",
+ "sup": "Superscript",
+ "paragraph": "Text normal",
+ "h1": "Titlul 1",
+ "h2": "Titlul 2",
+ "h3": "Titlul 3",
+ "h4": "Titlul 4",
+ "h5": "Titlul 5",
+ "tableLabel": "Masă",
+ "insert": "Inserare tabel",
+ "insertRowBefore": "Introduceți un rând înainte",
+ "insertRowAfter": "Introduceți un rând după",
+ "deleteRow": "Ștergeți rândul",
+ "toggleHeaderRow": "Comutare rând antet",
+ "insertColumnBefore": "Introduceți coloana înainte",
+ "insertColumnAfter": "Introduceți coloana după",
+ "deleteColumn": "Ștergeți coloana",
+ "deleteTable": "Ștergeți tabelul",
+ "left": "Stânga",
+ "center": "Centru",
+ "right": "Corect",
+ "justify": "Justifica"
+ },
+ "linkField": {
+ "reorder": "Trageți și plasați pentru a reordona",
+ "open": "Deschide linkul într-o filă nouă",
+ "openFile": "Deschide fișierul media într-o filă nouă",
+ "edit": "Editați linkul",
+ "editFile": "Schimbă imaginea",
+ "delete": "Șterge linkul",
+ "deleteFile": "Ștergeți imaginea"
+ },
+ "entryPicker": {
+ "title": "Selectați o referință",
+ "searchPlaceholder": "Căutare",
+ "cancel": "Anula",
+ "confirm": "Confirma"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/ru.json b/src/translations/ru.json
new file mode 100644
index 000000000..8016a7e8a
--- /dev/null
+++ b/src/translations/ru.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Синхронизация",
+ "synced": "Синхронизировано",
+ "saving": "Сохранение…"
+ },
+ "urlPicker": {
+ "title": "Связь",
+ "url": "URL-адрес",
+ "urlHelp": "URL ссылки",
+ "description": "Описание",
+ "descriptionHelp": "Текст для отображения внутри элемента ссылки",
+ "target": "Цель",
+ "targetDescription": "Открыть ссылку в новой вкладке",
+ "cancel": "Отмена",
+ "confirm": "Подтверждать"
+ },
+ "pickLink": {
+ "title": "Выбрать ссылку",
+ "link": "Связь",
+ "description": "Описание",
+ "descriptionHelp": "Текст для отображения внутри элемента ссылки",
+ "tooltip": "Подсказка",
+ "tooltipHelp": "Дополнительная информация, описывающая ссылку, отображается при наведении курсора",
+ "newTab": "Открыть ссылку в новой вкладке",
+ "remove": "Удалить ссылку",
+ "cancel": "Отмена",
+ "confirm": "Подтверждать"
+ },
+ "newEntry": {
+ "title": "Заголовок",
+ "parent": "Родитель",
+ "type": "Выберите тип",
+ "order": "Вставить заказ",
+ "orderFirst": "В верхней части списка",
+ "orderLast": "Внизу списка",
+ "copyFrom": "Копировать содержимое из",
+ "formTitle": "Новая запись",
+ "cancel": "Отмена",
+ "create": "Создавать"
+ },
+ "entryEdit": {
+ "blockingTitle": "Вы уверены, что хотите отменить изменения?",
+ "blockingWarning": "Этот документ был изменен",
+ "blockingPrompt": "Вы хотите сохранить изменения?",
+ "blockingDiscard": "Отменить мои изменения",
+ "blockingSaveDraft": "Сохранить как черновик",
+ "blockingPublishChanges": "Опубликовать изменения",
+ "untranslatedTitle": "Непереведено",
+ "untranslatedParent": "Сначала переведите родительскую страницу.",
+ "untranslatedPrompt": "Введите данные ниже и сохраните, чтобы начать перевод.",
+ "draftError": "Не удалось завершить черновик действия, повторите попытку позже.",
+ "saveTranslationError": "Не удалось завершить перевод. Попробуйте еще раз позже.",
+ "publishError": "Не удалось завершить публикацию. Повторите попытку позже.",
+ "discardError": "Не удалось отменить изменения. Попробуйте ещё раз позже.",
+ "unpublishError": "Не удалось завершить действие отмены публикации, повторите попытку позже.",
+ "deleteError": "Не удалось завершить удаление. Повторите попытку позже.",
+ "archiveError": "Не удалось завершить архивацию. Повторите попытку позже."
+ },
+ "entryHeader": {
+ "draft": "Черновик",
+ "editing": "Редактирование",
+ "published": "Опубликовано",
+ "archived": "Архивировано",
+ "untranslated": "Непереведено",
+ "unpublished": "Неопубликовано",
+ "revision": "Пересмотр",
+ "showMenu": "Показать меню",
+ "hideMenu": "Скрыть меню",
+ "removeDraft": "Удалить черновик",
+ "replace": "Заменять",
+ "delete": "Удалить",
+ "unpublish": "Отменить публикацию",
+ "archive": "Архив",
+ "publish": "Публиковать",
+ "showHistory": "Показать историю",
+ "hideHistory": "Скрыть историю",
+ "draftAvailable": "Доступна более новая версия проекта.",
+ "translateFrom": "Перевести с",
+ "translateParent": "Сначала переведите родительскую страницу",
+ "discard": "Отменить изменения",
+ "save": "Сохранить перевод",
+ "saveDraft": "Сохранять",
+ "restore": "Восстановить",
+ "showPreview": "Предварительный просмотр дисплея",
+ "hidePreview": "Скрыть предварительный просмотр",
+ "savingDraft": "Сохранение черновика",
+ "savingTranslation": "Сохранение перевода",
+ "publishingEdits": "Публикация правок",
+ "restoringRevision": "Восстановление ревизии",
+ "publishingDraft": "Публикация черновика",
+ "unpublishingDraft": "Отмена публикации черновика",
+ "discardingDraft": "Отмена проекта",
+ "archivingPublished": "Архивирование опубликовано",
+ "publishingArchived": "Публикация архивирована",
+ "deletingFile": "Удаление файла",
+ "deletingEntry": "Удалить запись"
+ },
+ "contentView": {
+ "create": "Создать новый"
+ },
+ "welcome": {
+ "title": "Ваша установка alinea теперь готова к настройке.",
+ "button": "Узнайте, как настроить"
+ },
+ "cloudAuthView": {
+ "title": "Абзац",
+ "deploy": "Готовы к развертыванию?",
+ "requiresHandler": "Алинеа нуждается в кураторе для продолжения",
+ "backend": "Для продолжения работы Alinea требуется бэкэнд.",
+ "customBackend": "полностью настроить пользовательский бэкэнд",
+ "cloud": "Или настройте систему за несколько кликов с помощью нашего облачного предложения.",
+ "cloudButton": "Продолжить с alinea.cloud"
+ },
+ "sidebarSettings": {
+ "settings": "Настройки",
+ "defaultWorkspace": "Рабочее пространство по умолчанию",
+ "theme": "Сменить тему",
+ "fontSize": "Размер шрифта",
+ "decreaseFontSize": "Уменьшить размер шрифта",
+ "increaseFontSize": "Увеличить размер шрифта",
+ "logout": "Выйти"
+ },
+ "fileUploader": {
+ "uploadComplete": "Загрузки завершены: {{amount}}",
+ "uploading": "Загрузка файлов: {{amount}}",
+ "upload": "Загрузить файлы"
+ },
+ "fileUploadRow": {
+ "alt": "Загруженный файл",
+ "done": "Сделанный"
+ },
+ "fileEntry": {
+ "preview": "Предварительный просмотр медиа-файла",
+ "extension": "Расширение",
+ "fileSize": "Размер файла",
+ "dimensions": "Размеры",
+ "pixels": "пиксели",
+ "url": "URL",
+ "focus": "Точка фокусировки",
+ "focusHelp": "Нажмите на изображение, чтобы изменить точку фокусировки."
+ },
+ "cardOverview": {
+ "title": "карта"
+ },
+ "explorer": {
+ "noResults": "Нет результатов"
+ },
+ "editModeToggle": {
+ "edit": "Редактировать",
+ "review": "Просмотреть изменения"
+ },
+ "searchBox": {
+ "search": "Поиск"
+ },
+ "rootOverview": {
+ "instruction": "Выберите запись в дереве навигации слева, чтобы начать редактирование."
+ },
+ "inputLabel": {
+ "readonly": "Только для чтения",
+ "shared": "Общий"
+ },
+ "errorBoundary": {
+ "title": "Ошибка",
+ "oops": "Упс, что-то пошло не так",
+ "close": "Закрыть ошибку",
+ "issue": "Создать проблему"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Рабочее пространство по умолчанию",
+ "logout": "Выйти"
+ },
+ "listField": {
+ "reorder": "Перетащите, чтобы изменить порядок",
+ "copy": "Копировать блок",
+ "moveUp": "Подняться на одну позицию вверх",
+ "moveDown": "Переместиться вниз на одну позицию",
+ "delete": "Удалить блок",
+ "paste": "Вставить блок",
+ "add": "Вставить новый блок"
+ },
+ "metadataField": {
+ "previewTitle": "Предварительный просмотр",
+ "searchEngine": "Поисковая система",
+ "socialShare": "Социальный обмен",
+ "ogImageAlt": "Изображение Open Graph"
+ },
+ "pickTextLink": {
+ "title": "Выбрать ссылку",
+ "link": "Связь",
+ "description": "Описание",
+ "descriptionHelp": "Текст для отображения внутри элемента ссылки",
+ "tooltip": "Подсказка",
+ "tooltipHelp": "Дополнительная информация, описывающая ссылку, отображается при наведении курсора",
+ "newTab": "Открыть ссылку в новой вкладке",
+ "remove": "Удалить ссылку",
+ "cancel": "Отмена",
+ "confirm": "Подтверждать"
+ },
+ "richTextField": {
+ "insert": "Вставить блок"
+ },
+ "richTextToolbar": {
+ "styles": "Заголовок/абзац",
+ "table": "Стол",
+ "bold": "Смелый",
+ "italic": "Курсив",
+ "align": "Выравнивание",
+ "alignLeft": "Выровнять по левому краю",
+ "alignCenter": "Выровнять по центру",
+ "alignRight": "Выровнять по правому краю",
+ "alignJustify": "Выровнять по ширине",
+ "clear": "Очистить формат",
+ "bulletList": "Маркированный список",
+ "orderedList": "Упорядоченный список",
+ "link": "Связь",
+ "quote": "Блокцитата",
+ "rule": "Горизонтальное правило",
+ "small": "Маленький",
+ "sub": "Подстрочный индекс",
+ "sup": "Надстрочный индекс",
+ "paragraph": "Обычный текст",
+ "h1": "Заголовок 1",
+ "h2": "Заголовок 2",
+ "h3": "Заголовок 3",
+ "h4": "Заголовок 4",
+ "h5": "Заголовок 5",
+ "tableLabel": "Стол",
+ "insert": "Вставить таблицу",
+ "insertRowBefore": "Вставить строку перед",
+ "insertRowAfter": "Вставить строку после",
+ "deleteRow": "Удалить строку",
+ "toggleHeaderRow": "Переключить строку заголовка",
+ "insertColumnBefore": "Вставить столбец перед",
+ "insertColumnAfter": "Вставить столбец после",
+ "deleteColumn": "Удалить столбец",
+ "deleteTable": "Удалить таблицу",
+ "left": "Левый",
+ "center": "Центр",
+ "right": "Верно",
+ "justify": "Оправдывать"
+ },
+ "linkField": {
+ "reorder": "Перетащите, чтобы изменить порядок",
+ "open": "Открыть ссылку в новой вкладке",
+ "openFile": "Открыть медиафайл в новой вкладке",
+ "edit": "Редактировать ссылку",
+ "editFile": "Изменить изображение",
+ "delete": "Удалить ссылку",
+ "deleteFile": "Удалить изображение"
+ },
+ "entryPicker": {
+ "title": "Выберите ссылку",
+ "searchPlaceholder": "Поиск",
+ "cancel": "Отмена",
+ "confirm": "Подтверждать"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/sk.json b/src/translations/sk.json
new file mode 100644
index 000000000..37faf624e
--- /dev/null
+++ b/src/translations/sk.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Synchronizácia",
+ "synced": "Synchronizované",
+ "saving": "Ukladá sa…"
+ },
+ "urlPicker": {
+ "title": "Odkaz",
+ "url": "URL",
+ "urlHelp": "URL adresa odkazu",
+ "description": "Popis",
+ "descriptionHelp": "Text, ktorý sa má zobraziť vo vnútri elementu odkazu",
+ "target": "Cieľ",
+ "targetDescription": "Otvoriť odkaz v novom okne",
+ "cancel": "Zrušiť",
+ "confirm": "Potvrdiť"
+ },
+ "pickLink": {
+ "title": "Vyberte odkaz",
+ "link": "Odkaz",
+ "description": "Popis",
+ "descriptionHelp": "Text, ktorý sa má zobraziť vo vnútri elementu odkazu",
+ "tooltip": "Popis nástroja",
+ "tooltipHelp": "Doplňujúce informácie, ktoré opisujú odkaz a zobrazujú sa pri umiestnení kurzora myši",
+ "newTab": "Otvoriť odkaz v novom okne",
+ "remove": "Odstrániť odkaz",
+ "cancel": "Zrušiť",
+ "confirm": "Potvrdiť"
+ },
+ "newEntry": {
+ "title": "Názov",
+ "parent": "Rodič",
+ "type": "Vyberte typ",
+ "order": "Vložiť objednávku",
+ "orderFirst": "Na vrchole zoznamu",
+ "orderLast": "V spodnej časti zoznamu",
+ "copyFrom": "Kopírovať obsah z",
+ "formTitle": "Nový záznam",
+ "cancel": "Zrušiť",
+ "create": "Vytvoriť"
+ },
+ "entryEdit": {
+ "blockingTitle": "Naozaj chcete zahodiť zmeny?",
+ "blockingWarning": "Tento dokument bol zmenený",
+ "blockingPrompt": "Chcete uložiť zmeny?",
+ "blockingDiscard": "Zahodiť moje zmeny",
+ "blockingSaveDraft": "Uložiť ako koncept",
+ "blockingPublishChanges": "Publikovať zmeny",
+ "untranslatedTitle": "Nepreložené",
+ "untranslatedParent": "Najprv preložte nadradenú stránku.",
+ "untranslatedPrompt": "Zadajte nižšie uvedené údaje a uložte ich, aby ste mohli začať prekladať.",
+ "draftError": "Nepodarilo sa dokončiť akciu konceptu, skúste to znova neskôr.",
+ "saveTranslationError": "Preklad sa nepodarilo dokončiť, skúste to znova neskôr.",
+ "publishError": "Akciu publikovania sa nepodarilo dokončiť, skúste to znova neskôr.",
+ "discardError": "Zmeny sa nepodarilo zahodiť, skúste to znova neskôr.",
+ "unpublishError": "Akciu zrušenia publikovania sa nepodarilo dokončiť, skúste to znova neskôr.",
+ "deleteError": "Akciu odstránenia sa nepodarilo dokončiť, skúste to znova neskôr.",
+ "archiveError": "Nepodarilo sa dokončiť archiváciu, skúste to znova neskôr."
+ },
+ "entryHeader": {
+ "draft": "Návrh",
+ "editing": "Úprava",
+ "published": "Publikované",
+ "archived": "Archivované",
+ "untranslated": "Nepreložené",
+ "unpublished": "Nepublikované",
+ "revision": "Revízia",
+ "showMenu": "Zobraziť ponuku",
+ "hideMenu": "Skryť ponuku",
+ "removeDraft": "Odstrániť koncept",
+ "replace": "Nahradiť",
+ "delete": "Odstrániť",
+ "unpublish": "Zrušiť publikovanie",
+ "archive": "Archív",
+ "publish": "Publikovať",
+ "showHistory": "Zobraziť históriu",
+ "hideHistory": "Skryť históriu",
+ "draftAvailable": "K dispozícii je novšia verzia konceptu",
+ "translateFrom": "Preložiť z",
+ "translateParent": "Najprv preložiť nadradenú stránku",
+ "discard": "Zahodiť úpravy",
+ "save": "Uložiť preklad",
+ "saveDraft": "Uložiť",
+ "restore": "Obnoviť",
+ "showPreview": "Zobraziť ukážku",
+ "hidePreview": "Skryť ukážku",
+ "savingDraft": "Ukladá sa koncept",
+ "savingTranslation": "Ukladanie prekladu",
+ "publishingEdits": "Publikovanie úprav",
+ "restoringRevision": "Obnovenie revízie",
+ "publishingDraft": "Publikovanie konceptu",
+ "unpublishingDraft": "Zrušenie publikovania konceptu",
+ "discardingDraft": "Zahadzuje sa koncept",
+ "archivingPublished": "Archivácia publikovaná",
+ "publishingArchived": "Publikovanie archivované",
+ "deletingFile": "Odstraňovanie súboru",
+ "deletingEntry": "Odstrániť záznam"
+ },
+ "contentView": {
+ "create": "Vytvoriť nové"
+ },
+ "welcome": {
+ "title": "Vaša inštalácia Alinea je teraz pripravená na konfiguráciu.",
+ "button": "Naučte sa, ako konfigurovať"
+ },
+ "cloudAuthView": {
+ "title": "Odsek",
+ "deploy": "Pripravení na nasadenie?",
+ "requiresHandler": "Alinea vyžaduje, aby obsluha pokračovala",
+ "backend": "Alinea vyžaduje na pokračovanie backend.",
+ "customBackend": "plne nakonfigurovať vlastný backend",
+ "cloud": "Alebo si to nastavte niekoľkými kliknutiami s našou cloudovou ponukou.",
+ "cloudButton": "Pokračujte s alinea.cloud"
+ },
+ "sidebarSettings": {
+ "settings": "Nastavenia",
+ "defaultWorkspace": "Predvolený pracovný priestor",
+ "theme": "Prepnúť tému",
+ "fontSize": "Veľkosť písma",
+ "decreaseFontSize": "Zmenšiť veľkosť písma",
+ "increaseFontSize": "Zväčšiť veľkosť písma",
+ "logout": "Odhlásiť sa"
+ },
+ "fileUploader": {
+ "uploadComplete": "Nahrávania dokončené: {{amount}}",
+ "uploading": "Nahrávanie súborov: {{amount}}",
+ "upload": "Nahrať súbory"
+ },
+ "fileUploadRow": {
+ "alt": "Nahraný súbor",
+ "done": "Hotovo"
+ },
+ "fileEntry": {
+ "preview": "Náhľad mediálneho súboru",
+ "extension": "Rozšírenie",
+ "fileSize": "Veľkosť súboru",
+ "dimensions": "Rozmery",
+ "pixels": "pixely",
+ "url": "URL",
+ "focus": "Bod zaostrenia",
+ "focusHelp": "Kliknite na obrázok pre zmenu bodu zaostrenia"
+ },
+ "cardOverview": {
+ "title": "karta"
+ },
+ "explorer": {
+ "noResults": "Žiadne výsledky"
+ },
+ "editModeToggle": {
+ "edit": "Upraviť",
+ "review": "Zmeny v kontrole"
+ },
+ "searchBox": {
+ "search": "Hľadať"
+ },
+ "rootOverview": {
+ "instruction": "Vyberte položku v navigačnom strome vľavo a začnite s úpravami."
+ },
+ "inputLabel": {
+ "readonly": "Iba na čítanie",
+ "shared": "Zdieľané"
+ },
+ "errorBoundary": {
+ "title": "Chyba",
+ "oops": "Ups, niečo sa pokazilo",
+ "close": "Chyba zatvorenia",
+ "issue": "Vytvoriť problém"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Predvolený pracovný priestor",
+ "logout": "Odhlásiť sa"
+ },
+ "listField": {
+ "reorder": "Presunutím a pustením zmeňte poradie",
+ "copy": "Kopírovať blok",
+ "moveUp": "Posunúť sa o jednu pozíciu vyššie",
+ "moveDown": "Posunúť o jednu pozíciu nižšie",
+ "delete": "Odstrániť blok",
+ "paste": "Vložiť blok",
+ "add": "Vložiť nový blok"
+ },
+ "metadataField": {
+ "previewTitle": "Náhľad",
+ "searchEngine": "Vyhľadávač",
+ "socialShare": "Zdieľanie na sociálnych sieťach",
+ "ogImageAlt": "Otvoriť obrázok grafu"
+ },
+ "pickTextLink": {
+ "title": "Vyberte odkaz",
+ "link": "Odkaz",
+ "description": "Popis",
+ "descriptionHelp": "Text, ktorý sa má zobraziť vo vnútri elementu odkazu",
+ "tooltip": "Popis nástroja",
+ "tooltipHelp": "Doplňujúce informácie, ktoré opisujú odkaz a zobrazujú sa pri umiestnení kurzora myši",
+ "newTab": "Otvoriť odkaz v novom okne",
+ "remove": "Odstrániť odkaz",
+ "cancel": "Zrušiť",
+ "confirm": "Potvrdiť"
+ },
+ "richTextField": {
+ "insert": "Vložiť blok"
+ },
+ "richTextToolbar": {
+ "styles": "Nadpis/odsek",
+ "table": "Tabuľka",
+ "bold": "Tučné písmo",
+ "italic": "Kurzíva",
+ "align": "Zarovnanie",
+ "alignLeft": "Zarovnať doľava",
+ "alignCenter": "Zarovnať na stred",
+ "alignRight": "Zarovnať doprava",
+ "alignJustify": "Zarovnať do strán",
+ "clear": "Vymazať formát",
+ "bulletList": "Zoznam s odrážkami",
+ "orderedList": "Zoradený zoznam",
+ "link": "Odkaz",
+ "quote": "Bloková citácia",
+ "rule": "Horizontálne pravítko",
+ "small": "Malý",
+ "sub": "Dolný index",
+ "sup": "Horný index",
+ "paragraph": "Normálny text",
+ "h1": "Nadpis 1",
+ "h2": "Nadpis 2",
+ "h3": "Nadpis 3",
+ "h4": "Nadpis 4",
+ "h5": "Nadpis 5",
+ "tableLabel": "Tabuľka",
+ "insert": "Vložiť tabuľku",
+ "insertRowBefore": "Vložiť riadok pred",
+ "insertRowAfter": "Vložiť riadok za",
+ "deleteRow": "Odstrániť riadok",
+ "toggleHeaderRow": "Prepnúť riadok hlavičky",
+ "insertColumnBefore": "Vložiť stĺpec pred",
+ "insertColumnAfter": "Vložiť stĺpec za",
+ "deleteColumn": "Odstrániť stĺpec",
+ "deleteTable": "Odstrániť tabuľku",
+ "left": "Vľavo",
+ "center": "Centrum",
+ "right": "Vpravo",
+ "justify": "Zarovnať"
+ },
+ "linkField": {
+ "reorder": "Presunutím a pustením zmeňte poradie",
+ "open": "Otvoriť odkaz v novom okne",
+ "openFile": "Otvoriť mediálny súbor na novej karte",
+ "edit": "Upraviť odkaz",
+ "editFile": "Zmeniť obrázok",
+ "delete": "Odstrániť odkaz",
+ "deleteFile": "Odstrániť obrázok"
+ },
+ "entryPicker": {
+ "title": "Vyberte referenciu",
+ "searchPlaceholder": "Hľadať",
+ "cancel": "Zrušiť",
+ "confirm": "Potvrdiť"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/sl.json b/src/translations/sl.json
new file mode 100644
index 000000000..07b020f53
--- /dev/null
+++ b/src/translations/sl.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Sinhronizacija",
+ "synced": "Sinhronizirano",
+ "saving": "Shranjevanje …"
+ },
+ "urlPicker": {
+ "title": "Povezava",
+ "url": "URL",
+ "urlHelp": "URL povezave",
+ "description": "Opis",
+ "descriptionHelp": "Besedilo, ki se prikaže znotraj elementa povezave",
+ "target": "Cilj",
+ "targetDescription": "Odpri povezavo v novem zavihku",
+ "cancel": "Prekliči",
+ "confirm": "Potrdi"
+ },
+ "pickLink": {
+ "title": "Izberi povezavo",
+ "link": "Povezava",
+ "description": "Opis",
+ "descriptionHelp": "Besedilo, ki se prikaže znotraj elementa povezave",
+ "tooltip": "Opis orodja",
+ "tooltipHelp": "Dodatne informacije, ki opisujejo povezavo, prikazane ob zadržanju miške",
+ "newTab": "Odpri povezavo v novem zavihku",
+ "remove": "Odstrani povezavo",
+ "cancel": "Prekliči",
+ "confirm": "Potrdi"
+ },
+ "newEntry": {
+ "title": "Naslov",
+ "parent": "Starš",
+ "type": "Izberite vrsto",
+ "order": "Vstavi naročilo",
+ "orderFirst": "Na vrhu seznama",
+ "orderLast": "Na dnu seznama",
+ "copyFrom": "Kopiraj vsebino iz",
+ "formTitle": "Nov vnos",
+ "cancel": "Prekliči",
+ "create": "Ustvari"
+ },
+ "entryEdit": {
+ "blockingTitle": "Ali ste prepričani, da želite zavreči spremembe?",
+ "blockingWarning": "Ta dokument je bil spremenjen",
+ "blockingPrompt": "Ali želite shraniti spremembe?",
+ "blockingDiscard": "Zavrzi moje spremembe",
+ "blockingSaveDraft": "Shrani kot osnutek",
+ "blockingPublishChanges": "Objavi spremembe",
+ "untranslatedTitle": "Neprevedeno",
+ "untranslatedParent": "Najprej prevedite nadrejeno stran.",
+ "untranslatedPrompt": "Vnesite spodnje podatke in shranite, da začnete prevajati.",
+ "draftError": "Osnutka ni bilo mogoče dokončati, poskusite znova pozneje.",
+ "saveTranslationError": "Prevajanja ni bilo mogoče dokončati, poskusite znova pozneje.",
+ "publishError": "Objave ni bilo mogoče dokončati, poskusite znova pozneje.",
+ "discardError": "Sprememb ni bilo mogoče zavreči, poskusite znova pozneje.",
+ "unpublishError": "Dejanja preklic objave ni bilo mogoče dokončati, poskusite znova pozneje.",
+ "deleteError": "Dejanja brisanja ni bilo mogoče dokončati, poskusite znova pozneje.",
+ "archiveError": "Arhiviranja ni bilo mogoče dokončati, poskusite znova pozneje."
+ },
+ "entryHeader": {
+ "draft": "Osnutek",
+ "editing": "Urejanje",
+ "published": "Objavljeno",
+ "archived": "Arhivirano",
+ "untranslated": "Neprevedeno",
+ "unpublished": "Neobjavljeno",
+ "revision": "Revizija",
+ "showMenu": "Prikaz menija",
+ "hideMenu": "Skrij meni",
+ "removeDraft": "Odstrani osnutek",
+ "replace": "Zamenjaj",
+ "delete": "Izbriši",
+ "unpublish": "Prekliči objavo",
+ "archive": "Arhiv",
+ "publish": "Objavi",
+ "showHistory": "Prikaži zgodovino",
+ "hideHistory": "Skrij zgodovino",
+ "draftAvailable": "Na voljo je novejša osnutek različice",
+ "translateFrom": "Prevedi iz",
+ "translateParent": "Najprej prevedi nadrejeno stran",
+ "discard": "Zavrzi urejanja",
+ "save": "Shrani prevod",
+ "saveDraft": "Shrani",
+ "restore": "Obnovi",
+ "showPreview": "Predogled zaslona",
+ "hidePreview": "Skrij predogled",
+ "savingDraft": "Shranjevanje osnutka",
+ "savingTranslation": "Shranjevanje prevoda",
+ "publishingEdits": "Objavljanje urejanj",
+ "restoringRevision": "Obnavljanje revizije",
+ "publishingDraft": "Objava osnutka",
+ "unpublishingDraft": "Preklic objave osnutka",
+ "discardingDraft": "Zavrženje osnutka",
+ "archivingPublished": "Arhiviranje objavljeno",
+ "publishingArchived": "Objava arhivirana",
+ "deletingFile": "Brisanje datoteke",
+ "deletingEntry": "Izbriši vnos"
+ },
+ "contentView": {
+ "create": "Ustvari novo"
+ },
+ "welcome": {
+ "title": "Vaša namestitev programa Alinea je zdaj pripravljena za konfiguracijo.",
+ "button": "Naučite se konfigurirati"
+ },
+ "cloudAuthView": {
+ "title": "Odstavek",
+ "deploy": "Ste pripravljeni na uvajanje?",
+ "requiresHandler": "Alinea za nadaljevanje potrebuje upravljavca",
+ "backend": "Za nadaljevanje Alinea potrebuje zaledni sistem.",
+ "customBackend": "popolnoma konfigurirajte prilagojeni zaledni sistem",
+ "cloud": "Ali pa se nastavite z nekaj kliki z našo ponudbo v oblaku.",
+ "cloudButton": "Nadaljujte z alinea.cloud"
+ },
+ "sidebarSettings": {
+ "settings": "Nastavitve",
+ "defaultWorkspace": "Privzeti delovni prostor",
+ "theme": "Preklopi temo",
+ "fontSize": "Velikost pisave",
+ "decreaseFontSize": "Zmanjšaj velikost pisave",
+ "increaseFontSize": "Povečaj velikost pisave",
+ "logout": "Odjava"
+ },
+ "fileUploader": {
+ "uploadComplete": "Nalaganja končana: {{amount}}",
+ "uploading": "Nalaganje datotek: {{amount}}",
+ "upload": "Naloži datoteke"
+ },
+ "fileUploadRow": {
+ "alt": "Naložena datoteka",
+ "done": "Končano"
+ },
+ "fileEntry": {
+ "preview": "Predogled medijske datoteke",
+ "extension": "Podaljšek",
+ "fileSize": "Velikost datoteke",
+ "dimensions": "Dimenzije",
+ "pixels": "slikovnih pik",
+ "url": "URL-naslov",
+ "focus": "Točka ostrenja",
+ "focusHelp": "Kliknite na sliko, da spremenite točko ostrenja"
+ },
+ "cardOverview": {
+ "title": "kartica"
+ },
+ "explorer": {
+ "noResults": "Ni rezultatov"
+ },
+ "editModeToggle": {
+ "edit": "Uredi",
+ "review": "Pregled sprememb"
+ },
+ "searchBox": {
+ "search": "Iskanje"
+ },
+ "rootOverview": {
+ "instruction": "Izberite vnos v navigacijskem drevesu na levi, da začnete urejati"
+ },
+ "inputLabel": {
+ "readonly": "Samo za branje",
+ "shared": "Deljeno"
+ },
+ "errorBoundary": {
+ "title": "Napaka",
+ "oops": "Ups, nekaj je šlo narobe",
+ "close": "Napaka pri zapiranju",
+ "issue": "Ustvari težavo"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Privzeti delovni prostor",
+ "logout": "Odjava"
+ },
+ "listField": {
+ "reorder": "Povlecite in spustite, da spremenite vrstni red",
+ "copy": "Kopiraj blok",
+ "moveUp": "Premakni se za eno mesto navzgor",
+ "moveDown": "Premakni se za eno mesto navzdol",
+ "delete": "Izbriši blok",
+ "paste": "Prilepi blok",
+ "add": "Vstavi nov blok"
+ },
+ "metadataField": {
+ "previewTitle": "Predogled",
+ "searchEngine": "Iskalnik",
+ "socialShare": "Deljenje na družbenih omrežjih",
+ "ogImageAlt": "Odpri sliko grafa"
+ },
+ "pickTextLink": {
+ "title": "Izberi povezavo",
+ "link": "Povezava",
+ "description": "Opis",
+ "descriptionHelp": "Besedilo, ki se prikaže znotraj elementa povezave",
+ "tooltip": "Opis orodja",
+ "tooltipHelp": "Dodatne informacije, ki opisujejo povezavo, prikazane ob zamiku miške",
+ "newTab": "Odpri povezavo v novem zavihku",
+ "remove": "Odstrani povezavo",
+ "cancel": "Prekliči",
+ "confirm": "Potrdi"
+ },
+ "richTextField": {
+ "insert": "Vstavi blok"
+ },
+ "richTextToolbar": {
+ "styles": "Naslov/odstavek",
+ "table": "Tabela",
+ "bold": "Krepko",
+ "italic": "Kurzivno",
+ "align": "Poravnava",
+ "alignLeft": "Poravnaj levo",
+ "alignCenter": "Poravnaj na sredino",
+ "alignRight": "Poravnaj desno",
+ "alignJustify": "Poravnaj obostrano",
+ "clear": "Počisti obliko",
+ "bulletList": "Seznam z oznakami",
+ "orderedList": "Urejen seznam",
+ "link": "Povezava",
+ "quote": "Blokovni citat",
+ "rule": "Vodoravno pravilo",
+ "small": "Majhna",
+ "sub": "Podpis",
+ "sup": "Nadpis",
+ "paragraph": "Običajno besedilo",
+ "h1": "Naslov 1",
+ "h2": "Naslov 2",
+ "h3": "Naslov 3",
+ "h4": "Naslov 4",
+ "h5": "Naslov 5",
+ "tableLabel": "Tabela",
+ "insert": "Vstavi tabelo",
+ "insertRowBefore": "Vstavi vrstico pred",
+ "insertRowAfter": "Vstavi vrstico za",
+ "deleteRow": "Izbriši vrstico",
+ "toggleHeaderRow": "Preklopi vrstico z glavo",
+ "insertColumnBefore": "Vstavi stolpec pred",
+ "insertColumnAfter": "Vstavi stolpec za",
+ "deleteColumn": "Izbriši stolpec",
+ "deleteTable": "Izbriši tabelo",
+ "left": "Levo",
+ "center": "Center",
+ "right": "Desno",
+ "justify": "Poravnaj"
+ },
+ "linkField": {
+ "reorder": "Povlecite in spustite, da spremenite vrstni red",
+ "open": "Odpri povezavo v novem zavihku",
+ "openFile": "Odpri medijsko datoteko v novem zavihku",
+ "edit": "Uredi povezavo",
+ "editFile": "Spremeni sliko",
+ "delete": "Izbriši povezavo",
+ "deleteFile": "Izbriši sliko"
+ },
+ "entryPicker": {
+ "title": "Izberite referenco",
+ "searchPlaceholder": "Iskanje",
+ "cancel": "Prekliči",
+ "confirm": "Potrdi"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/sv.json b/src/translations/sv.json
new file mode 100644
index 000000000..ff04c4eae
--- /dev/null
+++ b/src/translations/sv.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Synkronisering",
+ "synced": "Synkroniserad",
+ "saving": "Sparande…"
+ },
+ "urlPicker": {
+ "title": "Länk",
+ "url": "URL",
+ "urlHelp": "URL till länken",
+ "description": "Beskrivning",
+ "descriptionHelp": "Text som ska visas inuti länkelementet",
+ "target": "Mål",
+ "targetDescription": "Öppna länken i ny flik",
+ "cancel": "Avboka",
+ "confirm": "Bekräfta"
+ },
+ "pickLink": {
+ "title": "Välj länk",
+ "link": "Länk",
+ "description": "Beskrivning",
+ "descriptionHelp": "Text som ska visas inuti länkelementet",
+ "tooltip": "Verktygstips",
+ "tooltipHelp": "Extra information som beskriver länken, visas när muspekaren hålls över",
+ "newTab": "Öppna länken i ny flik",
+ "remove": "Ta bort länk",
+ "cancel": "Avboka",
+ "confirm": "Bekräfta"
+ },
+ "newEntry": {
+ "title": "Titel",
+ "parent": "Förälder",
+ "type": "Välj typ",
+ "order": "Lägg in order",
+ "orderFirst": "Högst upp på listan",
+ "orderLast": "Längst ner på listan",
+ "copyFrom": "Kopiera innehåll från",
+ "formTitle": "Ny post",
+ "cancel": "Avboka",
+ "create": "Skapa"
+ },
+ "entryEdit": {
+ "blockingTitle": "Är du säker på att du vill ignorera ändringarna?",
+ "blockingWarning": "Detta dokument har ändrats",
+ "blockingPrompt": "Vill du spara dina ändringar?",
+ "blockingDiscard": "Ignorera mina ändringar",
+ "blockingSaveDraft": "Spara som utkast",
+ "blockingPublishChanges": "Publicera ändringar",
+ "untranslatedTitle": "Oöversatt",
+ "untranslatedParent": "Översätt först huvudsidan.",
+ "untranslatedPrompt": "Ange uppgifterna nedan och spara för att börja översätta.",
+ "draftError": "Kunde inte slutföra utkastet, försök igen senare.",
+ "saveTranslationError": "Kunde inte slutföra översättningen, försök igen senare.",
+ "publishError": "Det gick inte att slutföra publiceringsåtgärden, försök igen senare.",
+ "discardError": "Det gick inte att ignorera ändringarna, försök igen senare.",
+ "unpublishError": "Kunde inte slutföra avpubliceringen, försök igen senare.",
+ "deleteError": "Kunde inte slutföra borttagningen, försök igen senare.",
+ "archiveError": "Kunde inte slutföra arkiveringen, försök igen senare."
+ },
+ "entryHeader": {
+ "draft": "Förslag",
+ "editing": "Redigering",
+ "published": "Publicerad",
+ "archived": "Arkiverad",
+ "untranslated": "Oöversatt",
+ "unpublished": "Opublicerad",
+ "revision": "Revision",
+ "showMenu": "Visa meny",
+ "hideMenu": "Dölj menyn",
+ "removeDraft": "Ta bort utkast",
+ "replace": "Ersätta",
+ "delete": "Radera",
+ "unpublish": "Avpublicera",
+ "archive": "Arkiv",
+ "publish": "Publicera",
+ "showHistory": "Visa historik",
+ "hideHistory": "Dölj historik",
+ "draftAvailable": "En nyare utkastversion finns tillgänglig",
+ "translateFrom": "Översätt från",
+ "translateParent": "Översätt först den överordnade sidan",
+ "discard": "Ignorera redigeringar",
+ "save": "Spara översättning",
+ "saveDraft": "Spara",
+ "restore": "Återställa",
+ "showPreview": "Förhandsgranskning av visning",
+ "hidePreview": "Dölj förhandsgranskning",
+ "savingDraft": "Sparar utkast",
+ "savingTranslation": "Sparar översättningen",
+ "publishingEdits": "Publicering av redigeringar",
+ "restoringRevision": "Återställer revision",
+ "publishingDraft": "Publiceringsutkast",
+ "unpublishingDraft": "Avpublicerar utkast",
+ "discardingDraft": "Ignorerar utkast",
+ "archivingPublished": "Arkivering publicerad",
+ "publishingArchived": "Arkiverad publicering",
+ "deletingFile": "Tar bort fil",
+ "deletingEntry": "Ta bort post"
+ },
+ "contentView": {
+ "create": "Skapa nytt"
+ },
+ "welcome": {
+ "title": "Din alinea-installation är nu klar för konfiguration.",
+ "button": "Lär dig hur du konfigurerar"
+ },
+ "cloudAuthView": {
+ "title": "Stycke",
+ "deploy": "Redo att driftsättas?",
+ "requiresHandler": "Alinea behöver en förare för att fortsätta",
+ "backend": "Alinea behöver en backend för att fortsätta.",
+ "customBackend": "konfigurera en anpassad backend helt",
+ "cloud": "Eller kom igång med några få klick med vårt molnerbjudande.",
+ "cloudButton": "Fortsätt med alinea.cloud"
+ },
+ "sidebarSettings": {
+ "settings": "Inställningar",
+ "defaultWorkspace": "Standardarbetsyta",
+ "theme": "Byt tema",
+ "fontSize": "Fontstorlek",
+ "decreaseFontSize": "Minska teckenstorleken",
+ "increaseFontSize": "Öka teckenstorleken",
+ "logout": "Utloggning"
+ },
+ "fileUploader": {
+ "uploadComplete": "Uppladdningar slutförda: {{amount}}",
+ "uploading": "Laddar upp filer: {{amount}}",
+ "upload": "Ladda upp filer"
+ },
+ "fileUploadRow": {
+ "alt": "Uppladdad fil",
+ "done": "Gjort"
+ },
+ "fileEntry": {
+ "preview": "Förhandsgranskning av mediefil",
+ "extension": "Förlängning",
+ "fileSize": "Fil-storlek",
+ "dimensions": "Mått",
+ "pixels": "pixlar",
+ "url": "URL",
+ "focus": "Fokuspunkt",
+ "focusHelp": "Klicka på bilden för att ändra fokuspunkten"
+ },
+ "cardOverview": {
+ "title": "kort"
+ },
+ "explorer": {
+ "noResults": "Inga resultat"
+ },
+ "editModeToggle": {
+ "edit": "Redigera",
+ "review": "Granska ändringar"
+ },
+ "searchBox": {
+ "search": "Söka"
+ },
+ "rootOverview": {
+ "instruction": "Välj en post i navigeringsträdet till vänster för att börja redigera"
+ },
+ "inputLabel": {
+ "readonly": "Skrivskyddad",
+ "shared": "Delad"
+ },
+ "errorBoundary": {
+ "title": "Fel",
+ "oops": "Oj då, något gick fel",
+ "close": "Stäng felet",
+ "issue": "Skapa ett problem"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Standardarbetsyta",
+ "logout": "Utloggning"
+ },
+ "listField": {
+ "reorder": "Dra och släpp för att ändra ordning",
+ "copy": "Kopiera block",
+ "moveUp": "Flytta upp en position",
+ "moveDown": "Flytta ner en position",
+ "delete": "Ta bort block",
+ "paste": "Klistra in block",
+ "add": "Infoga nytt block"
+ },
+ "metadataField": {
+ "previewTitle": "Förhandsvisning",
+ "searchEngine": "Sökmotor",
+ "socialShare": "Social delning",
+ "ogImageAlt": "Öppna grafbilden"
+ },
+ "pickTextLink": {
+ "title": "Välj länk",
+ "link": "Länk",
+ "description": "Beskrivning",
+ "descriptionHelp": "Text som ska visas inuti länkelementet",
+ "tooltip": "Verktygstips",
+ "tooltipHelp": "Extra information som beskriver länken, visas när muspekaren hålls över",
+ "newTab": "Öppna länken i ny flik",
+ "remove": "Ta bort länk",
+ "cancel": "Avboka",
+ "confirm": "Bekräfta"
+ },
+ "richTextField": {
+ "insert": "Infoga block"
+ },
+ "richTextToolbar": {
+ "styles": "Rubrik/stycke",
+ "table": "Tabell",
+ "bold": "Djärv",
+ "italic": "Kursiv",
+ "align": "Inriktning",
+ "alignLeft": "Justera vänster",
+ "alignCenter": "Justera mitten",
+ "alignRight": "Högerjustera",
+ "alignJustify": "Justera/justera",
+ "clear": "Rensa formatet",
+ "bulletList": "Punktlista",
+ "orderedList": "Ordnad lista",
+ "link": "Länk",
+ "quote": "Blockcitat",
+ "rule": "Horisontell regel",
+ "small": "Små",
+ "sub": "Index",
+ "sup": "Exponent",
+ "paragraph": "Vanlig text",
+ "h1": "Rubrik 1",
+ "h2": "Rubrik 2",
+ "h3": "Rubrik 3",
+ "h4": "Rubrik 4",
+ "h5": "Rubrik 5",
+ "tableLabel": "Tabell",
+ "insert": "Infoga tabell",
+ "insertRowBefore": "Infoga rad före",
+ "insertRowAfter": "Infoga rad efter",
+ "deleteRow": "Ta bort rad",
+ "toggleHeaderRow": "Visa/visa rubrikrad",
+ "insertColumnBefore": "Infoga kolumn före",
+ "insertColumnAfter": "Infoga kolumn efter",
+ "deleteColumn": "Ta bort kolumn",
+ "deleteTable": "Ta bort tabell",
+ "left": "Vänster",
+ "center": "Centrum",
+ "right": "Rätt",
+ "justify": "Rättfärdiga"
+ },
+ "linkField": {
+ "reorder": "Dra och släpp för att ändra ordning",
+ "open": "Öppna länken i ny flik",
+ "openFile": "Öppna mediefilen i ny flik",
+ "edit": "Redigera länk",
+ "editFile": "Ändra bild",
+ "delete": "Ta bort länk",
+ "deleteFile": "Ta bort bild"
+ },
+ "entryPicker": {
+ "title": "Välj en referens",
+ "searchPlaceholder": "Söka",
+ "cancel": "Avboka",
+ "confirm": "Bekräfta"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/th.json b/src/translations/th.json
new file mode 100644
index 000000000..1434bcc7e
--- /dev/null
+++ b/src/translations/th.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "การซิงค์",
+ "synced": "ซิงค์แล้ว",
+ "saving": "บันทึก…"
+ },
+ "urlPicker": {
+ "title": "ลิงค์",
+ "url": "URL",
+ "urlHelp": "URL ของลิงค์",
+ "description": "คำอธิบาย",
+ "descriptionHelp": "ข้อความที่จะแสดงภายในองค์ประกอบลิงก์",
+ "target": "เป้า",
+ "targetDescription": "เปิดลิงก์ในแท็บใหม่",
+ "cancel": "ยกเลิก",
+ "confirm": "ยืนยัน"
+ },
+ "pickLink": {
+ "title": "เลือกลิงค์",
+ "link": "ลิงค์",
+ "description": "คำอธิบาย",
+ "descriptionHelp": "ข้อความที่จะแสดงภายในองค์ประกอบลิงก์",
+ "tooltip": "คำแนะนำเครื่องมือ",
+ "tooltipHelp": "ข้อมูลเพิ่มเติมที่อธิบายลิงก์ จะแสดงเมื่อวางเมาส์เหนือ",
+ "newTab": "เปิดลิงก์ในแท็บใหม่",
+ "remove": "ลบลิงค์",
+ "cancel": "ยกเลิก",
+ "confirm": "ยืนยัน"
+ },
+ "newEntry": {
+ "title": "ชื่อ",
+ "parent": "พ่อแม่",
+ "type": "เลือกประเภท",
+ "order": "แทรกคำสั่งซื้อ",
+ "orderFirst": "อยู่ด้านบนสุดของรายการ",
+ "orderLast": "ที่ด้านล่างของรายการ",
+ "copyFrom": "คัดลอกเนื้อหาจาก",
+ "formTitle": "รายการใหม่",
+ "cancel": "ยกเลิก",
+ "create": "สร้าง"
+ },
+ "entryEdit": {
+ "blockingTitle": "คุณแน่ใจหรือไม่ว่าต้องการยกเลิกการเปลี่ยนแปลง?",
+ "blockingWarning": "เอกสารนี้ได้รับการเปลี่ยนแปลง",
+ "blockingPrompt": "คุณต้องการบันทึกการเปลี่ยนแปลงของคุณหรือไม่?",
+ "blockingDiscard": "ยกเลิกการเปลี่ยนแปลงของฉัน",
+ "blockingSaveDraft": "บันทึกเป็นฉบับร่าง",
+ "blockingPublishChanges": "เผยแพร่การเปลี่ยนแปลง",
+ "untranslatedTitle": "ไม่ได้แปล",
+ "untranslatedParent": "แปลหน้าหลักก่อน",
+ "untranslatedPrompt": "กรอกรายละเอียดด้านล่างและบันทึกเพื่อเริ่มแปล",
+ "draftError": "ไม่สามารถดำเนินการร่างได้ โปรดลองอีกครั้งในภายหลัง",
+ "saveTranslationError": "ไม่สามารถดำเนินการแปลได้ โปรดลองอีกครั้งในภายหลัง",
+ "publishError": "ไม่สามารถดำเนินการเผยแพร่ได้ โปรดลองอีกครั้งในภายหลัง",
+ "discardError": "ไม่สามารถยกเลิกการเปลี่ยนแปลงได้ โปรดลองอีกครั้งในภายหลัง",
+ "unpublishError": "ไม่สามารถดำเนินการยกเลิกการเผยแพร่ได้ โปรดลองอีกครั้งในภายหลัง",
+ "deleteError": "ไม่สามารถดำเนินการลบได้ โปรดลองอีกครั้งในภายหลัง",
+ "archiveError": "ไม่สามารถดำเนินการเก็บถาวรได้ โปรดลองอีกครั้งในภายหลัง"
+ },
+ "entryHeader": {
+ "draft": "ร่าง",
+ "editing": "การแก้ไข",
+ "published": "ที่ตีพิมพ์",
+ "archived": "เก็บถาวรแล้ว",
+ "untranslated": "ไม่ได้แปล",
+ "unpublished": "ไม่ได้เผยแพร่",
+ "revision": "การแก้ไข",
+ "showMenu": "แสดงเมนู",
+ "hideMenu": "ซ่อนเมนู",
+ "removeDraft": "ลบร่าง",
+ "replace": "แทนที่",
+ "delete": "ลบ",
+ "unpublish": "ยกเลิกการเผยแพร่",
+ "archive": "คลังเก็บเอกสารสำคัญ",
+ "publish": "เผยแพร่",
+ "showHistory": "แสดงประวัติ",
+ "hideHistory": "ซ่อนประวัติ",
+ "draftAvailable": "มีเวอร์ชันร่างใหม่กว่าแล้ว",
+ "translateFrom": "แปลจาก",
+ "translateParent": "แปลหน้าหลักก่อน",
+ "discard": "ยกเลิกการแก้ไข",
+ "save": "บันทึกการแปล",
+ "saveDraft": "บันทึก",
+ "restore": "คืนค่า",
+ "showPreview": "แสดงตัวอย่าง",
+ "hidePreview": "ซ่อนตัวอย่าง",
+ "savingDraft": "การบันทึกฉบับร่าง",
+ "savingTranslation": "การบันทึกการแปล",
+ "publishingEdits": "การแก้ไขการเผยแพร่",
+ "restoringRevision": "การคืนค่าการแก้ไข",
+ "publishingDraft": "ร่างการเผยแพร่",
+ "unpublishingDraft": "การยกเลิกการเผยแพร่ฉบับร่าง",
+ "discardingDraft": "การทิ้งร่าง",
+ "archivingPublished": "การเก็บถาวรการเผยแพร่",
+ "publishingArchived": "การเผยแพร่ที่เก็บถาวร",
+ "deletingFile": "การลบไฟล์",
+ "deletingEntry": "ลบรายการ"
+ },
+ "contentView": {
+ "create": "สร้างใหม่"
+ },
+ "welcome": {
+ "title": "ตอนนี้การติดตั้ง Alinea ของคุณพร้อมสำหรับการกำหนดค่าแล้ว",
+ "button": "เรียนรู้วิธีการกำหนดค่า"
+ },
+ "cloudAuthView": {
+ "title": "ย่อหน้า",
+ "deploy": "พร้อมที่จะใช้งานหรือยัง?",
+ "requiresHandler": "Alinea ต้องมีผู้จัดการเพื่อดำเนินการต่อ",
+ "backend": "Alinea ต้องมีแบ็กเอนด์เพื่อดำเนินการต่อ",
+ "customBackend": "กำหนดค่าแบ็กเอนด์แบบกำหนดเองอย่างสมบูรณ์",
+ "cloud": "หรือตั้งค่าได้ในไม่กี่คลิกด้วยข้อเสนอระบบคลาวด์ของเรา",
+ "cloudButton": "ดำเนินการต่อด้วย alinea.cloud"
+ },
+ "sidebarSettings": {
+ "settings": "การตั้งค่า",
+ "defaultWorkspace": "พื้นที่ทำงานเริ่มต้น",
+ "theme": "สลับธีม",
+ "fontSize": "ขนาดตัวอักษร",
+ "decreaseFontSize": "ลดขนาดตัวอักษร",
+ "increaseFontSize": "เพิ่มขนาดตัวอักษร",
+ "logout": "ออกจากระบบ"
+ },
+ "fileUploader": {
+ "uploadComplete": "อัพโหลดเสร็จสมบูรณ์: {{amount}}",
+ "uploading": "กำลังอัพโหลดไฟล์: {{amount}}",
+ "upload": "อัพโหลดไฟล์"
+ },
+ "fileUploadRow": {
+ "alt": "ไฟล์อัพโหลด",
+ "done": "เสร็จแล้ว"
+ },
+ "fileEntry": {
+ "preview": "ตัวอย่างไฟล์สื่อ",
+ "extension": "ส่วนขยาย",
+ "fileSize": "ขนาดไฟล์",
+ "dimensions": "ขนาด",
+ "pixels": "พิกเซล",
+ "url": "URL",
+ "focus": "จุดโฟกัส",
+ "focusHelp": "คลิกที่ภาพเพื่อเปลี่ยนจุดโฟกัส"
+ },
+ "cardOverview": {
+ "title": "การ์ด"
+ },
+ "explorer": {
+ "noResults": "ไม่มีผลลัพธ์"
+ },
+ "editModeToggle": {
+ "edit": "แก้ไข",
+ "review": "ตรวจสอบการเปลี่ยนแปลง"
+ },
+ "searchBox": {
+ "search": "ค้นหา"
+ },
+ "rootOverview": {
+ "instruction": "เลือกรายการในแผนผังการนำทาง\nทางด้านซ้ายเพื่อเริ่มแก้ไข"
+ },
+ "inputLabel": {
+ "readonly": "อ่านอย่างเดียว",
+ "shared": "แชร์"
+ },
+ "errorBoundary": {
+ "title": "ข้อผิดพลาด",
+ "oops": "อุ๊ย มีบางอย่างผิดพลาด",
+ "close": "ปิดข้อผิดพลาด",
+ "issue": "สร้างปัญหา"
+ },
+ "toolbar": {
+ "defaultWorkspace": "พื้นที่ทำงานเริ่มต้น",
+ "logout": "ออกจากระบบ"
+ },
+ "listField": {
+ "reorder": "ลากและวางเพื่อเรียงลำดับใหม่",
+ "copy": "บล็อคการคัดลอก",
+ "moveUp": "เลื่อนขึ้นหนึ่งตำแหน่ง",
+ "moveDown": "เลื่อนลงหนึ่งตำแหน่ง",
+ "delete": "ลบบล็อค",
+ "paste": "วางบล็อค",
+ "add": "แทรกบล็อคใหม่"
+ },
+ "metadataField": {
+ "previewTitle": "ตัวอย่าง",
+ "searchEngine": "เครื่องมือค้นหา",
+ "socialShare": "แชร์บนโซเชียล",
+ "ogImageAlt": "ภาพเปิดกราฟ"
+ },
+ "pickTextLink": {
+ "title": "เลือกลิงค์",
+ "link": "ลิงค์",
+ "description": "คำอธิบาย",
+ "descriptionHelp": "ข้อความที่จะแสดงภายในองค์ประกอบลิงก์",
+ "tooltip": "คำแนะนำเครื่องมือ",
+ "tooltipHelp": "ข้อมูลเพิ่มเติมที่อธิบายลิงก์ จะแสดงเมื่อวางเมาส์เหนือ",
+ "newTab": "เปิดลิงก์ในแท็บใหม่",
+ "remove": "ลบลิงค์",
+ "cancel": "ยกเลิก",
+ "confirm": "ยืนยัน"
+ },
+ "richTextField": {
+ "insert": "แทรกบล็อค"
+ },
+ "richTextToolbar": {
+ "styles": "หัวข้อ/ย่อหน้า",
+ "table": "โต๊ะ",
+ "bold": "ตัวหนา",
+ "italic": "ตัวเอียง",
+ "align": "การจัดตำแหน่ง",
+ "alignLeft": "จัดชิดซ้าย",
+ "alignCenter": "จัดตำแหน่งกึ่งกลาง",
+ "alignRight": "จัดชิดขวา",
+ "alignJustify": "จัดแนวให้ชิด",
+ "clear": "รูปแบบที่ชัดเจน",
+ "bulletList": "รายการหัวข้อย่อย",
+ "orderedList": "รายการสั่งซื้อ",
+ "link": "ลิงค์",
+ "quote": "บล็อคโควต",
+ "rule": "กฎแนวนอน",
+ "small": "เล็ก",
+ "sub": "ตัวห้อย",
+ "sup": "อักษรยก",
+ "paragraph": "ข้อความปกติ",
+ "h1": "หัวข้อที่ 1",
+ "h2": "หัวข้อที่ 2",
+ "h3": "หัวข้อที่ 3",
+ "h4": "หัวข้อที่ 4",
+ "h5": "หัวข้อที่ 5",
+ "tableLabel": "โต๊ะ",
+ "insert": "แทรกตาราง",
+ "insertRowBefore": "แทรกแถวก่อน",
+ "insertRowAfter": "แทรกแถวหลัง",
+ "deleteRow": "ลบแถว",
+ "toggleHeaderRow": "สลับแถวส่วนหัว",
+ "insertColumnBefore": "แทรกคอลัมน์ก่อน",
+ "insertColumnAfter": "แทรกคอลัมน์หลัง",
+ "deleteColumn": "ลบคอลัมน์",
+ "deleteTable": "ลบตาราง",
+ "left": "ซ้าย",
+ "center": "ศูนย์",
+ "right": "ขวา",
+ "justify": "พิสูจน์"
+ },
+ "linkField": {
+ "reorder": "ลากและวางเพื่อเรียงลำดับใหม่",
+ "open": "เปิดลิงก์ในแท็บใหม่",
+ "openFile": "เปิดไฟล์สื่อในแท็บใหม่",
+ "edit": "แก้ไขลิงค์",
+ "editFile": "เปลี่ยนรูปภาพ",
+ "delete": "ลบลิงค์",
+ "deleteFile": "ลบรูปภาพ"
+ },
+ "entryPicker": {
+ "title": "เลือกการอ้างอิง",
+ "searchPlaceholder": "ค้นหา",
+ "cancel": "ยกเลิก",
+ "confirm": "ยืนยัน"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/tr.json b/src/translations/tr.json
new file mode 100644
index 000000000..a152d478d
--- /dev/null
+++ b/src/translations/tr.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Senkronizasyon",
+ "synced": "Senkronize edildi",
+ "saving": "Kaydediliyor…"
+ },
+ "urlPicker": {
+ "title": "Bağlantı",
+ "url": "URL",
+ "urlHelp": "Bağlantının URL'si",
+ "description": "Tanım",
+ "descriptionHelp": "Bağlantı öğesinin içinde görüntülenecek metin",
+ "target": "Hedef",
+ "targetDescription": "Bağlantıyı yeni sekmede aç",
+ "cancel": "İptal etmek",
+ "confirm": "Onaylamak"
+ },
+ "pickLink": {
+ "title": "Bağlantıyı seç",
+ "link": "Bağlantı",
+ "description": "Tanım",
+ "descriptionHelp": "Bağlantı öğesinin içinde görüntülenecek metin",
+ "tooltip": "Araç ipucu",
+ "tooltipHelp": "Bağlantıyı açıklayan ve üzerine gelindiğinde gösterilen ek bilgiler",
+ "newTab": "Bağlantıyı yeni sekmede aç",
+ "remove": "Bağlantıyı kaldır",
+ "cancel": "İptal etmek",
+ "confirm": "Onaylamak"
+ },
+ "newEntry": {
+ "title": "Başlık",
+ "parent": "Ebeveyn",
+ "type": "Türünü seçin",
+ "order": "Sipariş ekle",
+ "orderFirst": "Listenin en üstünde",
+ "orderLast": "Listenin en altında",
+ "copyFrom": "İçeriği kopyala",
+ "formTitle": "Yeni giriş",
+ "cancel": "İptal etmek",
+ "create": "Yaratmak"
+ },
+ "entryEdit": {
+ "blockingTitle": "Değişiklikleri silmek istediğinizden emin misiniz?",
+ "blockingWarning": "Bu belge değiştirildi",
+ "blockingPrompt": "değişikliklerinizi kaydetmek ister misiniz?",
+ "blockingDiscard": "Değişikliklerimi sil",
+ "blockingSaveDraft": "Taslak olarak kaydet",
+ "blockingPublishChanges": "Değişiklikleri yayınla",
+ "untranslatedTitle": "Çeviri yapılmamış",
+ "untranslatedParent": "Önce ana sayfayı çevirin.",
+ "untranslatedPrompt": "Aşağıdaki bilgileri girin ve çeviriye başlamak için kaydedin.",
+ "draftError": "Taslak eylem tamamlanamadı, lütfen daha sonra tekrar deneyin",
+ "saveTranslationError": "Çeviri işlemi tamamlanamadı, lütfen daha sonra tekrar deneyin",
+ "publishError": "Yayımlama işlemi tamamlanamadı, lütfen daha sonra tekrar deneyin",
+ "discardError": "Değişiklikler silinemedi, lütfen daha sonra tekrar deneyin",
+ "unpublishError": "Yayımdan kaldırma işlemi tamamlanamadı, lütfen daha sonra tekrar deneyin",
+ "deleteError": "Silme işlemi tamamlanamadı, lütfen daha sonra tekrar deneyin",
+ "archiveError": "Arşivleme işlemi tamamlanamadı, lütfen daha sonra tekrar deneyin"
+ },
+ "entryHeader": {
+ "draft": "Taslak",
+ "editing": "Düzenleme",
+ "published": "Yayımlandı",
+ "archived": "Arşivlendi",
+ "untranslated": "Çeviri yapılmamış",
+ "unpublished": "Yayımlanmamış",
+ "revision": "Revizyon",
+ "showMenu": "Menüyü görüntüle",
+ "hideMenu": "Menüyü gizle",
+ "removeDraft": "Taslağı kaldır",
+ "replace": "Yer değiştirmek",
+ "delete": "Silmek",
+ "unpublish": "Yayımdan kaldır",
+ "archive": "Arşiv",
+ "publish": "Yayınla",
+ "showHistory": "Geçmişi göster",
+ "hideHistory": "Geçmişi gizle",
+ "draftAvailable": "Daha yeni bir taslak sürümü mevcut",
+ "translateFrom": "Çeviriden",
+ "translateParent": "Önce ana sayfayı çevirin",
+ "discard": "Düzenlemeleri sil",
+ "save": "Çeviriyi kaydet",
+ "saveDraft": "Kaydetmek",
+ "restore": "Eski haline getirmek",
+ "showPreview": "Önizleme görüntüle",
+ "hidePreview": "Önizlemeyi gizle",
+ "savingDraft": "Taslak kaydediliyor",
+ "savingTranslation": "Çeviri kaydediliyor",
+ "publishingEdits": "Yayın düzenlemeleri",
+ "restoringRevision": "Revizyonun geri yüklenmesi",
+ "publishingDraft": "Taslağı yayınlamak",
+ "unpublishingDraft": "Taslağın yayımlanması durduruluyor",
+ "discardingDraft": "Taslağı atma",
+ "archivingPublished": "Arşivleme yayınlandı",
+ "publishingArchived": "Yayın arşivlendi",
+ "deletingFile": "Dosya siliniyor",
+ "deletingEntry": "Girişi sil"
+ },
+ "contentView": {
+ "create": "Yeni oluştur"
+ },
+ "welcome": {
+ "title": "Alinea kurulumunuz artık yapılandırmaya hazır.",
+ "button": "Yapılandırmayı öğrenin"
+ },
+ "cloudAuthView": {
+ "title": "Paragraf",
+ "deploy": "Dağıtıma hazır mısınız?",
+ "requiresHandler": "Alinea'nın devam edebilmesi için bir yöneticiye ihtiyacı var",
+ "backend": "Alinea'nın devam edebilmesi için bir arka uç gereklidir.",
+ "customBackend": "özel bir arka ucu tamamen yapılandırın",
+ "cloud": "Veya bulut hizmetimizle birkaç tıklamayla kurulumunuzu yapın.",
+ "cloudButton": "alinea.cloud ile devam edin"
+ },
+ "sidebarSettings": {
+ "settings": "Ayarlar",
+ "defaultWorkspace": "Varsayılan çalışma alanı",
+ "theme": "Tema değiştir",
+ "fontSize": "Yazı tipi boyutu",
+ "decreaseFontSize": "Yazı tipi boyutunu küçült",
+ "increaseFontSize": "Yazı tipi boyutunu büyüt",
+ "logout": "Çıkış yap"
+ },
+ "fileUploader": {
+ "uploadComplete": "Yüklemeler tamamlandı: {{amount}}",
+ "uploading": "Dosyalar yükleniyor: {{amount}}",
+ "upload": "Dosyaları yükleyin"
+ },
+ "fileUploadRow": {
+ "alt": "Yüklenen dosya",
+ "done": "Tamamlamak"
+ },
+ "fileEntry": {
+ "preview": "Medya dosyasının önizlemesi",
+ "extension": "Eklenti",
+ "fileSize": "Dosya boyutu",
+ "dimensions": "Boyutlar",
+ "pixels": "pikseller",
+ "url": "URL",
+ "focus": "Odak noktası",
+ "focusHelp": "Odak noktasını değiştirmek için resme tıklayın"
+ },
+ "cardOverview": {
+ "title": "kart"
+ },
+ "explorer": {
+ "noResults": "Sonuç yok"
+ },
+ "editModeToggle": {
+ "edit": "Düzenlemek",
+ "review": "Değişiklikleri gözden geçir"
+ },
+ "searchBox": {
+ "search": "Aramak"
+ },
+ "rootOverview": {
+ "instruction": "Düzenlemeye başlamak için soldaki gezinme ağacından bir giriş seçin"
+ },
+ "inputLabel": {
+ "readonly": "Salt okunur",
+ "shared": "Paylaşılan"
+ },
+ "errorBoundary": {
+ "title": "Hata",
+ "oops": "Oops, bir şeyler ters gitti",
+ "close": "Hatayı kapat",
+ "issue": "Bir sorun yaratın"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Varsayılan çalışma alanı",
+ "logout": "Çıkış yap"
+ },
+ "listField": {
+ "reorder": "Yeniden sıralamak için sürükleyip bırakın",
+ "copy": "Kopyalama bloğu",
+ "moveUp": "Bir pozisyon yukarı çık",
+ "moveDown": "Bir pozisyon aşağı in",
+ "delete": "Bloğu sil",
+ "paste": "Bloğu yapıştır",
+ "add": "Yeni blok ekle"
+ },
+ "metadataField": {
+ "previewTitle": "Önizleme",
+ "searchEngine": "Arama motoru",
+ "socialShare": "Sosyal paylaşım",
+ "ogImageAlt": "Açık Grafik görüntüsü"
+ },
+ "pickTextLink": {
+ "title": "Bağlantıyı seç",
+ "link": "Bağlantı",
+ "description": "Tanım",
+ "descriptionHelp": "Bağlantı öğesinin içinde görüntülenecek metin",
+ "tooltip": "Araç ipucu",
+ "tooltipHelp": "Bağlantıyı açıklayan ve üzerine gelindiğinde gösterilen ek bilgiler",
+ "newTab": "Bağlantıyı yeni sekmede aç",
+ "remove": "Bağlantıyı kaldır",
+ "cancel": "İptal etmek",
+ "confirm": "Onaylamak"
+ },
+ "richTextField": {
+ "insert": "Blok ekle"
+ },
+ "richTextToolbar": {
+ "styles": "Başlık/paragraf",
+ "table": "Masa",
+ "bold": "Gözü pek",
+ "italic": "İtalik",
+ "align": "Hizalama",
+ "alignLeft": "Sola hizala",
+ "alignCenter": "Ortaya hizala",
+ "alignRight": "Sağa hizala",
+ "alignJustify": "Hizala ve haklı çıkar",
+ "clear": "Temiz format",
+ "bulletList": "Madde işaretli liste",
+ "orderedList": "Sıralı liste",
+ "link": "Bağlantı",
+ "quote": "Alıntı",
+ "rule": "Yatay Kural",
+ "small": "Küçük",
+ "sub": "Alt simge",
+ "sup": "Üst simge",
+ "paragraph": "Normal metin",
+ "h1": "Başlık 1",
+ "h2": "Başlık 2",
+ "h3": "Başlık 3",
+ "h4": "Başlık 4",
+ "h5": "Başlık 5",
+ "tableLabel": "Masa",
+ "insert": "Tablo ekle",
+ "insertRowBefore": "Öncesine satır ekle",
+ "insertRowAfter": "Satır sonrasına ekle",
+ "deleteRow": "Satırı sil",
+ "toggleHeaderRow": "Başlık satırını aç/kapat",
+ "insertColumnBefore": "Öncesine sütun ekle",
+ "insertColumnAfter": "Sonra sütun ekle",
+ "deleteColumn": "Sütunu sil",
+ "deleteTable": "Tabloyu sil",
+ "left": "Sol",
+ "center": "Merkez",
+ "right": "Sağ",
+ "justify": "Savunmak"
+ },
+ "linkField": {
+ "reorder": "Yeniden sıralamak için sürükleyip bırakın",
+ "open": "Bağlantıyı yeni sekmede aç",
+ "openFile": "Medya dosyasını yeni sekmede aç",
+ "edit": "Bağlantıyı düzenle",
+ "editFile": "Görüntüyü değiştir",
+ "delete": "Bağlantıyı sil",
+ "deleteFile": "Resmi sil"
+ },
+ "entryPicker": {
+ "title": "Bir referans seçin",
+ "searchPlaceholder": "Aramak",
+ "cancel": "İptal etmek",
+ "confirm": "Onaylamak"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/uk.json b/src/translations/uk.json
new file mode 100644
index 000000000..95438768f
--- /dev/null
+++ b/src/translations/uk.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Синхронізація",
+ "synced": "Синхронізовано",
+ "saving": "Збереження…"
+ },
+ "urlPicker": {
+ "title": "Посилання",
+ "url": "URL-адреса",
+ "urlHelp": "URL-адреса посилання",
+ "description": "Опис",
+ "descriptionHelp": "Текст для відображення всередині елемента посилання",
+ "target": "Ціль",
+ "targetDescription": "Відкрити посилання в новій вкладці",
+ "cancel": "Скасувати",
+ "confirm": "Підтвердити"
+ },
+ "pickLink": {
+ "title": "Вибрати посилання",
+ "link": "Посилання",
+ "description": "Опис",
+ "descriptionHelp": "Текст для відображення всередині елемента посилання",
+ "tooltip": "Підказка",
+ "tooltipHelp": "Додаткова інформація, що описує посилання, що відображається при наведенні курсора",
+ "newTab": "Відкрити посилання в новій вкладці",
+ "remove": "Видалити посилання",
+ "cancel": "Скасувати",
+ "confirm": "Підтвердити"
+ },
+ "newEntry": {
+ "title": "Назва",
+ "parent": "Батьківський",
+ "type": "Виберіть тип",
+ "order": "Вставити замовлення",
+ "orderFirst": "На початку списку",
+ "orderLast": "Внизу списку",
+ "copyFrom": "Копіювати вміст з",
+ "formTitle": "Новий запис",
+ "cancel": "Скасувати",
+ "create": "Створити"
+ },
+ "entryEdit": {
+ "blockingTitle": "Ви впевнені, що хочете скасувати зміни?",
+ "blockingWarning": "Цей документ було змінено",
+ "blockingPrompt": "Ви хочете зберегти свої зміни?",
+ "blockingDiscard": "Скасувати мої зміни",
+ "blockingSaveDraft": "Зберегти як чернетку",
+ "blockingPublishChanges": "Опублікувати зміни",
+ "untranslatedTitle": "Неперекладений",
+ "untranslatedParent": "Спочатку перекладіть батьківську сторінку.",
+ "untranslatedPrompt": "Введіть дані нижче та збережіть, щоб розпочати переклад.",
+ "draftError": "Не вдалося завершити дію з чернеткою, спробуйте пізніше.",
+ "saveTranslationError": "Не вдалося завершити переклад, спробуйте пізніше.",
+ "publishError": "Не вдалося завершити публікацію, спробуйте пізніше.",
+ "discardError": "Не вдалося скасувати зміни, спробуйте пізніше.",
+ "unpublishError": "Не вдалося завершити дію скасування публікації, спробуйте ще раз пізніше.",
+ "deleteError": "Не вдалося завершити видалення, спробуйте пізніше.",
+ "archiveError": "Не вдалося завершити дію архівування, спробуйте ще раз пізніше"
+ },
+ "entryHeader": {
+ "draft": "Чернетка",
+ "editing": "Редагування",
+ "published": "Опубліковано",
+ "archived": "Архівовано",
+ "untranslated": "Неперекладений",
+ "unpublished": "Неопубліковано",
+ "revision": "Редакція",
+ "showMenu": "Меню відображення",
+ "hideMenu": "Приховати меню",
+ "removeDraft": "Видалити чернетку",
+ "replace": "Замінити",
+ "delete": "Видалити",
+ "unpublish": "Скасувати публікацію",
+ "archive": "Архів",
+ "publish": "Опублікувати",
+ "showHistory": "Показати історію",
+ "hideHistory": "Приховати історію",
+ "draftAvailable": "Доступна новіша чернетка",
+ "translateFrom": "Перекласти з",
+ "translateParent": "Спочатку перекладіть батьківську сторінку",
+ "discard": "Відхилити зміни",
+ "save": "Зберегти переклад",
+ "saveDraft": "Зберегти",
+ "restore": "Відновити",
+ "showPreview": "Попередній перегляд дисплея",
+ "hidePreview": "Приховати попередній перегляд",
+ "savingDraft": "Збереження чернетки",
+ "savingTranslation": "Збереження перекладу",
+ "publishingEdits": "Публікація редагувань",
+ "restoringRevision": "Відновлення редакції",
+ "publishingDraft": "Публікація чернетки",
+ "unpublishingDraft": "Скасування публікації чернетки",
+ "discardingDraft": "Відхилення чернетки",
+ "archivingPublished": "Архівування опубліковано",
+ "publishingArchived": "Публікацію архівовано",
+ "deletingFile": "Видалення файлу",
+ "deletingEntry": "Видалити запис"
+ },
+ "contentView": {
+ "create": "Створити нове"
+ },
+ "welcome": {
+ "title": "Ваша інсталяція alinea тепер готова до налаштування.",
+ "button": "Дізнайтеся, як налаштувати"
+ },
+ "cloudAuthView": {
+ "title": "Абзац",
+ "deploy": "Готові до розгортання?",
+ "requiresHandler": "Алінеї потрібен обробник для продовження",
+ "backend": "Для продовження роботи Alinea потрібен бекенд.",
+ "customBackend": "повністю налаштувати користувацький бекенд",
+ "cloud": "Або налаштуйте його за кілька кліків за допомогою нашої хмарної пропозиції.",
+ "cloudButton": "Продовжити з alinea.cloud"
+ },
+ "sidebarSettings": {
+ "settings": "Налаштування",
+ "defaultWorkspace": "Робоча область за замовчуванням",
+ "theme": "Змінити тему",
+ "fontSize": "Розмір шрифту",
+ "decreaseFontSize": "Зменшити розмір шрифту",
+ "increaseFontSize": "Збільшити розмір шрифту",
+ "logout": "Вийти"
+ },
+ "fileUploader": {
+ "uploadComplete": "Завантаження завершено: {{amount}}",
+ "uploading": "Завантаження файлів: {{amount}}",
+ "upload": "Завантажити файли"
+ },
+ "fileUploadRow": {
+ "alt": "Завантажений файл",
+ "done": "Готово"
+ },
+ "fileEntry": {
+ "preview": "Попередній перегляд медіафайлу",
+ "extension": "Розширення",
+ "fileSize": "Розмір файлу",
+ "dimensions": "Розміри",
+ "pixels": "пікселі",
+ "url": "URL-адреса",
+ "focus": "Точка фокусування",
+ "focusHelp": "Натисніть на зображення, щоб змінити точку фокусування"
+ },
+ "cardOverview": {
+ "title": "картка"
+ },
+ "explorer": {
+ "noResults": "Немає результатів"
+ },
+ "editModeToggle": {
+ "edit": "Редагувати",
+ "review": "Переглянути зміни"
+ },
+ "searchBox": {
+ "search": "Пошук"
+ },
+ "rootOverview": {
+ "instruction": "Виберіть запис у дереві навігації ліворуч, щоб розпочати редагування"
+ },
+ "inputLabel": {
+ "readonly": "Тільки для читання",
+ "shared": "Спільний доступ"
+ },
+ "errorBoundary": {
+ "title": "Помилка",
+ "oops": "Ой, щось пішло не так",
+ "close": "Помилка закриття",
+ "issue": "Створити проблему"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Робоча область за замовчуванням",
+ "logout": "Вийти"
+ },
+ "listField": {
+ "reorder": "Перетягніть, щоб змінити порядок",
+ "copy": "Копіювати блок",
+ "moveUp": "Перейти на одну позицію вгору",
+ "moveDown": "Переміститися на одну позицію вниз",
+ "delete": "Видалити блок",
+ "paste": "Вставити блок",
+ "add": "Вставити новий блок"
+ },
+ "metadataField": {
+ "previewTitle": "Попередній перегляд",
+ "searchEngine": "Пошукова система",
+ "socialShare": "Поширення в соціальних мережах",
+ "ogImageAlt": "Відкрити зображення графіка"
+ },
+ "pickTextLink": {
+ "title": "Вибрати посилання",
+ "link": "Посилання",
+ "description": "Опис",
+ "descriptionHelp": "Текст для відображення всередині елемента посилання",
+ "tooltip": "Підказка",
+ "tooltipHelp": "Додаткова інформація, що описує посилання, що відображається при наведенні курсора",
+ "newTab": "Відкрити посилання в новій вкладці",
+ "remove": "Видалити посилання",
+ "cancel": "Скасувати",
+ "confirm": "Підтвердити"
+ },
+ "richTextField": {
+ "insert": "Вставити блок"
+ },
+ "richTextToolbar": {
+ "styles": "Заголовок/абзац",
+ "table": "Стіл",
+ "bold": "Жирний шрифт",
+ "italic": "Курсив",
+ "align": "Вирівнювання",
+ "alignLeft": "Вирівняти за лівим краєм",
+ "alignCenter": "Вирівняти по центру",
+ "alignRight": "Вирівняти по правому краю",
+ "alignJustify": "Вирівняти по ширині",
+ "clear": "Очистити формат",
+ "bulletList": "Маркований список",
+ "orderedList": "Упорядкований список",
+ "link": "Посилання",
+ "quote": "Блокова цитата",
+ "rule": "Горизонтальне правило",
+ "small": "Малий",
+ "sub": "Підрядковий індекс",
+ "sup": "Надрядковий індекс",
+ "paragraph": "Звичайний текст",
+ "h1": "Заголовок 1",
+ "h2": "Заголовок 2",
+ "h3": "Заголовок 3",
+ "h4": "Заголовок 4",
+ "h5": "Заголовок 5",
+ "tableLabel": "Стіл",
+ "insert": "Вставити таблицю",
+ "insertRowBefore": "Вставити рядок перед",
+ "insertRowAfter": "Вставити рядок після",
+ "deleteRow": "Видалити рядок",
+ "toggleHeaderRow": "Перемикання рядка заголовка",
+ "insertColumnBefore": "Вставити стовпець перед",
+ "insertColumnAfter": "Вставити стовпець після",
+ "deleteColumn": "Видалити стовпець",
+ "deleteTable": "Видалити таблицю",
+ "left": "Ліворуч",
+ "center": "Центр",
+ "right": "Праворуч",
+ "justify": "Вирівнювання"
+ },
+ "linkField": {
+ "reorder": "Перетягніть, щоб змінити порядок",
+ "open": "Відкрити посилання в новій вкладці",
+ "openFile": "Відкрити медіафайл у новій вкладці",
+ "edit": "Редагувати посилання",
+ "editFile": "Змінити зображення",
+ "delete": "Видалити посилання",
+ "deleteFile": "Видалити зображення"
+ },
+ "entryPicker": {
+ "title": "Виберіть посилання",
+ "searchPlaceholder": "Пошук",
+ "cancel": "Скасувати",
+ "confirm": "Підтвердити"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/vi.json b/src/translations/vi.json
new file mode 100644
index 000000000..0b1acbb3f
--- /dev/null
+++ b/src/translations/vi.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "Đồng bộ hóa",
+ "synced": "Đã đồng bộ",
+ "saving": "Đang lưu…"
+ },
+ "urlPicker": {
+ "title": "Liên kết",
+ "url": "Địa chỉ",
+ "urlHelp": "Url của liên kết",
+ "description": "Sự miêu tả",
+ "descriptionHelp": "Văn bản hiển thị bên trong phần tử liên kết",
+ "target": "Mục tiêu",
+ "targetDescription": "Mở liên kết trong tab mới",
+ "cancel": "Hủy bỏ",
+ "confirm": "Xác nhận"
+ },
+ "pickLink": {
+ "title": "Chọn liên kết",
+ "link": "Liên kết",
+ "description": "Sự miêu tả",
+ "descriptionHelp": "Văn bản hiển thị bên trong phần tử liên kết",
+ "tooltip": "Chú giải công cụ",
+ "tooltipHelp": "Thông tin bổ sung mô tả liên kết, hiển thị khi di chuột qua",
+ "newTab": "Mở liên kết trong tab mới",
+ "remove": "Xóa liên kết",
+ "cancel": "Hủy bỏ",
+ "confirm": "Xác nhận"
+ },
+ "newEntry": {
+ "title": "Tiêu đề",
+ "parent": "Mục cha",
+ "type": "Chọn loại",
+ "order": "Chèn thứ tự",
+ "orderFirst": "Ở đầu danh sách",
+ "orderLast": "Ở cuối danh sách",
+ "copyFrom": "Sao chép nội dung từ",
+ "formTitle": "Mục nhập mới",
+ "cancel": "Hủy bỏ",
+ "create": "Tạo nên"
+ },
+ "entryEdit": {
+ "blockingTitle": "Bạn có chắc chắn muốn hủy bỏ thay đổi không?",
+ "blockingWarning": "Tài liệu này đã được thay đổi",
+ "blockingPrompt": "Bạn có muốn lưu lại những thay đổi của mình không?",
+ "blockingDiscard": "Hủy bỏ những thay đổi của tôi",
+ "blockingSaveDraft": "Lưu dưới dạng bản nháp",
+ "blockingPublishChanges": "Xuất bản thay đổi",
+ "untranslatedTitle": "Chưa dịch",
+ "untranslatedParent": "Đầu tiên hãy dịch trang gốc.",
+ "untranslatedPrompt": "Nhập thông tin bên dưới và lưu để bắt đầu dịch.",
+ "draftError": "Không thể hoàn tất hành động dự thảo, vui lòng thử lại sau",
+ "saveTranslationError": "Không thể hoàn tất hành động dịch, vui lòng thử lại sau",
+ "publishError": "Không thể hoàn tất hành động xuất bản, vui lòng thử lại sau",
+ "discardError": "Không thể hủy bỏ các thay đổi, vui lòng thử lại sau",
+ "unpublishError": "Không thể hoàn tất hành động hủy xuất bản, vui lòng thử lại sau",
+ "deleteError": "Không thể hoàn tất hành động xóa, vui lòng thử lại sau",
+ "archiveError": "Không thể hoàn tất thao tác lưu trữ, vui lòng thử lại sau"
+ },
+ "entryHeader": {
+ "draft": "Bản nháp",
+ "editing": "Chỉnh sửa",
+ "published": "Đã xuất bản",
+ "archived": "Đã lưu trữ",
+ "untranslated": "Chưa dịch",
+ "unpublished": "Chưa xuất bản",
+ "revision": "Ôn tập",
+ "showMenu": "Hiển thị menu",
+ "hideMenu": "Ẩn menu",
+ "removeDraft": "Xóa bản nháp",
+ "replace": "Thay thế",
+ "delete": "Xóa bỏ",
+ "unpublish": "Hủy xuất bản",
+ "archive": "Lưu trữ",
+ "publish": "Xuất bản",
+ "showHistory": "Hiển thị lịch sử",
+ "hideHistory": "Ẩn lịch sử",
+ "draftAvailable": "Đã có phiên bản dự thảo mới hơn",
+ "translateFrom": "Dịch từ",
+ "translateParent": "Dịch trang gốc trước",
+ "discard": "Hủy bỏ chỉnh sửa",
+ "save": "Lưu bản dịch",
+ "saveDraft": "Cứu",
+ "restore": "Khôi phục",
+ "showPreview": "Hiển thị bản xem trước",
+ "hidePreview": "Ẩn bản xem trước",
+ "savingDraft": "Lưu bản nháp",
+ "savingTranslation": "Lưu bản dịch",
+ "publishingEdits": "Xuất bản chỉnh sửa",
+ "restoringRevision": "Đang khôi phục bản sửa đổi",
+ "publishingDraft": "Xuất bản bản thảo",
+ "unpublishingDraft": "Bản nháp chưa xuất bản",
+ "discardingDraft": "Bỏ bản nháp",
+ "archivingPublished": "Lưu trữ đã xuất bản",
+ "publishingArchived": "Xuất bản lưu trữ",
+ "deletingFile": "Đang xóa tập tin",
+ "deletingEntry": "Xóa mục nhập"
+ },
+ "contentView": {
+ "create": "Tạo mới"
+ },
+ "welcome": {
+ "title": "Cài đặt alinea của bạn hiện đã sẵn sàng để cấu hình.",
+ "button": "Tìm hiểu cách cấu hình"
+ },
+ "cloudAuthView": {
+ "title": "Đoạn văn",
+ "deploy": "Sẵn sàng triển khai chưa?",
+ "requiresHandler": "Alinea cần một người xử lý để tiếp tục",
+ "backend": "Alinea cần có phần phụ trợ để tiếp tục.",
+ "customBackend": "cấu hình đầy đủ một backend tùy chỉnh",
+ "cloud": "Hoặc thiết lập chỉ với vài cú nhấp chuột với dịch vụ đám mây của chúng tôi.",
+ "cloudButton": "Tiếp tục với alinea.cloud"
+ },
+ "sidebarSettings": {
+ "settings": "Cài đặt",
+ "defaultWorkspace": "Không gian làm việc mặc định",
+ "theme": "Chuyển chủ đề",
+ "fontSize": "Kích thước phông chữ",
+ "decreaseFontSize": "Giảm kích thước phông chữ",
+ "increaseFontSize": "Tăng kích thước phông chữ",
+ "logout": "Đăng xuất"
+ },
+ "fileUploader": {
+ "uploadComplete": "Tải lên hoàn tất: {{amount}}",
+ "uploading": "Đang tải tệp lên: {{amount}}",
+ "upload": "Tải lên tập tin"
+ },
+ "fileUploadRow": {
+ "alt": "Tệp đã tải lên",
+ "done": "Xong"
+ },
+ "fileEntry": {
+ "preview": "Xem trước tập tin phương tiện",
+ "extension": "Sự mở rộng",
+ "fileSize": "Kích thước tập tin",
+ "dimensions": "Kích thước",
+ "pixels": "điểm ảnh",
+ "url": "URL",
+ "focus": "Điểm tập trung",
+ "focusHelp": "Nhấp vào hình ảnh để thay đổi điểm lấy nét"
+ },
+ "cardOverview": {
+ "title": "thẻ"
+ },
+ "explorer": {
+ "noResults": "Không có kết quả"
+ },
+ "editModeToggle": {
+ "edit": "Biên tập",
+ "review": "Xem lại các thay đổi"
+ },
+ "searchBox": {
+ "search": "Tìm kiếm"
+ },
+ "rootOverview": {
+ "instruction": "Chọn một mục trong cây điều hướng\nbên trái để bắt đầu chỉnh sửa"
+ },
+ "inputLabel": {
+ "readonly": "Chỉ đọc",
+ "shared": "Chia sẻ"
+ },
+ "errorBoundary": {
+ "title": "Lỗi",
+ "oops": "Ồ, có gì đó không ổn",
+ "close": "Đóng lỗi",
+ "issue": "Tạo một vấn đề"
+ },
+ "toolbar": {
+ "defaultWorkspace": "Không gian làm việc mặc định",
+ "logout": "Đăng xuất"
+ },
+ "listField": {
+ "reorder": "Kéo và thả để sắp xếp lại",
+ "copy": "Sao chép khối",
+ "moveUp": "Di chuyển lên một vị trí",
+ "moveDown": "Di chuyển xuống một vị trí",
+ "delete": "Xóa khối",
+ "paste": "Dán khối",
+ "add": "Chèn khối mới"
+ },
+ "metadataField": {
+ "previewTitle": "Xem trước",
+ "searchEngine": "Công cụ tìm kiếm",
+ "socialShare": "Chia sẻ xã hội",
+ "ogImageAlt": "Hình ảnh đồ thị mở"
+ },
+ "pickTextLink": {
+ "title": "Chọn liên kết",
+ "link": "Liên kết",
+ "description": "Sự miêu tả",
+ "descriptionHelp": "Văn bản hiển thị bên trong phần tử liên kết",
+ "tooltip": "Chú giải công cụ",
+ "tooltipHelp": "Thông tin bổ sung mô tả liên kết, hiển thị khi di chuột qua",
+ "newTab": "Mở liên kết trong tab mới",
+ "remove": "Xóa liên kết",
+ "cancel": "Hủy bỏ",
+ "confirm": "Xác nhận"
+ },
+ "richTextField": {
+ "insert": "Chèn khối"
+ },
+ "richTextToolbar": {
+ "styles": "Tiêu đề/đoạn văn",
+ "table": "Bàn",
+ "bold": "In đậm",
+ "italic": "In nghiêng",
+ "align": "Căn chỉnh",
+ "alignLeft": "Căn trái",
+ "alignCenter": "Căn giữa",
+ "alignRight": "Căn phải",
+ "alignJustify": "Căn chỉnh",
+ "clear": "Định dạng rõ ràng",
+ "bulletList": "Danh sách dấu đầu dòng",
+ "orderedList": "Danh sách có thứ tự",
+ "link": "Liên kết",
+ "quote": "Trích dẫn",
+ "rule": "Quy tắc ngang",
+ "small": "Bé nhỏ",
+ "sub": "Chỉ số dưới",
+ "sup": "Chỉ số trên",
+ "paragraph": "Văn bản bình thường",
+ "h1": "Tiêu đề 1",
+ "h2": "Tiêu đề 2",
+ "h3": "Tiêu đề 3",
+ "h4": "Tiêu đề 4",
+ "h5": "Tiêu đề 5",
+ "tableLabel": "Bàn",
+ "insert": "Chèn bảng",
+ "insertRowBefore": "Chèn hàng trước",
+ "insertRowAfter": "Chèn hàng sau",
+ "deleteRow": "Xóa hàng",
+ "toggleHeaderRow": "Chuyển đổi hàng tiêu đề",
+ "insertColumnBefore": "Chèn cột trước",
+ "insertColumnAfter": "Chèn cột sau",
+ "deleteColumn": "Xóa cột",
+ "deleteTable": "Xóa bảng",
+ "left": "Bên trái",
+ "center": "Trung tâm",
+ "right": "Phải",
+ "justify": "Căn chỉnh"
+ },
+ "linkField": {
+ "reorder": "Kéo và thả để sắp xếp lại",
+ "open": "Mở liên kết trong tab mới",
+ "openFile": "Mở tệp phương tiện trong tab mới",
+ "edit": "Chỉnh sửa liên kết",
+ "editFile": "Thay đổi hình ảnh",
+ "delete": "Xóa liên kết",
+ "deleteFile": "Xóa hình ảnh"
+ },
+ "entryPicker": {
+ "title": "Chọn một tài liệu tham khảo",
+ "searchPlaceholder": "Tìm kiếm",
+ "cancel": "Hủy bỏ",
+ "confirm": "Xác nhận"
+ }
+}
\ No newline at end of file
diff --git a/src/translations/zh.json b/src/translations/zh.json
new file mode 100644
index 000000000..247ac8b21
--- /dev/null
+++ b/src/translations/zh.json
@@ -0,0 +1,258 @@
+{
+ "app": {
+ "syncing": "同步",
+ "synced": "已同步",
+ "saving": "保存…"
+ },
+ "urlPicker": {
+ "title": "关联",
+ "url": "网址",
+ "urlHelp": "链接的 URL",
+ "description": "描述",
+ "descriptionHelp": "链接元素内显示的文本",
+ "target": "目标",
+ "targetDescription": "在新标签页中打开链接",
+ "cancel": "取消",
+ "confirm": "确认"
+ },
+ "pickLink": {
+ "title": "选择链接",
+ "link": "关联",
+ "description": "描述",
+ "descriptionHelp": "链接元素内显示的文本",
+ "tooltip": "工具提示",
+ "tooltipHelp": "描述链接的额外信息,悬停时显示",
+ "newTab": "在新标签页中打开链接",
+ "remove": "删除链接",
+ "cancel": "取消",
+ "confirm": "确认"
+ },
+ "newEntry": {
+ "title": "标题",
+ "parent": "父级",
+ "type": "选择类型",
+ "order": "插入订单",
+ "orderFirst": "位于列表顶部",
+ "orderLast": "列表底部",
+ "copyFrom": "复制内容",
+ "formTitle": "新条目",
+ "cancel": "取消",
+ "create": "创建"
+ },
+ "entryEdit": {
+ "blockingTitle": "您确定要放弃更改吗?",
+ "blockingWarning": "此文件已更改",
+ "blockingPrompt": "您想保存更改吗?",
+ "blockingDiscard": "放弃我的更改",
+ "blockingSaveDraft": "保存为草稿",
+ "blockingPublishChanges": "发布变更",
+ "untranslatedTitle": "未翻译",
+ "untranslatedParent": "首先翻译父页面。",
+ "untranslatedPrompt": "输入以下详细信息并保存以开始翻译。",
+ "draftError": "无法完成草稿操作,请稍后重试",
+ "saveTranslationError": "无法完成翻译操作,请稍后重试",
+ "publishError": "无法完成发布操作,请稍后重试",
+ "discardError": "无法放弃更改,请稍后重试",
+ "unpublishError": "无法完成取消发布操作,请稍后重试",
+ "deleteError": "无法完成删除操作,请稍后重试",
+ "archiveError": "无法完成存档操作,请稍后重试"
+ },
+ "entryHeader": {
+ "draft": "草稿",
+ "editing": "编辑",
+ "published": "发布",
+ "archived": "已归档",
+ "untranslated": "未翻译",
+ "unpublished": "未发表",
+ "revision": "修订",
+ "showMenu": "显示菜单",
+ "hideMenu": "隐藏菜单",
+ "removeDraft": "删除草稿",
+ "replace": "代替",
+ "delete": "删除",
+ "unpublish": "取消发布",
+ "archive": "档案",
+ "publish": "发布",
+ "showHistory": "显示历史记录",
+ "hideHistory": "隐藏历史记录",
+ "draftAvailable": "有较新的草稿版本可用",
+ "translateFrom": "翻译自",
+ "translateParent": "首先翻译父页面",
+ "discard": "放弃编辑",
+ "save": "保存翻译",
+ "saveDraft": "节省",
+ "restore": "恢复",
+ "showPreview": "显示预览",
+ "hidePreview": "隐藏预览",
+ "savingDraft": "保存草稿",
+ "savingTranslation": "保存翻译",
+ "publishingEdits": "发布编辑",
+ "restoringRevision": "恢复修订",
+ "publishingDraft": "发布草稿",
+ "unpublishingDraft": "取消发布草稿",
+ "discardingDraft": "放弃草稿",
+ "archivingPublished": "归档已发布",
+ "publishingArchived": "已归档出版",
+ "deletingFile": "删除文件",
+ "deletingEntry": "删除条目"
+ },
+ "contentView": {
+ "create": "创建新的"
+ },
+ "welcome": {
+ "title": "您的 alinea 安装现已准备好进行配置。",
+ "button": "了解如何配置"
+ },
+ "cloudAuthView": {
+ "title": "段落",
+ "deploy": "准备好部署了吗?",
+ "requiresHandler": "Alinea 需要处理程序继续",
+ "backend": "Alinea 需要后端才能继续。",
+ "customBackend": "完全配置自定义后端",
+ "cloud": "或者通过我们的云服务单击几下即可完成设置。",
+ "cloudButton": "继续使用 alinea.cloud"
+ },
+ "sidebarSettings": {
+ "settings": "设置",
+ "defaultWorkspace": "默认工作区",
+ "theme": "切换主题",
+ "fontSize": "字体大小",
+ "decreaseFontSize": "减小字体大小",
+ "increaseFontSize": "增加字体大小",
+ "logout": "登出"
+ },
+ "fileUploader": {
+ "uploadComplete": "上传完成:{{amount}}",
+ "uploading": "正在上传文件:{{amount}}",
+ "upload": "上传文件"
+ },
+ "fileUploadRow": {
+ "alt": "已上传文件",
+ "done": "完毕"
+ },
+ "fileEntry": {
+ "preview": "媒体文件预览",
+ "extension": "扩展名",
+ "fileSize": "文件大小",
+ "dimensions": "尺寸",
+ "pixels": "像素",
+ "url": "网址",
+ "focus": "焦点",
+ "focusHelp": "点击图像即可更改焦点"
+ },
+ "cardOverview": {
+ "title": "卡片"
+ },
+ "explorer": {
+ "noResults": "没有结果"
+ },
+ "editModeToggle": {
+ "edit": "编辑",
+ "review": "审阅更改"
+ },
+ "searchBox": {
+ "search": "搜索"
+ },
+ "rootOverview": {
+ "instruction": "在左侧导航树中选择一个条目即可开始编辑"
+ },
+ "inputLabel": {
+ "readonly": "只读",
+ "shared": "共享"
+ },
+ "errorBoundary": {
+ "title": "错误",
+ "oops": "哎呀,出了点问题",
+ "close": "关闭错误",
+ "issue": "创建问题"
+ },
+ "toolbar": {
+ "defaultWorkspace": "默认工作区",
+ "logout": "登出"
+ },
+ "listField": {
+ "reorder": "拖放即可重新排序",
+ "copy": "复制块",
+ "moveUp": "向上移动一个位置",
+ "moveDown": "向下移动一个位置",
+ "delete": "删除块",
+ "paste": "粘贴块",
+ "add": "插入新块"
+ },
+ "metadataField": {
+ "previewTitle": "预览",
+ "searchEngine": "搜索引擎",
+ "socialShare": "社交分享",
+ "ogImageAlt": "Open Graph 图像"
+ },
+ "pickTextLink": {
+ "title": "选择链接",
+ "link": "关联",
+ "description": "描述",
+ "descriptionHelp": "链接元素内显示的文本",
+ "tooltip": "工具提示",
+ "tooltipHelp": "描述链接的额外信息,悬停时显示",
+ "newTab": "在新标签页中打开链接",
+ "remove": "删除链接",
+ "cancel": "取消",
+ "confirm": "确认"
+ },
+ "richTextField": {
+ "insert": "插入块"
+ },
+ "richTextToolbar": {
+ "styles": "标题/段落",
+ "table": "桌子",
+ "bold": "大胆的",
+ "italic": "斜体",
+ "align": "结盟",
+ "alignLeft": "左对齐",
+ "alignCenter": "居中对齐",
+ "alignRight": "右对齐",
+ "alignJustify": "对齐",
+ "clear": "清除格式",
+ "bulletList": "项目符号列表",
+ "orderedList": "有序列表",
+ "link": "关联",
+ "quote": "区块引用",
+ "rule": "水平线",
+ "small": "小的",
+ "sub": "下标",
+ "sup": "上标",
+ "paragraph": "普通文本",
+ "h1": "标题 1",
+ "h2": "标题 2",
+ "h3": "标题 3",
+ "h4": "标题 4",
+ "h5": "标题 5",
+ "tableLabel": "桌子",
+ "insert": "插入表格",
+ "insertRowBefore": "在前插入行",
+ "insertRowAfter": "在…之后插入行",
+ "deleteRow": "删除行",
+ "toggleHeaderRow": "切换标题行",
+ "insertColumnBefore": "在前插入列",
+ "insertColumnAfter": "在之后插入列",
+ "deleteColumn": "删除列",
+ "deleteTable": "删除表",
+ "left": "左边",
+ "center": "中心",
+ "right": "正确的",
+ "justify": "证明合法"
+ },
+ "linkField": {
+ "reorder": "拖放即可重新排序",
+ "open": "在新标签页中打开链接",
+ "openFile": "在新选项卡中打开媒体文件",
+ "edit": "编辑链接",
+ "editFile": "更改图像",
+ "delete": "删除链接",
+ "deleteFile": "删除图片"
+ },
+ "entryPicker": {
+ "title": "选择参考",
+ "searchPlaceholder": "搜索",
+ "cancel": "取消",
+ "confirm": "确认"
+ }
+}
\ No newline at end of file