Compare commits

...

10 Commits

Author SHA1 Message Date
titor-z
6b5e3580fb 自我修改。
Some checks failed
Build / build (18.x) (push) Has been cancelled
Build / build (20.x) (push) Has been cancelled
2025-03-15 01:21:27 +08:00
1ilit
fa1e736436
Add speed insights (#359) 2025-03-12 01:40:39 +04:00
1ilit
6cc9942062
Fix hotkeys (#357)
* Fix hotkeys(#356)

* Check for meta key(#356)
2025-03-07 21:11:50 +04:00
Tamás Balog
e1ca9b0cd6
Add missing entries to the Hungarian translations (#354) 2025-03-05 21:27:50 +04:00
1ilit
885eb8298f
Deprecate ddb export(#353) 2025-03-04 22:58:39 +04:00
1ilit
8fe4ec5ac8
Update README.md 2025-03-03 23:52:15 +04:00
1ilit
0e54dbed1b
Remove funding (#352)
* Remove funding

* Remove support us from landing page
2025-03-03 23:50:50 +04:00
1ilit
0d813fc0dd
Import from and export to DBML (#351)
* Add export and import functions

* Add import from dbml to control panel

* Add the import key back into locales and show import error

* Parse relationships
2025-03-01 22:24:53 +04:00
David
e3877ef982
Add romanian locale (#348) 2025-02-26 21:27:25 +04:00
Swapnil Ingale
799a79e8a8
Add translations for Uyghurs language (#345)
* Add translations for Uyghurs language

* Add Uyghurs Language Properly

* Remove First Line
2025-02-25 23:02:49 +04:00
61 changed files with 3687 additions and 2688 deletions

2
.github/FUNDING.yml vendored
View File

@ -1,2 +0,0 @@
open_collective: drawdb
buy_me_a_coffee: drawdb

View File

@ -15,9 +15,6 @@
<a href="https://x.com/drawDB_" style="display: flex; align-items: center;"> <a href="https://x.com/drawDB_" style="display: flex; align-items: center;">
<img src="https://img.shields.io/badge/Follow%20us%20on%20X-blue?logo=X" alt="Follow us on X"/> <img src="https://img.shields.io/badge/Follow%20us%20on%20X-blue?logo=X" alt="Follow us on X"/>
</a> </a>
<a href="https://buymeacoffee.com/drawdb" style="display: flex; align-items: center;">
<img src="https://img.shields.io/badge/Support%20us-grey?logo=buymeacoffee" alt="Support us"/>
</a>
</div> </div>
<h3 align="center"><img width="700" style="border-radius:5px;" alt="demo" src="drawdb.png"></h3> <h3 align="center"><img width="700" style="border-radius:5px;" alt="demo" src="drawdb.png"></h3>

89
package-lock.json generated
View File

@ -10,12 +10,14 @@
"dependencies": { "dependencies": {
"@codemirror/lang-json": "^6.0.1", "@codemirror/lang-json": "^6.0.1",
"@codemirror/lang-sql": "^6.6.3", "@codemirror/lang-sql": "^6.6.3",
"@dbml/core": "^3.9.7-alpha.0",
"@douyinfe/semi-ui": "^2.51.3", "@douyinfe/semi-ui": "^2.51.3",
"@lexical/react": "^0.12.5", "@lexical/react": "^0.12.5",
"@uiw/codemirror-theme-github": "^4.21.25", "@uiw/codemirror-theme-github": "^4.21.25",
"@uiw/codemirror-theme-vscode": "^4.21.25", "@uiw/codemirror-theme-vscode": "^4.21.25",
"@uiw/react-codemirror": "^4.21.25", "@uiw/react-codemirror": "^4.21.25",
"@vercel/analytics": "^1.2.2", "@vercel/analytics": "^1.2.2",
"@vercel/speed-insights": "^1.2.0",
"axios": "^1.7.4", "axios": "^1.7.4",
"classnames": "^2.5.1", "classnames": "^2.5.1",
"dexie": "^3.2.4", "dexie": "^3.2.4",
@ -536,6 +538,34 @@
"w3c-keyname": "^2.2.4" "w3c-keyname": "^2.2.4"
} }
}, },
"node_modules/@dbml/core": {
"version": "3.9.7-alpha.0",
"resolved": "https://registry.npmjs.org/@dbml/core/-/core-3.9.7-alpha.0.tgz",
"integrity": "sha512-KGXr7p80XuoqQJumOs2+RHRBBH703gNxM0uiEvT1FF945+H4LriNK4ZgbXqe2ObmRNbwF2/TYFou+lqkh+tbUw==",
"license": "Apache-2.0",
"dependencies": {
"@dbml/parse": "^3.9.7-alpha.0",
"antlr4": "^4.13.1",
"lodash": "^4.17.15",
"parsimmon": "^1.13.0",
"pluralize": "^8.0.0"
},
"engines": {
"node": ">=16"
}
},
"node_modules/@dbml/parse": {
"version": "3.9.7-alpha.0",
"resolved": "https://registry.npmjs.org/@dbml/parse/-/parse-3.9.7-alpha.0.tgz",
"integrity": "sha512-QT0rmbbnjn6hKbGXMhvdw62Gn8YgXjvG5a+0+9EoZFpFdl/Y8VSPlHqpHbdMas2kOpusMgpa1YRFaTMApZM7Mw==",
"license": "Apache-2.0",
"dependencies": {
"lodash": "^4.17.21"
},
"peerDependencies": {
"lodash": "^4.17.21"
}
},
"node_modules/@dnd-kit/accessibility": { "node_modules/@dnd-kit/accessibility": {
"version": "3.1.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/@dnd-kit/accessibility/-/accessibility-3.1.0.tgz", "resolved": "https://registry.npmjs.org/@dnd-kit/accessibility/-/accessibility-3.1.0.tgz",
@ -2274,6 +2304,41 @@
} }
} }
}, },
"node_modules/@vercel/speed-insights": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@vercel/speed-insights/-/speed-insights-1.2.0.tgz",
"integrity": "sha512-y9GVzrUJ2xmgtQlzFP2KhVRoCglwfRQgjyfY607aU0hh0Un6d0OUyrJkjuAlsV18qR4zfoFPs/BiIj9YDS6Wzw==",
"hasInstallScript": true,
"license": "Apache-2.0",
"peerDependencies": {
"@sveltejs/kit": "^1 || ^2",
"next": ">= 13",
"react": "^18 || ^19 || ^19.0.0-rc",
"svelte": ">= 4",
"vue": "^3",
"vue-router": "^4"
},
"peerDependenciesMeta": {
"@sveltejs/kit": {
"optional": true
},
"next": {
"optional": true
},
"react": {
"optional": true
},
"svelte": {
"optional": true
},
"vue": {
"optional": true
},
"vue-router": {
"optional": true
}
}
},
"node_modules/@vitejs/plugin-react": { "node_modules/@vitejs/plugin-react": {
"version": "4.2.1", "version": "4.2.1",
"resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz", "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz",
@ -2351,6 +2416,15 @@
"node": ">=4" "node": ">=4"
} }
}, },
"node_modules/antlr4": {
"version": "4.13.2",
"resolved": "https://registry.npmjs.org/antlr4/-/antlr4-4.13.2.tgz",
"integrity": "sha512-QiVbZhyy4xAZ17UPEuG3YTOt8ZaoeOR1CvEAqrEsDBsOqINslaB147i9xqljZqoyf5S+EUlGStaj+t22LT9MOg==",
"license": "BSD-3-Clause",
"engines": {
"node": ">=16"
}
},
"node_modules/any-promise": { "node_modules/any-promise": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
@ -5065,6 +5139,12 @@
"node": ">=6" "node": ">=6"
} }
}, },
"node_modules/parsimmon": {
"version": "1.18.1",
"resolved": "https://registry.npmjs.org/parsimmon/-/parsimmon-1.18.1.tgz",
"integrity": "sha512-u7p959wLfGAhJpSDJVYXoyMCXWYwHia78HhRBWqk7AIbxdmlrfdp5wX0l3xv/iTSH5HvhN9K7o26hwwpgS5Nmw==",
"license": "MIT"
},
"node_modules/path-exists": { "node_modules/path-exists": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@ -5139,6 +5219,15 @@
"node": ">= 6" "node": ">= 6"
} }
}, },
"node_modules/pluralize": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz",
"integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==",
"license": "MIT",
"engines": {
"node": ">=4"
}
},
"node_modules/postcss": { "node_modules/postcss": {
"version": "8.4.41", "version": "8.4.41",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz",

View File

@ -12,12 +12,14 @@
"dependencies": { "dependencies": {
"@codemirror/lang-json": "^6.0.1", "@codemirror/lang-json": "^6.0.1",
"@codemirror/lang-sql": "^6.6.3", "@codemirror/lang-sql": "^6.6.3",
"@dbml/core": "^3.9.7-alpha.0",
"@douyinfe/semi-ui": "^2.51.3", "@douyinfe/semi-ui": "^2.51.3",
"@lexical/react": "^0.12.5", "@lexical/react": "^0.12.5",
"@uiw/codemirror-theme-github": "^4.21.25", "@uiw/codemirror-theme-github": "^4.21.25",
"@uiw/codemirror-theme-vscode": "^4.21.25", "@uiw/codemirror-theme-vscode": "^4.21.25",
"@uiw/react-codemirror": "^4.21.25", "@uiw/react-codemirror": "^4.21.25",
"@vercel/analytics": "^1.2.2", "@vercel/analytics": "^1.2.2",
"@vercel/speed-insights": "^1.2.0",
"axios": "^1.7.4", "axios": "^1.7.4",
"classnames": "^2.5.1", "classnames": "^2.5.1",
"dexie": "^3.2.4", "dexie": "^3.2.4",

View File

@ -450,7 +450,7 @@ export default function Canvas() {
(e) => { (e) => {
e.preventDefault(); e.preventDefault();
if (e.ctrlKey) { if (e.ctrlKey || e.metaKey) {
// How "eager" the viewport is to // How "eager" the viewport is to
// center the cursor's coordinates // center the cursor's coordinates
const eagernessFactor = 0.05; const eagernessFactor = 0.05;

View File

@ -24,7 +24,6 @@ import {
Popconfirm, Popconfirm,
} from "@douyinfe/semi-ui"; } from "@douyinfe/semi-ui";
import { toPng, toJpeg, toSvg } from "html-to-image"; import { toPng, toJpeg, toSvg } from "html-to-image";
import { saveAs } from "file-saver";
import { import {
jsonToMySQL, jsonToMySQL,
jsonToPostgreSQL, jsonToPostgreSQL,
@ -40,6 +39,7 @@ import {
MODAL, MODAL,
SIDESHEET, SIDESHEET,
DB, DB,
IMPORT_FROM,
} from "../../data/constants"; } from "../../data/constants";
import jsPDF from "jspdf"; import jsPDF from "jspdf";
import { useHotkeys } from "react-hotkeys-hook"; import { useHotkeys } from "react-hotkeys-hook";
@ -74,6 +74,7 @@ import { isRtl } from "../../i18n/utils/rtl";
import { jsonToDocumentation } from "../../utils/exportAs/documentation"; import { jsonToDocumentation } from "../../utils/exportAs/documentation";
import { IdContext } from "../Workspace"; import { IdContext } from "../Workspace";
import { socials } from "../../data/socials"; import { socials } from "../../data/socials";
import { toDBML } from "../../utils/exportAs/dbml";
export default function ControlPanel({ export default function ControlPanel({
diagramId, diagramId,
@ -91,6 +92,7 @@ export default function ControlPanel({
filename: `${title}_${new Date().toISOString()}`, filename: `${title}_${new Date().toISOString()}`,
extension: "", extension: "",
}); });
const [importFrom, setImportFrom] = useState(IMPORT_FROM.JSON);
const { saveState, setSaveState } = useSaveState(); const { saveState, setSaveState } = useSaveState();
const { layout, setLayout } = useLayout(); const { layout, setLayout } = useLayout();
const { settings, setSettings } = useSettings(); const { settings, setSettings } = useSettings();
@ -788,9 +790,18 @@ export default function ControlPanel({
.catch(() => Toast.error(t("oops_smth_went_wrong"))); .catch(() => Toast.error(t("oops_smth_went_wrong")));
}, },
}, },
import_diagram: { import_from: {
function: fileImport, children: [
shortcut: "Ctrl+I", {
JSON: fileImport,
},
{
DBML: () => {
setModal(MODAL.IMPORT);
setImportFrom(IMPORT_FROM.DBML);
},
},
],
}, },
import_from_source: { import_from_source: {
...(database === DB.GENERIC && { ...(database === DB.GENERIC && {
@ -963,6 +974,21 @@ export default function ControlPanel({
setModal(MODAL.IMG); setModal(MODAL.IMG);
}, },
}, },
{
SVG: () => {
const filter = (node) => node.tagName !== "i";
toSvg(document.getElementById("canvas"), { filter: filter }).then(
function (dataUrl) {
setExportData((prev) => ({
...prev,
data: dataUrl,
extension: "svg",
}));
},
);
setModal(MODAL.IMG);
},
},
{ {
JSON: () => { JSON: () => {
setModal(MODAL.CODE); setModal(MODAL.CODE);
@ -988,18 +1014,18 @@ export default function ControlPanel({
}, },
}, },
{ {
SVG: () => { DBML: () => {
const filter = (node) => node.tagName !== "i"; setModal(MODAL.CODE);
toSvg(document.getElementById("canvas"), { filter: filter }).then( const result = toDBML({
function (dataUrl) { tables,
setExportData((prev) => ({ relationships,
...prev, enums,
data: dataUrl, });
extension: "svg", setExportData((prev) => ({
})); ...prev,
}, data: result,
); extension: "dbml",
setModal(MODAL.IMG); }));
}, },
}, },
{ {
@ -1022,30 +1048,6 @@ export default function ControlPanel({
}); });
}, },
}, },
{
DRAWDB: () => {
const result = JSON.stringify(
{
author: "Unnamed",
title: title,
date: new Date().toISOString(),
tables: tables,
relationships: relationships,
notes: notes,
subjectAreas: areas,
database: database,
...(databases[database].hasTypes && { types: types }),
...(databases[database].hasEnums && { enums: enums }),
},
null,
2,
);
const blob = new Blob([result], {
type: "text/plain;charset=utf-8",
});
saveAs(blob, `${exportData.filename}.ddb`);
},
},
{ {
MERMAID: () => { MERMAID: () => {
setModal(MODAL.CODE); setModal(MODAL.CODE);
@ -1361,35 +1363,35 @@ export default function ControlPanel({
}, },
}; };
useHotkeys("ctrl+i, meta+i", fileImport, { preventDefault: true }); useHotkeys("mod+i", fileImport, { preventDefault: true });
useHotkeys("ctrl+z, meta+z", undo, { preventDefault: true }); useHotkeys("mod+z", undo, { preventDefault: true });
useHotkeys("ctrl+y, meta+y", redo, { preventDefault: true }); useHotkeys("mod+y", redo, { preventDefault: true });
useHotkeys("ctrl+s, meta+s", save, { preventDefault: true }); useHotkeys("mod+s", save, { preventDefault: true });
useHotkeys("ctrl+o, meta+o", open, { preventDefault: true }); useHotkeys("mod+o", open, { preventDefault: true });
useHotkeys("ctrl+e, meta+e", edit, { preventDefault: true }); useHotkeys("mod+e", edit, { preventDefault: true });
useHotkeys("ctrl+d, meta+d", duplicate, { preventDefault: true }); useHotkeys("mod+d", duplicate, { preventDefault: true });
useHotkeys("ctrl+c, meta+c", copy, { preventDefault: true }); useHotkeys("mod+c", copy, { preventDefault: true });
useHotkeys("ctrl+v, meta+v", paste, { preventDefault: true }); useHotkeys("mod+v", paste, { preventDefault: true });
useHotkeys("ctrl+x, meta+x", cut, { preventDefault: true }); useHotkeys("mod+x", cut, { preventDefault: true });
useHotkeys("delete", del, { preventDefault: true }); useHotkeys("delete", del, { preventDefault: true });
useHotkeys("ctrl+shift+g, meta+shift+g", viewGrid, { preventDefault: true }); useHotkeys("mod+shift+g", viewGrid, { preventDefault: true });
useHotkeys("ctrl+up, meta+up", zoomIn, { preventDefault: true }); useHotkeys("mod+up", zoomIn, { preventDefault: true });
useHotkeys("ctrl+down, meta+down", zoomOut, { preventDefault: true }); useHotkeys("mod+down", zoomOut, { preventDefault: true });
useHotkeys("ctrl+shift+m, meta+shift+m", viewStrictMode, { useHotkeys("mod+shift+m", viewStrictMode, {
preventDefault: true, preventDefault: true,
}); });
useHotkeys("ctrl+shift+f, meta+shift+f", viewFieldSummary, { useHotkeys("mod+shift+f", viewFieldSummary, {
preventDefault: true, preventDefault: true,
}); });
useHotkeys("ctrl+shift+s, meta+shift+s", saveDiagramAs, { useHotkeys("mod+shift+s", saveDiagramAs, {
preventDefault: true, preventDefault: true,
}); });
useHotkeys("ctrl+alt+c, meta+alt+c", copyAsImage, { preventDefault: true }); useHotkeys("mod+alt+c", copyAsImage, { preventDefault: true });
useHotkeys("ctrl+r, meta+r", resetView, { preventDefault: true }); useHotkeys("mod+r", resetView, { preventDefault: true });
useHotkeys("ctrl+h, meta+h", () => window.open(socials.docs, "_blank"), { useHotkeys("mod+h", () => window.open(socials.docs, "_blank"), {
preventDefault: true, preventDefault: true,
}); });
useHotkeys("ctrl+alt+w, meta+alt+w", fitWindow, { preventDefault: true }); useHotkeys("mod+alt+w", fitWindow, { preventDefault: true });
return ( return (
<> <>
@ -1423,6 +1425,7 @@ export default function ControlPanel({
setTitle={setTitle} setTitle={setTitle}
setDiagramId={setDiagramId} setDiagramId={setDiagramId}
setModal={setModal} setModal={setModal}
importFrom={importFrom}
importDb={importDb} importDb={importDb}
/> />
<Sidesheet <Sidesheet

View File

@ -3,7 +3,7 @@ import {
jsonDiagramIsValid, jsonDiagramIsValid,
} from "../../../utils/validateSchema"; } from "../../../utils/validateSchema";
import { Upload, Banner } from "@douyinfe/semi-ui"; import { Upload, Banner } from "@douyinfe/semi-ui";
import { DB, STATUS } from "../../../data/constants"; import { DB, IMPORT_FROM, STATUS } from "../../../data/constants";
import { import {
useAreas, useAreas,
useEnums, useEnums,
@ -12,8 +12,14 @@ import {
useTypes, useTypes,
} from "../../../hooks"; } from "../../../hooks";
import { useTranslation } from "react-i18next"; import { useTranslation } from "react-i18next";
import { fromDBML } from "../../../utils/importFrom/dbml";
export default function ImportDiagram({ setImportData, error, setError }) { export default function ImportDiagram({
setImportData,
error,
setError,
importFrom,
}) {
const { areas } = useAreas(); const { areas } = useAreas();
const { notes } = useNotes(); const { notes } = useNotes();
const { tables, relationships, database } = useDiagram(); const { tables, relationships, database } = useDiagram();
@ -32,6 +38,125 @@ export default function ImportDiagram({ setImportData, error, setError }) {
); );
}; };
const loadJsonData = (file, e) => {
let jsonObject = null;
try {
jsonObject = JSON.parse(e.target.result);
} catch (error) {
setError({
type: STATUS.ERROR,
message: "The file contains an error.",
});
return;
}
if (file.type === "application/json") {
if (!jsonDiagramIsValid(jsonObject)) {
setError({
type: STATUS.ERROR,
message: "The file is missing necessary properties for a diagram.",
});
return;
}
} else if (file.name.split(".").pop() === "ddb") {
if (!ddbDiagramIsValid(jsonObject)) {
setError({
type: STATUS.ERROR,
message: "The file is missing necessary properties for a diagram.",
});
return;
}
}
if (!jsonObject.database) {
jsonObject.database = DB.GENERIC;
}
if (jsonObject.database !== database) {
setError({
type: STATUS.ERROR,
message:
"The imported diagram and the open diagram don't use matching databases.",
});
return;
}
let ok = true;
jsonObject.relationships.forEach((rel) => {
if (
!jsonObject.tables[rel.startTableId] ||
!jsonObject.tables[rel.endTableId]
) {
setError({
type: STATUS.ERROR,
message: `Relationship ${rel.name} references a table that does not exist.`,
});
ok = false;
return;
}
if (
!jsonObject.tables[rel.startTableId].fields[rel.startFieldId] ||
!jsonObject.tables[rel.endTableId].fields[rel.endFieldId]
) {
setError({
type: STATUS.ERROR,
message: `Relationship ${rel.name} references a field that does not exist.`,
});
ok = false;
return;
}
});
if (!ok) return;
setImportData(jsonObject);
if (diagramIsEmpty()) {
setError({
type: STATUS.OK,
message: "Everything looks good. You can now import.",
});
} else {
setError({
type: STATUS.WARNING,
message:
"The current diagram is not empty. Importing a new diagram will overwrite the current changes.",
});
}
};
const loadDBMLData = (e) => {
try {
setImportData(fromDBML(e.target.result));
} catch (error) {
const message = `${error.diags[0].name} [Ln ${error.diags[0].location.start.line}, Col ${error.diags[0].location.start.column}]: ${error.diags[0].message}`;
setError({ type: STATUS.ERROR, message });
}
};
const getAcceptableFileTypes = () => {
switch (importFrom) {
case IMPORT_FROM.JSON:
return "application/json,.ddb";
case IMPORT_FROM.DBML:
return ".dbml";
default:
return "";
}
};
const getDragSubText = () => {
switch (importFrom) {
case IMPORT_FROM.JSON:
return `${t("supported_types")} JSON, DDB`;
case IMPORT_FROM.DBML:
return `${t("supported_types")} DBML`;
default:
return "";
}
};
return ( return (
<div> <div>
<Upload <Upload
@ -43,91 +168,8 @@ export default function ImportDiagram({ setImportData, error, setError }) {
} }
const reader = new FileReader(); const reader = new FileReader();
reader.onload = async (e) => { reader.onload = async (e) => {
let jsonObject = null; if (importFrom == IMPORT_FROM.JSON) loadJsonData(f, e);
try { if (importFrom == IMPORT_FROM.DBML) loadDBMLData(e);
jsonObject = JSON.parse(e.target.result);
} catch (error) {
setError({
type: STATUS.ERROR,
message: "The file contains an error.",
});
return;
}
if (f.type === "application/json") {
if (!jsonDiagramIsValid(jsonObject)) {
setError({
type: STATUS.ERROR,
message:
"The file is missing necessary properties for a diagram.",
});
return;
}
} else if (f.name.split(".").pop() === "ddb") {
if (!ddbDiagramIsValid(jsonObject)) {
setError({
type: STATUS.ERROR,
message:
"The file is missing necessary properties for a diagram.",
});
return;
}
}
if (!jsonObject.database) {
jsonObject.database = DB.GENERIC;
}
if (jsonObject.database !== database) {
setError({
type: STATUS.ERROR,
message:
"The imported diagram and the open diagram don't use matching databases.",
});
return;
}
let ok = true;
jsonObject.relationships.forEach((rel) => {
if (
!jsonObject.tables[rel.startTableId] ||
!jsonObject.tables[rel.endTableId]
) {
setError({
type: STATUS.ERROR,
message: `Relationship ${rel.name} references a table that does not exist.`,
});
ok = false;
return;
}
if (
!jsonObject.tables[rel.startTableId].fields[rel.startFieldId] ||
!jsonObject.tables[rel.endTableId].fields[rel.endFieldId]
) {
setError({
type: STATUS.ERROR,
message: `Relationship ${rel.name} references a field that does not exist.`,
});
ok = false;
return;
}
});
if (!ok) return;
setImportData(jsonObject);
if (diagramIsEmpty()) {
setError({
type: STATUS.OK,
message: "Everything looks good. You can now import.",
});
} else {
setError({
type: STATUS.WARNING,
message:
"The current diagram is not empty. Importing a new diagram will overwrite the current changes.",
});
}
}; };
reader.readAsText(f); reader.readAsText(f);
@ -140,8 +182,8 @@ export default function ImportDiagram({ setImportData, error, setError }) {
}} }}
draggable={true} draggable={true}
dragMainText={t("drag_and_drop_files")} dragMainText={t("drag_and_drop_files")}
dragSubText={t("support_json_and_ddb")} dragSubText={getDragSubText()}
accept="application/json,.ddb" accept={getAcceptableFileTypes()}
onRemove={() => onRemove={() =>
setError({ setError({
type: STATUS.NONE, type: STATUS.NONE,

View File

@ -48,6 +48,7 @@ export default function Modal({
exportData, exportData,
setExportData, setExportData,
importDb, importDb,
importFrom,
}) { }) {
const { t, i18n } = useTranslation(); const { t, i18n } = useTranslation();
const { setTables, setRelationships, database, setDatabase } = useDiagram(); const { setTables, setRelationships, database, setDatabase } = useDiagram();
@ -75,8 +76,8 @@ export default function Modal({
const overwriteDiagram = () => { const overwriteDiagram = () => {
setTables(importData.tables); setTables(importData.tables);
setRelationships(importData.relationships); setRelationships(importData.relationships);
setAreas(importData.subjectAreas); setAreas(importData.subjectAreas ?? []);
setNotes(importData.notes); setNotes(importData.notes ?? []);
if (importData.title) { if (importData.title) {
setTitle(importData.title); setTitle(importData.title);
} }
@ -247,6 +248,7 @@ export default function Modal({
setImportData={setImportData} setImportData={setImportData}
error={error} error={error}
setError={setError} setError={setError}
importFrom={importFrom}
/> />
); );
case MODAL.IMPORT_SRC: case MODAL.IMPORT_SRC:

View File

@ -24,25 +24,25 @@ export default function Navbar() {
.scrollIntoView({ behavior: "smooth" }) .scrollIntoView({ behavior: "smooth" })
} }
> >
Features 功能
</Link> </Link>
<Link <Link
to="/editor" to="/editor"
className="text-lg font-semibold hover:text-sky-800 transition-colors duration-300" className="text-lg font-semibold hover:text-sky-800 transition-colors duration-300"
> >
Editor 编辑器
</Link> </Link>
<Link <Link
to="/templates" to="/templates"
className="text-lg font-semibold hover:text-sky-800 transition-colors duration-300" className="text-lg font-semibold hover:text-sky-800 transition-colors duration-300"
> >
Templates 模板
</Link> </Link>
<Link <Link
to={socials.docs} to={socials.docs}
className="text-lg font-semibold hover:text-sky-800 transition-colors duration-300" className="text-lg font-semibold hover:text-sky-800 transition-colors duration-300"
> >
Docs 文档
</Link> </Link>
</div> </div>
<div className="md:hidden block space-x-3 ms-12"> <div className="md:hidden block space-x-3 ms-12">
@ -100,28 +100,28 @@ export default function Navbar() {
setOpenMenu(false); setOpenMenu(false);
}} }}
> >
Features 功能
</Link> </Link>
<hr /> <hr />
<Link <Link
to="/editor" to="/editor"
className="hover:bg-zinc-100 block p-3 text-base font-semibold" className="hover:bg-zinc-100 block p-3 text-base font-semibold"
> >
Editor 编辑器
</Link> </Link>
<hr /> <hr />
<Link <Link
to="/templates" to="/templates"
className="hover:bg-zinc-100 block p-3 text-base font-semibold" className="hover:bg-zinc-100 block p-3 text-base font-semibold"
> >
Templates 模板
</Link> </Link>
<hr /> <hr />
<Link <Link
to={socials.docs} to={socials.docs}
className="hover:bg-zinc-100 block p-3 text-base font-semibold" className="hover:bg-zinc-100 block p-3 text-base font-semibold"
> >
Docs 文档
</Link> </Link>
</SideSheet> </SideSheet>
</> </>

View File

@ -115,3 +115,8 @@ export const DB = {
MARIADB: "mariadb", MARIADB: "mariadb",
GENERIC: "generic", GENERIC: "generic",
}; };
export const IMPORT_FROM = {
JSON: 0,
DBML: 1,
};

View File

@ -12,6 +12,7 @@ import { fa, persian } from "./locales/fa";
import { hi, hindi } from "./locales/hi"; import { hi, hindi } from "./locales/hi";
import { uk, ukrainian } from "./locales/uk"; import { uk, ukrainian } from "./locales/uk";
import { ru, russian } from "./locales/ru"; import { ru, russian } from "./locales/ru";
import { ro, romanian } from "./locales/ro";
import { tr, turkish } from "./locales/tr"; import { tr, turkish } from "./locales/tr";
import { mr, marathi } from "./locales/mr"; import { mr, marathi } from "./locales/mr";
import { fr, french } from "./locales/fr"; import { fr, french } from "./locales/fr";
@ -36,6 +37,7 @@ import { sv, swedish } from "./locales/sv-se";
import { ur, urdu } from "./locales/ur"; import { ur, urdu } from "./locales/ur";
import { jp, japanese} from "./locales/jp" import { jp, japanese} from "./locales/jp"
import {ne, nepali} from "./locales/ne" import {ne, nepali} from "./locales/ne"
import {ug, uyghur} from "./locales/ug";
export const languages = [ export const languages = [
english, english,
@ -50,6 +52,7 @@ export const languages = [
marathi, marathi,
ukrainian, ukrainian,
russian, russian,
romanian,
turkish, turkish,
french, french,
punjabi, punjabi,
@ -72,7 +75,8 @@ export const languages = [
swedish, swedish,
urdu, urdu,
japanese, japanese,
nepali nepali,
uyghur
].sort((a, b) => a.name.localeCompare(b.name)); ].sort((a, b) => a.name.localeCompare(b.name));
i18n i18n
@ -97,6 +101,7 @@ i18n
mr, mr,
uk, uk,
ru, ru,
ro,
tr, tr,
fr, fr,
pa, pa,
@ -119,7 +124,8 @@ i18n
sv, sv,
ur, ur,
jp, jp,
ne ne,
ug
}, },
}); });

View File

@ -7,6 +7,7 @@ const arabic = {
const ar = { const ar = {
translation: { translation: {
report_bug: "الإبلاغ عن خطأ", report_bug: "الإبلاغ عن خطأ",
import_from: "استيراد",
import: "استيراد", import: "استيراد",
file: "ملف", file: "ملف",
new: "جديد", new: "جديد",
@ -105,8 +106,7 @@ const ar = {
no_types: "لا توجد أنواع", no_types: "لا توجد أنواع",
no_types_text: "اصنع أنواع البيانات المخصصة الخاصة بك", no_types_text: "اصنع أنواع البيانات المخصصة الخاصة بك",
no_issues: "لم يتم اكتشاف أي مشكلات.", no_issues: "لم يتم اكتشاف أي مشكلات.",
strict_mode_is_on_no_issues: strict_mode_is_on_no_issues: "وضع صارم معطل لذا لن يتم عرض أي مشكلات.",
"وضع صارم معطل لذا لن يتم عرض أي مشكلات.",
name: "الاسم", name: "الاسم",
type: "النوع", type: "النوع",
null: "فارغ", null: "فارغ",
@ -157,12 +157,10 @@ const ar = {
confirm: "تأكيد", confirm: "تأكيد",
last_modified: "آخر تعديل", last_modified: "آخر تعديل",
drag_and_drop_files: "اسحب وأسقط الملف هنا أو انقر للتحميل.", drag_and_drop_files: "اسحب وأسقط الملف هنا أو انقر للتحميل.",
support_json_and_ddb: "تدعم ملفات JSON و DDB",
upload_sql_to_generate_diagrams: upload_sql_to_generate_diagrams:
"قم بتحميل ملف SQL لتوليد الجداول والأعمدة تلقائيًا.", "قم بتحميل ملف SQL لتوليد الجداول والأعمدة تلقائيًا.",
overwrite_existing_diagram: "الكتابة فوق المخطط الحالي", overwrite_existing_diagram: "الكتابة فوق المخطط الحالي",
only_mysql_supported: only_mysql_supported: "*في الوقت الحالي، يتم دعم تحميل نصوص MySQL فقط.",
"*في الوقت الحالي، يتم دعم تحميل نصوص MySQL فقط.",
blank: "فارغ", blank: "فارغ",
filename: "اسم الملف", filename: "اسم الملف",
table_w_no_name: "تم إعلان جدول بدون اسم", table_w_no_name: "تم إعلان جدول بدون اسم",

View File

@ -7,6 +7,7 @@ const bengali = {
const bn = { const bn = {
translation: { translation: {
report_bug: "বাগ রিপোর্ট করুন", report_bug: "বাগ রিপোর্ট করুন",
import_from: "ইম্পোর্ট করুন",
import: "ইম্পোর্ট করুন", import: "ইম্পোর্ট করুন",
file: "ফাইল", file: "ফাইল",
new: "নতুন", new: "নতুন",
@ -160,7 +161,6 @@ const bn = {
last_modified: "শেষ সংশোধন", last_modified: "শেষ সংশোধন",
drag_and_drop_files: drag_and_drop_files:
"ফাইলটি এখানে ড্র্যাগ এবং ড্রপ করুন বা আপলোড করতে ক্লিক করুন।", "ফাইলটি এখানে ড্র্যাগ এবং ড্রপ করুন বা আপলোড করতে ক্লিক করুন।",
support_json_and_ddb: "JSON এবং DDB ফাইলগুলি সমর্থিত",
upload_sql_to_generate_diagrams: upload_sql_to_generate_diagrams:
"আপনার টেবিল এবং কলামগুলি স্বয়ংক্রিয়ভাবে তৈরি করতে একটি SQL ফাইল আপলোড করুন।", "আপনার টেবিল এবং কলামগুলি স্বয়ংক্রিয়ভাবে তৈরি করতে একটি SQL ফাইল আপলোড করুন।",
overwrite_existing_diagram: "বিদ্যমান ডায়াগ্রামটি ওভাররাইট করুন", overwrite_existing_diagram: "বিদ্যমান ডায়াগ্রামটি ওভাররাইট করুন",

View File

@ -7,6 +7,7 @@ const danish = {
const da = { const da = {
translation: { translation: {
report_bug: "Rapportér en fejl", report_bug: "Rapportér en fejl",
import_from: "Importér",
import: "Importér", import: "Importér",
file: "Fil", file: "Fil",
new: "Ny", new: "Ny",
@ -109,7 +110,8 @@ const da = {
autoincrement: "Auto-inkrementel", autoincrement: "Auto-inkrementel",
default_value: "Standardværdi", default_value: "Standardværdi",
check: "Tjek udtryk", check: "Tjek udtryk",
this_will_appear_as_is: "*Dette vil fremstå i det generede script som det er.", this_will_appear_as_is:
"*Dette vil fremstå i det generede script som det er.",
comment: "Kommentar", comment: "Kommentar",
add_field: "Tilføj felt", add_field: "Tilføj felt",
values: "værdier", values: "værdier",
@ -150,7 +152,6 @@ const da = {
confirm: "Bekræft", confirm: "Bekræft",
last_modified: "Sidst ændret", last_modified: "Sidst ændret",
drag_and_drop_files: "Træk og drop filen her eller klik for at uploade.", drag_and_drop_files: "Træk og drop filen her eller klik for at uploade.",
support_json_and_ddb: "JSON og DDB filer er understøttet",
upload_sql_to_generate_diagrams: upload_sql_to_generate_diagrams:
"Upload en sql fil for at auto-generere dine tabeller og kolonner.", "Upload en sql fil for at auto-generere dine tabeller og kolonner.",
overwrite_existing_diagram: "Overskriv eksisterende diagram", overwrite_existing_diagram: "Overskriv eksisterende diagram",

View File

@ -7,6 +7,7 @@ const german = {
const de = { const de = {
translation: { translation: {
report_bug: "Einen Fehler melden", report_bug: "Einen Fehler melden",
import_from: "Importieren",
import: "Importieren", import: "Importieren",
file: "Datei", file: "Datei",
new: "Neu", new: "Neu",
@ -153,7 +154,6 @@ const de = {
confirm: "Bestätigen", confirm: "Bestätigen",
last_modified: "Zuletzt geändert", last_modified: "Zuletzt geändert",
drag_and_drop_files: "Ziehen Sie die Datei hierher oder klicken Sie, um sie hochzuladen.", drag_and_drop_files: "Ziehen Sie die Datei hierher oder klicken Sie, um sie hochzuladen.",
support_json_and_ddb: "JSON- und DDB-Dateien werden unterstützt",
upload_sql_to_generate_diagrams: upload_sql_to_generate_diagrams:
"Laden Sie eine SQL-Datei hoch, um Ihre Tabellen und Spalten automatisch zu generieren.", "Laden Sie eine SQL-Datei hoch, um Ihre Tabellen und Spalten automatisch zu generieren.",
overwrite_existing_diagram: "Vorhandenes Diagramm überschreiben", overwrite_existing_diagram: "Vorhandenes Diagramm überschreiben",

View File

@ -8,6 +8,7 @@ const en = {
translation: { translation: {
report_bug: "Report a bug", report_bug: "Report a bug",
import: "Import", import: "Import",
import_from: "Import from",
file: "File", file: "File",
new: "New", new: "New",
new_window: "New window", new_window: "New window",
@ -157,7 +158,6 @@ const en = {
confirm: "Confirm", confirm: "Confirm",
last_modified: "Last modified", last_modified: "Last modified",
drag_and_drop_files: "Drag and drop the file here or click to upload.", drag_and_drop_files: "Drag and drop the file here or click to upload.",
support_json_and_ddb: "JSON and DDB files are supported",
upload_sql_to_generate_diagrams: upload_sql_to_generate_diagrams:
"Upload an sql file to autogenerate your tables and columns.", "Upload an sql file to autogenerate your tables and columns.",
overwrite_existing_diagram: "Overwrite existing diagram", overwrite_existing_diagram: "Overwrite existing diagram",
@ -245,6 +245,7 @@ const en = {
"* Sharing this link will not create a live real-time collaboration session.", "* Sharing this link will not create a live real-time collaboration session.",
show_relationship_labels: "Show relationship labels", show_relationship_labels: "Show relationship labels",
docs: "Docs", docs: "Docs",
supported_types: "Supported file types:",
}, },
}; };

View File

@ -7,8 +7,9 @@ const spanish = {
const es = { const es = {
translation: { translation: {
report_bug: "Reportar Error", report_bug: "Reportar Error",
import_from: "Importar",
import: "Importar", import: "Importar",
file: "Archivo ", file: "Archivo",
new: "Nuevo", new: "Nuevo",
new_window: "Nueva Ventana", new_window: "Nueva Ventana",
open: "Abrir", open: "Abrir",
@ -138,7 +139,8 @@ const es = {
note_deleted: "Nota eliminada", note_deleted: "Nota eliminada",
relationship_deleted: "Relación eliminada", relationship_deleted: "Relación eliminada",
type_deleted: "Tipo eliminado", type_deleted: "Tipo eliminado",
cannot_connect: "No se puede conectar, las columnas tienen diferentes tipos", cannot_connect:
"No se puede conectar, las columnas tienen diferentes tipos",
copied_to_clipboard: "Copiado al portapapeles", copied_to_clipboard: "Copiado al portapapeles",
create_new_diagram: "Crear nuevo diagrama", create_new_diagram: "Crear nuevo diagrama",
cancel: "Cancelar", cancel: "Cancelar",
@ -149,8 +151,8 @@ const es = {
create: "Crear", create: "Crear",
confirm: "Confirmar", confirm: "Confirmar",
last_modified: "Última modificación", last_modified: "Última modificación",
drag_and_drop_files: "Arrastra y suelta el archivo aquí o haz clic para subir.", drag_and_drop_files:
support_json_and_ddb: "Se admiten archivos JSON y DDB", "Arrastra y suelta el archivo aquí o haz clic para subir.",
upload_sql_to_generate_diagrams: upload_sql_to_generate_diagrams:
"Sube un archivo sql para autogenerar tus tablas y columnas.", "Sube un archivo sql para autogenerar tus tablas y columnas.",
overwrite_existing_diagram: "Sobrescribir diagrama existente", overwrite_existing_diagram: "Sobrescribir diagrama existente",
@ -184,7 +186,8 @@ const es = {
duplicate_type_fields: duplicate_type_fields:
"Campos de tipo duplicados por nombre '{{fieldName}}' en el tipo '{{typeName}}'", "Campos de tipo duplicados por nombre '{{fieldName}}' en el tipo '{{typeName}}'",
duplicate_reference: "Referencia duplicada con el nombre '{{refName}}'", duplicate_reference: "Referencia duplicada con el nombre '{{refName}}'",
circular_dependency: "Dependencia circular involucrando la tabla '{{refName}}'", circular_dependency:
"Dependencia circular involucrando la tabla '{{refName}}'",
timeline: "Linea del tiempo", timeline: "Linea del tiempo",
priority: "Prioridad", priority: "Prioridad",
none: "Ninguno", none: "Ninguno",

View File

@ -7,6 +7,7 @@ const persian = {
const fa = { const fa = {
translation: { translation: {
report_bug: "گزارش خطا", report_bug: "گزارش خطا",
import_from: "وارد کردن",
import: "وارد کردن", import: "وارد کردن",
file: "فایل", file: "فایل",
new: "جدید", new: "جدید",
@ -18,7 +19,8 @@ const fa = {
template_saved: "الگو ذخیره شد!", template_saved: "الگو ذخیره شد!",
rename: "تغییر نام", rename: "تغییر نام",
delete_diagram: "حذف نمودار", delete_diagram: "حذف نمودار",
are_you_sure_delete_diagram: "آیا مطمئن هستید که می‌خواهید این نمودار را حذف کنید؟ این عملیات غیر قابل برگشت است.", are_you_sure_delete_diagram:
"آیا مطمئن هستید که می‌خواهید این نمودار را حذف کنید؟ این عملیات غیر قابل برگشت است.",
oops_smth_went_wrong: "اوه! مشکلی پیش آمد.", oops_smth_went_wrong: "اوه! مشکلی پیش آمد.",
import_diagram: "وارد کردن نمودار", import_diagram: "وارد کردن نمودار",
import_from_source: "وارد کردن از SQL", import_from_source: "وارد کردن از SQL",
@ -30,7 +32,8 @@ const fa = {
undo: "واگرد", undo: "واگرد",
redo: "از نو", redo: "از نو",
clear: "پاک کردن", clear: "پاک کردن",
are_you_sure_clear: "آیا مطمئن هستید که می‌خواهید نمودار را پاک کنید؟ این عملیات غیر قابل برگشت است.", are_you_sure_clear:
"آیا مطمئن هستید که می‌خواهید نمودار را پاک کنید؟ این عملیات غیر قابل برگشت است.",
cut: "برش", cut: "برش",
copy: "کپی", copy: "کپی",
paste: "چسباندن", paste: "چسباندن",
@ -60,7 +63,8 @@ const fa = {
table_width: "عرض جدول", table_width: "عرض جدول",
language: "زبان", language: "زبان",
flush_storage: "پاک کردن حافظه", flush_storage: "پاک کردن حافظه",
are_you_sure_flush_storage: "آیا مطمئن هستید که می‌خواهید حافظه را پاک کنید؟ این عمل تمام نمودارها و الگوهای سفارشی شما را به طور غیر قابل برگشت حذف می‌کند.", are_you_sure_flush_storage:
"آیا مطمئن هستید که می‌خواهید حافظه را پاک کنید؟ این عمل تمام نمودارها و الگوهای سفارشی شما را به طور غیر قابل برگشت حذف می‌کند.",
storage_flushed: "حافظه پاک شد", storage_flushed: "حافظه پاک شد",
help: "راهنما", help: "راهنما",
shortcuts: "میانبرها", shortcuts: "میانبرها",
@ -89,13 +93,15 @@ const fa = {
no_relationships: "بدون رابطه", no_relationships: "بدون رابطه",
no_relationships_text: "برای اتصال فیلدها و تشکیل روابط بکشید!", no_relationships_text: "برای اتصال فیلدها و تشکیل روابط بکشید!",
no_subject_areas: "بدون ناحیه موضوعی", no_subject_areas: "بدون ناحیه موضوعی",
no_subject_areas_text: "ناحیه‌های موضوعی را برای گروه‌بندی جدول‌ها اضافه کنید!", no_subject_areas_text:
"ناحیه‌های موضوعی را برای گروه‌بندی جدول‌ها اضافه کنید!",
no_notes: "بدون یادداشت", no_notes: "بدون یادداشت",
no_notes_text: "از یادداشت‌ها برای ثبت اطلاعات اضافی استفاده کنید", no_notes_text: "از یادداشت‌ها برای ثبت اطلاعات اضافی استفاده کنید",
no_types: "بدون نوع", no_types: "بدون نوع",
no_types_text: "نوع داده سفارشی خود را بسازید", no_types_text: "نوع داده سفارشی خود را بسازید",
no_issues: "هیچ مشکلی شناسایی نشد.", no_issues: "هیچ مشکلی شناسایی نشد.",
strict_mode_is_on_no_issues: "حالت سختگیرانه خاموش است بنابراین هیچ مشکلی نمایش داده نخواهد شد.", strict_mode_is_on_no_issues:
"حالت سختگیرانه خاموش است بنابراین هیچ مشکلی نمایش داده نخواهد شد.",
name: "نام", name: "نام",
type: "نوع", type: "نوع",
null: "خالی", null: "خالی",
@ -105,7 +111,8 @@ const fa = {
autoincrement: "افزایش خودکار", autoincrement: "افزایش خودکار",
default_value: "پیش‌فرض", default_value: "پیش‌فرض",
check: "عبارت بررسی", check: "عبارت بررسی",
this_will_appear_as_is: "*این در اسکریپت تولید شده به همان صورت نمایش داده می‌شود.", this_will_appear_as_is:
"*این در اسکریپت تولید شده به همان صورت نمایش داده می‌شود.",
comment: "نظر", comment: "نظر",
add_field: "افزودن فیلد", add_field: "افزودن فیلد",
values: "مقادیر", values: "مقادیر",
@ -127,7 +134,8 @@ const fa = {
one_to_many: "یک به چند", one_to_many: "یک به چند",
many_to_one: "چند به یک", many_to_one: "چند به یک",
content: "محتوا", content: "محتوا",
types_info: "این ویژگی برای DBMSهای شیء‌گرا مانند PostgreSQL طراحی شده است.\nاگر برای MySQL یا MariaDB استفاده شود، نوع JSON با بررسی اعتبار json متناظر تولید می‌شود.\nاگر برای SQLite استفاده شود، به BLOB ترجمه می‌شود.\nاگر برای MSSQL استفاده شود، یک نام مستعار نوع برای فیلد اول تولید می‌شود.", types_info:
"این ویژگی برای DBMSهای شیء‌گرا مانند PostgreSQL طراحی شده است.\nاگر برای MySQL یا MariaDB استفاده شود، نوع JSON با بررسی اعتبار json متناظر تولید می‌شود.\nاگر برای SQLite استفاده شود، به BLOB ترجمه می‌شود.\nاگر برای MSSQL استفاده شود، یک نام مستعار نوع برای فیلد اول تولید می‌شود.",
table_deleted: "جدول حذف شد", table_deleted: "جدول حذف شد",
area_deleted: "ناحیه حذف شد", area_deleted: "ناحیه حذف شد",
note_deleted: "یادداشت حذف شد", note_deleted: "یادداشت حذف شد",
@ -144,22 +152,29 @@ const fa = {
create: "ایجاد", create: "ایجاد",
confirm: "تأیید", confirm: "تأیید",
last_modified: "آخرین ویرایش", last_modified: "آخرین ویرایش",
drag_and_drop_files: "فایل را اینجا بکشید و رها کنید یا کلیک کنید تا بارگذاری شود.", drag_and_drop_files:
support_json_and_ddb: "فایل‌های JSON و DDB پشتیبانی می‌شوند", "فایل را اینجا بکشید و رها کنید یا کلیک کنید تا بارگذاری شود.",
upload_sql_to_generate_diagrams: "یک فایل sql را بارگذاری کنید تا جداول و ستون‌هایتان به‌طور خودکار تولید شوند.", upload_sql_to_generate_diagrams:
"یک فایل sql را بارگذاری کنید تا جداول و ستون‌هایتان به‌طور خودکار تولید شوند.",
overwrite_existing_diagram: "بازنویسی نمودار موجود", overwrite_existing_diagram: "بازنویسی نمودار موجود",
only_mysql_supported: "*در حال حاضر فقط بارگذاری اسکریپت‌های MySQL پشتیبانی می‌شود.", only_mysql_supported:
"*در حال حاضر فقط بارگذاری اسکریپت‌های MySQL پشتیبانی می‌شود.",
blank: "خالی", blank: "خالی",
filename: "نام فایل", filename: "نام فایل",
table_w_no_name: "جدولی بدون نام اعلام شد", table_w_no_name: "جدولی بدون نام اعلام شد",
duplicate_table_by_name: "جدول تکراری با نام '{{tableName}}'", duplicate_table_by_name: "جدول تکراری با نام '{{tableName}}'",
empty_field_name: "فیلد خالی name در جدول '{{tableName}}'", empty_field_name: "فیلد خالی name در جدول '{{tableName}}'",
empty_field_type: "فیلد خالی type در جدول '{{tableName}}'", empty_field_type: "فیلد خالی type در جدول '{{tableName}}'",
no_values_for_field: "فیلد '{{fieldName}}' جدول '{{tableName}}' از نوع {{type}} است اما هیچ مقداری مشخص نشده است", no_values_for_field:
default_doesnt_match_type: "مقدار پیش‌فرض برای فیلد '{{fieldName}}' در جدول '{{tableName}}' با نوع آن مطابقت ندارد", "فیلد '{{fieldName}}' جدول '{{tableName}}' از نوع {{type}} است اما هیچ مقداری مشخص نشده است",
not_null_is_null: "فیلد '{{fieldName}}' جدول '{{tableName}}' غیر خالی است اما پیش‌فرض آن خالی است", default_doesnt_match_type:
duplicate_fields: "فیلدهای تکراری جدول به نام '{{fieldName}}' در جدول '{{tableName}}'", "مقدار پیش‌فرض برای فیلد '{{fieldName}}' در جدول '{{tableName}}' با نوع آن مطابقت ندارد",
duplicate_index: "شاخص تکراری به نام '{{indexName}}' در جدول '{{tableName}}'", not_null_is_null:
"فیلد '{{fieldName}}' جدول '{{tableName}}' غیر خالی است اما پیش‌فرض آن خالی است",
duplicate_fields:
"فیلدهای تکراری جدول به نام '{{fieldName}}' در جدول '{{tableName}}'",
duplicate_index:
"شاخص تکراری به نام '{{indexName}}' در جدول '{{tableName}}'",
empty_index: "شاخص در جدول '{{tableName}}' هیچ ستونی را شاخص نمی‌کند", empty_index: "شاخص در جدول '{{tableName}}' هیچ ستونی را شاخص نمی‌کند",
no_primary_key: "جدول '{{tableName}}' کلید اصلی ندارد", no_primary_key: "جدول '{{tableName}}' کلید اصلی ندارد",
type_with_no_name: "نوعی بدون نام اعلام شد", type_with_no_name: "نوعی بدون نام اعلام شد",
@ -167,8 +182,10 @@ const fa = {
type_w_no_fields: "نوع خالی '{{typeName}}' بدون فیلد اعلام شد", type_w_no_fields: "نوع خالی '{{typeName}}' بدون فیلد اعلام شد",
empty_type_field_name: "فیلد `name` خالی در نوع '{{typeName}}'", empty_type_field_name: "فیلد `name` خالی در نوع '{{typeName}}'",
empty_type_field_type: "فیلد `type` خالی در نوع '{{typeName}}'", empty_type_field_type: "فیلد `type` خالی در نوع '{{typeName}}'",
no_values_for_type_field: "'{{fieldName}}' فیلد از نوع '{{typeName}}' از نوع `{{type}}` است اما هیچ مقداری مشخص نشده است", no_values_for_type_field:
duplicate_type_fields: "فیلدهای تکراری نوع با نام '{{fieldName}}' در نوع '{{typeName}}'", "'{{fieldName}}' فیلد از نوع '{{typeName}}' از نوع `{{type}}` است اما هیچ مقداری مشخص نشده است",
duplicate_type_fields:
"فیلدهای تکراری نوع با نام '{{fieldName}}' در نوع '{{typeName}}'",
duplicate_reference: "ارجاع تکراری به نام '{{refName}}'", duplicate_reference: "ارجاع تکراری به نام '{{refName}}'",
circular_dependency: "وابستگی دورانی شامل جدول '{{refName}}'", circular_dependency: "وابستگی دورانی شامل جدول '{{refName}}'",
timeline: "جدول زمانی", timeline: "جدول زمانی",
@ -197,10 +214,8 @@ const fa = {
add_relationship: "اضافه کردن ارتباط", add_relationship: "اضافه کردن ارتباط",
edit_relationship: "{{extra}} ویرایش ارتباط {{refName}}", edit_relationship: "{{extra}} ویرایش ارتباط {{refName}}",
delete_relationship: "حذف ارتباط {{refName}}", delete_relationship: "حذف ارتباط {{refName}}",
not_found: "یافت نشد" not_found: "یافت نشد",
},
}, };
};
export { fa, persian };
export { fa,persian };

View File

@ -7,6 +7,7 @@ const french = {
const fr = { const fr = {
translation: { translation: {
report_bug: "Signaler un bug", report_bug: "Signaler un bug",
import_from: "Importer de",
import: "Importer", import: "Importer",
file: "Fichier", file: "Fichier",
new: "Nouveau", new: "Nouveau",
@ -155,7 +156,6 @@ const fr = {
last_modified: "Dernière modification", last_modified: "Dernière modification",
drag_and_drop_files: drag_and_drop_files:
"Glissez et déposez les fichiers ici ou cliquez pour les télécharger.", "Glissez et déposez les fichiers ici ou cliquez pour les télécharger.",
support_json_and_ddb: "Les fichiers JSON et DDB sont pris en charge",
upload_sql_to_generate_diagrams: upload_sql_to_generate_diagrams:
"Téléchargez un fichier SQL pour générer automatiquement vos tables et colonnes.", "Téléchargez un fichier SQL pour générer automatiquement vos tables et colonnes.",
overwrite_existing_diagram: "Écraser le diagramme existant", overwrite_existing_diagram: "Écraser le diagramme existant",

View File

@ -7,6 +7,7 @@ const gujarati = {
const gu = { const gu = {
translation: { translation: {
report_bug: "બગ રિપોર્ટ કરો", report_bug: "બગ રિપોર્ટ કરો",
import_from: "આયાત",
import: "આયાત", import: "આયાત",
file: "ફાઇલ", file: "ફાઇલ",
new: "નવું", new: "નવું",
@ -149,8 +150,8 @@ const gu = {
create: "બનાવો", create: "બનાવો",
confirm: "પુષ્ટિ કરો", confirm: "પુષ્ટિ કરો",
last_modified: "છેલ્લે સુધારેલા", last_modified: "છેલ્લે સુધારેલા",
drag_and_drop_files: "ફાઇલને અહીં ખેંચો અને છોડો અથવા અપલોડ કરવા માટે ક્લિક કરો.", drag_and_drop_files:
support_json_and_ddb: "JSON અને DDB ફાઇલો સપોર્ટેડ છે", "ફાઇલને અહીં ખેંચો અને છોડો અથવા અપલોડ કરવા માટે ક્લિક કરો.",
upload_sql_to_generate_diagrams: upload_sql_to_generate_diagrams:
"તમારી ટેબલ અને કોલમને આપમેળે જનરેટ કરવા માટે SQL ફાઇલ અપલોડ કરો.", "તમારી ટેબલ અને કોલમને આપમેળે જનરેટ કરવા માટે SQL ફાઇલ અપલોડ કરો.",
overwrite_existing_diagram: "મોજુદા ડાયાગ્રામને ઓવરરાઈટ કરો", overwrite_existing_diagram: "મોજુદા ડાયાગ્રામને ઓવરરાઈટ કરો",
@ -163,26 +164,28 @@ const gu = {
empty_field_name: "ટેબલ '{{tableName}}' માં ખાલી ફિલ્ડ `નામ`", empty_field_name: "ટેબલ '{{tableName}}' માં ખાલી ફિલ્ડ `નામ`",
empty_field_type: "ટેબલ '{{tableName}}' માં ખાલી ફીલ્ડ `પ્રકાર`", empty_field_type: "ટેબલ '{{tableName}}' માં ખાલી ફીલ્ડ `પ્રકાર`",
no_values_for_field: no_values_for_field:
"ટેબલ '{{tableName}}' ના ફીલ્ડ '{{fieldName}}' નો પ્રકાર `{{type}}` છે પરંતુ કોઈ મૂલ્ય નિર્દિષ્ટ નથી", "ટેબલ '{{tableName}}' ના ફીલ્ડ '{{fieldName}}' નો પ્રકાર `{{type}}` છે પરંતુ કોઈ મૂલ્ય નિર્દિષ્ટ નથી",
default_doesnt_match_type: default_doesnt_match_type:
"ટેબલ '{{tableName}}' માં ફીલ્ડ '{{fieldName}}' નું ડિફોલ્ટ મૂલ્ય તેના પ્રકાર સાથે મેળ ખાતું નથી", "ટેબલ '{{tableName}}' માં ફીલ્ડ '{{fieldName}}' નું ડિફોલ્ટ મૂલ્ય તેના પ્રકાર સાથે મેળ ખાતું નથી",
not_null_is_null: not_null_is_null:
"ટેબલ '{{tableName}}' ના ફીલ્ડ '{{fieldName}}' નું મૂલ્ય NOT NULL છે પરંતુ ડિફોલ્ટ NULL છે", "ટેબલ '{{tableName}}' ના ફીલ્ડ '{{fieldName}}' નું મૂલ્ય NOT NULL છે પરંતુ ડિફોલ્ટ NULL છે",
duplicate_fields: duplicate_fields:
"ટેબલ '{{tableName}}' માં નામ '{{fieldName}}' વાળા ડુપ્લિકેટ ટેબલ ફીલ્ડ્સ", "ટેબલ '{{tableName}}' માં નામ '{{fieldName}}' વાળા ડુપ્લિકેટ ટેબલ ફીલ્ડ્સ",
duplicate_index: duplicate_index:
"ટેબલ '{{tableName}}' માં નામ '{{indexName}}' વાળો ડુપ્લિકેટ ઈન્ડેક્સ", "ટેબલ '{{tableName}}' માં નામ '{{indexName}}' વાળો ડુપ્લિકેટ ઈન્ડેક્સ",
empty_index: "ટેબલ '{{tableName}}' માં ઈન્ડેક્સ કોઈ કૉલમ ઈન્ડેક્સ કરતું નથી", empty_index:
"ટેબલ '{{tableName}}' માં ઈન્ડેક્સ કોઈ કૉલમ ઈન્ડેક્સ કરતું નથી",
no_primary_key: "ટેબલ '{{tableName}}' માં કોઈ પ્રાથમિક કી નથી", no_primary_key: "ટેબલ '{{tableName}}' માં કોઈ પ્રાથમિક કી નથી",
type_with_no_name: "કોઈ નામ ન હોય તેવા પ્રકારને ઘોષિત કર્યું", type_with_no_name: "કોઈ નામ ન હોય તેવા પ્રકારને ઘોષિત કર્યું",
duplicate_types: "નામ '{{typeName}}' વાળા ડુપ્લિકેટ પ્રકાર", duplicate_types: "નામ '{{typeName}}' વાળા ડુપ્લિકેટ પ્રકાર",
type_w_no_fields: "કોઈ ફીલ્ડ્સ ન હોય તેવા પ્રકાર '{{typeName}}' ને ઘોષિત કર્યું", type_w_no_fields:
"કોઈ ફીલ્ડ્સ ન હોય તેવા પ્રકાર '{{typeName}}' ને ઘોષિત કર્યું",
empty_type_field_name: "પ્રકાર '{{typeName}}' માં ખાલી ફીલ્ડ `નામ`", empty_type_field_name: "પ્રકાર '{{typeName}}' માં ખાલી ફીલ્ડ `નામ`",
empty_type_field_type: "પ્રકાર '{{typeName}}' માં ખાલી ફીલ્ડ `પ્રકાર`", empty_type_field_type: "પ્રકાર '{{typeName}}' માં ખાલી ફીલ્ડ `પ્રકાર`",
no_values_for_type_field: no_values_for_type_field:
"પ્રકાર '{{typeName}}' ના ફીલ્ડ '{{fieldName}}' નો પ્રકાર `{{type}}` છે પરંતુ કોઈ મૂલ્ય નિર્દિષ્ટ નથી", "પ્રકાર '{{typeName}}' ના ફીલ્ડ '{{fieldName}}' નો પ્રકાર `{{type}}` છે પરંતુ કોઈ મૂલ્ય નિર્દિષ્ટ નથી",
duplicate_type_fields: duplicate_type_fields:
"પ્રકાર '{{typeName}}' માં નામ '{{fieldName}}' વાળા ડુપ્લિકેટ પ્રકાર ફીલ્ડ્સ", "પ્રકાર '{{typeName}}' માં નામ '{{fieldName}}' વાળા ડુપ્લિકેટ પ્રકાર ફીલ્ડ્સ",
duplicate_reference: "નામ '{{refName}}' વાળો ડુપ્લિકેટ સંદર્ભ", duplicate_reference: "નામ '{{refName}}' વાળો ડુપ્લિકેટ સંદર્ભ",
circular_dependency: "ટેબલ '{{refName}}' માં પરિપત્ર નિર્ભરતા", circular_dependency: "ટેબલ '{{refName}}' માં પરિપત્ર નિર્ભરતા",
timeline: "સમયરેખા", timeline: "સમયરેખા",

View File

@ -1,241 +1,238 @@
const hebrew = { const hebrew = {
name: "Hebrew", name: "Hebrew",
native_name: "עברית", native_name: "עברית",
code: "he", code: "he",
}; };
const he = { const he = {
translation: { translation: {
report_bug: "דווח על באג", report_bug: "דווח על באג",
import: "ייבוא", import_from: "ייבוא",
file: "קובץ", import: "ייבוא",
new: "חדש", file: "קובץ",
new_window: "חלון חדש", new: "חדש",
open: "פתח", new_window: "חלון חדש",
save: "שמור", open: "פתח",
save_as: "שמור בשם", save: "שמור",
save_as_template: "שמור כתבנית", save_as: "שמור בשם",
template_saved: "תבנית נשמרה!", save_as_template: "שמור כתבנית",
rename: "שנה שם", template_saved: "תבנית נשמרה!",
delete_diagram: "מחק דיאגרמה", rename: "שנה שם",
are_you_sure_delete_diagram: delete_diagram: "מחק דיאגרמה",
"האם אתה בטוח שברצונך למחוק דיאגרמה זו? פעולה זו אינה ניתנת לביטול.", are_you_sure_delete_diagram:
oops_smth_went_wrong: "אופס! משהו השתבש.", "האם אתה בטוח שברצונך למחוק דיאגרמה זו? פעולה זו אינה ניתנת לביטול.",
import_diagram: "ייבא דיאגרמה", oops_smth_went_wrong: "אופס! משהו השתבש.",
import_from_source: "ייבוא מ-SQL", import_diagram: "ייבא דיאגרמה",
export_as: "ייצוא כ", import_from_source: "ייבוא מ-SQL",
export_source: "ייצא SQL", export_as: "ייצוא כ",
models: "מודלים", export_source: "ייצא SQL",
exit: "יציאה", models: "מודלים",
edit: "ערוך", exit: "יציאה",
undo: "בטל", edit: "ערוך",
redo: "בצע שוב", undo: "בטל",
clear: "נקה", redo: "בצע שוב",
are_you_sure_clear: clear: "נקה",
"האם אתה בטוח שברצונך לנקות את הדיאגרמה? פעולה זו אינה ניתנת לביטול.", are_you_sure_clear:
cut: "גזור", "האם אתה בטוח שברצונך לנקות את הדיאגרמה? פעולה זו אינה ניתנת לביטול.",
copy: "העתק", cut: "גזור",
paste: "הדבק", copy: "העתק",
duplicate: "שכפל", paste: "הדבק",
delete: "מחק", duplicate: "שכפל",
copy_as_image: "העתק כתמונה", delete: "מחק",
view: "הצג", copy_as_image: "העתק כתמונה",
header: "תפריט עליון", view: "הצג",
sidebar: "תפריט צדדי", header: "תפריט עליון",
issues: "בעיות", sidebar: "תפריט צדדי",
presentation_mode: "מצב מצגת", issues: "בעיות",
strict_mode: "מצב קפדני", presentation_mode: "מצב מצגת",
field_details: "פרטי שדה", strict_mode: "מצב קפדני",
reset_view: "אפס תצוגה", field_details: "פרטי שדה",
show_grid: "הצג רשת", reset_view: "אפס תצוגה",
show_cardinality: "הצג קרדינליות", show_grid: "הצג רשת",
theme: "ערכת נושא", show_cardinality: "הצג קרדינליות",
light: "בהיר", theme: "ערכת נושא",
dark: "כהה", light: "בהיר",
zoom_in: "הגדל", dark: "כהה",
zoom_out: "הקטן", zoom_in: "הגדל",
fullscreen: "מסך מלא", zoom_out: "הקטן",
settings: "הגדרות", fullscreen: "מסך מלא",
show_timeline: "הצג ציר זמן", settings: "הגדרות",
autosave: "שמירה אוטומטית", show_timeline: "הצג ציר זמן",
panning: "הזזה", autosave: "שמירה אוטומטית",
show_debug_coordinates: "הצג קואורדינטות ניפוי באגים", panning: "הזזה",
transform: "המר", show_debug_coordinates: "הצג קואורדינטות ניפוי באגים",
viewbox: "תיבת תצוגה", transform: "המר",
cursor_coordinates: "קואורדינטות סמן", viewbox: "תיבת תצוגה",
coordinate_space: "מרחב", cursor_coordinates: "קואורדינטות סמן",
coordinate_space_screen: "מסך", coordinate_space: "מרחב",
coordinate_space_diagram: "דיאגרמה", coordinate_space_screen: "מסך",
table_width: "רוחב טבלה", coordinate_space_diagram: "דיאגרמה",
language: "שפה", table_width: "רוחב טבלה",
flush_storage: "נקה אחסון", language: "שפה",
are_you_sure_flush_storage: flush_storage: "נקה אחסון",
"האם אתה בטוח שברצונך לנקות את האחסון? פעולה זו תמחק באופן בלתי הפיך את כל הדיאגרמות והתבניות המותאמות אישית שלך.", are_you_sure_flush_storage:
storage_flushed: "אחסון נוקה", "האם אתה בטוח שברצונך לנקות את האחסון? פעולה זו תמחק באופן בלתי הפיך את כל הדיאגרמות והתבניות המותאמות אישית שלך.",
help: "עזרה", storage_flushed: "אחסון נוקה",
shortcuts: "קיצורי דרך", help: "עזרה",
ask_on_discord: "שאל אותנו ב-Discord", shortcuts: "קיצורי דרך",
feedback: "משוב", ask_on_discord: "שאל אותנו ב-Discord",
no_changes: "אין שינויים", feedback: "משוב",
loading: "טוען...", no_changes: "אין שינויים",
last_saved: "נשמר לאחרונה", loading: "טוען...",
saving: "שומר...", last_saved: "נשמר לאחרונה",
failed_to_save: "שמירה נכשלה", saving: "שומר...",
fit_window_reset: "התאם חלון / איפוס", failed_to_save: "שמירה נכשלה",
zoom: "זום", fit_window_reset: "התאם חלון / איפוס",
add_table: "הוסף טבלה", zoom: "זום",
add_area: "הוסף אזור", add_table: "הוסף טבלה",
add_note: "הוסף הערה", add_area: "הוסף אזור",
add_type: "הוסף סוג", add_note: "הוסף הערה",
to_do: "לביצוע", add_type: "הוסף סוג",
tables: "טבלאות", to_do: "לביצוע",
relationships: "קשרים", tables: "טבלאות",
subject_areas: "תחומי עניין", relationships: "קשרים",
notes: "הערות", subject_areas: "תחומי עניין",
types: "סוגים", notes: "הערות",
search: "חיפוש...", types: "סוגים",
no_tables: "אין טבלאות", search: "חיפוש...",
no_tables_text: "התחל לבנות את הדיאגרמה שלך!", no_tables: "אין טבלאות",
no_relationships: "אין קשרים", no_tables_text: "התחל לבנות את הדיאגרמה שלך!",
no_relationships_text: "גרור כדי לחבר שדות וליצור קשרים!", no_relationships: "אין קשרים",
no_subject_areas: "אין תחומי עניין", no_relationships_text: "גרור כדי לחבר שדות וליצור קשרים!",
no_subject_areas_text: "הוסף תחומי עניין כדי לקבץ טבלאות!", no_subject_areas: "אין תחומי עניין",
no_notes: "אין הערות", no_subject_areas_text: "הוסף תחומי עניין כדי לקבץ טבלאות!",
no_notes_text: "השתמש בהערות כדי לרשום מידע נוסף", no_notes: "אין הערות",
no_types: "אין סוגים", no_notes_text: "השתמש בהערות כדי לרשום מידע נוסף",
no_types_text: "צור סוגי נתונים מותאמים אישית", no_types: "אין סוגים",
no_issues: "לא נמצאו בעיות.", no_types_text: "צור סוגי נתונים מותאמים אישית",
strict_mode_is_on_no_issues: no_issues: "לא נמצאו בעיות.",
"מצב קפדני כבוי ולכן לא יוצגו בעיות.", strict_mode_is_on_no_issues: "מצב קפדני כבוי ולכן לא יוצגו בעיות.",
name: "שם", name: "שם",
type: "סוג", type: "סוג",
null: "ריק", null: "ריק",
not_null: "לא ריק", not_null: "לא ריק",
primary: "ראשי", primary: "ראשי",
unique: "ייחודי", unique: "ייחודי",
autoincrement: "הגדלה אוטומטית", autoincrement: "הגדלה אוטומטית",
default_value: "ברירת מחדל", default_value: "ברירת מחדל",
check: "ביטוי בדיקה", check: "ביטוי בדיקה",
this_will_appear_as_is: "*זה יופיע בסקריפט שנוצר כמו שהוא.", this_will_appear_as_is: "*זה יופיע בסקריפט שנוצר כמו שהוא.",
comment: "הערה", comment: "הערה",
add_field: "הוסף שדה", add_field: "הוסף שדה",
values: "ערכים", values: "ערכים",
size: "גודל", size: "גודל",
precision: "דיוק", precision: "דיוק",
set_precision: "הגדר דיוק: (גודל, ספרות)", set_precision: "הגדר דיוק: (גודל, ספרות)",
use_for_batch_input: "השתמש ב-, להזנת קבוצות", use_for_batch_input: "השתמש ב-, להזנת קבוצות",
indices: "אינדקסים", indices: "אינדקסים",
add_index: "הוסף אינדקס", add_index: "הוסף אינדקס",
select_fields: "בחר שדות", select_fields: "בחר שדות",
title: "כותרת", title: "כותרת",
not_set: "לא מוגדר", not_set: "לא מוגדר",
foreign: "זר", foreign: "זר",
cardinality: "קרדינליות", cardinality: "קרדינליות",
on_update: "בזמן עדכון", on_update: "בזמן עדכון",
on_delete: "בזמן מחיקה", on_delete: "בזמן מחיקה",
swap: "החלף", swap: "החלף",
one_to_one: "אחד לאחד", one_to_one: "אחד לאחד",
one_to_many: "אחד לרבים", one_to_many: "אחד לרבים",
many_to_one: "רבים לאחד", many_to_one: "רבים לאחד",
content: "תוכן", content: "תוכן",
types_info: types_info:
"תכונה זו מיועדת למערכות ניהול נתונים אובייקט-רלציוניות כמו PostgreSQL.\nאם משמשת עבור MySQL או MariaDB תיווצר סוג JSON עם בדיקת תוקף json תואמת.\nאם משמשת עבור SQLite היא תתורגם ל-BLOB.\nאם משמשת עבור MSSQL תיווצר סוג סינונימי לשדה הראשון.", "תכונה זו מיועדת למערכות ניהול נתונים אובייקט-רלציוניות כמו PostgreSQL.\nאם משמשת עבור MySQL או MariaDB תיווצר סוג JSON עם בדיקת תוקף json תואמת.\nאם משמשת עבור SQLite היא תתורגם ל-BLOB.\nאם משמשת עבור MSSQL תיווצר סוג סינונימי לשדה הראשון.",
table_deleted: "טבלה נמחקה", table_deleted: "טבלה נמחקה",
area_deleted: "אזור נמחק", area_deleted: "אזור נמחק",
note_deleted: "הערה נמחקה", note_deleted: "הערה נמחקה",
relationship_deleted: "קשר נמחק", relationship_deleted: "קשר נמחק",
type_deleted: "סוג נמחק", type_deleted: "סוג נמחק",
cannot_connect: "לא ניתן לחבר, העמודות הן מסוגים שונים", cannot_connect: "לא ניתן לחבר, העמודות הן מסוגים שונים",
copied_to_clipboard: "הועתק ללוח", copied_to_clipboard: "הועתק ללוח",
create_new_diagram: "צור דיאגרמה חדשה", create_new_diagram: "צור דיאגרמה חדשה",
cancel: "בטל", cancel: "בטל",
open_diagram: "פתח דיאגרמה", open_diagram: "פתח דיאגרמה",
rename_diagram: "שנה שם לדיאגרמה", rename_diagram: "שנה שם לדיאגרמה",
export: "ייצוא", export: "ייצוא",
export_image: "ייצא תמונה", export_image: "ייצא תמונה",
create: "צור", create: "צור",
confirm: "אשר", confirm: "אשר",
last_modified: "נערך לאחרונה", last_modified: "נערך לאחרונה",
drag_and_drop_files: "גרור ושחרר את הקובץ כאן או לחץ להעלאה.", drag_and_drop_files: "גרור ושחרר את הקובץ כאן או לחץ להעלאה.",
support_json_and_ddb: "תומך בקבצי JSON ו-DDB", upload_sql_to_generate_diagrams:
upload_sql_to_generate_diagrams: "העלה קובץ SQL כדי ליצור באופן אוטומטי את הטבלאות והעמודות שלך.",
"העלה קובץ SQL כדי ליצור באופן אוטומטי את הטבלאות והעמודות שלך.", overwrite_existing_diagram: "דרוס דיאגרמה קיימת",
overwrite_existing_diagram: "דרוס דיאגרמה קיימת", only_mysql_supported: "*כרגע נתמך רק טעינת סקריפטים של MySQL.",
only_mysql_supported: blank: "ריק",
"*כרגע נתמך רק טעינת סקריפטים של MySQL.", filename: "שם קובץ",
blank: "ריק", table_w_no_name: "הוכרז טבלה ללא שם",
filename: "שם קובץ", duplicate_table_by_name: "שכפול טבלה בשם '{{tableName}}'",
table_w_no_name: "הוכרז טבלה ללא שם", empty_field_name: "שדה `name` ריק בטבלה '{{tableName}}'",
duplicate_table_by_name: "שכפול טבלה בשם '{{tableName}}'", empty_field_type: "שדה `type` ריק בטבלה '{{tableName}}'",
empty_field_name: "שדה `name` ריק בטבלה '{{tableName}}'", no_values_for_field:
empty_field_type: "שדה `type` ריק בטבלה '{{tableName}}'", "שדה '{{fieldName}}' בטבלה '{{tableName}}' הוא מסוג `{{type}}` אך לא הוגדרו ערכים",
no_values_for_field: default_doesnt_match_type:
"שדה '{{fieldName}}' בטבלה '{{tableName}}' הוא מסוג `{{type}}` אך לא הוגדרו ערכים", "ערך ברירת מחדל עבור שדה '{{fieldName}}' בטבלה '{{tableName}}' אינו תואם לסוג שלו",
default_doesnt_match_type: not_null_is_null:
"ערך ברירת מחדל עבור שדה '{{fieldName}}' בטבלה '{{tableName}}' אינו תואם לסוג שלו", "שדה '{{fieldName}}' בטבלה '{{tableName}}' אינו ריק אך ערך ברירת מחדל הוא NULL",
not_null_is_null: duplicate_fields:
"שדה '{{fieldName}}' בטבלה '{{tableName}}' אינו ריק אך ערך ברירת מחדל הוא NULL", "שדות טבלה כפולים בשם '{{fieldName}}' בטבלה '{{tableName}}'",
duplicate_fields: duplicate_index: "אינדקס כפול בשם '{{indexName}}' בטבלה '{{tableName}}'",
"שדות טבלה כפולים בשם '{{fieldName}}' בטבלה '{{tableName}}'", empty_index: "אינדקס בטבלה '{{tableName}}' אינו מאנדקס שום עמודות",
duplicate_index: no_primary_key: "לטבלה '{{tableName}}' אין מפתח ראשי",
"אינדקס כפול בשם '{{indexName}}' בטבלה '{{tableName}}'", type_with_no_name: "הוכרז סוג ללא שם",
empty_index: "אינדקס בטבלה '{{tableName}}' אינו מאנדקס שום עמודות", duplicate_types: "סוגים כפולים בשם '{{typeName}}'",
no_primary_key: "לטבלה '{{tableName}}' אין מפתח ראשי", type_w_no_fields: "הוכרז סוג ריק '{{typeName}}' ללא שדות",
type_with_no_name: "הוכרז סוג ללא שם", empty_type_field_name: "שדה `name` ריק בסוג '{{typeName}}'",
duplicate_types: "סוגים כפולים בשם '{{typeName}}'", empty_type_field_type: "שדה `type` ריק בסוג '{{typeName}}'",
type_w_no_fields: "הוכרז סוג ריק '{{typeName}}' ללא שדות", no_values_for_type_field:
empty_type_field_name: "שדה `name` ריק בסוג '{{typeName}}'", "שדה '{{fieldName}}' בסוג '{{typeName}}' הוא מסוג `{{type}}` אך לא הוגדרו ערכים",
empty_type_field_type: "שדה `type` ריק בסוג '{{typeName}}'", duplicate_type_fields:
no_values_for_type_field: "שדות סוג כפולים בשם '{{fieldName}}' בסוג '{{typeName}}'",
"שדה '{{fieldName}}' בסוג '{{typeName}}' הוא מסוג `{{type}}` אך לא הוגדרו ערכים", duplicate_reference: "הפניה כפולה בשם '{{refName}}'",
duplicate_type_fields: circular_dependency: "תלות מעגלית בטבלה '{{refName}}'",
"שדות סוג כפולים בשם '{{fieldName}}' בסוג '{{typeName}}'", timeline: "ציר זמן",
duplicate_reference: "הפניה כפולה בשם '{{refName}}'", priority: "עדיפות",
circular_dependency: "תלות מעגלית בטבלה '{{refName}}'", none: "ללא",
timeline: "ציר זמן", low: "נמוכה",
priority: "עדיפות", medium: "בינונית",
none: "ללא", high: "גבוהה",
low: "נמוכה", sort_by: "מיין לפי",
medium: "בינונית", my_order: "הסדר שלי",
high: "גבוהה", completed: "הושלם",
sort_by: "מיין לפי", alphabetically: "בסדר אלפביתי",
my_order: "הסדר שלי", add_task: "הוסף משימה",
completed: "הושלם", details: "פרטים",
alphabetically: "בסדר אלפביתי", no_tasks: "אין לך משימות עדיין.",
add_task: "הוסף משימה", no_activity: "אין לך פעילות עדיין.",
details: "פרטים", move_element: "העבר {{name}} ל{{coords}}",
no_tasks: "אין לך משימות עדיין.", edit_area: "{{extra}} ערוך אזור {{areaName}}",
no_activity: "אין לך פעילות עדיין.", delete_area: "מחק אזור {{areaName}}",
move_element: "העבר {{name}} ל{{coords}}", edit_note: "{{extra}} ערוך הערה {{noteTitle}}",
edit_area: "{{extra}} ערוך אזור {{areaName}}", delete_note: "מחק הערה {{noteTitle}}",
delete_area: "מחק אזור {{areaName}}", edit_table: "{{extra}} ערוך טבלה {{tableName}}",
edit_note: "{{extra}} ערוך הערה {{noteTitle}}", delete_table: "מחק טבלה {{tableName}}",
delete_note: "מחק הערה {{noteTitle}}", edit_type: "{{extra}} ערוך סוג {{typeName}}",
edit_table: "{{extra}} ערוך טבלה {{tableName}}", delete_type: "מחק סוג {{typeName}}",
delete_table: "מחק טבלה {{tableName}}", add_relationship: "הוסף קשר",
edit_type: "{{extra}} ערוך סוג {{typeName}}", edit_relationship: "{{extra}} ערוך קשר {{refName}}",
delete_type: "מחק סוג {{typeName}}", delete_relationship: "מחק קשר {{refName}}",
add_relationship: "הוסף קשר", not_found: "לא נמצא",
edit_relationship: "{{extra}} ערוך קשר {{refName}}", pick_db: "בחר מסד נתונים",
delete_relationship: "מחק קשר {{refName}}", generic: "כללי",
not_found: "לא נמצא", generic_description:
pick_db: "בחר מסד נתונים", "דיאגרמות כלליות יכולות להיות מיוצאות לכל SQL אך תומכות בסוגי נתונים מועטים.",
generic: "כללי", enums: "מנויים",
generic_description: add_enum: "הוסף מנוי",
"דיאגרמות כלליות יכולות להיות מיוצאות לכל SQL אך תומכות בסוגי נתונים מועטים.", edit_enum: "{{extra}} ערוך מנוי {{enumName}}",
enums: "מנויים", delete_enum: "מחק מנוי",
add_enum: "הוסף מנוי", enum_w_no_name: "נמצא מנוי ללא שם",
edit_enum: "{{extra}} ערוך מנוי {{enumName}}", enum_w_no_values: "נמצא מנוי '{{enumName}}' ללא ערכים",
delete_enum: "מחק מנוי", duplicate_enums: "מנויים כפולים בשם '{{enumName}}'",
enum_w_no_name: "נמצא מנוי ללא שם", no_enums: "אין מנויים",
enum_w_no_values: "נמצא מנוי '{{enumName}}' ללא ערכים", no_enums_text: "הגדר מנויים כאן",
duplicate_enums: "מנויים כפולים בשם '{{enumName}}'", declare_array: "הכרז מערך",
no_enums: "אין מנויים", empty_index_name: "הוכרז אינדקס ללא שם בטבלה '{{tableName}}'",
no_enums_text: "הגדר מנויים כאן", didnt_find_diagram: "אופס! לא נמצאה הדיאגרמה.",
declare_array: "הכרז מערך", },
empty_index_name: "הוכרז אינדקס ללא שם בטבלה '{{tableName}}'",
didnt_find_diagram: "אופס! לא נמצאה הדיאגרמה.",
},
}; };
export { he, hebrew }; export { he, hebrew };

View File

@ -1,219 +1,222 @@
const hindi = { const hindi = {
name: "Hindi", name: "Hindi",
native_name: "हिंदी", native_name: "हिंदी",
code: "hi", code: "hi",
}; };
const hi = { const hi = {
translation: { translation: {
report_bug: "बग रिपोर्ट करें", report_bug: "बग रिपोर्ट करें",
import: "इम्पोर्ट", import_from: "इम्पोर्ट",
file: "फ़ाइल", import: "इम्पोर्ट",
new: "नया", file: "फ़ाइल",
new_window: "नई विंडो", new: "नया",
open: "खोलें", new_window: "नई विंडो",
save: "सेव", open: "खोलें",
save_as: "के रूप में सेव करें", save: "सेव",
save_as_template: "टेम्पलेट के रूप में सेव करें", save_as: "के रूप में सेव करें",
template_saved: "टेम्पलेट सेव हो गया!", save_as_template: "टेम्पलेट के रूप में सेव करें",
rename: "नाम बदलें", template_saved: "टेम्पलेट सेव हो गया!",
delete_diagram: "डायग्राम हटाएं", rename: "नाम बदलें",
are_you_sure_delete_diagram: delete_diagram: "डायग्राम हटाएं",
"क्या आप वाकई इस डायग्राम को हटाना चाहते हैं? यह क्रिया अपरिवर्तनीय है।", are_you_sure_delete_diagram:
oops_smth_went_wrong: "उफ़! कुछ गलत हो गया।", "क्या आप वाकई इस डायग्राम को हटाना चाहते हैं? यह क्रिया अपरिवर्तनीय है।",
import_diagram: "डायग्राम इम्पोर्ट करें", oops_smth_went_wrong: "उफ़! कुछ गलत हो गया।",
import_from_source: "SQL से इम्पोर्ट करें", import_diagram: "डायग्राम इम्पोर्ट करें",
export_as: "के रूप में एक्सपोर्ट करें", import_from_source: "SQL से इम्पोर्ट करें",
export_source: "SQL एक्सपोर्ट करें", export_as: "के रूप में एक्सपोर्ट करें",
models: "मॉडल्स", export_source: "SQL एक्सपोर्ट करें",
exit: "बाहर निकलें", models: "मॉडल्स",
edit: "एडिट करें", exit: "बाहर निकलें",
undo: "पूर्ववत करें", edit: "एडिट करें",
redo: "फिर से करें", undo: "पूर्ववत करें",
clear: "साफ़ करें", redo: "फिर से करें",
are_you_sure_clear: clear: "साफ़ करें",
"क्या आप वाकई इस डायग्राम को साफ़ करना चाहते हैं? यह अपरिवर्तनीय है।", are_you_sure_clear:
cut: "काटें", "क्या आप वाकई इस डायग्राम को साफ़ करना चाहते हैं? यह अपरिवर्तनीय है।",
copy: "कॉपी करें", cut: "काटें",
paste: "पेस्ट करें", copy: "कॉपी करें",
duplicate: "प्रतिलिपि बनाएं", paste: "पेस्ट करें",
delete: "हटाएं", duplicate: "प्रतिलिपि बनाएं",
copy_as_image: "इमेज के रूप में कॉपी करें", delete: "हटाएं",
view: "दृश्य", copy_as_image: "इमेज के रूप में कॉपी करें",
header: "मेनूबार", view: "दृश्य",
sidebar: "साइडबार", header: "मेनूबार",
issues: "समस्याएं", sidebar: "साइडबार",
presentation_mode: "प्रस्तुति मोड", issues: "समस्याएं",
strict_mode: "स्ट्रिक्ट मोड", presentation_mode: "प्रस्तुति मोड",
field_details: "फ़ील्ड डिटेल्स", strict_mode: "स्ट्रिक्ट मोड",
reset_view: "दृश्य रीसेट करें", field_details: "फ़ील्ड डिटेल्स",
show_grid: "ग्रिड दिखाएं", reset_view: "दृश्य रीसेट करें",
show_cardinality: "कार्डिनैलिटी दिखाएं", show_grid: "ग्रिड दिखाएं",
theme: "थीम", show_cardinality: "कार्डिनैलिटी दिखाएं",
light: "प्रकाश", theme: "थीम",
dark: "अंधकार", light: "प्रकाश",
zoom_in: "ज़ूम इन", dark: "अंधकार",
zoom_out: "ज़ूम आउट", zoom_in: "ज़ूम इन",
fullscreen: "पूर्ण स्क्रीन", zoom_out: "ज़ूम आउट",
settings: "सेटिंग्स", fullscreen: "पूर्ण स्क्रीन",
show_timeline: "टाइमलाइन दिखाएं", settings: "सेटिंग्स",
autosave: "ऑटोसेव", show_timeline: "टाइमलाइन दिखाएं",
panning: "पैनिंग", autosave: "ऑटोसेव",
table_width: "टेबल की चौड़ाई", panning: "पैनिंग",
language: "भाषा", table_width: "टेबल की चौड़ाई",
flush_storage: "स्टोरेज साफ़ करें", language: "भाषा",
are_you_sure_flush_storage: flush_storage: "स्टोरेज साफ़ करें",
"क्या आप वाकई स्टोरेज को साफ़ करना चाहते हैं? यह सभी आपके डायग्राम और कस्टम टेम्पलेट्स को अपरिवर्तनीय रूप से हटा देगा।", are_you_sure_flush_storage:
storage_flushed: "स्टोरेज साफ़ किया गया", "क्या आप वाकई स्टोरेज को साफ़ करना चाहते हैं? यह सभी आपके डायग्राम और कस्टम टेम्पलेट्स को अपरिवर्तनीय रूप से हटा देगा।",
help: "मदद", storage_flushed: "स्टोरेज साफ़ किया गया",
shortcuts: "शॉर्टकट्स", help: "मदद",
ask_on_discord: "हमसे Discord पर पूछें", shortcuts: "शॉर्टकट्स",
feedback: "फीडबॅक", ask_on_discord: "हमसे Discord पर पूछें",
no_changes: "कोई बदलाव नहीं", feedback: "फीडबॅक",
loading: "लोड हो रहा है...", no_changes: "कोई बदलाव नहीं",
last_saved: "आखिरी बार सेव्हड", loading: "लोड हो रहा है...",
saving: "सेव हो रहा है...", last_saved: "आखिरी बार सेव्हड",
failed_to_save: "सेव करने में विफल", saving: "सेव हो रहा है...",
fit_window_reset: "विंडो फिट करें / रीसेट करें", failed_to_save: "सेव करने में विफल",
zoom: "ज़ूम", fit_window_reset: "विंडो फिट करें / रीसेट करें",
add_table: "टेबल जोड़ें", zoom: "ज़ूम",
add_area: "एरिया जोड़ें", add_table: "टेबल जोड़ें",
add_note: "नोट जोड़ें", add_area: "एरिया जोड़ें",
add_type: "प्रकार जोड़ें", add_note: "नोट जोड़ें",
to_do: "करने के लिए", add_type: "प्रकार जोड़ें",
tables: "टेबल्स", to_do: "करने के लिए",
relationships: "संबंध", tables: "टेबल्स",
subject_areas: "सब्जेक्ट एरियाज", relationships: "संबंध",
notes: "नोट्स", subject_areas: "सब्जेक्ट एरियाज",
types: "प्रकार", notes: "नोट्स",
search: "खोजें...", types: "प्रकार",
no_tables: "कोई टेबल्स नहीं", search: "खोजें...",
no_tables_text: "अपना डायग्राम बनाना शुरू करें!", no_tables: "कोई टेबल्स नहीं",
no_relationships: "कोई संबंध नहीं", no_tables_text: "अपना डायग्राम बनाना शुरू करें!",
no_relationships_text: "फील्ड्स को कनेक्ट करने के लिए खींचें और संबंध बनाएं!", no_relationships: "कोई संबंध नहीं",
no_subject_areas: "कोई विषय एरियाज नहीं", no_relationships_text:
no_subject_areas_text: "ग्रूप टेबल्स को सब्जेक्ट एरियाज जोड़ें!", "फील्ड्स को कनेक्ट करने के लिए खींचें और संबंध बनाएं!",
no_notes: "कोई नोट्स नहीं", no_subject_areas: "कोई विषय एरियाज नहीं",
no_notes_text: "अतिरिक्त जानकारी रिकॉर्ड करने के लिए नोट्स का उपयोग करें", no_subject_areas_text: "ग्रूप टेबल्स को सब्जेक्ट एरियाज जोड़ें!",
no_types: "कोई प्रकार नहीं", no_notes: "कोई नोट्स नहीं",
no_types_text: "अपने स्वयं के कस्टम डेटा प्रकार बनाएं", no_notes_text: "अतिरिक्त जानकारी रिकॉर्ड करने के लिए नोट्स का उपयोग करें",
no_issues: "कोई समस्याएं नहीं पाए गए।", no_types: "कोई प्रकार नहीं",
strict_mode_is_on_no_issues: no_types_text: "अपने स्वयं के कस्टम डेटा प्रकार बनाएं",
"स्ट्रिक्ट मोड बंद है इसलिए कोई समस्याएं नहीं दिखाए जाएंगे।", no_issues: "कोई समस्याएं नहीं पाए गए।",
name: "नाम", strict_mode_is_on_no_issues:
type: "प्रकार", "स्ट्रिक्ट मोड बंद है इसलिए कोई समस्याएं नहीं दिखाए जाएंगे।",
null: "Null", name: "नाम",
not_null: "नॉट null", type: "प्रकार",
primary: "प्राथमिक", null: "Null",
unique: "युनिक", not_null: "नॉट null",
autoincrement: "स्वतः वाढ", primary: "प्राथमिक",
default_value: "डिफ़ॉल्ट", unique: "युनिक",
check: "चेक एक्सप्रेशन", autoincrement: "स्वतः वाढ",
this_will_appear_as_is: "*यह जेनरेटेड स्क्रिप्ट में जैसा है वैसा ही दिखेगा।", default_value: "डिफ़ॉल्ट",
comment: "टिप्पणी", check: "चेक एक्सप्रेशन",
add_field: "फ़ील्ड जोड़ें", this_will_appear_as_is:
values: "व्हॅल्यूज", "*यह जेनरेटेड स्क्रिप्ट में जैसा है वैसा ही दिखेगा।",
size: "साइज", comment: "टिप्पणी",
precision: "सटीकता", add_field: "फ़ील्ड जोड़ें",
set_precision: "सटीकता सेट करें: (साइज, डिजिट्स)", values: "व्हॅल्यूज",
use_for_batch_input: "Use , बैच इनपुट के लिए", size: "साइज",
indices: "इंडायसेस", precision: "सटीकता",
add_index: "इंडेक्स जोड़ें", set_precision: "सटीकता सेट करें: (साइज, डिजिट्स)",
select_fields: "फ़ील्ड्स चुनें", use_for_batch_input: "Use , बैच इनपुट के लिए",
title: "शीर्षक", indices: "इंडायसेस",
not_set: "सेट नहीं किया गया", add_index: "इंडेक्स जोड़ें",
foreign: "फॉरेन", select_fields: "फ़ील्ड्स चुनें",
cardinality: "कार्डिनैलिटी", title: "शीर्षक",
on_update: "अपडेट पर", not_set: "सेट नहीं किया गया",
on_delete: "हटाने पर", foreign: "फॉरेन",
swap: "स्वैप", cardinality: "कार्डिनैलिटी",
one_to_one: "एक से एक", on_update: "अपडेट पर",
one_to_many: "एक से कई", on_delete: "हटाने पर",
many_to_one: "कई से एक", swap: "स्वैप",
content: "कंटेंट", one_to_one: "एक से एक",
types_info: one_to_many: "एक से कई",
"यह सुविधा object-relational DBMS जैसे PostgreSQL के लिए है।\nयदि MySQL या MariaDB के लिए उपयोग किया जाता है, तो एक JSON प्रकार जेनरेट किया जाएगा जिसमें संबंधित json वैधता जांच होगी।\nयदि SQLite के लिए उपयोग किया जाता है तो इसे BLOB में परिवर्तित किया जाएगा।\nयदि MSSQL के लिए उपयोग किया जाता है तो पहले फ़ील्ड के लिए एक प्रकार उपनाम जेनरेट किया जाएगा।", many_to_one: "कई से एक",
table_deleted: "टेबल हटाई गई", content: "कंटेंट",
area_deleted: "एरिया हटाया गया", types_info:
note_deleted: "नोट हटाया गया", "यह सुविधा object-relational DBMS जैसे PostgreSQL के लिए है।\nयदि MySQL या MariaDB के लिए उपयोग किया जाता है, तो एक JSON प्रकार जेनरेट किया जाएगा जिसमें संबंधित json वैधता जांच होगी।\nयदि SQLite के लिए उपयोग किया जाता है तो इसे BLOB में परिवर्तित किया जाएगा।\nयदि MSSQL के लिए उपयोग किया जाता है तो पहले फ़ील्ड के लिए एक प्रकार उपनाम जेनरेट किया जाएगा।",
relationship_deleted: "संबंध हटाया गया", table_deleted: "टेबल हटाई गई",
type_deleted: "प्रकार हटाया गया", area_deleted: "एरिया हटाया गया",
cannot_connect: "कनेक्ट नहीं कर सकते, कॉलम के प्रकार अलग-अलग हैं", note_deleted: "नोट हटाया गया",
copied_to_clipboard: "क्लिपबोर्ड पर कॉपी किया गया", relationship_deleted: "संबंध हटाया गया",
create_new_diagram: "नया डायग्राम बनाएं", type_deleted: "प्रकार हटाया गया",
cancel: "रद्द करें", cannot_connect: "कनेक्ट नहीं कर सकते, कॉलम के प्रकार अलग-अलग हैं",
open_diagram: "डायग्राम खोलें", copied_to_clipboard: "क्लिपबोर्ड पर कॉपी किया गया",
rename_diagram: "डायग्राम का नाम बदलें", create_new_diagram: "नया डायग्राम बनाएं",
export: "एक्सपोर्ट", cancel: "रद्द करें",
export_image: "एक्सपोर्ट इमेज", open_diagram: "डायग्राम खोलें",
create: "बनाएं", rename_diagram: "डायग्राम का नाम बदलें",
confirm: "पुष्टि करें", export: "एक्सपोर्ट",
last_modified: "अंतिम बार मॉडिफाइड", export_image: "एक्सपोर्ट इमेज",
drag_and_drop_files: "फ़ाइल को यहां खींचें और छोड़ें या अपलोड करने के लिए क्लिक करें।", create: "बनाएं",
support_json_and_ddb: "JSON और DDB फ़ाइलें समर्थित हैं", confirm: "पुष्टि करें",
upload_sql_to_generate_diagrams: last_modified: "अंतिम बार मॉडिफाइड",
"अपनी टेबल और कॉलम को स्वचालित रूप से जेनरेट करने के लिए एक sql फ़ाइल अपलोड करें।", drag_and_drop_files:
overwrite_existing_diagram: "मौजूदा डायग्राम को अधिलेखित करें", "फ़ाइल को यहां खींचें और छोड़ें या अपलोड करने के लिए क्लिक करें।",
only_mysql_supported: upload_sql_to_generate_diagrams:
"*फिलहाल केवल MySQL स्क्रिप्ट्स को लोड करना समर्थित है।", "अपनी टेबल और कॉलम को स्वचालित रूप से जेनरेट करने के लिए एक sql फ़ाइल अपलोड करें।",
blank: "खाली", overwrite_existing_diagram: "मौजूदा डायग्राम को अधिलेखित करें",
filename: "फ़ाइलनाम", only_mysql_supported:
table_w_no_name: "नाम के बिना टेबल घोषित की गई", "*फिलहाल केवल MySQL स्क्रिप्ट्स को लोड करना समर्थित है।",
duplicate_table_by_name: "नाम से डुप्लिकेट टेबल '{{tableName}}'", blank: "खाली",
empty_field_name: "टेबल '{{tableName}}' में खाली फ़ील्ड `नाम`", filename: "फ़ाइलनाम",
empty_field_type: "टेबल '{{tableName}}' में खाली फ़ील्ड `प्रकार`", table_w_no_name: "नाम के बिना टेबल घोषित की गई",
no_values_for_field: duplicate_table_by_name: "नाम से डुप्लिकेट टेबल '{{tableName}}'",
"टेबल '{{tableName}}' के फ़ील्ड '{{fieldName}}' का प्रकार `{{type}}` है लेकिन कोई व्हॅल्यू निर्दिष्ट नहीं की गयी है", empty_field_name: "टेबल '{{tableName}}' में खाली फ़ील्ड `नाम`",
default_doesnt_match_type: empty_field_type: "टेबल '{{tableName}}' में खाली फ़ील्ड `प्रकार`",
"टेबल '{{tableName}}' में फ़ील्ड '{{fieldName}}' की डिफ़ॉल्ट व्हॅल्यू उसके प्रकार से मेल नहीं खाती", no_values_for_field:
not_null_is_null: "टेबल '{{tableName}}' के फ़ील्ड '{{fieldName}}' का प्रकार `{{type}}` है लेकिन कोई व्हॅल्यू निर्दिष्ट नहीं की गयी है",
"टेबल '{{tableName}}' के फ़ील्ड '{{fieldName}}' की व्हॅल्यू NOT NULL है लेकिन डिफ़ॉल्ट NULL है", default_doesnt_match_type:
duplicate_fields: "टेबल '{{tableName}}' में फ़ील्ड '{{fieldName}}' की डिफ़ॉल्ट व्हॅल्यू उसके प्रकार से मेल नहीं खाती",
"टेबल '{{tableName}}' में नाम '{{fieldName}}' वाले डुप्लिकेट टेबल फ़ील्ड्स", not_null_is_null:
duplicate_index: "टेबल '{{tableName}}' के फ़ील्ड '{{fieldName}}' की व्हॅल्यू NOT NULL है लेकिन डिफ़ॉल्ट NULL है",
"टेबल '{{tableName}}' में नाम '{{indexName}}' वाला डुप्लिकेट इंडेक्स", duplicate_fields:
empty_index: "टेबल '{{tableName}}' में इंडेक्स कोई कॉलम इंडेक्स नहीं करता", "टेबल '{{tableName}}' में नाम '{{fieldName}}' वाले डुप्लिकेट टेबल फ़ील्ड्स",
no_primary_key: "टेबल '{{tableName}}' में कोई प्राथमिक कुंजी नहीं है", duplicate_index:
type_with_no_name: "कोई नाम नहीं होने वाले प्रकार को घोषित किया", "टेबल '{{tableName}}' में नाम '{{indexName}}' वाला डुप्लिकेट इंडेक्स",
duplicate_types: "नाम '{{typeName}}' वाले डुप्लिकेट प्रकार", empty_index: "टेबल '{{tableName}}' में इंडेक्स कोई कॉलम इंडेक्स नहीं करता",
type_w_no_fields: "कोई फ़ील्ड्स नहीं होने वाले प्रकार '{{typeName}}' को घोषित किया", no_primary_key: "टेबल '{{tableName}}' में कोई प्राथमिक कुंजी नहीं है",
empty_type_field_name: "प्रकार '{{typeName}}' में खाली फ़ील्ड `नाम`", type_with_no_name: "कोई नाम नहीं होने वाले प्रकार को घोषित किया",
empty_type_field_type: "प्रकार '{{typeName}}' में खाली फ़ील्ड `प्रकार`", duplicate_types: "नाम '{{typeName}}' वाले डुप्लिकेट प्रकार",
no_values_for_type_field: type_w_no_fields:
"प्रकार '{{typeName}}' के फ़ील्ड '{{fieldName}}' का प्रकार `{{type}}` है लेकिन कोई व्हॅल्यू निर्दिष्ट नहीं की गयी है", "कोई फ़ील्ड्स नहीं होने वाले प्रकार '{{typeName}}' को घोषित किया",
duplicate_type_fields: empty_type_field_name: "प्रकार '{{typeName}}' में खाली फ़ील्ड `नाम`",
"प्रकार '{{typeName}}' में नाम '{{fieldName}}' वाले डुप्लिकेट प्रकार फ़ील्ड्स", empty_type_field_type: "प्रकार '{{typeName}}' में खाली फ़ील्ड `प्रकार`",
duplicate_reference: "नाम '{{refName}}' वाला डुप्लिकेट संदर्भ", no_values_for_type_field:
circular_dependency: "टेबल '{{refName}}' में परिपत्र निर्भरता", "प्रकार '{{typeName}}' के फ़ील्ड '{{fieldName}}' का प्रकार `{{type}}` है लेकिन कोई व्हॅल्यू निर्दिष्ट नहीं की गयी है",
timeline: "समयरेखा", duplicate_type_fields:
priority: "प्राथमिकता", "प्रकार '{{typeName}}' में नाम '{{fieldName}}' वाले डुप्लिकेट प्रकार फ़ील्ड्स",
none: "कोई नहीं", duplicate_reference: "नाम '{{refName}}' वाला डुप्लिकेट संदर्भ",
low: "निम्न", circular_dependency: "टेबल '{{refName}}' में परिपत्र निर्भरता",
medium: "मध्यम", timeline: "समयरेखा",
high: "उच्च", priority: "प्राथमिकता",
sort_by: "द्वारा क्रमबद्ध करें", none: "कोई नहीं",
my_order: "मेरा क्रम", low: "निम्न",
completed: "पूर्ण", medium: "मध्यम",
alphabetically: "वर्णानुक्रम में", high: "उच्च",
add_task: "कार्य जोड़ें", sort_by: "द्वारा क्रमबद्ध करें",
details: "डिटेल्स", my_order: "मेरा क्रम",
no_tasks: "आपके पास अभी तक कोई कार्य नहीं है।", completed: "पूर्ण",
no_activity: "आपके पास अभी तक कोई गतिविधि नहीं है।", alphabetically: "वर्णानुक्रम में",
move_element: "{{name}} को {{coords}} पर ले जाएँ", add_task: "कार्य जोड़ें",
edit_area: "{{extra}} एडिट एरिया {{areaName}}", details: "डिटेल्स",
delete_area: "एरिया हटाएं {{areaName}}", no_tasks: "आपके पास अभी तक कोई कार्य नहीं है।",
edit_note: "{{extra}} नोट एडिट करें {{noteTitle}}", no_activity: "आपके पास अभी तक कोई गतिविधि नहीं है।",
delete_note: "नोट हटाएं {{noteTitle}}", move_element: "{{name}} को {{coords}} पर ले जाएँ",
edit_table: "{{extra}} टेबल एडिट करें {{tableName}}", edit_area: "{{extra}} एडिट एरिया {{areaName}}",
delete_table: "टेबल हटाएं {{tableName}}", delete_area: "एरिया हटाएं {{areaName}}",
edit_type: "{{extra}} प्रकार एडिट करें {{typeName}}", edit_note: "{{extra}} नोट एडिट करें {{noteTitle}}",
delete_type: "प्रकार हटाएं {{typeName}}", delete_note: "नोट हटाएं {{noteTitle}}",
add_relationship: "संबंध जोड़ें", edit_table: "{{extra}} टेबल एडिट करें {{tableName}}",
edit_relationship: "{{extra}} संबंध एडिट करें {{refName}}", delete_table: "टेबल हटाएं {{tableName}}",
delete_relationship: "संबंध हटाएं {{refName}}", edit_type: "{{extra}} प्रकार एडिट करें {{typeName}}",
not_found: "नहीं मिला", delete_type: "प्रकार हटाएं {{typeName}}",
}, add_relationship: "संबंध जोड़ें",
}; edit_relationship: "{{extra}} संबंध एडिट करें {{refName}}",
delete_relationship: "संबंध हटाएं {{refName}}",
export { hi, hindi }; not_found: "नहीं मिला",
},
};
export { hi, hindi };

View File

@ -8,6 +8,7 @@ const hu = {
translation: { translation: {
report_bug: "Hiba jelentése", report_bug: "Hiba jelentése",
import: "Importálás", import: "Importálás",
import_from: "Importálás innen",
file: "Fájl", file: "Fájl",
new: "Új", new: "Új",
new_window: "Új ablak", new_window: "Új ablak",
@ -97,9 +98,11 @@ const hu = {
no_tables: "Nincs tábla", no_tables: "Nincs tábla",
no_tables_text: "Vágjon bele diagramja elkészítésébe!", no_tables_text: "Vágjon bele diagramja elkészítésébe!",
no_relationships: "Nincs kapcsolat létrehozva", no_relationships: "Nincs kapcsolat létrehozva",
no_relationships_text: "Egérhúzással összeköthet mezőket kapcsolatok létrehozásához", no_relationships_text:
"Egérhúzással összeköthet mezőket kapcsolatok létrehozásához",
no_subject_areas: "Nincs terület hozzáadva", no_subject_areas: "Nincs terület hozzáadva",
no_subject_areas_text: "Adjon hozzá területeket a táblák csoportosításához!", no_subject_areas_text:
"Adjon hozzá területeket a táblák csoportosításához!",
no_notes: "Nincs jegyzet", no_notes: "Nincs jegyzet",
no_notes_text: "Használjon jegyzeteket további információk feljegyzéséhez", no_notes_text: "Használjon jegyzeteket további információk feljegyzéséhez",
no_types: "Nincs típus", no_types: "Nincs típus",
@ -116,7 +119,8 @@ const hu = {
autoincrement: "Automatikus növelés", autoincrement: "Automatikus növelés",
default_value: "Alapért.", default_value: "Alapért.",
check: "'Check' kifejezés", check: "'Check' kifejezés",
this_will_appear_as_is: "*Ez a generált parancsfájlban ugyanígy fog megjelenni.", this_will_appear_as_is:
"*Ez a generált parancsfájlban ugyanígy fog megjelenni.",
comment: "Megjegyzés", comment: "Megjegyzés",
add_field: "Új mező", add_field: "Új mező",
values: "Értékek", values: "Értékek",
@ -145,7 +149,8 @@ const hu = {
note_deleted: "A jegyzet törölve", note_deleted: "A jegyzet törölve",
relationship_deleted: "A kapcsolat törölve", relationship_deleted: "A kapcsolat törölve",
type_deleted: "A típus törölve", type_deleted: "A típus törölve",
cannot_connect: "A kapcsolatot nem lehet létrehozni, az oszlopok eltérő típusúak", cannot_connect:
"A kapcsolatot nem lehet létrehozni, az oszlopok eltérő típusúak",
copied_to_clipboard: "Másolva a vágólapra", copied_to_clipboard: "Másolva a vágólapra",
create_new_diagram: "Új diagram létrehozása", create_new_diagram: "Új diagram létrehozása",
cancel: "Mégse", cancel: "Mégse",
@ -156,19 +161,21 @@ const hu = {
create: "Létrehozás", create: "Létrehozás",
confirm: "Megerősítés", confirm: "Megerősítés",
last_modified: "Utoljára módosítva", last_modified: "Utoljára módosítva",
drag_and_drop_files: "Húzzon ide egy fájlt vagy kattintson a feltöltendő fájl kiválasztásához.", drag_and_drop_files:
support_json_and_ddb: "JSON és DDB fájlok támogatottak", "Húzzon ide egy fájlt vagy kattintson a feltöltendő fájl kiválasztásához.",
upload_sql_to_generate_diagrams: upload_sql_to_generate_diagrams:
"Töltsön fel egy sql fájlt a táblák és oszlopok automatikus generálásához.", "Töltsön fel egy sql fájlt a táblák és oszlopok automatikus generálásához.",
overwrite_existing_diagram: "Meglévő diagram felülírása", overwrite_existing_diagram: "Meglévő diagram felülírása",
only_mysql_supported: only_mysql_supported: "*Jelenleg csak MySQL fájlok betöltése támogatott.",
"*Jelenleg csak MySQL fájlok betöltése támogatott.",
blank: "Üres", blank: "Üres",
filename: "Fájlnév", filename: "Fájlnév",
table_w_no_name: "Nincs megadva név egy táblának", table_w_no_name: "Nincs megadva név egy táblának",
duplicate_table_by_name: "Több tábla is létezik ezzel a névvel: '{{tableName}}'", duplicate_table_by_name:
empty_field_name: "Nincs megadva egy mező `neve` a(z) '{{tableName}}' táblában", "Több tábla is létezik ezzel a névvel: '{{tableName}}'",
empty_field_type: "Nincs megadva egy mező `típusa` a(z) '{{tableName}}' táblában", empty_field_name:
"Nincs megadva egy mező `neve` a(z) '{{tableName}}' táblában",
empty_field_type:
"Nincs megadva egy mező `típusa` a(z) '{{tableName}}' táblában",
no_values_for_field: no_values_for_field:
"A(z) '{{tableName}}' tábla '{{fieldName}}' mezője `{{type}}` típusú, de nincs megadva érték", "A(z) '{{tableName}}' tábla '{{fieldName}}' mezője `{{type}}` típusú, de nincs megadva érték",
default_doesnt_match_type: default_doesnt_match_type:
@ -179,8 +186,10 @@ const hu = {
"Több '{{fieldName}}' nevű mező is létezik a(z) '{{tableName}}' táblában", "Több '{{fieldName}}' nevű mező is létezik a(z) '{{tableName}}' táblában",
duplicate_index: duplicate_index:
"Több '{{indexName}}' nevű index is létezik a(z) '{{tableName}}' táblában", "Több '{{indexName}}' nevű index is létezik a(z) '{{tableName}}' táblában",
empty_index: "A(z) '{{tableName}}' táblában levő index egyetlen oszlopot sem indexel", empty_index:
no_primary_key: "A(z) '{{tableName}}' tábla nem rendelkezik elsődleges kulccsal", "A(z) '{{tableName}}' táblában levő index egyetlen oszlopot sem indexel",
no_primary_key:
"A(z) '{{tableName}}' tábla nem rendelkezik elsődleges kulccsal",
type_with_no_name: "Nincs megadva egy egyedi típus neve", type_with_no_name: "Nincs megadva egy egyedi típus neve",
duplicate_types: "Több típus is létezik a(z) '{{typeName}}' névvel", duplicate_types: "Több típus is létezik a(z) '{{typeName}}' névvel",
type_w_no_fields: "Nincs megadva mező a(z) '{{typeName}}' típusnak", type_w_no_fields: "Nincs megadva mező a(z) '{{typeName}}' típusnak",
@ -191,7 +200,8 @@ const hu = {
duplicate_type_fields: duplicate_type_fields:
"Több '{{fieldName}}' nevű mező is létezik a(z) '{{typeName}}' típussal", "Több '{{fieldName}}' nevű mező is létezik a(z) '{{typeName}}' típussal",
duplicate_reference: "Több hivatkozás is létezik a(z) '{{refName}}' névvel", duplicate_reference: "Több hivatkozás is létezik a(z) '{{refName}}' névvel",
circular_dependency: "Körkörös hivatkozás a(z) '{{refName}}' táblával kapcsolatban", circular_dependency:
"Körkörös hivatkozás a(z) '{{refName}}' táblával kapcsolatban",
timeline: "Előzmények", timeline: "Előzmények",
priority: "Prioritás", priority: "Prioritás",
none: "Nincs", none: "Nincs",
@ -233,16 +243,21 @@ const hu = {
no_enums: "Nincs enum", no_enums: "Nincs enum",
no_enums_text: "Itt adhat meg enum-okat", no_enums_text: "Itt adhat meg enum-okat",
declare_array: "Tömb megadása", declare_array: "Tömb megadása",
empty_index_name: "A(z) '{{tableName}}' táblában egy indexnek nincs megadva név", empty_index_name:
"A(z) '{{tableName}}' táblában egy indexnek nincs megadva név",
didnt_find_diagram: "Hoppá! A diagram nem található.", didnt_find_diagram: "Hoppá! A diagram nem található.",
unsigned: "Előjel nélküli", unsigned: "Előjel nélküli",
share: "Megosztás", share: "Megosztás",
unshare: "Megosztás megszüntetése", unshare: "Megosztás megszüntetése",
copy_link: "Hivatkozás másolása", copy_link: "Hivatkozás másolása",
readme: "OLVASS_EL", readme: "OLVASS_EL",
failed_to_load: "A betöltés sikertelen. Ellenőrizze a hivatkozás helyességét!", failed_to_load:
"A betöltés sikertelen. Ellenőrizze a hivatkozás helyességét!",
share_info: share_info:
"* Ezen hivatkozás megosztása nem fog létrehozni élő, valósidejű együttműködési munkamenetet.", "* Ezen hivatkozás megosztása nem fog létrehozni élő, valósidejű együttműködési munkamenetet.",
show_relationship_labels: "Kapcsolatcímkék",
docs: "Dokumentáció",
supported_types: "Támogatott fájltípusok:",
}, },
}; };

View File

@ -7,6 +7,7 @@ const armenian = {
const hy = { const hy = {
translation: { translation: {
report_bug: "Զեկուցել սխալի մասին", report_bug: "Զեկուցել սխալի մասին",
import_from: "Ներմուծել",
import: "Ներմուծել", import: "Ներմուծել",
file: "Ֆայլ", file: "Ֆայլ",
new: "Նոր", new: "Նոր",
@ -161,7 +162,6 @@ const hy = {
last_modified: "Վերջին փոփոխությունը", last_modified: "Վերջին փոփոխությունը",
drag_and_drop_files: drag_and_drop_files:
"Քաշեք և թողեք ֆայլը այստեղ կամ սեղմեք բեռնելու համար։", "Քաշեք և թողեք ֆայլը այստեղ կամ սեղմեք բեռնելու համար։",
support_json_and_ddb: "Աջակցվում են JSON և DDB ֆայլեր",
upload_sql_to_generate_diagrams: upload_sql_to_generate_diagrams:
"Վերբեռնեք sql ֆայլ՝ ձեր աղյուսակներն ու սյունակները ավտոմատ ստեղծելու համար։", "Վերբեռնեք sql ֆայլ՝ ձեր աղյուսակներն ու սյունակները ավտոմատ ստեղծելու համար։",
overwrite_existing_diagram: "Փոխարինել առկա սխեման", overwrite_existing_diagram: "Փոխարինել առկա սխեման",

View File

@ -7,6 +7,7 @@ const indonesian = {
const id = { const id = {
translation: { translation: {
report_bug: "Laporkan bug", report_bug: "Laporkan bug",
import_from: "Impor",
import: "Impor", import: "Impor",
file: "Berkas", file: "Berkas",
new: "Baru", new: "Baru",
@ -19,7 +20,7 @@ const id = {
rename: "Ubah nama", rename: "Ubah nama",
delete_diagram: "Hapus diagram", delete_diagram: "Hapus diagram",
are_you_sure_delete_diagram: are_you_sure_delete_diagram:
"Apakah Anda yakin ingin menghapus diagram ini? Operasi ini tidak bisa dibatalkan.", "Apakah Anda yakin ingin menghapus diagram ini? Operasi ini tidak bisa dibatalkan.",
oops_smth_went_wrong: "Ups! Ada yang salah.", oops_smth_went_wrong: "Ups! Ada yang salah.",
import_diagram: "Impor diagram", import_diagram: "Impor diagram",
import_from_source: "Impor dari SQL", import_from_source: "Impor dari SQL",
@ -31,7 +32,8 @@ const id = {
undo: "Batalkan", undo: "Batalkan",
redo: "Ulangi", redo: "Ulangi",
clear: "Bersihkan", clear: "Bersihkan",
are_you_sure_clear: "Apakah Anda yakin ingin membersihkan diagram ini? Ini tidak bisa dibatalkan.", are_you_sure_clear:
"Apakah Anda yakin ingin membersihkan diagram ini? Ini tidak bisa dibatalkan.",
cut: "Potong", cut: "Potong",
copy: "Salin", copy: "Salin",
paste: "Tempel", paste: "Tempel",
@ -69,7 +71,7 @@ const id = {
language: "Bahasa", language: "Bahasa",
flush_storage: "Bersihkan penyimpanan", flush_storage: "Bersihkan penyimpanan",
are_you_sure_flush_storage: are_you_sure_flush_storage:
"Apakah Anda yakin ingin membersihkan penyimpanan? Ini akan menghapus semua diagram dan template kustom Anda secara permanen.", "Apakah Anda yakin ingin membersihkan penyimpanan? Ini akan menghapus semua diagram dan template kustom Anda secara permanen.",
storage_flushed: "Penyimpanan dibersihkan", storage_flushed: "Penyimpanan dibersihkan",
help: "Bantuan", help: "Bantuan",
shortcuts: "Pintasan", shortcuts: "Pintasan",
@ -96,7 +98,8 @@ const id = {
no_tables: "Tidak ada tabel", no_tables: "Tidak ada tabel",
no_tables_text: "Mulai bangun diagram Anda!", no_tables_text: "Mulai bangun diagram Anda!",
no_relationships: "Tidak ada hubungan", no_relationships: "Tidak ada hubungan",
no_relationships_text: "Seret untuk menghubungkan bidang dan membentuk hubungan!", no_relationships_text:
"Seret untuk menghubungkan bidang dan membentuk hubungan!",
no_subject_areas: "Tidak ada area subjek", no_subject_areas: "Tidak ada area subjek",
no_subject_areas_text: "Tambahkan area subjek untuk mengelompokkan tabel!", no_subject_areas_text: "Tambahkan area subjek untuk mengelompokkan tabel!",
no_notes: "Tidak ada catatan", no_notes: "Tidak ada catatan",
@ -104,7 +107,8 @@ const id = {
no_types: "Tidak ada tipe", no_types: "Tidak ada tipe",
no_types_text: "Buat tipe data kustom Anda sendiri", no_types_text: "Buat tipe data kustom Anda sendiri",
no_issues: "Tidak ada masalah yang terdeteksi.", no_issues: "Tidak ada masalah yang terdeteksi.",
strict_mode_is_on_no_issues: "Mode ketat dimatikan sehingga tidak ada masalah yang akan ditampilkan.", strict_mode_is_on_no_issues:
"Mode ketat dimatikan sehingga tidak ada masalah yang akan ditampilkan.",
name: "Nama", name: "Nama",
type: "Jenis", type: "Jenis",
null: "Kosong", null: "Kosong",
@ -114,7 +118,8 @@ const id = {
autoincrement: "Autoincrement", autoincrement: "Autoincrement",
default_value: "Nilai default", default_value: "Nilai default",
check: "Periksa ekspresi", check: "Periksa ekspresi",
this_will_appear_as_is: "*Ini akan muncul dalam skrip yang dihasilkan sebagaimana adanya.", this_will_appear_as_is:
"*Ini akan muncul dalam skrip yang dihasilkan sebagaimana adanya.",
comment: "Komentar", comment: "Komentar",
add_field: "Tambah bidang", add_field: "Tambah bidang",
values: "Nilai", values: "Nilai",
@ -137,13 +142,14 @@ const id = {
many_to_one: "Banyak ke satu", many_to_one: "Banyak ke satu",
content: "Konten", content: "Konten",
types_info: types_info:
"Fitur ini ditujukan untuk DBMS objek-relasional seperti PostgreSQL.\nJika digunakan untuk MySQL atau MariaDB, tipe JSON akan dihasilkan dengan validasi json yang sesuai.\nJika digunakan untuk SQLite, itu akan diterjemahkan menjadi BLOB.\nJika digunakan untuk MSSQL, alias tipe ke bidang pertama akan dihasilkan.", "Fitur ini ditujukan untuk DBMS objek-relasional seperti PostgreSQL.\nJika digunakan untuk MySQL atau MariaDB, tipe JSON akan dihasilkan dengan validasi json yang sesuai.\nJika digunakan untuk SQLite, itu akan diterjemahkan menjadi BLOB.\nJika digunakan untuk MSSQL, alias tipe ke bidang pertama akan dihasilkan.",
table_deleted: "Tabel dihapus", table_deleted: "Tabel dihapus",
area_deleted: "Area dihapus", area_deleted: "Area dihapus",
note_deleted: "Catatan dihapus", note_deleted: "Catatan dihapus",
relationship_deleted: "Hubungan dihapus", relationship_deleted: "Hubungan dihapus",
type_deleted: "Jenis dihapus", type_deleted: "Jenis dihapus",
cannot_connect: "Tidak dapat menghubungkan, kolom memiliki tipe yang berbeda", cannot_connect:
"Tidak dapat menghubungkan, kolom memiliki tipe yang berbeda",
copied_to_clipboard: "Disalin ke papan klip", copied_to_clipboard: "Disalin ke papan klip",
create_new_diagram: "Buat diagram baru", create_new_diagram: "Buat diagram baru",
cancel: "Batal", cancel: "Batal",
@ -154,9 +160,10 @@ const id = {
create: "Buat", create: "Buat",
confirm: "Konfirmasi", confirm: "Konfirmasi",
last_modified: "Terakhir diubah", last_modified: "Terakhir diubah",
drag_and_drop_files: "Seret dan lepas file di sini atau klik untuk mengunggah.", drag_and_drop_files:
support_json_and_ddb: "File JSON dan DDB didukung", "Seret dan lepas file di sini atau klik untuk mengunggah.",
upload_sql_to_generate_diagrams: "Unggah file SQL untuk mengotomatiskan tabel dan kolom Anda.", upload_sql_to_generate_diagrams:
"Unggah file SQL untuk mengotomatiskan tabel dan kolom Anda.",
overwrite_existing_diagram: "Timpa diagram yang ada", overwrite_existing_diagram: "Timpa diagram yang ada",
only_mysql_supported: "*Saat ini hanya memuat skrip MySQL yang didukung.", only_mysql_supported: "*Saat ini hanya memuat skrip MySQL yang didukung.",
blank: "Kosong", blank: "Kosong",
@ -166,25 +173,32 @@ const id = {
empty_field_name: "Nama bidang `name` kosong dalam tabel '{{tableName}}'", empty_field_name: "Nama bidang `name` kosong dalam tabel '{{tableName}}'",
empty_field_type: "Jenis bidang `type` kosong dalam tabel '{{tableName}}'", empty_field_type: "Jenis bidang `type` kosong dalam tabel '{{tableName}}'",
no_values_for_field: no_values_for_field:
"Bidang '{{fieldName}}' dalam tabel '{{tableName}}' adalah tipe `{{type}}` tetapi tidak ada nilai yang ditentukan", "Bidang '{{fieldName}}' dalam tabel '{{tableName}}' adalah tipe `{{type}}` tetapi tidak ada nilai yang ditentukan",
default_doesnt_match_type: default_doesnt_match_type:
"Nilai default untuk bidang '{{fieldName}}' dalam tabel '{{tableName}}' tidak sesuai dengan tipenya", "Nilai default untuk bidang '{{fieldName}}' dalam tabel '{{tableName}}' tidak sesuai dengan tipenya",
not_null_is_null: not_null_is_null:
"Bidang '{{fieldName}}' dalam tabel '{{tableName}}' adalah TIDAK NULL tetapi memiliki nilai default NULL", "Bidang '{{fieldName}}' dalam tabel '{{tableName}}' adalah TIDAK NULL tetapi memiliki nilai default NULL",
duplicate_fields: "Bidang tabel duplikat dengan nama '{{fieldName}}' dalam tabel '{{tableName}}'", duplicate_fields:
duplicate_index: "Indeks duplikat dengan nama '{{indexName}}' dalam tabel '{{tableName}}'", "Bidang tabel duplikat dengan nama '{{fieldName}}' dalam tabel '{{tableName}}'",
empty_index: "Indeks dalam tabel '{{tableName}}' tidak mengindeks kolom apapun", duplicate_index:
"Indeks duplikat dengan nama '{{indexName}}' dalam tabel '{{tableName}}'",
empty_index:
"Indeks dalam tabel '{{tableName}}' tidak mengindeks kolom apapun",
no_primary_key: "Tabel '{{tableName}}' tidak memiliki kunci utama", no_primary_key: "Tabel '{{tableName}}' tidak memiliki kunci utama",
type_with_no_name: "Mendeklarasikan tipe tanpa nama", type_with_no_name: "Mendeklarasikan tipe tanpa nama",
duplicate_types: "Tipe duplikat dengan nama '{{typeName}}'", duplicate_types: "Tipe duplikat dengan nama '{{typeName}}'",
type_w_no_fields: "Mendeklarasikan tipe '{{typeName}}' kosong tanpa bidang", type_w_no_fields: "Mendeklarasikan tipe '{{typeName}}' kosong tanpa bidang",
empty_type_field_name: "Nama bidang `name` kosong dalam tipe '{{typeName}}'", empty_type_field_name:
empty_type_field_type: "Jenis bidang `type` kosong dalam tipe '{{typeName}}'", "Nama bidang `name` kosong dalam tipe '{{typeName}}'",
empty_type_field_type:
"Jenis bidang `type` kosong dalam tipe '{{typeName}}'",
no_values_for_type_field: no_values_for_type_field:
"Bidang '{{fieldName}}' dalam tipe '{{typeName}}' adalah tipe `{{type}}` tetapi tidak ada nilai yang ditentukan", "Bidang '{{fieldName}}' dalam tipe '{{typeName}}' adalah tipe `{{type}}` tetapi tidak ada nilai yang ditentukan",
duplicate_type_fields: "Bidang tipe duplikat dengan nama '{{fieldName}}' dalam tipe '{{typeName}}'", duplicate_type_fields:
"Bidang tipe duplikat dengan nama '{{fieldName}}' dalam tipe '{{typeName}}'",
duplicate_reference: "Referensi duplikat dengan nama '{{refName}}'", duplicate_reference: "Referensi duplikat dengan nama '{{refName}}'",
circular_dependency: "Ketergantungan siklik yang melibatkan tabel '{{refName}}'", circular_dependency:
"Ketergantungan siklik yang melibatkan tabel '{{refName}}'",
timeline: "Garis waktu", timeline: "Garis waktu",
priority: "Prioritas", priority: "Prioritas",
none: "Tidak ada", none: "Tidak ada",
@ -214,7 +228,8 @@ const id = {
not_found: "Tidak ditemukan", not_found: "Tidak ditemukan",
pick_db: "Pilih basis data", pick_db: "Pilih basis data",
generic: "Generik", generic: "Generik",
generic_description: "Diagram generik dapat diekspor ke SQL mana pun tetapi mendukung sedikit tipe data.", generic_description:
"Diagram generik dapat diekspor ke SQL mana pun tetapi mendukung sedikit tipe data.",
enums: "Enums", enums: "Enums",
add_enum: "Tambah enum", add_enum: "Tambah enum",
edit_enum: "{{extra}} Edit enum {{enumName}}", edit_enum: "{{extra}} Edit enum {{enumName}}",
@ -225,7 +240,8 @@ const id = {
no_enums: "Tidak ada enum", no_enums: "Tidak ada enum",
no_enums_text: "Definisikan enum di sini", no_enums_text: "Definisikan enum di sini",
declare_array: "Deklarasikan array", declare_array: "Deklarasikan array",
empty_index_name: "Mendeklarasikan indeks tanpa nama dalam tabel '{{tableName}}'", empty_index_name:
"Mendeklarasikan indeks tanpa nama dalam tabel '{{tableName}}'",
didnt_find_diagram: "Ups! Tidak menemukan diagram.", didnt_find_diagram: "Ups! Tidak menemukan diagram.",
}, },
}; };

View File

@ -7,8 +7,9 @@ const italian = {
const it = { const it = {
translation: { translation: {
report_bug: "Segnalare un bug", report_bug: "Segnalare un bug",
import_from: "Importa",
import: "Importa", import: "Importa",
file: "File ", file: "File",
new: "Nuovo", new: "Nuovo",
new_window: "Nuova Finestra", new_window: "Nuova Finestra",
open: "Apri", open: "Apri",
@ -65,7 +66,7 @@ const it = {
cursor_coordinates: "Coordinate del cursore", cursor_coordinates: "Coordinate del cursore",
coordinate_space: "Spazio", coordinate_space: "Spazio",
coordinate_space_screen: "Schermo", coordinate_space_screen: "Schermo",
coordinate_space_diagram: "Diagramma", coordinate_space_diagram: "Diagramma",
table_width: "Larghezza della tabella", table_width: "Larghezza della tabella",
language: "Lingua", language: "Lingua",
flush_storage: "Pulizia memoria", flush_storage: "Pulizia memoria",
@ -156,8 +157,8 @@ const it = {
create: "Crea", create: "Crea",
confirm: "Accetta", confirm: "Accetta",
last_modified: "Ultima modifica", last_modified: "Ultima modifica",
drag_and_drop_files: "Trascina e rilascia qui il file o clicca per caricarlo.", drag_and_drop_files:
support_json_and_ddb: "I file JSON e DDB sono supportati", "Trascina e rilascia qui il file o clicca per caricarlo.",
upload_sql_to_generate_diagrams: upload_sql_to_generate_diagrams:
"Carica un file sql per autogenerare le tabelle e le colonne.", "Carica un file sql per autogenerare le tabelle e le colonne.",
overwrite_existing_diagram: "Sovrascrivi il diagramma esistente", overwrite_existing_diagram: "Sovrascrivi il diagramma esistente",
@ -179,11 +180,13 @@ const it = {
"Campi della tabella duplicati con il nome '{{fieldName}}' nella tabella '{{tableName}}'", "Campi della tabella duplicati con il nome '{{fieldName}}' nella tabella '{{tableName}}'",
duplicate_index: duplicate_index:
"Indice duplicato con il nome '{{indexName}}' nella tabella '{{tableName}}'", "Indice duplicato con il nome '{{indexName}}' nella tabella '{{tableName}}'",
empty_index: "L'indice nella tabella '{{tableName}}' non indicizza nessuna colonna", empty_index:
"L'indice nella tabella '{{tableName}}' non indicizza nessuna colonna",
no_primary_key: "La tabella '{{tableName}}' non ha una chiave primaria", no_primary_key: "La tabella '{{tableName}}' non ha una chiave primaria",
type_with_no_name: "Dichiarato un tipo senza nome", type_with_no_name: "Dichiarato un tipo senza nome",
duplicate_types: "Tipi duplicati con il nome '{{typeName}}'", duplicate_types: "Tipi duplicati con il nome '{{typeName}}'",
type_w_no_fields: "Dichiarato un tipo vuoto '{{typeName}}' senza alcun campo", type_w_no_fields:
"Dichiarato un tipo vuoto '{{typeName}}' senza alcun campo",
empty_type_field_name: "Campo `name` vuoto nel tipo '{{typeName}}'", empty_type_field_name: "Campo `name` vuoto nel tipo '{{typeName}}'",
empty_type_field_type: "Campo `type` vuoto nel tipo '{{typeName}}'", empty_type_field_type: "Campo `type` vuoto nel tipo '{{typeName}}'",
no_values_for_type_field: no_values_for_type_field:
@ -191,7 +194,8 @@ const it = {
duplicate_type_fields: duplicate_type_fields:
"Campi di tipo duplicati con il nome '{{fieldName}}' nel tipo '{{typeName}}'", "Campi di tipo duplicati con il nome '{{fieldName}}' nel tipo '{{typeName}}'",
duplicate_reference: "Riferimento duplicato con il nome '{{refName}}'", duplicate_reference: "Riferimento duplicato con il nome '{{refName}}'",
circular_dependency: "Dipendenza circolare riguardante la tabella '{{refName}}'", circular_dependency:
"Dipendenza circolare riguardante la tabella '{{refName}}'",
timeline: "Cronologia", timeline: "Cronologia",
priority: "Priorità", priority: "Priorità",
none: "Nessuna", none: "Nessuna",
@ -219,7 +223,7 @@ const it = {
edit_relationship: "{{extra}} Modifica relazione {{refName}}", edit_relationship: "{{extra}} Modifica relazione {{refName}}",
delete_relationship: "Elimina relazione {{refName}}", delete_relationship: "Elimina relazione {{refName}}",
not_found: "Nessun risultato", not_found: "Nessun risultato",
pick_db: "Scegli il database", pick_db: "Scegli il database",
generic: "Generico", generic: "Generico",
generic_description: generic_description:
"I diagrammi generici possono essere esportati in qualsiasi formato SQL, ma supportano un numero limitato di tipi di dati.", "I diagrammi generici possono essere esportati in qualsiasi formato SQL, ma supportano un numero limitato di tipi di dati.",
@ -233,9 +237,10 @@ const it = {
no_enums: "Nessun enum", no_enums: "Nessun enum",
no_enums_text: "Definisci qui gli enum", no_enums_text: "Definisci qui gli enum",
declare_array: "Dichiara array", declare_array: "Dichiara array",
empty_index_name: "Dichiarato un indice senza nome nella tabella '{{tableName}}'", empty_index_name:
"Dichiarato un indice senza nome nella tabella '{{tableName}}'",
didnt_find_diagram: "Ops! Impossibile trovare il diagramma.", didnt_find_diagram: "Ops! Impossibile trovare il diagramma.",
unsigned: "Senza segno", unsigned: "Senza segno",
}, },
}; };

View File

@ -1,233 +1,255 @@
const japanese = { const japanese = {
name: "Japanese", name: "Japanese",
native_name: "Japanese", native_name: "Japanese",
code: "jp", code: "jp",
};
const jp = {
translation: {
report_bug: "バグを報告",
import: "インポート",
file: "ファイル",
new: "新規",
new_window: "新しいウィンドウ",
open: "開く",
save: "保存",
save_as: "名前を付けて保存",
save_as_template: "テンプレートとして保存",
template_saved: "テンプレートが保存されました!",
rename: "名前を変更",
delete_diagram: "ダイアグラムを削除",
are_you_sure_delete_diagram: "このダイアグラムを削除してもよろしいですか? この操作は取り消せません。",
oops_smth_went_wrong: "おっと!何かがうまくいかなかった。",
import_diagram: "ダイアグラムをインポート",
import_from_source: "SQLからインポート",
export_as: "としてエクスポート",
export_source: "SQLをエクスポート",
models: "モデル",
exit: "終了",
edit: "編集",
undo: "元に戻す",
redo: "やり直す",
clear: "クリア",
are_you_sure_clear: "ダイアグラムをクリアしてもよろしいですか? この操作は取り消せません。",
cut: "切り取り",
copy: "コピー",
paste: "貼り付け",
duplicate: "複製",
delete: "削除",
copy_as_image: "画像としてコピー",
view: "表示",
header: "メニューバー",
sidebar: "サイドバー",
issues: "問題",
presentation_mode: "プレゼンテーションモード",
strict_mode: "厳格モード",
field_details: "フィールドの詳細",
reset_view: "ビューをリセット",
show_grid: "グリッドを表示",
show_cardinality: "カーディナリティを表示",
theme: "テーマ",
light: "ライト",
dark: "ダーク",
zoom_in: "ズームイン",
zoom_out: "ズームアウト",
fullscreen: "全画面表示",
settings: "設定",
show_timeline: "タイムラインを表示",
autosave: "自動保存",
panning: "パンニング",
show_debug_coordinates: "デバッグ座標を表示",
transform: "変換",
viewbox: "ビュー・ボックス",
cursor_coordinates: "カーソルの座標",
coordinate_space: "空間",
coordinate_space_screen: "スクリーン",
coordinate_space_diagram: "ダイアグラム",
table_width: "テーブル幅",
language: "言語",
flush_storage: "ストレージを消去",
are_you_sure_flush_storage: "ストレージを消去してもよろしいですか? これにより、すべてのダイアグラムとカスタムテンプレートが取り消し不能に削除されます。",
storage_flushed: "ストレージが消去されました",
help: "ヘルプ",
shortcuts: "ショートカット",
ask_on_discord: "Discordで質問する",
feedback: "フィードバック",
no_changes: "変更なし",
loading: "読み込み中...",
last_saved: "最後の保存",
saving: "保存中...",
failed_to_save: "保存に失敗しました",
fit_window_reset: "ウィンドウに合わせる / リセット",
zoom: "ズーム",
add_table: "テーブルを追加",
add_area: "エリアを追加",
add_note: "ノートを追加",
add_type: "タイプを追加",
to_do: "やるべきこと",
tables: "テーブル",
relationships: "リレーションシップ",
subject_areas: "主題領域",
notes: "ノート",
types: "タイプ",
search: "検索...",
no_tables: "テーブルがありません",
no_tables_text: "ダイアグラムの作成を開始しましょう!",
no_relationships: "リレーションシップがありません",
no_relationships_text: "フィールドを接続してリレーションシップを作成!",
no_subject_areas: "主題領域がありません",
no_subject_areas_text: "主題領域を追加してテーブルをグループ化しましょう!",
no_notes: "ノートがありません",
no_notes_text: "追加情報の記録にノートを使用",
no_types: "タイプがありません",
no_types_text: "カスタムデータタイプを作成",
no_issues: "問題は検出されていません。",
strict_mode_is_on_no_issues: "厳格モードがオフになっているため、問題は表示されません。",
name: "名前",
type: "タイプ",
null: "Null",
not_null: "Not null",
primary: "主キー",
unique: "ユニーク",
autoincrement: "オートインクリメント",
default_value: "デフォルト",
check: "チェック式",
this_will_appear_as_is: "*これが生成されたスクリプトにそのまま表示されます。",
comment: "コメント",
add_field: "フィールドを追加",
values: "値",
size: "サイズ",
precision: "精度",
set_precision: "精度を設定: 'サイズ, 桁数'",
use_for_batch_input: "バッチ入力に使用する場合は , を使用",
indices: "インデックス",
add_index: "インデックスを追加",
select_fields: "フィールドを選択",
title: "タイトル",
not_set: "設定されていません",
foreign: "外部キー",
cardinality: "カーディナリティ",
on_update: "更新時",
on_delete: "削除時",
swap: "入れ替え",
one_to_one: "1対1",
one_to_many: "1対多",
many_to_one: "多対1",
content: "内容",
types_info: "この機能はPostgreSQLのようなオブジェクトリレーショナルDBMS向けです。\nMySQLやMariaDBで使用した場合、対応するjsonの検証チェックと共にJSONタイプが生成されます。\nSQLiteで使用した場合、BLOBに変換されます。\nMSSQLで使用した場合、最初のフィールドへのタイプエイリアスが生成されます。",
table_deleted: "テーブルが削除されました",
area_deleted: "エリアが削除されました",
note_deleted: "ノートが削除されました",
relationship_deleted: "リレーションシップが削除されました",
type_deleted: "タイプが削除されました",
cannot_connect: "接続できません、列のタイプが異なります",
copied_to_clipboard: "クリップボードにコピーされました",
create_new_diagram: "新しいダイアグラムを作成",
cancel: "キャンセル",
open_diagram: "ダイアグラムを開く",
rename_diagram: "ダイアグラムの名前を変更",
export: "エクスポート",
export_image: "画像をエクスポート",
create: "作成",
confirm: "確認",
last_modified: "最終更新",
drag_and_drop_files: "ファイルをここにドラッグ&ドロップするかクリックしてアップロードします。",
support_json_and_ddb: "JSONおよびDDBファイルがサポートされています",
upload_sql_to_generate_diagrams: "SQLファイルをアップロードしてテーブルと列を自動生成します。",
overwrite_existing_diagram: "既存のダイアグラムを上書きする",
only_mysql_supported: "*現在のところMySQLスクリプトの読み込みのみサポートされています。",
blank: "空白",
filename: "ファイル名",
table_w_no_name: "名前のないテーブルが宣言されました",
duplicate_table_by_name: "名前 '{{tableName}}' のテーブルが重複しています",
empty_field_name: "テーブル '{{tableName}}' のフィールド `name` が空です",
empty_field_type: "テーブル '{{tableName}}' のフィールド `type` が空です",
no_values_for_field: "テーブル '{{tableName}}' のフィールド '{{fieldName}}' はタイプ `{{type}}` ですが、値が指定されていません",
default_doesnt_match_type: "テーブル '{{tableName}}' のフィールド '{{fieldName}}' のデフォルト値がタイプと一致しません",
not_null_is_null: "テーブル '{{tableName}}' のフィールド '{{fieldName}}' はNOT NULLですが、デフォルトはNULLです",
duplicate_fields: "テーブル '{{tableName}}' 内に名前 '{{fieldName}}' のフィールドが重複しています",
duplicate_index: "テーブル '{{tableName}}' 内に名前 '{{indexName}}' のインデックスが重複しています",
empty_index: "テーブル '{{tableName}}' のインデックスは列をインデックスしていません",
no_primary_key: "テーブル '{{tableName}}' に主キーがありません",
type_with_no_name: "名前のないタイプが宣言されました",
duplicate_types: "名前 '{{typeName}}' のタイプが重複しています",
type_w_no_fields: "フィールドのない空のタイプ '{{typeName}}' が宣言されました",
empty_type_field_name: "タイプ '{{typeName}}' のフィールド `name` が空です",
empty_type_field_type: "タイプ '{{typeName}}' のフィールド `type` が空です",
no_values_for_type_field: "タイプ '{{typeName}}' のフィールド '{{fieldName}}' はタイプ `{{type}}` ですが、値が指定されていません",
duplicate_type_fields: "タイプ '{{typeName}}' 内に名前 '{{fieldName}}' のフィールドが重複しています",
duplicate_reference: "名前 '{{refName}}' の参照が重複しています",
circular_dependency: "テーブル '{{refName}}' を含む循環依存が検出されました",
timeline: "タイムライン",
priority: "優先度",
none: "なし",
low: "低",
medium: "中",
high: "高",
sort_by: "並べ替え",
my_order: "マイオーダー",
completed: "完了",
alphabetically: "アルファベット順",
add_task: "タスクを追加",
details: "詳細",
no_tasks: "タスクはまだありません。",
no_activity: "アクティビティはまだありません。",
move_element: "{{name}} を {{coords}} に移動",
edit_area: "{{extra}} エリア {{areaName}} を編集",
delete_area: "エリア {{areaName}} を削除",
edit_note: "{{extra}} ノート {{noteTitle}} を編集",
delete_note: "ノート {{noteTitle}} を削除",
edit_table: "{{extra}} テーブル {{tableName}} を編集",
delete_table: "テーブル {{tableName}} を削除",
edit_type: "{{extra}} タイプ {{typeName}} を編集",
delete_type: "タイプ {{typeName}} を削除",
add_relationship: "リレーションシップを追加",
edit_relationship: "{{extra}} リレーションシップ {{refName}} を編集",
delete_relationship: "リレーションシップ {{refName}} を削除",
not_found: "見つかりません",
pick_db: "データベースを選択",
generic: "一般",
generic_description: "一般的なダイアグラムは任意のSQL方言にエクスポートできますが、データタイプのサポートは限定的です。",
enums: "列挙型",
add_enum: "列挙型を追加",
edit_enum: "{{extra}} 列挙型 {{enumName}} を編集",
delete_enum: "列挙型を削除",
enum_w_no_name: "名前のない列挙型が見つかりました",
enum_w_no_values: "列挙型 '{{enumName}}' に値がありません",
duplicate_enums: "名前 '{{enumName}}' の列挙型が重複しています",
no_enums: "列挙型がありません",
no_enums_text: "ここで列挙型を定義",
declare_array: "配列を宣言",
empty_index_name: "テーブル '{{tableName}}' 内で名前のないインデックスが宣言されました",
didnt_find_diagram: "おっと!ダイアグラムが見つかりませんでした。",
unsigned: "符号なし",
share: "共有",
copy_link: "リンクをコピー",
readme: "README",
failed_to_load: "読み込みに失敗しました。リンクが正しいか確認してください。",
share_info: "* このリンクを共有してもリアルタイムコラボレーションセッションは作成されません。"
}
}; };
export { jp, japanese }; const jp = {
translation: {
report_bug: "バグを報告",
import_from: "インポート",
import: "インポート",
file: "ファイル",
new: "新規",
new_window: "新しいウィンドウ",
open: "開く",
save: "保存",
save_as: "名前を付けて保存",
save_as_template: "テンプレートとして保存",
template_saved: "テンプレートが保存されました!",
rename: "名前を変更",
delete_diagram: "ダイアグラムを削除",
are_you_sure_delete_diagram:
"このダイアグラムを削除してもよろしいですか? この操作は取り消せません。",
oops_smth_went_wrong: "おっと!何かがうまくいかなかった。",
import_diagram: "ダイアグラムをインポート",
import_from_source: "SQLからインポート",
export_as: "としてエクスポート",
export_source: "SQLをエクスポート",
models: "モデル",
exit: "終了",
edit: "編集",
undo: "元に戻す",
redo: "やり直す",
clear: "クリア",
are_you_sure_clear:
"ダイアグラムをクリアしてもよろしいですか? この操作は取り消せません。",
cut: "切り取り",
copy: "コピー",
paste: "貼り付け",
duplicate: "複製",
delete: "削除",
copy_as_image: "画像としてコピー",
view: "表示",
header: "メニューバー",
sidebar: "サイドバー",
issues: "問題",
presentation_mode: "プレゼンテーションモード",
strict_mode: "厳格モード",
field_details: "フィールドの詳細",
reset_view: "ビューをリセット",
show_grid: "グリッドを表示",
show_cardinality: "カーディナリティを表示",
theme: "テーマ",
light: "ライト",
dark: "ダーク",
zoom_in: "ズームイン",
zoom_out: "ズームアウト",
fullscreen: "全画面表示",
settings: "設定",
show_timeline: "タイムラインを表示",
autosave: "自動保存",
panning: "パンニング",
show_debug_coordinates: "デバッグ座標を表示",
transform: "変換",
viewbox: "ビュー・ボックス",
cursor_coordinates: "カーソルの座標",
coordinate_space: "空間",
coordinate_space_screen: "スクリーン",
coordinate_space_diagram: "ダイアグラム",
table_width: "テーブル幅",
language: "言語",
flush_storage: "ストレージを消去",
are_you_sure_flush_storage:
"ストレージを消去してもよろしいですか? これにより、すべてのダイアグラムとカスタムテンプレートが取り消し不能に削除されます。",
storage_flushed: "ストレージが消去されました",
help: "ヘルプ",
shortcuts: "ショートカット",
ask_on_discord: "Discordで質問する",
feedback: "フィードバック",
no_changes: "変更なし",
loading: "読み込み中...",
last_saved: "最後の保存",
saving: "保存中...",
failed_to_save: "保存に失敗しました",
fit_window_reset: "ウィンドウに合わせる / リセット",
zoom: "ズーム",
add_table: "テーブルを追加",
add_area: "エリアを追加",
add_note: "ノートを追加",
add_type: "タイプを追加",
to_do: "やるべきこと",
tables: "テーブル",
relationships: "リレーションシップ",
subject_areas: "主題領域",
notes: "ノート",
types: "タイプ",
search: "検索...",
no_tables: "テーブルがありません",
no_tables_text: "ダイアグラムの作成を開始しましょう!",
no_relationships: "リレーションシップがありません",
no_relationships_text: "フィールドを接続してリレーションシップを作成!",
no_subject_areas: "主題領域がありません",
no_subject_areas_text: "主題領域を追加してテーブルをグループ化しましょう!",
no_notes: "ノートがありません",
no_notes_text: "追加情報の記録にノートを使用",
no_types: "タイプがありません",
no_types_text: "カスタムデータタイプを作成",
no_issues: "問題は検出されていません。",
strict_mode_is_on_no_issues:
"厳格モードがオフになっているため、問題は表示されません。",
name: "名前",
type: "タイプ",
null: "Null",
not_null: "Not null",
primary: "主キー",
unique: "ユニーク",
autoincrement: "オートインクリメント",
default_value: "デフォルト",
check: "チェック式",
this_will_appear_as_is:
"*これが生成されたスクリプトにそのまま表示されます。",
comment: "コメント",
add_field: "フィールドを追加",
values: "値",
size: "サイズ",
precision: "精度",
set_precision: "精度を設定: 'サイズ, 桁数'",
use_for_batch_input: "バッチ入力に使用する場合は , を使用",
indices: "インデックス",
add_index: "インデックスを追加",
select_fields: "フィールドを選択",
title: "タイトル",
not_set: "設定されていません",
foreign: "外部キー",
cardinality: "カーディナリティ",
on_update: "更新時",
on_delete: "削除時",
swap: "入れ替え",
one_to_one: "1対1",
one_to_many: "1対多",
many_to_one: "多対1",
content: "内容",
types_info:
"この機能はPostgreSQLのようなオブジェクトリレーショナルDBMS向けです。\nMySQLやMariaDBで使用した場合、対応するjsonの検証チェックと共にJSONタイプが生成されます。\nSQLiteで使用した場合、BLOBに変換されます。\nMSSQLで使用した場合、最初のフィールドへのタイプエイリアスが生成されます。",
table_deleted: "テーブルが削除されました",
area_deleted: "エリアが削除されました",
note_deleted: "ノートが削除されました",
relationship_deleted: "リレーションシップが削除されました",
type_deleted: "タイプが削除されました",
cannot_connect: "接続できません、列のタイプが異なります",
copied_to_clipboard: "クリップボードにコピーされました",
create_new_diagram: "新しいダイアグラムを作成",
cancel: "キャンセル",
open_diagram: "ダイアグラムを開く",
rename_diagram: "ダイアグラムの名前を変更",
export: "エクスポート",
export_image: "画像をエクスポート",
create: "作成",
confirm: "確認",
last_modified: "最終更新",
drag_and_drop_files:
"ファイルをここにドラッグ&ドロップするかクリックしてアップロードします。",
upload_sql_to_generate_diagrams:
"SQLファイルをアップロードしてテーブルと列を自動生成します。",
overwrite_existing_diagram: "既存のダイアグラムを上書きする",
only_mysql_supported:
"*現在のところMySQLスクリプトの読み込みのみサポートされています。",
blank: "空白",
filename: "ファイル名",
table_w_no_name: "名前のないテーブルが宣言されました",
duplicate_table_by_name: "名前 '{{tableName}}' のテーブルが重複しています",
empty_field_name: "テーブル '{{tableName}}' のフィールド `name` が空です",
empty_field_type: "テーブル '{{tableName}}' のフィールド `type` が空です",
no_values_for_field:
"テーブル '{{tableName}}' のフィールド '{{fieldName}}' はタイプ `{{type}}` ですが、値が指定されていません",
default_doesnt_match_type:
"テーブル '{{tableName}}' のフィールド '{{fieldName}}' のデフォルト値がタイプと一致しません",
not_null_is_null:
"テーブル '{{tableName}}' のフィールド '{{fieldName}}' はNOT NULLですが、デフォルトはNULLです",
duplicate_fields:
"テーブル '{{tableName}}' 内に名前 '{{fieldName}}' のフィールドが重複しています",
duplicate_index:
"テーブル '{{tableName}}' 内に名前 '{{indexName}}' のインデックスが重複しています",
empty_index:
"テーブル '{{tableName}}' のインデックスは列をインデックスしていません",
no_primary_key: "テーブル '{{tableName}}' に主キーがありません",
type_with_no_name: "名前のないタイプが宣言されました",
duplicate_types: "名前 '{{typeName}}' のタイプが重複しています",
type_w_no_fields:
"フィールドのない空のタイプ '{{typeName}}' が宣言されました",
empty_type_field_name: "タイプ '{{typeName}}' のフィールド `name` が空です",
empty_type_field_type: "タイプ '{{typeName}}' のフィールド `type` が空です",
no_values_for_type_field:
"タイプ '{{typeName}}' のフィールド '{{fieldName}}' はタイプ `{{type}}` ですが、値が指定されていません",
duplicate_type_fields:
"タイプ '{{typeName}}' 内に名前 '{{fieldName}}' のフィールドが重複しています",
duplicate_reference: "名前 '{{refName}}' の参照が重複しています",
circular_dependency:
"テーブル '{{refName}}' を含む循環依存が検出されました",
timeline: "タイムライン",
priority: "優先度",
none: "なし",
low: "低",
medium: "中",
high: "高",
sort_by: "並べ替え",
my_order: "マイオーダー",
completed: "完了",
alphabetically: "アルファベット順",
add_task: "タスクを追加",
details: "詳細",
no_tasks: "タスクはまだありません。",
no_activity: "アクティビティはまだありません。",
move_element: "{{name}} を {{coords}} に移動",
edit_area: "{{extra}} エリア {{areaName}} を編集",
delete_area: "エリア {{areaName}} を削除",
edit_note: "{{extra}} ノート {{noteTitle}} を編集",
delete_note: "ノート {{noteTitle}} を削除",
edit_table: "{{extra}} テーブル {{tableName}} を編集",
delete_table: "テーブル {{tableName}} を削除",
edit_type: "{{extra}} タイプ {{typeName}} を編集",
delete_type: "タイプ {{typeName}} を削除",
add_relationship: "リレーションシップを追加",
edit_relationship: "{{extra}} リレーションシップ {{refName}} を編集",
delete_relationship: "リレーションシップ {{refName}} を削除",
not_found: "見つかりません",
pick_db: "データベースを選択",
generic: "一般",
generic_description:
"一般的なダイアグラムは任意のSQL方言にエクスポートできますが、データタイプのサポートは限定的です。",
enums: "列挙型",
add_enum: "列挙型を追加",
edit_enum: "{{extra}} 列挙型 {{enumName}} を編集",
delete_enum: "列挙型を削除",
enum_w_no_name: "名前のない列挙型が見つかりました",
enum_w_no_values: "列挙型 '{{enumName}}' に値がありません",
duplicate_enums: "名前 '{{enumName}}' の列挙型が重複しています",
no_enums: "列挙型がありません",
no_enums_text: "ここで列挙型を定義",
declare_array: "配列を宣言",
empty_index_name:
"テーブル '{{tableName}}' 内で名前のないインデックスが宣言されました",
didnt_find_diagram: "おっと!ダイアグラムが見つかりませんでした。",
unsigned: "符号なし",
share: "共有",
copy_link: "リンクをコピー",
readme: "README",
failed_to_load:
"読み込みに失敗しました。リンクが正しいか確認してください。",
share_info:
"* このリンクを共有してもリアルタイムコラボレーションセッションは作成されません。",
},
};
export { jp, japanese };

View File

@ -2,11 +2,12 @@ const kannada = {
name: "Kannada", name: "Kannada",
native_name: "ಕನ್ನಡ", native_name: "ಕನ್ನಡ",
code: "ka", code: "ka",
} };
const ka = { const ka = {
translation: { translation: {
report_bug: "ದೋಷವನ್ನು ವರದಿ ಮಾಡಿ", report_bug: "ದೋಷವನ್ನು ವರದಿ ಮಾಡಿ",
import_from: "ಆಮದು",
import: "ಆಮದು", import: "ಆಮದು",
file: "ಫೈಲ್", file: "ಫೈಲ್",
new: "ಹೊಸ", new: "ಹೊಸ",
@ -97,7 +98,8 @@ const ka = {
no_tables: "ಯಾವುದೇ ಕೋಷ್ಟಕಗಳಿಲ್ಲ", no_tables: "ಯಾವುದೇ ಕೋಷ್ಟಕಗಳಿಲ್ಲ",
no_tables_text: "ನಿಮ್ಮ ಚಿತ್ರವನ್ನು ನಿರ್ಮಿಸಲು ಪ್ರಾರಂಭಿಸಿ!", no_tables_text: "ನಿಮ್ಮ ಚಿತ್ರವನ್ನು ನಿರ್ಮಿಸಲು ಪ್ರಾರಂಭಿಸಿ!",
no_relationships: "ಯಾವುದೇ ಸಂಬಂಧಗಳಿಲ್ಲ", no_relationships: "ಯಾವುದೇ ಸಂಬಂಧಗಳಿಲ್ಲ",
no_relationships_text: "ಕ್ಷೇತ್ರಗಳನ್ನು ಸಂಪರ್ಕಿಸಲು ಎಳೆಯಿರಿ ಮತ್ತು ಸಂಬಂಧಗಳನ್ನು ರೂಪಿಸಿ!", no_relationships_text:
"ಕ್ಷೇತ್ರಗಳನ್ನು ಸಂಪರ್ಕಿಸಲು ಎಳೆಯಿರಿ ಮತ್ತು ಸಂಬಂಧಗಳನ್ನು ರೂಪಿಸಿ!",
no_subject_areas: "ಯಾವುದೇ ವಿಷಯ ಪ್ರದೇಶಗಳಿಲ್ಲ", no_subject_areas: "ಯಾವುದೇ ವಿಷಯ ಪ್ರದೇಶಗಳಿಲ್ಲ",
no_subject_areas_text: "ಕೋಷ್ಟಕಗಳನ್ನು ಗುಂಪು ಮಾಡಲು ವಿಷಯ ಪ್ರದೇಶಗಳನ್ನು ಸೇರಿಸಿ!", no_subject_areas_text: "ಕೋಷ್ಟಕಗಳನ್ನು ಗುಂಪು ಮಾಡಲು ವಿಷಯ ಪ್ರದೇಶಗಳನ್ನು ಸೇರಿಸಿ!",
no_notes: "ಯಾವುದೇ ಟಿಪ್ಪಣಿಗಳಿಲ್ಲ", no_notes: "ಯಾವುದೇ ಟಿಪ್ಪಣಿಗಳಿಲ್ಲ",
@ -116,7 +118,8 @@ const ka = {
autoincrement: "ಸ್ವಯಂವೃದ್ಧಿ", autoincrement: "ಸ್ವಯಂವೃದ್ಧಿ",
default_value: "ಪೂರ್ವನಿಯೋಜಿತ", default_value: "ಪೂರ್ವನಿಯೋಜಿತ",
check: "ಪರಿಶೀಲನೆ", check: "ಪರಿಶೀಲನೆ",
this_will_appear_as_is: "*ಇದು ತಯಾರಿಸಲಾದ ಸ್ಕ್ರಿಪ್ಟ್‌ನಲ್ಲಿ ಹಾಗೆಯೇ ಕಾಣಿಸುತ್ತದೆ.", this_will_appear_as_is:
"*ಇದು ತಯಾರಿಸಲಾದ ಸ್ಕ್ರಿಪ್ಟ್‌ನಲ್ಲಿ ಹಾಗೆಯೇ ಕಾಣಿಸುತ್ತದೆ.",
comment: "ಟಿಪ್ಪಣಿ", comment: "ಟಿಪ್ಪಣಿ",
add_field: "ಕ್ಷೇತ್ರವನ್ನು ಸೇರಿಸಿ", add_field: "ಕ್ಷೇತ್ರವನ್ನು ಸೇರಿಸಿ",
values: "ಮೌಲ್ಯಗಳು", values: "ಮೌಲ್ಯಗಳು",
@ -156,8 +159,8 @@ const ka = {
create: "ರಚಿಸಿ", create: "ರಚಿಸಿ",
confirm: "ದೃಢೀಕರಿಸಿ", confirm: "ದೃಢೀಕರಿಸಿ",
last_modified: "ಕೊನೆಯದಾಗಿ ಬದಲಾಯಿಸಲಾಗಿದೆ", last_modified: "ಕೊನೆಯದಾಗಿ ಬದಲಾಯಿಸಲಾಗಿದೆ",
drag_and_drop_files: "ಫೈಲ್ ಅನ್ನು ಇಲ್ಲಿ ಎಳೆಯಿರಿ ಅಥವಾ ಅಪ್‌ಲೋಡ್ ಮಾಡಲು ಕ್ಲಿಕ್ ಮಾಡಿ.", drag_and_drop_files:
support_json_and_ddb: "JSON ಮತ್ತು DDB ಫೈಲ್‌ಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ", "ಫೈಲ್ ಅನ್ನು ಇಲ್ಲಿ ಎಳೆಯಿರಿ ಅಥವಾ ಅಪ್‌ಲೋಡ್ ಮಾಡಲು ಕ್ಲಿಕ್ ಮಾಡಿ.",
upload_sql_to_generate_diagrams: upload_sql_to_generate_diagrams:
"ನಿಮ್ಮ ಕೋಷ್ಟಕಗಳು ಮತ್ತು ಕಂಬಿಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ತಯಾರಿಸಲು sql ಫೈಲ್ ಅನ್ನು ಅಪ್‌ಲೋಡ್ ಮಾಡಿ.", "ನಿಮ್ಮ ಕೋಷ್ಟಕಗಳು ಮತ್ತು ಕಂಬಿಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ತಯಾರಿಸಲು sql ಫೈಲ್ ಅನ್ನು ಅಪ್‌ಲೋಡ್ ಮಾಡಿ.",
overwrite_existing_diagram: "ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಚಿತ್ರವನ್ನು ಮರುಬರೆಯಿರಿ", overwrite_existing_diagram: "ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಚಿತ್ರವನ್ನು ಮರುಬರೆಯಿರಿ",
@ -179,11 +182,13 @@ const ka = {
"ಕೋಷ್ಟಕ '{{tableName}}' ನಲ್ಲಿ ಹೆಸರಿನ ಮೂಲಕ ನಕಲು ಕೋಷ್ಟಕ ಕ್ಷೇತ್ರಗಳು '{{fieldName}}'", "ಕೋಷ್ಟಕ '{{tableName}}' ನಲ್ಲಿ ಹೆಸರಿನ ಮೂಲಕ ನಕಲು ಕೋಷ್ಟಕ ಕ್ಷೇತ್ರಗಳು '{{fieldName}}'",
duplicate_index: duplicate_index:
"ಕೋಷ್ಟಕ '{{tableName}}' ನಲ್ಲಿ ಹೆಸರಿನ ಮೂಲಕ ನಕಲು ಸೂಚಿ '{{indexName}}'", "ಕೋಷ್ಟಕ '{{tableName}}' ನಲ್ಲಿ ಹೆಸರಿನ ಮೂಲಕ ನಕಲು ಸೂಚಿ '{{indexName}}'",
empty_index: "ಕೋಷ್ಟಕ '{{tableName}}' ನಲ್ಲಿ ಸೂಚಿ ಯಾವುದೇ ಕಂಬಿಗಳನ್ನು ಸೂಚಿಸುತ್ತಿಲ್ಲ", empty_index:
"ಕೋಷ್ಟಕ '{{tableName}}' ನಲ್ಲಿ ಸೂಚಿ ಯಾವುದೇ ಕಂಬಿಗಳನ್ನು ಸೂಚಿಸುತ್ತಿಲ್ಲ",
no_primary_key: "ಕೋಷ್ಟಕ '{{tableName}}' ನಲ್ಲಿ ಪ್ರಾಥಮಿಕ ಕೀ ಇಲ್ಲ", no_primary_key: "ಕೋಷ್ಟಕ '{{tableName}}' ನಲ್ಲಿ ಪ್ರಾಥಮಿಕ ಕೀ ಇಲ್ಲ",
type_with_no_name: "ಹೆಸರಿಲ್ಲದ ಪ್ರಕಾರವನ್ನು ಘೋಷಿಸಲಾಗಿದೆ", type_with_no_name: "ಹೆಸರಿಲ್ಲದ ಪ್ರಕಾರವನ್ನು ಘೋಷಿಸಲಾಗಿದೆ",
duplicate_types: "ಹೆಸರಿನ ಮೂಲಕ ನಕಲು ಪ್ರಕಾರಗಳು '{{typeName}}'", duplicate_types: "ಹೆಸರಿನ ಮೂಲಕ ನಕಲು ಪ್ರಕಾರಗಳು '{{typeName}}'",
type_w_no_fields: "ಕ್ಷೇತ್ರಗಳಿಲ್ಲದ ಖಾಲಿ ಪ್ರಕಾರ '{{typeName}}' ಅನ್ನು ಘೋಷಿಸಲಾಗಿದೆ", type_w_no_fields:
"ಕ್ಷೇತ್ರಗಳಿಲ್ಲದ ಖಾಲಿ ಪ್ರಕಾರ '{{typeName}}' ಅನ್ನು ಘೋಷಿಸಲಾಗಿದೆ",
empty_type_field_name: "ಪ್ರಕಾರ '{{typeName}}' ನಲ್ಲಿ ಖಾಲಿ ಕ್ಷೇತ್ರ `ಹೆಸರು`", empty_type_field_name: "ಪ್ರಕಾರ '{{typeName}}' ನಲ್ಲಿ ಖಾಲಿ ಕ್ಷೇತ್ರ `ಹೆಸರು`",
empty_type_field_type: "ಪ್ರಕಾರ '{{typeName}}' ನಲ್ಲಿ ಖಾಲಿ ಕ್ಷೇತ್ರ `ಪ್ರಕಾರ`", empty_type_field_type: "ಪ್ರಕಾರ '{{typeName}}' ನಲ್ಲಿ ಖಾಲಿ ಕ್ಷೇತ್ರ `ಪ್ರಕಾರ`",
no_values_for_type_field: no_values_for_type_field:
@ -233,13 +238,15 @@ const ka = {
no_enums: "ಯಾವುದೇ ಎನಮ್‌ಗಳಿಲ್ಲ", no_enums: "ಯಾವುದೇ ಎನಮ್‌ಗಳಿಲ್ಲ",
no_enums_text: "ಇಲ್ಲಿ ಎನಮ್‌ಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ", no_enums_text: "ಇಲ್ಲಿ ಎನಮ್‌ಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿ",
declare_array: "ಅರೆ ಅನ್ನು ಘೋಷಿಸಿ", declare_array: "ಅರೆ ಅನ್ನು ಘೋಷಿಸಿ",
empty_index_name: "ಕೋಷ್ಟಕ '{{tableName}}' ನಲ್ಲಿ ಹೆಸರಿಲ್ಲದ ಸೂಚಿಯನ್ನು ಘೋಷಿಸಲಾಗಿದೆ", empty_index_name:
"ಕೋಷ್ಟಕ '{{tableName}}' ನಲ್ಲಿ ಹೆಸರಿಲ್ಲದ ಸೂಚಿಯನ್ನು ಘೋಷಿಸಲಾಗಿದೆ",
didnt_find_diagram: "ಅಯ್ಯೋ! ಚಿತ್ರವನ್ನು ಕಂಡುಹಿಡಿಯಲಿಲ್ಲ.", didnt_find_diagram: "ಅಯ್ಯೋ! ಚಿತ್ರವನ್ನು ಕಂಡುಹಿಡಿಯಲಿಲ್ಲ.",
unsigned: "ಅನ್‌ಸೈನ್ ಮಾಡಲಾಗಿದೆ", unsigned: "ಅನ್‌ಸೈನ್ ಮಾಡಲಾಗಿದೆ",
share: "ಹಂಚಿಕೊಳ್ಳಿ", share: "ಹಂಚಿಕೊಳ್ಳಿ",
copy_link: "ಲಿಂಕ್ ನಕಲಿಸಿ", copy_link: "ಲಿಂಕ್ ನಕಲಿಸಿ",
readme: "README", readme: "README",
failed_to_load: "ಲೋಡ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ. ಲಿಂಕ್ ಸರಿಯಾಗಿದೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.", failed_to_load:
"ಲೋಡ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ. ಲಿಂಕ್ ಸರಿಯಾಗಿದೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.",
share_info: share_info:
"* ಈ ಲಿಂಕ್ ಅನ್ನು ಹಂಚಿಕೊಳ್ಳುವುದರಿಂದ ಲೈವ್ ರಿಯಲ್-ಟೈಮ್ ಸಹಯೋಗ ಸೆಷನ್ ರಚಿಸಲಾಗುವುದಿಲ್ಲ.", "* ಈ ಲಿಂಕ್ ಅನ್ನು ಹಂಚಿಕೊಳ್ಳುವುದರಿಂದ ಲೈವ್ ರಿಯಲ್-ಟೈಮ್ ಸಹಯೋಗ ಸೆಷನ್ ರಚಿಸಲಾಗುವುದಿಲ್ಲ.",
}, },

View File

@ -7,6 +7,7 @@ const korean = {
const ko = { const ko = {
translation: { translation: {
report_bug: "문제 보고", report_bug: "문제 보고",
import_from: "가져오기",
import: "가져오기", import: "가져오기",
file: "파일", file: "파일",
new: "새로 만들기", new: "새로 만들기",
@ -18,7 +19,8 @@ const ko = {
template_saved: "템플릿이 저장되었습니다!", template_saved: "템플릿이 저장되었습니다!",
rename: "이름 변경", rename: "이름 변경",
delete_diagram: "다이어그램 삭제", delete_diagram: "다이어그램 삭제",
are_you_sure_delete_diagram: "이 다이어그램을 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.", are_you_sure_delete_diagram:
"이 다이어그램을 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.",
oops_smth_went_wrong: "이런! 문제가 발생했습니다.", oops_smth_went_wrong: "이런! 문제가 발생했습니다.",
import_diagram: "다이어그램 가져오기", import_diagram: "다이어그램 가져오기",
import_from_source: "SQL에서 가져오기", import_from_source: "SQL에서 가져오기",
@ -30,7 +32,8 @@ const ko = {
undo: "실행 취소", undo: "실행 취소",
redo: "다시 실행", redo: "다시 실행",
clear: "지우기", clear: "지우기",
are_you_sure_clear: "이 다이어그램을 지우시겠습니까? 이 작업은 되돌릴 수 없습니다.", are_you_sure_clear:
"이 다이어그램을 지우시겠습니까? 이 작업은 되돌릴 수 없습니다.",
cut: "잘라내기", cut: "잘라내기",
copy: "복사", copy: "복사",
paste: "붙여넣기", paste: "붙여넣기",
@ -67,7 +70,8 @@ const ko = {
table_width: "테이블 너비", table_width: "테이블 너비",
language: "언어", language: "언어",
flush_storage: "저장소 비우기", flush_storage: "저장소 비우기",
are_you_sure_flush_storage: "저장소를 비우시겠습니까? 이 작업은 되돌릴 수 없으며 모든 다이어그램과 사용자 정의 템플릿이 삭제됩니다.", are_you_sure_flush_storage:
"저장소를 비우시겠습니까? 이 작업은 되돌릴 수 없으며 모든 다이어그램과 사용자 정의 템플릿이 삭제됩니다.",
storage_flushed: "저장소가 비워졌습니다", storage_flushed: "저장소가 비워졌습니다",
help: "도움말", help: "도움말",
shortcuts: "단축키", shortcuts: "단축키",
@ -102,7 +106,8 @@ const ko = {
no_types: "유형 없음", no_types: "유형 없음",
no_types_text: "사용자 정의 데이터 유형을 만드세요", no_types_text: "사용자 정의 데이터 유형을 만드세요",
no_issues: "감지된 이슈가 없습니다.", no_issues: "감지된 이슈가 없습니다.",
strict_mode_is_on_no_issues: "엄격 모드가 꺼져 있어 이슈가 표시되지 않습니다.", strict_mode_is_on_no_issues:
"엄격 모드가 꺼져 있어 이슈가 표시되지 않습니다.",
name: "이름", name: "이름",
type: "유형", type: "유형",
null: "널", null: "널",
@ -134,7 +139,8 @@ const ko = {
one_to_many: "일 대 다", one_to_many: "일 대 다",
many_to_one: "다 대 일", many_to_one: "다 대 일",
content: "내용", content: "내용",
types_info: "이 기능은 PostgreSQL과 같은 객체 관계형 데이터베이스 관리 시스템에 적합합니다.\nMySQL 또는 MariaDB에서는 해당 JSON 검사를 포함한 JSON 유형으로 생성됩니다.\nSQLite에서는 BLOB으로 변환됩니다.\nMSSQL에서는 첫 번째 필드의 유형 별칭이 생성됩니다.", types_info:
"이 기능은 PostgreSQL과 같은 객체 관계형 데이터베이스 관리 시스템에 적합합니다.\nMySQL 또는 MariaDB에서는 해당 JSON 검사를 포함한 JSON 유형으로 생성됩니다.\nSQLite에서는 BLOB으로 변환됩니다.\nMSSQL에서는 첫 번째 필드의 유형 별칭이 생성됩니다.",
table_deleted: "테이블이 삭제되었습니다", table_deleted: "테이블이 삭제되었습니다",
area_deleted: "영역이 삭제되었습니다", area_deleted: "영역이 삭제되었습니다",
note_deleted: "노트가 삭제되었습니다", note_deleted: "노트가 삭제되었습니다",
@ -152,30 +158,39 @@ const ko = {
confirm: "확인", confirm: "확인",
last_modified: "마지막 수정", last_modified: "마지막 수정",
drag_and_drop_files: "파일을 여기에 끌어다 놓거나 클릭하여 업로드하세요.", drag_and_drop_files: "파일을 여기에 끌어다 놓거나 클릭하여 업로드하세요.",
support_json_and_ddb: "JSON 및 DDB 파일을 지원합니다", upload_sql_to_generate_diagrams:
upload_sql_to_generate_diagrams: "SQL 파일을 업로드하여 테이블과 열을 자동 생성하세요.", "SQL 파일을 업로드하여 테이블과 열을 자동 생성하세요.",
overwrite_existing_diagram: "기존 다이어그램 덮어쓰기", overwrite_existing_diagram: "기존 다이어그램 덮어쓰기",
only_mysql_supported: "현재는 MySQL 스크립트만 지원합니다.", only_mysql_supported: "현재는 MySQL 스크립트만 지원합니다.",
blank: "비어있음", blank: "비어있음",
filename: "파일 이름", filename: "파일 이름",
table_w_no_name: "이름이 없는 테이블이 선언되었습니다", table_w_no_name: "이름이 없는 테이블이 선언되었습니다",
duplicate_table_by_name: "'{{tableName}}'라는 이름의 테이블이 중복 선언되었습니다", duplicate_table_by_name:
"'{{tableName}}'라는 이름의 테이블이 중복 선언되었습니다",
empty_field_name: "'{{tableName}}' 테이블의 필드 'name'이 비어 있습니다", empty_field_name: "'{{tableName}}' 테이블의 필드 'name'이 비어 있습니다",
empty_field_type: "'{{tableName}}' 테이블의 필드 'type'이 비어 있습니다", empty_field_type: "'{{tableName}}' 테이블의 필드 'type'이 비어 있습니다",
no_values_for_field: "'{{tableName}}' 테이블의 '{{fieldName}}' 필드 유형이 '{{type}}'이지만 값이 지정되지 않았습니다", no_values_for_field:
default_doesnt_match_type: "'{{tableName}}' 테이블의 '{{fieldName}}' 필드 기본값이 유형과 일치하지 않습니다", "'{{tableName}}' 테이블의 '{{fieldName}}' 필드 유형이 '{{type}}'이지만 값이 지정되지 않았습니다",
not_null_is_null: "'{{tableName}}' 테이블의 '{{fieldName}}' 필드가 NOT NULL이지만 기본값이 NULL입니다", default_doesnt_match_type:
duplicate_fields: "'{{tableName}}' 테이블에서 '{{fieldName}}' 필드가 중복 선언되었습니다", "'{{tableName}}' 테이블의 '{{fieldName}}' 필드 기본값이 유형과 일치하지 않습니다",
duplicate_index: "'{{tableName}}' 테이블에서 '{{indexName}}' 인덱스가 중복 선언되었습니다", not_null_is_null:
"'{{tableName}}' 테이블의 '{{fieldName}}' 필드가 NOT NULL이지만 기본값이 NULL입니다",
duplicate_fields:
"'{{tableName}}' 테이블에서 '{{fieldName}}' 필드가 중복 선언되었습니다",
duplicate_index:
"'{{tableName}}' 테이블에서 '{{indexName}}' 인덱스가 중복 선언되었습니다",
empty_index: "'{{tableName}}' 테이블의 인덱스에 열이 지정되지 않았습니다", empty_index: "'{{tableName}}' 테이블의 인덱스에 열이 지정되지 않았습니다",
no_primary_key: "'{{tableName}}' 테이블에 기본 키가 없습니다", no_primary_key: "'{{tableName}}' 테이블에 기본 키가 없습니다",
type_with_no_name: "이름이 없는 유형이 선언되었습니다", type_with_no_name: "이름이 없는 유형이 선언되었습니다",
duplicate_types: "'{{typeName}}'라는 이름의 유형이 중복 선언되었습니다", duplicate_types: "'{{typeName}}'라는 이름의 유형이 중복 선언되었습니다",
type_w_no_fields: "'{{typeName}}' 유형에 필드가 없는 빈 유형이 선언되었습니다", type_w_no_fields:
"'{{typeName}}' 유형에 필드가 없는 빈 유형이 선언되었습니다",
empty_type_field_name: "'{{typeName}}' 유형의 필드 'name'이 비어 있습니다", empty_type_field_name: "'{{typeName}}' 유형의 필드 'name'이 비어 있습니다",
empty_type_field_type: "'{{typeName}}' 유형의 필드 'type'이 비어 있습니다", empty_type_field_type: "'{{typeName}}' 유형의 필드 'type'이 비어 있습니다",
no_values_for_type_field: "'{{typeName}}' 유형의 '{{fieldName}}' 필드 유형이 '{{type}}'이지만 값이 지정되지 않았습니다", no_values_for_type_field:
duplicate_type_fields: "'{{typeName}}' 사용자 정의 클래스에서 '{{fieldName}}' 필드가 중복 선언되었습니다", "'{{typeName}}' 유형의 '{{fieldName}}' 필드 유형이 '{{type}}'이지만 값이 지정되지 않았습니다",
duplicate_type_fields:
"'{{typeName}}' 사용자 정의 클래스에서 '{{fieldName}}' 필드가 중복 선언되었습니다",
duplicate_reference: "'{{refName}}'라는 이름의 참조가 중복 선언되었습니다", duplicate_reference: "'{{refName}}'라는 이름의 참조가 중복 선언되었습니다",
circular_dependency: "'{{refName}}' 테이블을 포함한 순환 종속이 있습니다", circular_dependency: "'{{refName}}' 테이블을 포함한 순환 종속이 있습니다",
timeline: "타임라인", timeline: "타임라인",
@ -207,7 +222,8 @@ const ko = {
not_found: "찾을 수 없음", not_found: "찾을 수 없음",
pick_db: "데이터베이스 선택", pick_db: "데이터베이스 선택",
generic: "일반", generic: "일반",
generic_description: "일반 다이어그램은 모든 SQL 유형으로 내보낼 수 있지만 지원하는 데이터 유형이 적습니다.", generic_description:
"일반 다이어그램은 모든 SQL 유형으로 내보낼 수 있지만 지원하는 데이터 유형이 적습니다.",
enums: "열거형", enums: "열거형",
add_enum: "열거형 추가", add_enum: "열거형 추가",
edit_enum: "{{extra}} 열거형 {{enumName}} 수정", edit_enum: "{{extra}} 열거형 {{enumName}} 수정",
@ -218,7 +234,8 @@ const ko = {
no_enums: "열거형 없음", no_enums: "열거형 없음",
no_enums_text: "여기에 열거형을 정의하세요", no_enums_text: "여기에 열거형을 정의하세요",
declare_array: "배열 선언", declare_array: "배열 선언",
empty_index_name: "'{{tableName}}' 테이블에 이름 없는 인덱스가 선언되었습니다", empty_index_name:
"'{{tableName}}' 테이블에 이름 없는 인덱스가 선언되었습니다",
didnt_find_diagram: "이런! 다이어그램을 찾을 수 없습니다.", didnt_find_diagram: "이런! 다이어그램을 찾을 수 없습니다.",
unsigned: "부호 없음", unsigned: "부호 없음",
}, },

View File

@ -1,219 +1,219 @@
const marathi = { const marathi = {
name: "Marathi", name: "Marathi",
native_name: "मराठी", native_name: "मराठी",
code: "mr", code: "mr",
}; };
const mr = { const mr = {
translation: { translation: {
report_bug: "बग रिपोर्ट करा", report_bug: "बग रिपोर्ट करा",
import: "आयात", import_from: "आयात",
file: "फाइल", import: "आयात",
new: "नवीन", file: "फाइल",
new_window: "नवीन विंडो", new: "नवीन",
open: "उघडा", new_window: "नवीन विंडो",
save: "जतन", open: "उघडा",
save_as: "च्या रूपात जतन करा", save: "जतन",
save_as_template: "टेम्पलेट म्हणून जतन करा", save_as: "च्या रूपात जतन करा",
template_saved: "टेम्पलेट जतन झाले!", save_as_template: "टेम्पलेट म्हणून जतन करा",
rename: "नाव बदला", template_saved: "टेम्पलेट जतन झाले!",
delete_diagram: "डायग्राम हटवा", rename: "नाव बदला",
are_you_sure_delete_diagram: delete_diagram: "डायग्राम हटवा",
"आपण खरोखर हा डायग्राम हटवू इच्छिता? ही क्रिया अपरिवर्तनीय आहे.", are_you_sure_delete_diagram:
oops_smth_went_wrong: "अरे! काहीतरी चूक झाली.", "आपण खरोखर हा डायग्राम हटवू इच्छिता? ही क्रिया अपरिवर्तनीय आहे.",
import_diagram: "डायग्राम आयात करा", oops_smth_went_wrong: "अरे! काहीतरी चूक झाली.",
import_from_source: "SQL मधून आयात करा", import_diagram: "डायग्राम आयात करा",
export_as: "च्या रूपात निर्यात करा", import_from_source: "SQL मधून आयात करा",
export_source: "SQL निर्यात करा", export_as: "च्या रूपात निर्यात करा",
models: "मॉडेल्स", export_source: "SQL निर्यात करा",
exit: "बाहेर पडा", models: "मॉडेल्स",
edit: "संपादन करा", exit: "बाहेर पडा",
undo: "पूर्ववत करा", edit: "संपादन करा",
redo: "पुन्हा करा", undo: "पूर्ववत करा",
clear: "साफ करा", redo: "पुन्हा करा",
are_you_sure_clear: clear: "साफ करा",
"आपण खरोखर हा डायग्राम साफ करू इच्छिता? ही क्रिया अपरिवर्तनीय आहे.", are_you_sure_clear:
cut: "कापा", "आपण खरोखर हा डायग्राम साफ करू इच्छिता? ही क्रिया अपरिवर्तनीय आहे.",
copy: "कॉपी करा", cut: "कापा",
paste: "पेस्ट करा", copy: "कॉपी करा",
duplicate: "प्रतिलिपी बनवा", paste: "पेसट करा",
delete: "हटवा", duplicate: "प्रतिलिपी बनवा",
copy_as_image: "प्रतिमेच्या रूपात कॉपी करा", delete: "हटवा",
view: "दृश्य", copy_as_image: "प्रतिमेच्या रूपात कॉपी करा",
header: "मेनूबार", view: "दृश्य",
sidebar: "साइडबार", header: "मेनूबार",
issues: "समस्या", sidebar: "साइडबार",
presentation_mode: "प्रस्तुतीकरण मोड", issues: "समस्या",
strict_mode: "कडक मोड", presentation_mode: "प्रस्तुतीकरण मोड",
field_details: "फील्ड तपशील", strict_mode: "कडक मोड",
reset_view: "दृश्य रीसेट करा", field_details: "फील्ड तपशील",
show_grid: "ग्रिड दाखवा", reset_view: "दृश्य रीसेट करा",
show_cardinality: "कार्डिनॅलिटी दाखवा", show_grid: "ग्रिड दाखवा",
theme: "थीम", show_cardinality: "कार्डिनॅलिटी दाखवा",
light: "प्रकाश", theme: "थीम",
dark: "अंधार", light: "प्रकाश",
zoom_in: "झूम इन", dark: "अंधार",
zoom_out: "झूम आऊट", zoom_in: "झूम इन",
fullscreen: "पूर्ण स्क्रीन", zoom_out: "झूम आऊट",
settings: "सेटिंग्स", fullscreen: "पूर्ण स्क्रीन",
show_timeline: "टाइमलाइन दाखवा", settings: "सेटिंग्स",
autosave: "ऑटोसेव", show_timeline: "टाइमलाइन दाखवा",
panning: "पॅनिंग", autosave: "ऑटोसेव",
table_width: "टेबलची रुंदी", panning: "पॅनिंग",
language: "भाषा", table_width: "टेबलची रुंदी",
flush_storage: "स्टोरेज साफ करा", language: "भाषा",
are_you_sure_flush_storage: flush_storage: "स्टोरेज साफ करा",
"आपण खरोखर स्टोरेज साफ करू इच्छिता? हे सर्व आपले डायग्राम आणि कस्टम टेम्पलेट्स अपरिवर्तनीयपणे हटवेल.", are_you_sure_flush_storage:
storage_flushed: "स्टोरेज साफ केले", "आपण खरोखर स्टोरेज साफ करू इच्छिता? ह सर्व आपले डायग्राम आणि कस्टम टेम्पलेट्स अपरिवर्तनीयपणे हटवेल.",
help: "मदत", storage_flushed: "स्टोरेज साफ केले",
shortcuts: "शॉर्टकट्स", help: "मदत",
ask_on_discord: "आमच्याकडे Discord वर विचारा", shortcuts: "शॉर्टकट्स",
feedback: "प्रतिक्रिया", ask_on_discord: "आमच्याकडे Discord वर विचारा",
no_changes: "कोणतेही बदल नाहीत", feedback: "प्रतिक्रिया",
loading: "लोड होत आहे...", no_changes: "कोणतेही बदल नाहीत",
last_saved: "शेवटचा जतन", loading: "लोड होत आहे...",
saving: "जतन होत आहे...", last_saved: "शेवटचा जतन",
failed_to_save: "जतन करण्यात अयशस्वी", saving: "जतन होत आहे...",
fit_window_reset: "विंडो फिट करा / रीसेट करा", failed_to_save: "जतन करण्यात अयशस्वी",
zoom: "झूम", fit_window_reset: "विंडो फिट करा / रीसेट करा",
add_table: "टेबल जोडा", zoom: "झूम",
add_area: "क्षेत्र जोडा", add_table: "टेबल जोडा",
add_note: "नोंद जोडा", add_area: "क्षेत्र जोडा",
add_type: "प्रकार जोडा", add_note: "नोंद जोडा",
to_do: "करण्यासाठी", add_type: "प्रकार जोडा",
tables: "टेबल्स", to_do: "करण्यासाठी",
relationships: "संबंध", tables: "टेबल्स",
subject_areas: "विषय क्षेत्रे", relationships: "संबंध",
notes: "नोंदी", subject_areas: "विषय क्षेत्रे",
types: "प्रकार", notes: "नोंदी",
search: "शोधा...", types: "प्रकार",
no_tables: "कोणतेही टेबल्स नाहीत", search: "शोधा...",
no_tables_text: "आपला डायग्राम तयार करण्यास प्रारंभ करा!", no_tables: "कोणतेही टेबल्स नाहीत",
no_relationships: "कोणतेही संबंध नाहीत", no_tables_text: "आपला डायग्राम तयार करण्यास प्रारंभ करा!",
no_relationships_text: "फील्ड्स कनेक्ट करण्यासाठी खेचा आणि संबंध तयार करा!", no_relationships: "कोणतेही संबंध नाहीत",
no_subject_areas: "कोणतेही विषय क्षेत्रे नाहीत", no_relationships_text: "फील्ड्स कनेक्ट करण्यासाठी खेचा आणि संबंध तयार करा!",
no_subject_areas_text: "टेबल्स ग्रुप करण्यासाठी विषय क्षेत्रे जोडा!", no_subject_areas: "कोणतेही विषय क्षेत्रे नाहीत",
no_notes: "कोणतेही नोट्स नाहीत", no_subject_areas_text: "टेबल्स ग्रुप करण्यासाठी विषय क्षेत्रे जोडा!",
no_notes_text: "अतिरिक्त माहिती नोंदवण्यासाठी नोट्स वापरा", no_notes: "कोणतेही नोट्स नाहीत",
no_types: "कोणतेही प्रकार नाहीत", no_notes_text: "अतिरिक्त माहिती नोंदवण्यासाठी नोट्स वापरा",
no_types_text: "आपले स्वतःचे कस्टम डेटा प्रकार तयार करा", no_types: "कोणतेही प्रकार नाहीत",
no_issues: "कोणत्याही समस्या आढळल्या नाहीत.", no_types_text: "आपले स्वतःचे कस्टम डेटा प्रकार तयार करा",
strict_mode_is_on_no_issues: no_issues: "कोणत्याही समस्या आढळल्या नाहीत.",
"कडक मोड बंद आहे म्हणून कोणत्याही समस्या दाखवल्या जाणार नाहीत.", strict_mode_is_on_no_issues:
name: "नाव", "कडक मोड बंद आहे म्हणू कोणत्यही समस्या दाखल्या जाणार नाहीत.",
type: "प्रकार", name: "नाव",
null: "Null", type: "प्रकार",
not_null: "नॉट null", null: "Null",
primary: "प्राथमिक", not_null: "नॉट null",
unique: "युनिक", primary: "प्राथमिक",
autoincrement: "स्वतः वाढ", unique: "युनिक",
default_value: "डिफ़ॉल्ट", autoincrement: "स्वतः वाढ",
check: "चेक एक्सप्रेशन", default_value: "डिफ़ॉल्ट",
this_will_appear_as_is: "*हे जेनरेटेड स्क्रिप्टमध्ये जसे आहे तसेच दिसेल.", check: "चेक एक्सप्रेशन",
comment: "टिप्पणी", this_will_appear_as_is: "*हे जेनरेटेड स्क्रिप्टमध्ये जसे आहे तसेच दिसेल.",
add_field: "फील्ड जोडा", comment: "टिप्पणी",
values: "व्हॅल्यूज", add_field: "फील्ड जोडा",
size: "आकार", values: "व्हॅल्यूज",
precision: "तपशीलता", size: "आकार",
set_precision: "तपशीलता सेट करा: (आकार, डिजिट्स)", precision: "तपशीलता",
use_for_batch_input: "बॅच इनपुटसाठी वापरा", set_precision: "तपशीलता सेट करा: (आकार, डिजिट्स)",
indices: "इंडायसेस", use_for_batch_input: "बॅच इनपुटसाठी वापरा",
add_index: "इंडेक्स जोडा", indices: "इंडायसेस",
select_fields: "फील्ड्स निवडा", add_index: "इंडेक्स जोडा",
title: "शीर्षक", select_fields: "फील्ड्स निवडा",
not_set: "सेट नाही", title: "शीर्षक",
foreign: "फॉरेन", not_set: "सेट नाही",
cardinality: "कार्डिनॅलिटी", foreign: "फॉरेन",
on_update: "अपडेट वर", cardinality: "कार्डिनॅलिटी",
on_delete: "हटवताना", on_update: "अपडेट वर",
swap: "स्वॅप", on_delete: "हटवताना",
one_to_one: "एक ते एक", swap: "स्वॅप",
one_to_many: "एक ते अनेक", one_to_one: "एक ते एक",
many_to_one: "अनेक ते एक", one_to_many: "एक ते अनेक",
content: "कंटेंट", many_to_one: "अनेक ते एक",
types_info: content: "कंटेंट",
"ही सुविधा object-relational DBMS जसे PostgreSQL साठी आहे.\nMySQL किंवा MariaDB साठी वापरल्यास, एक JSON प्रकार जेनरेट केला जाईल ज्यात संबंधित json वैधता तपासणी असेल.\nSQLite साठी वापरल्यास ते BLOB मध्ये रूपांतरित केले जाईल.\nMSSQL साठी वापरल्यास प्रथम फील्डसाठी एक प्रकार उपनाम जेनरेट केला जाईल.", types_info:
table_deleted: "टेबल हटवले", "ही सुविधा object-relational DBMS जसे PostgreSQL साठी आहे.\nMySQL किंवा MariaDB साठी वापरल्यास, एक JSON प्रकार जेनरेट केला जाईल ज्यात संबंधित json वैधता तपासणी असेल.\nSQLite साठी वापरल्यास ते BLOB मध्ये रूपांतरित केले जाईल.\nMSSQL साठी वापरल्यास प्रथम फील्डसाठी एक प्रकार उपनाम जेनरेट केला जाईल.",
area_deleted: "क्षेत्र हटवले", table_deleted: "टेबल हटवले",
note_deleted: "नोंद हटवली", area_deleted: "क्षेत्र हटवले",
relationship_deleted: "संबंध हटवला", note_deleted: "नोंद हटवली",
type_deleted: "प्रकार हटवला", relationship_deleted: "संबंध हटवला",
cannot_connect: "कनेक्ट करू शकत नाही, कॉलमचे प्रकार वेगवेगळे आहेत", type_deleted: "प्रकार हटवला",
copied_to_clipboard: "क्लिपबोर्डवर कॉपी केले", cannot_connect: "कनेक्ट करू शकत नाही, कॉलमचे प्रकार वेगवेगळे आहेत",
create_new_diagram: "नवीन डायग्राम तयार करा", copied_to_clipboard: "क्लिपबोर्डवर कॉपी केले",
cancel: "रद्द करा", create_new_diagram: "नवीन डायग्राम तयार करा",
open_diagram: "डायग्राम उघडा", cancel: "रद्द करा",
rename_diagram: "डायग्रामचे नाव बदला", open_diagram: "डायग्राम उघडा",
export: "निर्यात", rename_diagram: "डायग्रामचे नाव बदला",
export_image: "इमेज निर्यात", export: "निर्यात",
create: "तयार करा", export_image: "इमेज निर्यात",
confirm: "पुष्टी करा", create: "तयार करा",
last_modified: "शेवटचे बदलले", confirm: "पुष्टी करा",
drag_and_drop_files: "फाइल येथे खेचा आणि सोडा किंवा अपलोड करण्यासाठी क्लिक करा.", last_modified: "शेवटचे बदलले",
support_json_and_ddb: "JSON आणि DDB फाइल्स समर्थित आहेत", drag_and_drop_files:
upload_sql_to_generate_diagrams: "फाइल येथे खेचा आणि सोडा किंवा अपलोड करण्यासाठी क्लिक करा.",
"आपल्या टेबल आणि कॉलम स्वयंचलितपणे जेनरेट करण्यासाठी SQL फाइल अपलोड करा.", upload_sql_to_generate_diagrams:
overwrite_existing_diagram: "मौजूदा डायग्राम अधिलेखित करा", "आपल्या टेबल आणि कॉलम स्वयंचलितपणे जेनरेट करण्यासाठी SQL फाइल अपलोड करा.",
only_mysql_supported: overwrite_existing_diagram: "मौजूदा डायग्राम अधिलेखित करा",
"*सध्या फक्त MySQL स्क्रिप्ट्स लोड करणे समर्थित आहे.", only_mysql_supported: "*सध्या फक्त MySQL स्क्रिप्ट्स लोड करणे समर्थित आहे.",
blank: "रिक्त", blank: "रिक्त",
filename: "फाइलनाम", filename: "फाइलनाम",
table_w_no_name: "नाव नसलेल्या टेबलची घोषणा केली", table_w_no_name: "नाव नसलेल्या टेबलची घोषणा केली",
duplicate_table_by_name: "नावाने डुप्लिकेट टेबल '{{tableName}}'", duplicate_table_by_name: "नावाने डुप्लिकेट टेबल '{{tableName}}'",
empty_field_name: "टेबल '{{tableName}}' मध्ये रिक्त फील्ड 'नाव'", empty_field_name: "टेबल '{{tableName}}' मध्ये रिक्त फील्ड 'नाव'",
empty_field_type: "टेबल '{{tableName}}' मध्ये रिक्त फील्ड 'प्रकार'", empty_field_type: "टेबल '{{tableName}}' मध्ये रिक्त फील्ड 'प्रकार'",
no_values_for_field: no_values_for_field:
"टेबल '{{tableName}}' च्या फील्ड '{{fieldName}}' चा प्रकार '{{type}}' आहे पण कोणतीही व्हॅल्यू निर्दिष्ट केलेली नाही", "टेबल '{{tableName}}' च्या फील्ड '{{fieldName}}' चा प्रकार '{{type}}' आहे पण कोणतीही व्हॅल्यू निर्दिष्ट केलेली नाही",
default_doesnt_match_type: default_doesnt_match_type:
"टेबल '{{tableName}}' च्या फील्ड '{{fieldName}}' ची डिफ़ॉल्ट व्हॅल्यू त्याच्या प्रकाराशी जुळत नाही", "टेबल '{{tableName}}' च्या फील्ड '{{fieldName}}' ची डिफ़ॉल्ट व्हॅल्यू त्याच्या प्रकाराशी जुळत नाही",
not_null_is_null: not_null_is_null:
"टेबल '{{tableName}}' च्या फील्ड '{{fieldName}}' ची व्हॅल्यू NOT NULL आहे पण डिफ़ॉल्ट NULL आहे", "टेबल '{{tableName}}' च्या फील्ड '{{fieldName}}' ची व्हॅल्यू NOT NULL आहे पण डिफ़ॉल्ट NULL आहे",
duplicate_fields: duplicate_fields:
"टेबल '{{tableName}}' मध्ये नाव '{{fieldName}}' असलेले डुप्लिकेट टेबल फील्ड्स", "टेबल '{{tableName}}' मध्ये नाव '{{fieldName}}' असलेले डुप्लिकेट टेबल फील्ड्स",
duplicate_index: duplicate_index:
"टेबल '{{tableName}}' मध्ये नाव '{{indexName}}' असलेला डुप्लिकेट इंडेक्स", "टेबल '{{tableName}}' मध्ये नाव '{{indexName}}' असलेला डुप्लिकेट इंडेक्स",
empty_index: "टेबल '{{tableName}}' मध्ये इंडेक्स कोणताही कॉलम इंडेक्स करत नाही", empty_index:
no_primary_key: "टेबल '{{tableName}}' मध्ये कोणतीही प्राथमिक कुंजी नाही", "टेबल '{{tableName}}' मध्ये इंडेक्स कोणताही कॉलम इंडेक्स करत नाही",
type_with_no_name: "नाव नसलेला प्रकार घोषित केला", no_primary_key: "टेबल '{{tableName}}' मध्ये कोणतीही प्राथमिक कुंजी नाही",
duplicate_types: "नाव '{{typeName}}' असलेले डुप्लिकेट प्रकार", type_with_no_name: "नाव नसलेला प्रकार घोषित केला",
type_w_no_fields: "कोणतेही फील्ड नसलेला प्रकार '{{typeName}}' घोषित केला", duplicate_types: "नाव '{{typeName}}' असलेले डुप्लिकेट प्रकार",
empty_type_field_name: "प्रकार '{{typeName}}' मध्ये रिक्त फील्ड 'नाव'", type_w_no_fields: "कोणतेही फील्ड नसलेला प्रकार '{{typeName}}' घोषित केला",
empty_type_field_type: "प्रकार '{{typeName}}' मध्ये रिक्त फील्ड 'प्रकार'", empty_type_field_name: "प्रकार '{{typeName}}' मध्ये रिक्त फील्ड 'नाव'",
no_values_for_type_field: empty_type_field_type: "प्रकार '{{typeName}}' मध्ये रिक्त फील्ड 'प्रकार'",
"प्रकार '{{typeName}}' च्या फील्ड '{{fieldName}}' चा प्रकार '{{type}}' आहे पण कोणतीही व्हॅल्यू निर्दिष्ट केलेली नाही", no_values_for_type_field:
duplicate_type_fields: "प्रकार '{{typeName}}' च्या फील्ड '{{fieldName}}' चा प्रकार '{{type}}' आहे पण कोणतीही व्हॅल्यू निर्दिष्ट केलेली नाही",
"प्रकार '{{typeName}}' मध्ये नाव '{{fieldName}}' असलेले डुप्लिकेट प्रकार फील्ड्स", duplicate_type_fields:
duplicate_reference: "नाव '{{refName}}' असलेला डुप्लिकेट संदर्भ", "प्रकार '{{typeName}}' मध्ये नाव '{{fieldName}}' असलेले डुप्लिकेट प्रकार फील्ड्स",
circular_dependency: "टेबल '{{refName}}' मध्ये परिपत्रक अवलंबित्व", duplicate_reference: "नाव '{{refName}}' असलेला डुप्लिकेट संदर्भ",
timeline: "वेळरेखा", circular_dependency: "टेबल '{{refName}}' मध्ये परिपत्रक अवलंबित्व",
priority: "प्राथमिकता", timeline: "वेळरेखा",
none: "कोणतीही नाही", priority: "प्राथमिकता",
low: "कमी", none: "कोणतीही नाही",
medium: "मध्यम", low: "कमी",
high: "उच्च", medium: "मध्यम",
sort_by: "क्रमानुसार", high: "उच्च",
my_order: "माझा क्रम", sort_by: "क्रमानुसार",
completed: "पूर्ण", my_order: "माझा क्रम",
alphabetically: "वर्णक्रमानुसार", completed: "पूर्ण",
add_task: "कार्य जोडा", alphabetically: "वर्णक्रमानुसार",
details: "तपशील", add_task: "कार्य जोडा",
no_tasks: "आपल्याकडे अद्याप कोणतीही कार्ये नाहीत.", details: "तपशील",
no_activity: "आपल्याकडे अद्याप कोणतीही क्रियाकलाप नाही.", no_tasks: "आपल्याकडे अद्याप कोणतीही कार्ये नाहीत.",
move_element: "{{name}} ला {{coords}} वर हलवा", no_activity: "आपल्याकडे अद्याप कोणतीही क्रियाकलाप नाही.",
edit_area: "{{extra}} संपादन क्षेत्र {{areaName}}", move_element: "{{name}} ला {{coords}} वर हलवा",
delete_area: "क्षेत्र हटवा {{areaName}}", edit_area: "{{extra}} संपादन क्षेत्र {{areaName}}",
edit_note: "{{extra}} नोंद संपादन करा {{noteTitle}}", delete_area: "क्षेत्र हटवा {{areaName}}",
delete_note: "नोंद हटवा {{noteTitle}}", edit_note: "{{extra}} नोंद संपादन करा {{noteTitle}}",
edit_table: "{{extra}} टेबल संपादन करा {{tableName}}", delete_note: "नोंद हटवा {{noteTitle}}",
delete_table: "टेबल हटवा {{tableName}}", edit_table: "{{extra}} टेबल संपादन करा {{tableName}}",
edit_type: "{{extra}} प्रकार संपादन करा {{typeName}}", delete_table: "टेबल हटवा {{tableName}}",
delete_type: "प्रकार हटवा {{typeName}}", edit_type: "{{extra}} प्रकार संपादन करा {{typeName}}",
add_relationship: "संबंध जोडा", delete_type: "प्रकार हटवा {{typeName}}",
edit_relationship: "{{extra}} संबंध संपादन करा {{refName}}", add_relationship: "संबंध जोडा",
delete_relationship: "संबंध हटवा {{refName}}", edit_relationship: "{{extra}} संबंध संपादन करा {{refName}}",
not_found: "सापडले नाही", delete_relationship: "संबंध हटवा {{refName}}",
}, not_found: "सापडले नाही",
}; },
};
export { mr, marathi };
export { mr, marathi };

View File

@ -1,168 +1,170 @@
const nepali = { const nepali = {
name: "Nepali", name: "Nepali",
native_name: "नेपाली", native_name: "नेपाली",
code: "ne", code: "ne",
}; };
const ne = { const ne = {
translation: { translation: {
report_bug: "बग रिपोर्ट गर्नुहोस्", report_bug: "बग रिपोर्ट गर्नुहोस्",
import: "इम्पोर्ट गर्नुहोस्", import_from: "इम्पोर्ट गर्नुहोस्",
file: "फाइल", import: "इम्पोर्ट गर्नुहोस्",
new: "नयाँ", file: "फाइल",
new_window: "नयाँ विन्डो", new: "नयाँ",
open: "खोल्नुहोस्", new_window: "नयाँ विन्डो",
save: "सेभ गर्नुहोस्", open: "खोल्नुहोस्",
save_as: "यो रूपमा सेभ गर्नुहोस्", save: "सेभ गर्नुहोस्",
save_as_template: "टेम्पलेट रूपमा सेभ गर्नुहोस्", save_as: "यो रूपमा सेभ गर्नुहोस्",
template_saved: "टेम्पलेट सेभ गरियो!", save_as_template: "टेम्पलेट रूपमा सेभ गर्नुहोस्",
rename: "नाम परिवर्तन गर्नुहोस्", template_saved: "टेम्पलेट सेभ गरियो!",
delete_diagram: "डायग्राम मेटाउनुहोस्", rename: "नाम परिवर्तन गर्नुहोस्",
are_you_sure_delete_diagram: delete_diagram: "डायग्राम मेटाउनुहोस्",
"के तपाईं पक्का यो डायग्राम मेटाउन चाहनुहुन्छ? यो कार्य पुनः प्राप्त गर्न सकिँदैन।", are_you_sure_delete_diagram:
oops_smth_went_wrong: "उफ! केहि गलत भयो।", "के तपाईं पक्का यो डायग्राम मेटाउन चाहनुहुन्छ? यो कार्य पुनः प्राप्त गर्न सकिँदैन।",
import_diagram: "डायग्राम इम्पोर्ट गर्नुहोस्", oops_smth_went_wrong: "उफ! केहि गलत भयो।",
import_from_source: "स्रोतबाट इम्पोर्ट गर्नुहोस्", import_diagram: "डायग्राम इम्पोर्ट गर्नुहोस्",
export_as: "यो रूपमा एक्सपोर्ट गर्नुहोस्", import_from_source: "स्रोतबाट इम्पोर्ट गर्नुहोस्",
export_source: "स्रोत एक्सपोर्ट गर्नुहोस्", export_as: "यो रूपमा एक्सपोर्ट गर्नुहोस्",
models: "मोडल्स", export_source: "स्रोत एक्सपोर्ट गर्नुहोस्",
exit: "निस्कनुहोस्", models: "मोडल्स",
edit: "सम्पादन गर्नुहोस्", exit: "निस्कनुहोस्",
undo: "पूर्ववत गर्नुहोस्", edit: "सम्पादन गर्नुहोस्",
redo: "पुन: गर्नुहोस्", undo: "पूर्ववत गर्नुहोस्",
clear: "सफा गर्नुहोस्", redo: "पुन: गर्नुहोस्",
are_you_sure_clear: clear: "सफा गर्नुहोस्",
"के तपाईं पक्का यो डायग्राम सफा गर्न चाहनुहुन्छ? यो पुनः प्राप्त गर्न सकिँदैन।", are_you_sure_clear:
cut: "काट्नुहोस्", "के तपाईं पक्का यो डायग्राम सफा गर्न चाहनुहुन्छ? यो पुनः प्राप्त गर्न सकिँदैन।",
copy: "कपी गर्नुहोस्", cut: "काट्नुहोस्",
paste: "पेस्ट गर्नुहोस्", copy: "कपी गर्नुहोस्",
duplicate: "डुप्लिकेट गर्नुहोस्", paste: "पेस्ट गर्नुहोस्",
delete: "मेटाउनुहोस्", duplicate: "डुप्लिकेट गर्नुहोस्",
copy_as_image: "छविको रूपमा कपी गर्नुहोस्", delete: "मेटाउनुहोस्",
view: "दृश्य", copy_as_image: "छविको रूपमा कपी गर्नुहोस्",
header: "हेडर", view: "दृश्य",
sidebar: "साइडबार", header: "हेडर",
issues: "समस्याहरू", sidebar: "साइडबार",
presentation_mode: "प्रस्तुति मोड", issues: "समस्याहरू",
strict_mode: "स्ट्रिक्ट मोड", presentation_mode: "प्रस्तुति मोड",
field_details: "फिल्ड विवरणहरू", strict_mode: "स्ट्रिक्ट मोड",
reset_view: "दृश्य रिसेट गर्नुहोस्", field_details: "फिल्ड विवरणहरू",
show_grid: "ग्रिड देखाउनुहोस्", reset_view: "दृश्य रिसेट गर्नुहोस्",
show_cardinality: "कार्डिनालिटी देखाउनुहोस्", show_grid: "ग्रिड देखाउनुहोस्",
theme: "थीम", show_cardinality: "कार्डिनालिटी देखाउनुहोस्",
light: "प्रकाश", theme: "थीम",
dark: "अँध्यारो", light: "प्रकाश",
zoom_in: "जुम इन गर्नुहोस्", dark: "अँध्यारो",
zoom_out: "जुम आउट गर्नुहोस्", zoom_in: "जुम इन गर्नुहोस्",
fullscreen: "पूर्ण स्क्रिन", zoom_out: "जुम आउट गर्नुहोस्",
settings: "सेटिङ्स", fullscreen: "पूर्ण स्क्रिन",
show_timeline: "टाइमलाइन देखाउनुहोस्", settings: "सेटिङ्स",
autosave: "स्वतः सेभ", show_timeline: "टाइमलाइन देखाउनुहोस्",
panning: "प्यानिङ", autosave: "स्वतः सेभ",
table_width: "टेबल चौडाइ", panning: "प्यानिङ",
language: "भाषा", table_width: "टेबल चौडाइ",
flush_storage: "स्टोरेज सफा गर्नुहोस्", language: "भाषा",
are_you_sure_flush_storage: flush_storage: "स्टोरेज सफा गर्नुहोस्",
"के तपाईं पक्का स्टोरेज सफा गर्न चाहनुहुन्छ? यसले तपाईंको सबै डायग्राम र कस्टम टेम्पलेटहरू स्थायी रूपमा मेटाउँछ।", are_you_sure_flush_storage:
storage_flushed: "स्टोरेज सफा गरियो", "के तपाईं पक्का स्टोरेज सफा गर्न चाहनुहुन्छ? यसले तपाईंको सबै डायग्राम र कस्टम टेम्पलेटहरू स्थायी रूपमा मेटाउँछ।",
help: "मद्दत", storage_flushed: "स्टोरेज सफा गरियो",
shortcuts: "शॉर्टकटहरू", help: "मद्दत",
ask_on_discord: "हामीलाई Discord मा सोध्नुहोस्", shortcuts: "शॉर्टकटहरू",
feedback: "प्रतिक्रिया", ask_on_discord: "हामीलाई Discord मा सोध्नुहोस्",
no_changes: "कुनै परिवर्तन छैन", feedback: "प्रतिक्रिया",
loading: "लोड हुँदैछ...", no_changes: "कुनै परिवर्तन छैन",
last_saved: "अन्तिम सेभ गरिएको", loading: "लोड हुँदैछ...",
saving: "सेभ गर्दैछ...", last_saved: "अन्तिम सेभ गरिएको",
failed_to_save: "सेभ गर्न असफल", saving: "सेभ गर्दैछ...",
fit_window_reset: "विन्डो फिट गर्नुहोस् / रिसेट गर्नुहोस्", failed_to_save: "सेभ गर्न असफल",
zoom: "जुम", fit_window_reset: "विन्डो फिट गर्नुहोस् / रिसेट गर्नुहोस्",
add_table: "टेबल थप्नुहोस्", zoom: "जुम",
add_area: "क्षेत्र थप्नुहोस्", add_table: "टेबल थप्नुहोस्",
add_note: "नोट थप्नुहोस्", add_area: "क्षेत्र थप्नुहोस्",
add_type: "प्रकार थप्नुहोस्", add_note: "नोट थप्नुहोस्",
to_do: "गर्नु पर्ने", add_type: "प्रकार थप्नुहोस्",
tables: "टेबलहरू", to_do: "गर्नु पर्ने",
relationships: "सम्बन्धहरू", tables: "टेबलहरू",
subject_areas: "विषय क्षेत्रहरू", relationships: "सम्बन्धहरू",
notes: "नोटहरू", subject_areas: "विषय क्षेत्रहरू",
types: "प्रकारहरू", notes: "नोटहरू",
search: "खोज्नुहोस्...", types: "प्रकारहरू",
no_tables: "कुनै टेबलहरू छैनन्", search: "खोज्नुहोस्...",
no_tables_text: "आफ्नो डायग्राम बनाउन सुरु गर्नुहोस्!", no_tables: "कुनै टेबलहरू छैनन्",
no_relationships: "कुनै सम्बन्धहरू छैनन्", no_tables_text: "आफ्नो डायग्राम बनाउन सुरु गर्नुहोस्!",
no_relationships_text: "फिल्डहरू जोड्न तानेर सम्बन्ध बनाउनुहोस्!", no_relationships: "कुनै सम्बन्धहरू छैनन्",
no_subject_areas: "कुनै विषय क्षेत्रहरू छैनन्", no_relationships_text: "फिल्डहरू जोड्न तानेर सम्बन्ध बनाउनुहोस्!",
no_subject_areas_text: "टेबलहरू समूह गर्न विषय क्षेत्रहरू थप्नुहोस्!", no_subject_areas: "कुनै विषय क्षेत्रहरू छैनन्",
no_notes: "कुनै नोटहरू छैनन्", no_subject_areas_text: "टेबलहरू समूह गर्न विषय क्षेत्रहरू थप्नुहोस्!",
no_notes_text: "थप जानकारी रेकर्ड गर्न नोटहरू प्रयोग गर्नुहोस्", no_notes: "कुनै नोटहरू छैनन्",
no_types: "कुनै प्रकारहरू छैनन्", no_notes_text: "थप जानकारी रेकर्ड गर्न नोटहरू प्रयोग गर्नुहोस्",
no_types_text: "आफ्नो कस्टम डेटा प्रकारहरू बनाउनुहोस्", no_types: "कुनै प्रकारहरू छैनन्",
no_issues: "कुनै समस्या पाइएको छैन।", no_types_text: "आफ्नो कस्टम डेटा प्रकारहरू बनाउनुहोस्",
strict_mode_is_on_no_issues: no_issues: "कुनै समस्या पाइएको छैन।",
"स्ट्रिक्ट मोड बन्द छ त्यसैले कुनै समस्या देखाइने छैन।", strict_mode_is_on_no_issues:
name: "नाम", "स्ट्रिक्ट मोड बन्द छ त्यसैले कुनै समस्या देखाइने छैन।",
type: "प्रकार", name: "नाम",
null: "नल", type: "प्रकार",
not_null: "नल होइन", null: "नल",
primary: "प्राथमिक", not_null: "नल होइन",
unique: "युनिक", primary: "प्राथमिक",
autoincrement: "स्वतः वृद्धि", unique: "युनिक",
default_value: "डिफल्ट", autoincrement: "स्वतः वृद्धि",
check: "चेक अभिव्यक्ति", default_value: "डिफल्ट",
this_will_appear_as_is: "*यो जेनरेट गरिएको स्क्रिप्टमा जसरी हुन्छ त्यस्तै देखिनेछ।", check: "चेक अभिव्यक्ति",
comment: "टिप्पणी", this_will_appear_as_is:
add_field: "फिल्ड थप्नुहोस्", "*यो जेनरेट गरिएको स्क्रिप्टमा जसरी हुन्छ त्यस्तै देखिनेछ।",
values: "मानहरू", comment: "टिप्पणी",
size: "आकार", add_field: "फिल्ड थप्नुहोस्",
precision: "सटीकता", values: "मानहरू",
set_precision: "सटीकता सेट गर्नुहोस्: (आकार, अंकहरू)", size: "आकार",
use_for_batch_input: "ब्याच इनपुटका लागि प्रयोग गर्नुहोस्", precision: "सटीकता",
indices: "इन्डिसहरू", set_precision: "सटीकता सेट गर्नुहोस्: (आकार, अंकहरू)",
add_index: "इन्डेक्स थप्नुहोस्", use_for_batch_input: "ब्याच इनपुटका लागि प्रयोग गर्नुहोस्",
select_fields: "फिल्डहरू चयन गर्नुहोस्", indices: "इन्डिसहरू",
title: "शीर्षक", add_index: "इन्डेक्स थप्नुहोस्",
not_set: "सेट गरिएको छैन", select_fields: "फिल्डहरू चयन गर्नुहोस्",
foreign: "विदेशी", title: "शीर्षक",
cardinality: "कार्डिनालिटी", not_set: "सेट गरिएको छैन",
on_update: "अपडेट गर्दा", foreign: "विदेशी",
on_delete: "मेटाउँदा", cardinality: "कार्डिनालिटी",
swap: "स्वैप", on_update: "अपडेट गर्दा",
one_to_one: "एक देखि एक", on_delete: "मेटाउँदा",
one_to_many: "एक देखि धेरै", swap: "स्वैप",
many_to_one: "धेरै देखि एक", one_to_one: "एक देखि एक",
content: "सामग्री", one_to_many: "एक देखि धेरै",
types_info: many_to_one: "धेरै देखि एक",
"यो सुविधा object-relational DBMS जस्तै PostgreSQL का लागि हो।\nयदि MySQL वा MariaDB का लागि प्रयोग गरिन्छ भने, एक JSON प्रकार उत्पन्न हुनेछ।\nयदि SQLite का लागि प्रयोग गरिन्छ भने यसलाई BLOB मा परिणत गरिनेछ।\nयदि MSSQL का लागि प्रयोग गरिन्छ भने प्रकार उपनाम बनाइनेछ।", content: "सामग्री",
table_deleted: "टेबल मेटाइयो", types_info:
area_deleted: "क्षेत्र मेटाइयो", "यो सुविधा object-relational DBMS जस्तै PostgreSQL का लागि हो।\nयदि MySQL वा MariaDB का लागि प्रयोग गरिन्छ भने, एक JSON प्रकार उत्पन्न हुनेछ।\nयदि SQLite का लागि प्रयोग गरिन्छ भने यसलाई BLOB मा परिणत गरिनेछ।\nयदि MSSQL का लागि प्रयोग गरिन्छ भने प्रकार उपनाम बनाइनेछ।",
note_deleted: "नोट मेटाइयो", table_deleted: "टेबल मेटाइयो",
relationship_deleted: "सम्बन्ध मेटाइयो", area_deleted: "क्षेत्र मेटाइयो",
type_deleted: "प्रकार मेटाइयो", note_deleted: "नोट मेटाइयो",
cannot_connect: "जोड्न सकिँदैन, कॉलम प्रकारहरू फरक छन्", relationship_deleted: "सम्बन्ध मेटाइयो",
copied_to_clipboard: "क्लिपबोर्डमा कपी गरियो", type_deleted: "प्रकार मेटाइयो",
create_new_diagram: "नयाँ डायग्राम बनाउनुहोस्", cannot_connect: "जोड्न सकिँदैन, कॉलम प्रकारहरू फरक छन्",
cancel: "रद्द गर्नुहोस्", copied_to_clipboard: "क्लिपबोर्डमा कपी गरियो",
open_diagram: "डायग्राम खोल्नुहोस्", create_new_diagram: "नयाँ डायग्राम बनाउनुहोस्",
rename_diagram: "डायग्रामको नाम परिवर्तन गर्नुहोस्", cancel: "रद्द गर्नुहोस्",
export: "एक्सपोर्ट", open_diagram: "डायग्राम खोल्नुहोस्",
export_image: "इमेज एक्सपोर्ट गर्नुहोस्", rename_diagram: "डायग्रामको नाम परिवर्तन गर्नुहोस्",
create: "बनाउनुहोस्", export: "एक्सपोर्ट",
confirm: "पुष्टि गर्नुहोस्", export_image: "इमेज एक्सपोर्ट गर्नुहोस्",
last_modified: "अन्तिम पटक संशोधित", create: "बनाउनुहोस्",
drag_and_drop_files: "फाइललाई यहाँ तानेर छोड्नुहोस् वा अपलोड गर्न क्लिक गर्नुहोस्।", confirm: "पुष्टि गर्नुहोस्",
support_json_and_ddb: "JSON र DDB फाइलहरू समर्थित छन्", last_modified: "अन्तिम पटक संशोधित",
upload_sql_to_generate_diagrams: drag_and_drop_files:
"स्वचालित रूपमा डायग्राम सिर्जना गर्न SQL फाइल अपलोड गर्नुहोस्।", "फाइललाई यहाँ तानेर छोड्नुहोस् वा अपलोड गर्न क्लिक गर्नुहोस्।",
overwrite_existing_diagram: "मौजुदा डायग्रामलाई अधिलेखित गर्नुहोस्", upload_sql_to_generate_diagrams:
only_mysql_supported: "स्वचालित रूपमा डायग्राम सिर्जना गर्न SQL फाइल अपलोड गर्नुहोस्।",
"*हालको लागि केवल MySQL स्क्रिप्टहरू मात्र समर्थित छन्।", overwrite_existing_diagram: "मौजुदा डायग्रामलाई अधिलेखित गर्नुहोस्",
blank: "खाली", only_mysql_supported:
filename: "फाइल नाम", "*हालको लागि केवल MySQL स्क्रिप्टहरू मात्र समर्थित छन्।",
table_w_no_name: "नाम बिना टेबल घोषणा गरियो", blank: "खाली",
duplicate_table_by_name: "नामद्वारा डुप्लिकेट टेबल '{{tableName}}'", filename: "फाइल नाम",
empty_field_name: "टेबल '{{tableName}}' मा खाली फिल्ड `नाम`", table_w_no_name: "नाम बिना टेबल घोषणा गरियो",
empty_field_type: "टेबल '{{tableName}}' मा खाली फिल्ड `प्रकार`", duplicate_table_by_name: "नामद्वारा डुप्लिकेट टेबल '{{tableName}}'",
no_values_for_field: empty_field_name: "टेबल '{{tableName}}' मा खाली फिल्ड `नाम`",
empty_field_type: "टेबल '{{tableName}}' मा खाली फिल्ड `प्रकार`",
no_values_for_field:
"तालिका '{{tableName}}' को क्षेत्र '{{fieldName}}' को प्रकार `{{type}}` हो तर कुनै मान निर्दिष्ट गरिएको छैन", "तालिका '{{tableName}}' को क्षेत्र '{{fieldName}}' को प्रकार `{{type}}` हो तर कुनै मान निर्दिष्ट गरिएको छैन",
default_doesnt_match_type: default_doesnt_match_type:
"तालिका '{{tableName}}' मा क्षेत्र '{{fieldName}}' को डिफ़ल्ट मान यसको प्रकारसँग मेल खाँदैन", "तालिका '{{tableName}}' मा क्षेत्र '{{fieldName}}' को डिफ़ल्ट मान यसको प्रकारसँग मेल खाँदैन",
@ -172,7 +174,8 @@ const nepali = {
"तालिका '{{tableName}}' मा नाम '{{fieldName}}' भएका दोहोरो तालिका क्षेत्रहरू", "तालिका '{{tableName}}' मा नाम '{{fieldName}}' भएका दोहोरो तालिका क्षेत्रहरू",
duplicate_index: duplicate_index:
"तालिका '{{tableName}}' मा नाम '{{indexName}}' भएको दोहोरो सूची", "तालिका '{{tableName}}' मा नाम '{{indexName}}' भएको दोहोरो सूची",
empty_index: "तालिका '{{tableName}}' मा सूची कुनै पनि स्तम्भ सूची गरिरहेको छैन", empty_index:
"तालिका '{{tableName}}' मा सूची कुनै पनि स्तम्भ सूची गरिरहेको छैन",
no_primary_key: "तालिका '{{tableName}}' मा कुनै प्रमुख कुञ्जी छैन", no_primary_key: "तालिका '{{tableName}}' मा कुनै प्रमुख कुञ्जी छैन",
type_with_no_name: "कुनै नाम नभएको प्रकार घोषण गरिएको छ", type_with_no_name: "कुनै नाम नभएको प्रकार घोषण गरिएको छ",
duplicate_types: "नाम '{{typeName}}' भएका दोहोरो प्रकार", duplicate_types: "नाम '{{typeName}}' भएका दोहोरो प्रकार",
@ -211,8 +214,8 @@ const nepali = {
add_relationship: "संबन्ध थप्नुहोस्", add_relationship: "संबन्ध थप्नुहोस्",
edit_relationship: "{{extra}} सम्बन्ध सम्पादन गर्नुहोस् {{refName}}", edit_relationship: "{{extra}} सम्बन्ध सम्पादन गर्नुहोस् {{refName}}",
delete_relationship: "संबन्ध मेटाउनुहोस् {{refName}}", delete_relationship: "संबन्ध मेटाउनुहोस् {{refName}}",
not_found: "फेला परेन" not_found: "फेला परेन",
}, },
}; };
export { ne, nepali }; export { ne, nepali };

View File

@ -1,248 +1,249 @@
const norwegian = { const norwegian = {
name: "Norwegian", name: "Norwegian",
native_name: "Norsk", native_name: "Norsk",
code: "no", code: "no",
}; };
const no = { const no = {
translation: { translation: {
report_bug: "Rapporter en feil", report_bug: "Rapporter en feil",
import: "Importer", import_from: "Importer",
file: "Fil", import: "Importer",
new: "Ny", file: "Fil",
new_window: "Nytt vindu", new: "Ny",
open: "Åpne", new_window: "Nytt vindu",
save: "Lagre", open: "Åpne",
save_as: "Lagre som", save: "Lagre",
save_as_template: "Lagre som mal", save_as: "Lagre som",
template_saved: "Malen er lagret!", save_as_template: "Lagre som mal",
rename: "Gi nytt navn", template_saved: "Malen er lagret!",
delete_diagram: "Slett diagram", rename: "Gi nytt navn",
are_you_sure_delete_diagram: delete_diagram: "Slett diagram",
"Er du sikker på at du vil slette dette diagrammet? Denne handlingen er ugjenkallelig.", are_you_sure_delete_diagram:
oops_smth_went_wrong: "Oops! Noe gikk galt.", "Er du sikker på at du vil slette dette diagrammet? Denne handlingen er ugjenkallelig.",
import_diagram: "Importer diagram", oops_smth_went_wrong: "Oops! Noe gikk galt.",
import_from_source: "Importer fra SQL", import_diagram: "Importer diagram",
export_as: "Eksporter som", import_from_source: "Importer fra SQL",
export_source: "Eksporter SQL", export_as: "Eksporter som",
models: "Modeller", export_source: "Eksporter SQL",
exit: "Avslutt", models: "Modeller",
edit: "Rediger", exit: "Avslutt",
undo: "Angre", edit: "Rediger",
redo: "Gjør om", undo: "Angre",
clear: "Tøm", redo: "Gjør om",
are_you_sure_clear: clear: "Tøm",
"Er du sikker på at du vil tømme diagrammet? Dette er ugjenkallelig.", are_you_sure_clear:
cut: "Klipp ut", "Er du sikker på at du vil tømme diagrammet? Dette er ugjenkallelig.",
copy: "Kopier", cut: "Klipp ut",
paste: "Lim inn", copy: "Kopier",
duplicate: "Dupliser", paste: "Lim inn",
delete: "Slett", duplicate: "Dupliser",
copy_as_image: "Kopier som bilde", delete: "Slett",
view: "Vis", copy_as_image: "Kopier som bilde",
header: "Menylinje", view: "Vis",
sidebar: "Sidepanel", header: "Menylinje",
issues: "Problemer", sidebar: "Sidepanel",
presentation_mode: "Presentasjonsmodus", issues: "Problemer",
strict_mode: "Streng modus", presentation_mode: "Presentasjonsmodus",
field_details: "Feltdetaljer", strict_mode: "Streng modus",
reset_view: "Tilbakestill visning", field_details: "Feltdetaljer",
show_grid: "Vis rutenett", reset_view: "Tilbakestill visning",
show_cardinality: "Vis kardinalitet", show_grid: "Vis rutenett",
theme: "Tema", show_cardinality: "Vis kardinalitet",
light: "Lys", theme: "Tema",
dark: "Mørk", light: "Lys",
zoom_in: "Zoom inn", dark: "Mørk",
zoom_out: "Zoom ut", zoom_in: "Zoom inn",
fullscreen: "Fullskjerm", zoom_out: "Zoom ut",
settings: "Innstillinger", fullscreen: "Fullskjerm",
show_timeline: "Vis tidslinje", settings: "Innstillinger",
autosave: "Automatisk lagring", show_timeline: "Vis tidslinje",
panning: "Panorering", autosave: "Automatisk lagring",
show_debug_coordinates: "Vis feilsøkingskoordinater", panning: "Panorering",
transform: "Transformer", show_debug_coordinates: "Vis feilsøkingskoordinater",
viewbox: "Visningsboks", transform: "Transformer",
cursor_coordinates: "Markørkoordinater", viewbox: "Visningsboks",
coordinate_space: "Koordinatsystem", cursor_coordinates: "Markørkoordinater",
coordinate_space_screen: "Skjerm", coordinate_space: "Koordinatsystem",
coordinate_space_diagram: "Diagram", coordinate_space_screen: "Skjerm",
table_width: "Tabellbredde", coordinate_space_diagram: "Diagram",
language: "Språk", table_width: "Tabellbredde",
flush_storage: "Tøm lagring", language: "Språk",
are_you_sure_flush_storage: flush_storage: "Tøm lagring",
"Er du sikker på at du vil tømme lagringen? Dette vil ugjenkallelig slette alle dine diagrammer og egendefinerte maler.", are_you_sure_flush_storage:
storage_flushed: "Lagring tømt", "Er du sikker på at du vil tømme lagringen? Dette vil ugjenkallelig slette alle dine diagrammer og egendefinerte maler.",
help: "Hjelp", storage_flushed: "Lagring tømt",
shortcuts: "Snarveier", help: "Hjelp",
ask_on_discord: "Spør oss på Discord", shortcuts: "Snarveier",
feedback: "Tilbakemelding", ask_on_discord: "Spør oss på Discord",
no_changes: "Ingen endringer", feedback: "Tilbakemelding",
loading: "Laster...", no_changes: "Ingen endringer",
last_saved: "Sist lagret", loading: "Laster...",
saving: "Lagrer...", last_saved: "Sist lagret",
failed_to_save: "Kunne ikke lagre", saving: "Lagrer...",
fit_window_reset: "Tilpass vindu / Tilbakestill", failed_to_save: "Kunne ikke lagre",
zoom: "Zoom", fit_window_reset: "Tilpass vindu / Tilbakestill",
add_table: "Legg til tabell", zoom: "Zoom",
add_area: "Legg til område", add_table: "Legg til tabell",
add_note: "Legg til notat", add_area: "Legg til område",
add_type: "Legg til type", add_note: "Legg til notat",
to_do: "Oppgaver", add_type: "Legg til type",
tables: "Tabeller", to_do: "Oppgaver",
relationships: "Relasjoner", tables: "Tabeller",
subject_areas: "Emneområder", relationships: "Relasjoner",
notes: "Notater", subject_areas: "Emneområder",
types: "Typer", notes: "Notater",
search: "Søk...", types: "Typer",
no_tables: "Ingen tabeller", search: "Søk...",
no_tables_text: "Begynn å bygge diagrammet ditt!", no_tables: "Ingen tabeller",
no_relationships: "Ingen relasjoner", no_tables_text: "Begynn å bygge diagrammet ditt!",
no_relationships_text: "Dra for å koble felter og danne relasjoner!", no_relationships: "Ingen relasjoner",
no_subject_areas: "Ingen emneområder", no_relationships_text: "Dra for å koble felter og danne relasjoner!",
no_subject_areas_text: "Legg til emneområder for å gruppere tabeller!", no_subject_areas: "Ingen emneområder",
no_notes: "Ingen notater", no_subject_areas_text: "Legg til emneområder for å gruppere tabeller!",
no_notes_text: "Bruk notater for å legge til ekstra informasjon", no_notes: "Ingen notater",
no_types: "Ingen typer", no_notes_text: "Bruk notater for å legge til ekstra informasjon",
no_types_text: "Lag dine egne egendefinerte datatyper", no_types: "Ingen typer",
no_issues: "Ingen problemer ble oppdaget.", no_types_text: "Lag dine egne egendefinerte datatyper",
strict_mode_is_on_no_issues: no_issues: "Ingen problemer ble oppdaget.",
"Streng modus er av, så ingen problemer vil bli vist.", strict_mode_is_on_no_issues:
name: "Navn", "Streng modus er av, så ingen problemer vil bli vist.",
type: "Type", name: "Navn",
null: "Null", type: "Type",
not_null: "Ikke null", null: "Null",
primary: "Primær", not_null: "Ikke null",
unique: "Unik", primary: "Primær",
autoincrement: "Autoinkrement", unique: "Unik",
default_value: "Standardverdi", autoincrement: "Autoinkrement",
check: "Sjekk uttrykk", default_value: "Standardverdi",
this_will_appear_as_is: "*Dette vil vises i det genererte skriptet som det er.", check: "Sjekk uttrykk",
comment: "Kommentar", this_will_appear_as_is:
add_field: "Legg til felt", "*Dette vil vises i det genererte skriptet som det er.",
values: "Verdier", comment: "Kommentar",
size: "Størrelse", add_field: "Legg til felt",
precision: "Presisjon", values: "Verdier",
set_precision: "Sett presisjon: 'størrelse, siffer'", size: "Størrelse",
use_for_batch_input: "Bruk , for batch-inndata", precision: "Presisjon",
indices: "Indekser", set_precision: "Sett presisjon: 'størrelse, siffer'",
add_index: "Legg til indeks", use_for_batch_input: "Bruk , for batch-inndata",
select_fields: "Velg felter", indices: "Indekser",
title: "Tittel", add_index: "Legg til indeks",
not_set: "Ikke satt", select_fields: "Velg felter",
foreign: "Fremmed", title: "Tittel",
cardinality: "Kardinalitet", not_set: "Ikke satt",
on_update: "Ved oppdatering", foreign: "Fremmed",
on_delete: "Ved sletting", cardinality: "Kardinalitet",
swap: "Bytt", on_update: "Ved oppdatering",
one_to_one: "En-til-en", on_delete: "Ved sletting",
one_to_many: "En-til-mange", swap: "Bytt",
many_to_one: "Mange-til-en", one_to_one: "En-til-en",
content: "Innhold", one_to_many: "En-til-mange",
types_info: many_to_one: "Mange-til-en",
"Denne funksjonen er ment for objekt-relasjonelle DBMS-er som PostgreSQL.\nHvis brukt for MySQL eller MariaDB, vil en JSON-type bli generert med tilsvarende JSON-valideringssjekk.\nHvis brukt for SQLite, vil det bli oversatt til en BLOB.\nHvis brukt for MSSQL, vil en typealias til det første feltet bli generert.", content: "Innhold",
table_deleted: "Tabell slettet", types_info:
area_deleted: "Område slettet", "Denne funksjonen er ment for objekt-relasjonelle DBMS-er som PostgreSQL.\nHvis brukt for MySQL eller MariaDB, vil en JSON-type bli generert med tilsvarende JSON-valideringssjekk.\nHvis brukt for SQLite, vil det bli oversatt til en BLOB.\nHvis brukt for MSSQL, vil en typealias til det første feltet bli generert.",
note_deleted: "Notat slettet", table_deleted: "Tabell slettet",
relationship_deleted: "Relasjon slettet", area_deleted: "Område slettet",
type_deleted: "Type slettet", note_deleted: "Notat slettet",
cannot_connect: "Kan ikke koble, kolonnene har forskjellige typer", relationship_deleted: "Relasjon slettet",
copied_to_clipboard: "Kopiert til utklippstavlen", type_deleted: "Type slettet",
create_new_diagram: "Opprett nytt diagram", cannot_connect: "Kan ikke koble, kolonnene har forskjellige typer",
cancel: "Avbryt", copied_to_clipboard: "Kopiert til utklippstavlen",
open_diagram: "Åpne diagram", create_new_diagram: "Opprett nytt diagram",
rename_diagram: "Gi nytt navn til diagram", cancel: "Avbryt",
export: "Eksporter", open_diagram: "Åpne diagram",
export_image: "Eksporter bilde", rename_diagram: "Gi nytt navn til diagram",
create: "Opprett", export: "Eksporter",
confirm: "Bekreft", export_image: "Eksporter bilde",
last_modified: "Sist endret", create: "Opprett",
drag_and_drop_files: "Dra og slipp filen her eller klikk for å laste opp.", confirm: "Bekreft",
support_json_and_ddb: "JSON- og DDB-filer støttes", last_modified: "Sist endret",
upload_sql_to_generate_diagrams: drag_and_drop_files: "Dra og slipp filen her eller klikk for å laste opp.",
"Last opp en SQL-fil for å autogenerere dine tabeller og kolonner.", upload_sql_to_generate_diagrams:
overwrite_existing_diagram: "Overskriv eksisterende diagram", "Last opp en SQL-fil for å autogenerere dine tabeller og kolonner.",
only_mysql_supported: overwrite_existing_diagram: "Overskriv eksisterende diagram",
"*For tiden støttes kun lasting av MySQL-skript.", only_mysql_supported: "*For tiden støttes kun lasting av MySQL-skript.",
blank: "Blank", blank: "Blank",
filename: "Filnavn", filename: "Filnavn",
table_w_no_name: "Deklarerte en tabell uten navn", table_w_no_name: "Deklarerte en tabell uten navn",
duplicate_table_by_name: "Duplikattabell med navnet '{{tableName}}'", duplicate_table_by_name: "Duplikattabell med navnet '{{tableName}}'",
empty_field_name: "Tomt felt `navn` i tabell '{{tableName}}'", empty_field_name: "Tomt felt `navn` i tabell '{{tableName}}'",
empty_field_type: "Tomt felt `type` i tabell '{{tableName}}'", empty_field_type: "Tomt felt `type` i tabell '{{tableName}}'",
no_values_for_field: no_values_for_field:
"'{{fieldName}}' feltet i tabellen '{{tableName}}' er av typen `{{type}}`, men ingen verdier er spesifisert", "'{{fieldName}}' feltet i tabellen '{{tableName}}' er av typen `{{type}}`, men ingen verdier er spesifisert",
default_doesnt_match_type: default_doesnt_match_type:
"Standardverdien for feltet '{{fieldName}}' i tabellen '{{tableName}}' samsvarer ikke med dens type", "Standardverdien for feltet '{{fieldName}}' i tabellen '{{tableName}}' samsvarer ikke med dens type",
not_null_is_null: not_null_is_null:
"'{{fieldName}}' feltet i tabellen '{{tableName}}' er IKKE NULL, men har standardverdi NULL", "'{{fieldName}}' feltet i tabellen '{{tableName}}' er IKKE NULL, men har standardverdi NULL",
duplicate_fields: duplicate_fields:
"Duplikatfelter med navnet '{{fieldName}}' i tabell '{{tableName}}'", "Duplikatfelter med navnet '{{fieldName}}' i tabell '{{tableName}}'",
duplicate_index: duplicate_index:
"Duplikatindeks med navnet '{{indexName}}' i tabell '{{tableName}}'", "Duplikatindeks med navnet '{{indexName}}' i tabell '{{tableName}}'",
empty_index: "Indeks i tabell '{{tableName}}' indekserer ingen kolonner", empty_index: "Indeks i tabell '{{tableName}}' indekserer ingen kolonner",
no_primary_key: "Tabellen '{{tableName}}' har ingen primærnøkkel", no_primary_key: "Tabellen '{{tableName}}' har ingen primærnøkkel",
type_with_no_name: "Deklarerte en type uten navn", type_with_no_name: "Deklarerte en type uten navn",
duplicate_types: "Duplikattyper med navnet '{{typeName}}'", duplicate_types: "Duplikattyper med navnet '{{typeName}}'",
type_w_no_fields: "Deklarerte en tom type '{{typeName}}' uten felter", type_w_no_fields: "Deklarerte en tom type '{{typeName}}' uten felter",
empty_type_field_name: "Tomt felt `navn` i type '{{typeName}}'", empty_type_field_name: "Tomt felt `navn` i type '{{typeName}}'",
empty_type_field_type: "Tomt felt `type` i type '{{typeName}}'", empty_type_field_type: "Tomt felt `type` i type '{{typeName}}'",
no_values_for_type_field: no_values_for_type_field:
"'{{fieldName}}' feltet i typen '{{typeName}}' er av typen `{{type}}`, men ingen verdier er spesifisert", "'{{fieldName}}' feltet i typen '{{typeName}}' er av typen `{{type}}`, men ingen verdier er spesifisert",
duplicate_type_fields: duplicate_type_fields:
"Duplikatfelter med navnet '{{fieldName}}' i type '{{typeName}}'", "Duplikatfelter med navnet '{{fieldName}}' i type '{{typeName}}'",
duplicate_reference: "Duplikatreferanse med navnet '{{refName}}'", duplicate_reference: "Duplikatreferanse med navnet '{{refName}}'",
circular_dependency: "Sirkulær avhengighet som involverer tabell '{{refName}}'", circular_dependency:
timeline: "Tidslinje", "Sirkulær avhengighet som involverer tabell '{{refName}}'",
priority: "Prioritet", timeline: "Tidslinje",
none: "Ingen", priority: "Prioritet",
low: "Lav", none: "Ingen",
medium: "Middels", low: "Lav",
high: "Høy", medium: "Middels",
sort_by: "Sorter etter", high: "Høy",
my_order: "Min rekkefølge", sort_by: "Sorter etter",
completed: "Fullført", my_order: "Min rekkefølge",
alphabetically: "Alfabetisk", completed: "Fullført",
add_task: "Legg til oppgave", alphabetically: "Alfabetisk",
details: "Detaljer", add_task: "Legg til oppgave",
no_tasks: "Du har ingen oppgaver ennå.", details: "Detaljer",
no_activity: "Du har ingen aktivitet ennå.", no_tasks: "Du har ingen oppgaver ennå.",
move_element: "Flytt {{name}} til {{coords}}", no_activity: "Du har ingen aktivitet ennå.",
edit_area: "{{extra}} Rediger område {{areaName}}", move_element: "Flytt {{name}} til {{coords}}",
delete_area: "Slett område {{areaName}}", edit_area: "{{extra}} Rediger område {{areaName}}",
edit_note: "{{extra}} Rediger notat {{noteTitle}}", delete_area: "Slett område {{areaName}}",
delete_note: "Slett notat {{noteTitle}}", edit_note: "{{extra}} Rediger notat {{noteTitle}}",
edit_table: "{{extra}} Rediger tabell {{tableName}}", delete_note: "Slett notat {{noteTitle}}",
delete_table: "Slett tabell {{tableName}}", edit_table: "{{extra}} Rediger tabell {{tableName}}",
edit_type: "{{extra}} Rediger type {{typeName}}", delete_table: "Slett tabell {{tableName}}",
delete_type: "Slett type {{typeName}}", edit_type: "{{extra}} Rediger type {{typeName}}",
add_relationship: "Legg til relasjon", delete_type: "Slett type {{typeName}}",
edit_relationship: "{{extra}} Rediger relasjon {{refName}}", add_relationship: "Legg til relasjon",
delete_relationship: "Slett relasjon {{refName}}", edit_relationship: "{{extra}} Rediger relasjon {{refName}}",
not_found: "Ikke funnet", delete_relationship: "Slett relasjon {{refName}}",
pick_db: "Velg en database", not_found: "Ikke funnet",
generic: "Generisk", pick_db: "Velg en database",
generic_description: generic: "Generisk",
"Generiske diagrammer kan eksporteres til alle SQL-varianter, men støtter få datatyper.", generic_description:
enums: "Enum-er", "Generiske diagrammer kan eksporteres til alle SQL-varianter, men støtter få datatyper.",
add_enum: "Legg til enum", enums: "Enum-er",
edit_enum: "{{extra}} Rediger enum {{enumName}}", add_enum: "Legg til enum",
delete_enum: "Slett enum", edit_enum: "{{extra}} Rediger enum {{enumName}}",
enum_w_no_name: "Fant enum uten navn", delete_enum: "Slett enum",
enum_w_no_values: "Fant enum '{{enumName}}' uten verdier", enum_w_no_name: "Fant enum uten navn",
duplicate_enums: "Duplikat enum-er med navnet '{{enumName}}'", enum_w_no_values: "Fant enum '{{enumName}}' uten verdier",
no_enums: "Ingen enum-er", duplicate_enums: "Duplikat enum-er med navnet '{{enumName}}'",
no_enums_text: "Definer enum-er her", no_enums: "Ingen enum-er",
declare_array: "Deklarer array", no_enums_text: "Definer enum-er her",
empty_index_name: "Deklarerte en indeks uten navn i tabell '{{tableName}}'", declare_array: "Deklarer array",
didnt_find_diagram: "Oops! Fant ikke diagrammet.", empty_index_name: "Deklarerte en indeks uten navn i tabell '{{tableName}}'",
unsigned: "Usignert", didnt_find_diagram: "Oops! Fant ikke diagrammet.",
share: "Del", unsigned: "Usignert",
copy_link: "Kopier lenke", share: "Del",
readme: "README", copy_link: "Kopier lenke",
failed_to_load: "Kunne ikke laste. Forsikre deg om at lenken er korrekt.", readme: "README",
share_info: failed_to_load: "Kunne ikke laste. Forsikre deg om at lenken er korrekt.",
"* Å dele denne lenken vil ikke opprette en live sanntidssamarbeidssession.", share_info:
}, "* Å dele denne lenken vil ikke opprette en live sanntidssamarbeidssession.",
}; },
};
export { no, norwegian };
export { no, norwegian };

View File

@ -7,6 +7,7 @@ const odia = {
const od = { const od = {
translation: { translation: {
report_bug: "ବଗ୍ ରିପୋର୍ଟ କରନ୍ତୁ", report_bug: "ବଗ୍ ରିପୋର୍ଟ କରନ୍ତୁ",
import_from: "ଆମଦାନି",
import: "ଆମଦାନି", import: "ଆମଦାନି",
file: "ଫାଇଲ୍", file: "ଫାଇଲ୍",
new: "ନୂତନ", new: "ନୂତନ",
@ -152,7 +153,6 @@ const od = {
last_modified: "ଶେଷ ସମୟରେ ସଂଶୋଧିତ", last_modified: "ଶେଷ ସମୟରେ ସଂଶୋଧିତ",
drag_and_drop_files: drag_and_drop_files:
"ଫାଇଲ୍କୁ ଏଠାରେ ଟାଣନ୍ତୁ ଏବଂ ଛାଡନ୍ତୁ କିମ୍ବା ଅପଲୋଡ୍ କରିବାକୁ କ୍ଲିକ୍ କରନ୍ତୁ।", "ଫାଇଲ୍କୁ ଏଠାରେ ଟାଣନ୍ତୁ ଏବଂ ଛାଡନ୍ତୁ କିମ୍ବା ଅପଲୋଡ୍ କରିବାକୁ କ୍ଲିକ୍ କରନ୍ତୁ।",
support_json_and_ddb: "JSON ଏବଂ DDB ଫାଇଲ୍ଗୁଡିକ ସମର୍ଥିତ",
upload_sql_to_generate_diagrams: upload_sql_to_generate_diagrams:
"ଆପଣଙ୍କର ଟେବଲ୍ ଏବଂ କଲମ୍ଗୁଡିକୁ ସ୍ୱୟଂଚାଳିତ ଭାବରେ ଜେନେରେଟ୍ କରିବାକୁ ଏକ sql ଫାଇଲ୍ ଅପଲୋଡ୍ କରନ୍ତୁ।", "ଆପଣଙ୍କର ଟେବଲ୍ ଏବଂ କଲମ୍ଗୁଡିକୁ ସ୍ୱୟଂଚାଳିତ ଭାବରେ ଜେନେରେଟ୍ କରିବାକୁ ଏକ sql ଫାଇଲ୍ ଅପଲୋଡ୍ କରନ୍ତୁ।",
overwrite_existing_diagram: "ବର୍ତ୍ତମାନର ଡାୟାଗ୍ରାମ୍କୁ ଅଧିଲେଖନ କରନ୍ତୁ", overwrite_existing_diagram: "ବର୍ତ୍ତମାନର ଡାୟାଗ୍ରାମ୍କୁ ଅଧିଲେଖନ କରନ୍ତୁ",

View File

@ -7,6 +7,7 @@ const punjabi = {
const pa = { const pa = {
translation: { translation: {
report_bug: "ਬੱਗ ਰਿਪੋਰਟ ਕਰੋ", report_bug: "ਬੱਗ ਰਿਪੋਰਟ ਕਰੋ",
import_from: "ਇੰਪੋਰਟ ਕਰੋ",
import: "ਇੰਪੋਰਟ ਕਰੋ", import: "ਇੰਪੋਰਟ ਕਰੋ",
file: "ਫਾਈਲ", file: "ਫਾਈਲ",
new: "ਨਵਾਂ", new: "ਨਵਾਂ",
@ -152,7 +153,6 @@ const pa = {
last_modified: "ਆਖਰੀ ਵਾਰ ਬਦਲਿਆ ਗਿਆ", last_modified: "ਆਖਰੀ ਵਾਰ ਬਦਲਿਆ ਗਿਆ",
drag_and_drop_files: drag_and_drop_files:
"ਫਾਈਲ ਨੂੰ ਇੱਥੇ ਖਿੱਚੋ ਅਤੇ ਛੱਡੋ ਜਾਂ ਅੱਪਲੋਡ ਕਰਨ ਲਈ ਕਲਿੱਕ ਕਰੋ।", "ਫਾਈਲ ਨੂੰ ਇੱਥੇ ਖਿੱਚੋ ਅਤੇ ਛੱਡੋ ਜਾਂ ਅੱਪਲੋਡ ਕਰਨ ਲਈ ਕਲਿੱਕ ਕਰੋ।",
support_json_and_ddb: "JSON ਅਤੇ DDB ਫਾਈਲਾਂ ਸਮਰਥਿਤ ਹਨ",
upload_sql_to_generate_diagrams: upload_sql_to_generate_diagrams:
"ਆਪਣੇ ਟੇਬਲਾਂ ਅਤੇ ਕਾਲਮਾਂ ਨੂੰ ਆਪਣੇ ਆਪ ਜਨਰੇਟ ਕਰਨ ਲਈ ਇੱਕ SQL ਫਾਈਲ ਅੱਪਲੋਡ ਕਰੋ।", "ਆਪਣੇ ਟੇਬਲਾਂ ਅਤੇ ਕਾਲਮਾਂ ਨੂੰ ਆਪਣੇ ਆਪ ਜਨਰੇਟ ਕਰਨ ਲਈ ਇੱਕ SQL ਫਾਈਲ ਅੱਪਲੋਡ ਕਰੋ।",
overwrite_existing_diagram: "ਮੌਜੂਦਾ ਡਾਯਾਗ੍ਰਾਮ ਨੂੰ ਓਵਰਰਾਈਟ ਕਰੋ", overwrite_existing_diagram: "ਮੌਜੂਦਾ ਡਾਯਾਗ੍ਰਾਮ ਨੂੰ ਓਵਰਰਾਈਟ ਕਰੋ",

View File

@ -1,249 +1,251 @@
const polish = { const polish = {
name: "Polish", name: "Polish",
native_name: "Polski", native_name: "Polski",
code: "pl", code: "pl",
}; };
const pl = { const pl = {
translation: { translation: {
report_bug: "Zgłoś błąd", report_bug: "Zgłoś błąd",
import: "Importuj", import_from: "Importuj",
file: "Plik", import: "Importuj",
new: "Nowy", file: "Plik",
new_window: "Nowe okno", new: "Nowy",
open: "Otwórz", new_window: "Nowe okno",
save: "Zapisz", open: "Otwórz",
save_as: "Zapisz jako", save: "Zapisz",
save_as_template: "Zapisz jako szablon", save_as: "Zapisz jako",
template_saved: "Szablon zapisany!", save_as_template: "Zapisz jako szablon",
rename: "Zmień nazwę", template_saved: "Szablon zapisany!",
delete_diagram: "Usuń diagram", rename: "Zmień nazwę",
are_you_sure_delete_diagram: delete_diagram: "Usuń diagram",
"Czy na pewno chcesz usunąć ten diagram? Ta operacja jest nieodwracalna.", are_you_sure_delete_diagram:
oops_smth_went_wrong: "Ups! Coś poszło nie tak.", "Czy na pewno chcesz usunąć ten diagram? Ta operacja jest nieodwracalna.",
import_diagram: "Importuj diagram", oops_smth_went_wrong: "Ups! Coś poszło nie tak.",
import_from_source: "Importuj z SQL", import_diagram: "Importuj diagram",
export_as: "Eksportuj jako", import_from_source: "Importuj z SQL",
export_source: "Eksportuj SQL", export_as: "Eksportuj jako",
models: "Modele", export_source: "Eksportuj SQL",
exit: "Wyjdź", models: "Modele",
edit: "Edytuj", exit: "Wyjdź",
undo: "Cofnij", edit: "Edytuj",
redo: "Ponów", undo: "Cofnij",
clear: "Wyczyść", redo: "Ponów",
are_you_sure_clear: clear: "Wyczyść",
"Czy na pewno chcesz wyczyścić diagram? To jest nieodwracalne.", are_you_sure_clear:
cut: "Wytnij", "Czy na pewno chcesz wyczyścić diagram? To jest nieodwracalne.",
copy: "Kopiuj", cut: "Wytnij",
paste: "Wklej", copy: "Kopiuj",
duplicate: "Duplikuj", paste: "Wklej",
delete: "Usuń", duplicate: "Duplikuj",
copy_as_image: "Kopiuj jako obraz", delete: "Usuń",
view: "Widok", copy_as_image: "Kopiuj jako obraz",
header: "Pasek menu", view: "Widok",
sidebar: "Pasek boczny", header: "Pasek menu",
issues: "Problemy", sidebar: "Pasek boczny",
presentation_mode: "Tryb prezentacji", issues: "Problemy",
strict_mode: "Tryb ścisły", presentation_mode: "Tryb prezentacji",
field_details: "Szczegóły pola", strict_mode: "Tryb ścisły",
reset_view: "Resetuj widok", field_details: "Szczegóły pola",
show_grid: "Pokaż siatkę", reset_view: "Resetuj widok",
show_cardinality: "Pokaż krotność", show_grid: "Pokaż siatkę",
theme: "Motyw", show_cardinality: "Pokaż krotność",
light: "Jasny", theme: "Motyw",
dark: "Ciemny", light: "Jasny",
zoom_in: "Powiększ", dark: "Ciemny",
zoom_out: "Pomniejsz", zoom_in: "Powiększ",
fullscreen: "Pełny ekran", zoom_out: "Pomniejsz",
settings: "Ustawienia", fullscreen: "Pełny ekran",
show_timeline: "Pokaż oś czasu", settings: "Ustawienia",
autosave: "Automatyczne zapisywanie", show_timeline: "Pokaż oś czasu",
panning: "Przesuwanie", autosave: "Automatyczne zapisywanie",
show_debug_coordinates: "Pokaż współrzędne debugowania", panning: "Przesuwanie",
transform: "Przekształć", show_debug_coordinates: "Pokaż współrzędne debugowania",
viewbox: "Obszar widoku", transform: "Przekształć",
cursor_coordinates: "Współrzędne kursora", viewbox: "Obszar widoku",
coordinate_space: "Przestrzeń", cursor_coordinates: "Współrzędne kursora",
coordinate_space_screen: "Ekran", coordinate_space: "Przestrzeń",
coordinate_space_diagram: "Diagram", coordinate_space_screen: "Ekran",
table_width: "Szerokość tabeli", coordinate_space_diagram: "Diagram",
language: "Język", table_width: "Szerokość tabeli",
flush_storage: "Wyczyść pamięć", language: "Język",
are_you_sure_flush_storage: flush_storage: "Wyczyść pamięć",
"Czy na pewno chcesz wyczyścić pamięć? To nieodwracalnie usunie wszystkie twoje diagramy i własne szablony.", are_you_sure_flush_storage:
storage_flushed: "Pamięć wyczyszczona", "Czy na pewno chcesz wyczyścić pamięć? To nieodwracalnie usunie wszystkie twoje diagramy i własne szablony.",
help: "Pomoc", storage_flushed: "Pamięć wyczyszczona",
shortcuts: "Skróty", help: "Pomoc",
ask_on_discord: "Zapytaj nas na Discordzie", shortcuts: "Skróty",
feedback: "Opinie", ask_on_discord: "Zapytaj nas na Discordzie",
no_changes: "Brak zmian", feedback: "Opinie",
loading: "Ładowanie...", no_changes: "Brak zmian",
last_saved: "Ostatnio zapisane", loading: "Ładowanie...",
saving: "Zapisywanie...", last_saved: "Ostatnio zapisane",
failed_to_save: "Nie udało się zapisać", saving: "Zapisywanie...",
fit_window_reset: "Dopasuj okno / Resetuj", failed_to_save: "Nie udało się zapisać",
zoom: "Powiększenie", fit_window_reset: "Dopasuj okno / Resetuj",
add_table: "Dodaj tabelę", zoom: "Powiększenie",
add_area: "Dodaj obszar", add_table: "Dodaj tabelę",
add_note: "Dodaj notatkę", add_area: "Dodaj obszar",
add_type: "Dodaj typ", add_note: "Dodaj notatkę",
to_do: "Do zrobienia", add_type: "Dodaj typ",
tables: "Tabele", to_do: "Do zrobienia",
relationships: "Relacje", tables: "Tabele",
subject_areas: "Obszary tematyczne", relationships: "Relacje",
notes: "Notatki", subject_areas: "Obszary tematyczne",
types: "Typy", notes: "Notatki",
search: "Szukaj...", types: "Typy",
no_tables: "Brak tabel", search: "Szukaj...",
no_tables_text: "Zacznij budować swój diagram!", no_tables: "Brak tabel",
no_relationships: "Brak relacji", no_tables_text: "Zacznij budować swój diagram!",
no_relationships_text: "Przeciągnij, aby połączyć pola i tworzyć relacje!", no_relationships: "Brak relacji",
no_subject_areas: "Brak obszarów tematycznych", no_relationships_text: "Przeciągnij, aby połączyć pola i tworzyć relacje!",
no_subject_areas_text: "Dodaj obszary tematyczne, aby grupować tabele!", no_subject_areas: "Brak obszarów tematycznych",
no_notes: "Brak notatek", no_subject_areas_text: "Dodaj obszary tematyczne, aby grupować tabele!",
no_notes_text: "Używaj notatek do zapisywania dodatkowych informacji", no_notes: "Brak notatek",
no_types: "Brak typów", no_notes_text: "Używaj notatek do zapisywania dodatkowych informacji",
no_types_text: "Twórz własne typy danych", no_types: "Brak typów",
no_issues: "Nie wykryto żadnych problemów.", no_types_text: "Twórz własne typy danych",
strict_mode_is_on_no_issues: no_issues: "Nie wykryto żadnych problemów.",
"Tryb ścisły jest wyłączony, więc żadne problemy nie zostaną wyświetlone.", strict_mode_is_on_no_issues:
name: "Nazwa", "Tryb ścisły jest wyłączony, więc żadne problemy nie zostaną wyświetlone.",
type: "Typ", name: "Nazwa",
null: "Null", type: "Typ",
not_null: "Nie null", null: "Null",
primary: "Klucz główny", not_null: "Nie null",
unique: "Unikalny", primary: "Klucz główny",
autoincrement: "Autonumerowanie", unique: "Unikalny",
default_value: "Wartość domyślna", autoincrement: "Autonumerowanie",
check: "Wyrażenie sprawdzające", default_value: "Wartość domyślna",
this_will_appear_as_is: "*To pojawi się w wygenerowanym skrypcie tak, jak jest.", check: "Wyrażenie sprawdzające",
comment: "Komentarz", this_will_appear_as_is:
add_field: "Dodaj pole", "*To pojawi się w wygenerowanym skrypcie tak, jak jest.",
values: "Wartości", comment: "Komentarz",
size: "Rozmiar", add_field: "Dodaj pole",
precision: "Precyzja", values: "Wartości",
set_precision: "Ustaw precyzję: 'rozmiar, cyfry'", size: "Rozmiar",
use_for_batch_input: "Użyj , do wsadowego wprowadzania", precision: "Precyzja",
indices: "Indeksy", set_precision: "Ustaw precyzję: 'rozmiar, cyfry'",
add_index: "Dodaj indeks", use_for_batch_input: "Użyj , do wsadowego wprowadzania",
select_fields: "Wybierz pola", indices: "Indeksy",
title: "Tytuł", add_index: "Dodaj indeks",
not_set: "Nie ustawiono", select_fields: "Wybierz pola",
foreign: "Obcy", title: "Tytuł",
cardinality: "Krotność", not_set: "Nie ustawiono",
on_update: "Przy aktualizacji", foreign: "Obcy",
on_delete: "Przy usunięciu", cardinality: "Krotność",
swap: "Zamień", on_update: "Przy aktualizacji",
one_to_one: "Jeden do jednego", on_delete: "Przy usunięciu",
one_to_many: "Jeden do wielu", swap: "Zamień",
many_to_one: "Wiele do jednego", one_to_one: "Jeden do jednego",
content: "Zawartość", one_to_many: "Jeden do wielu",
types_info: many_to_one: "Wiele do jednego",
"Ta funkcja jest przeznaczona dla obiektowo-relacyjnych systemów baz danych, takich jak PostgreSQL.\nJeśli używana dla MySQL lub MariaDB, zostanie wygenerowany typ JSON z odpowiadającym mu sprawdzeniem walidacji JSON.\nJeśli używana dla SQLite, zostanie przetłumaczona na BLOB.\nJeśli używana dla MSSQL, zostanie wygenerowany alias typu do pierwszego pola.", content: "Zawartość",
table_deleted: "Tabela usunięta", types_info:
area_deleted: "Obszar usunięty", "Ta funkcja jest przeznaczona dla obiektowo-relacyjnych systemów baz danych, takich jak PostgreSQL.\nJeśli używana dla MySQL lub MariaDB, zostanie wygenerowany typ JSON z odpowiadającym mu sprawdzeniem walidacji JSON.\nJeśli używana dla SQLite, zostanie przetłumaczona na BLOB.\nJeśli używana dla MSSQL, zostanie wygenerowany alias typu do pierwszego pola.",
note_deleted: "Notatka usunięta", table_deleted: "Tabela usunięta",
relationship_deleted: "Relacja usunięta", area_deleted: "Obszar usunięty",
type_deleted: "Typ usunięty", note_deleted: "Notatka usunięta",
cannot_connect: "Nie można połączyć, kolumny mają różne typy", relationship_deleted: "Relacja usunięta",
copied_to_clipboard: "Skopiowano do schowka", type_deleted: "Typ usunięty",
create_new_diagram: "Utwórz nowy diagram", cannot_connect: "Nie można połączyć, kolumny mają różne typy",
cancel: "Anuluj", copied_to_clipboard: "Skopiowano do schowka",
open_diagram: "Otwórz diagram", create_new_diagram: "Utwórz nowy diagram",
rename_diagram: "Zmień nazwę diagramu", cancel: "Anuluj",
export: "Eksportuj", open_diagram: "Otwórz diagram",
export_image: "Eksportuj obraz", rename_diagram: "Zmień nazwę diagramu",
create: "Utwórz", export: "Eksportuj",
confirm: "Potwierdź", export_image: "Eksportuj obraz",
last_modified: "Ostatnio zmodyfikowano", create: "Utwórz",
drag_and_drop_files: "Przeciągnij i upuść plik tutaj lub kliknij, aby przesłać.", confirm: "Potwierdź",
support_json_and_ddb: "Obsługiwane są pliki JSON i DDB", last_modified: "Ostatnio zmodyfikowano",
upload_sql_to_generate_diagrams: drag_and_drop_files:
"Prześlij plik SQL, aby automatycznie wygenerować tabele i kolumny.", "Przeciągnij i upuść plik tutaj lub kliknij, aby przesłać.",
overwrite_existing_diagram: "Nadpisz istniejący diagram", upload_sql_to_generate_diagrams:
only_mysql_supported: "Prześlij plik SQL, aby automatycznie wygenerować tabele i kolumny.",
"*Obecnie obsługiwane jest tylko ładowanie skryptów MySQL.", overwrite_existing_diagram: "Nadpisz istniejący diagram",
blank: "Pusty", only_mysql_supported:
filename: "Nazwa pliku", "*Obecnie obsługiwane jest tylko ładowanie skryptów MySQL.",
table_w_no_name: "Zadeklarowano tabelę bez nazwy", blank: "Pusty",
duplicate_table_by_name: "Duplikat tabeli o nazwie '{{tableName}}'", filename: "Nazwa pliku",
empty_field_name: "Puste pole `name` w tabeli '{{tableName}}'", table_w_no_name: "Zadeklarowano tabelę bez nazwy",
empty_field_type: "Puste pole `type` w tabeli '{{tableName}}'", duplicate_table_by_name: "Duplikat tabeli o nazwie '{{tableName}}'",
no_values_for_field: empty_field_name: "Puste pole `name` w tabeli '{{tableName}}'",
"Pole '{{fieldName}}' w tabeli '{{tableName}}' jest typu `{{type}}`, ale nie określono wartości", empty_field_type: "Puste pole `type` w tabeli '{{tableName}}'",
default_doesnt_match_type: no_values_for_field:
"Wartość domyślna dla pola '{{fieldName}}' w tabeli '{{tableName}}' nie pasuje do jego typu", "Pole '{{fieldName}}' w tabeli '{{tableName}}' jest typu `{{type}}`, ale nie określono wartości",
not_null_is_null: default_doesnt_match_type:
"Pole '{{fieldName}}' w tabeli '{{tableName}}' jest NOT NULL, ale ma wartość domyślną NULL", "Wartość domyślna dla pola '{{fieldName}}' w tabeli '{{tableName}}' nie pasuje do jego typu",
duplicate_fields: not_null_is_null:
"Duplikat pól tabeli o nazwie '{{fieldName}}' w tabeli '{{tableName}}'", "Pole '{{fieldName}}' w tabeli '{{tableName}}' jest NOT NULL, ale ma wartość domyślną NULL",
duplicate_index: duplicate_fields:
"Duplikat indeksu o nazwie '{{indexName}}' w tabeli '{{tableName}}'", "Duplikat pól tabeli o nazwie '{{fieldName}}' w tabeli '{{tableName}}'",
empty_index: "Indeks w tabeli '{{tableName}}' nie indeksuje żadnych kolumn", duplicate_index:
no_primary_key: "Tabela '{{tableName}}' nie ma klucza głównego", "Duplikat indeksu o nazwie '{{indexName}}' w tabeli '{{tableName}}'",
type_with_no_name: "Zadeklarowano typ bez nazwy", empty_index: "Indeks w tabeli '{{tableName}}' nie indeksuje żadnych kolumn",
duplicate_types: "Duplikat typów o nazwie '{{typeName}}'", no_primary_key: "Tabela '{{tableName}}' nie ma klucza głównego",
type_w_no_fields: "Zadeklarowano pusty typ '{{typeName}}' bez pól", type_with_no_name: "Zadeklarowano typ bez nazwy",
empty_type_field_name: "Puste pole `name` w typie '{{typeName}}'", duplicate_types: "Duplikat typów o nazwie '{{typeName}}'",
empty_type_field_type: "Puste pole `type` w typie '{{typeName}}'", type_w_no_fields: "Zadeklarowano pusty typ '{{typeName}}' bez pól",
no_values_for_type_field: empty_type_field_name: "Puste pole `name` w typie '{{typeName}}'",
"Pole '{{fieldName}}' w typie '{{typeName}}' jest typu `{{type}}`, ale nie określono wartości", empty_type_field_type: "Puste pole `type` w typie '{{typeName}}'",
duplicate_type_fields: no_values_for_type_field:
"Duplikat pól typu o nazwie '{{fieldName}}' w typie '{{typeName}}'", "Pole '{{fieldName}}' w typie '{{typeName}}' jest typu `{{type}}`, ale nie określono wartości",
duplicate_reference: "Duplikat referencji o nazwie '{{refName}}'", duplicate_type_fields:
circular_dependency: "Cykliczna zależność obejmująca tabelę '{{refName}}'", "Duplikat pól typu o nazwie '{{fieldName}}' w typie '{{typeName}}'",
timeline: "Oś czasu", duplicate_reference: "Duplikat referencji o nazwie '{{refName}}'",
priority: "Priorytet", circular_dependency: "Cykliczna zależność obejmująca tabelę '{{refName}}'",
none: "Brak", timeline: "Oś czasu",
low: "Niski", priority: "Priorytet",
medium: "Średni", none: "Brak",
high: "Wysoki", low: "Niski",
sort_by: "Sortuj według", medium: "Średni",
my_order: "Moja kolejność", high: "Wysoki",
completed: "Ukończone", sort_by: "Sortuj według",
alphabetically: "Alfabetycznie", my_order: "Moja kolejność",
add_task: "Dodaj zadanie", completed: "Ukończone",
details: "Szczegóły", alphabetically: "Alfabetycznie",
no_tasks: "Nie masz jeszcze żadnych zadań.", add_task: "Dodaj zadanie",
no_activity: "Nie masz jeszcze żadnej aktywności.", details: "Szczegóły",
move_element: "Przenieś {{name}} do {{coords}}", no_tasks: "Nie masz jeszcze żadnych zadań.",
edit_area: "{{extra}} Edytuj obszar {{areaName}}", no_activity: "Nie masz jeszcze żadnej aktywności.",
delete_area: "Usuń obszar {{areaName}}", move_element: "Przenieś {{name}} do {{coords}}",
edit_note: "{{extra}} Edytuj notatkę {{noteTitle}}", edit_area: "{{extra}} Edytuj obszar {{areaName}}",
delete_note: "Usuń notatkę {{noteTitle}}", delete_area: "Usuń obszar {{areaName}}",
edit_table: "{{extra}} Edytuj tabelę {{tableName}}", edit_note: "{{extra}} Edytuj notatkę {{noteTitle}}",
delete_table: "Usuń tabelę {{tableName}}", delete_note: "Usuń notatkę {{noteTitle}}",
edit_type: "{{extra}} Edytuj typ {{typeName}}", edit_table: "{{extra}} Edytuj tabelę {{tableName}}",
delete_type: "Usuń typ {{typeName}}", delete_table: "Usuń tabelę {{tableName}}",
add_relationship: "Dodaj relację", edit_type: "{{extra}} Edytuj typ {{typeName}}",
edit_relationship: "{{extra}} Edytuj relację {{refName}}", delete_type: "Usuń typ {{typeName}}",
delete_relationship: "Usuń relację {{refName}}", add_relationship: "Dodaj relację",
not_found: "Nie znaleziono", edit_relationship: "{{extra}} Edytuj relację {{refName}}",
pick_db: "Wybierz bazę danych", delete_relationship: "Usuń relację {{refName}}",
generic: "Ogólny", not_found: "Nie znaleziono",
generic_description: pick_db: "Wybierz bazę danych",
"Ogólne diagramy mogą być eksportowane do dowolnego dialektu SQL, ale obsługują niewiele typów danych.", generic: "Ogólny",
enums: "Wyliczenia", generic_description:
add_enum: "Dodaj wyliczenie", "Ogólne diagramy mogą być eksportowane do dowolnego dialektu SQL, ale obsługują niewiele typów danych.",
edit_enum: "{{extra}} Edytuj wyliczenie {{enumName}}", enums: "Wyliczenia",
delete_enum: "Usuń wyliczenie", add_enum: "Dodaj wyliczenie",
enum_w_no_name: "Znaleziono wyliczenie bez nazwy", edit_enum: "{{extra}} Edytuj wyliczenie {{enumName}}",
enum_w_no_values: "Znaleziono wyliczenie '{{enumName}}' bez wartości", delete_enum: "Usuń wyliczenie",
duplicate_enums: "Duplikat wyliczeń o nazwie '{{enumName}}'", enum_w_no_name: "Znaleziono wyliczenie bez nazwy",
no_enums: "Brak wyliczeń", enum_w_no_values: "Znaleziono wyliczenie '{{enumName}}' bez wartości",
no_enums_text: "Zdefiniuj wyliczenia tutaj", duplicate_enums: "Duplikat wyliczeń o nazwie '{{enumName}}'",
declare_array: "Zadeklaruj tablicę", no_enums: "Brak wyliczeń",
empty_index_name: "Zadeklarowano indeks bez nazwy w tabeli '{{tableName}}'", no_enums_text: "Zdefiniuj wyliczenia tutaj",
didnt_find_diagram: "Ups! Nie znaleziono diagramu.", declare_array: "Zadeklaruj tablicę",
unsigned: "Bez znaku", empty_index_name: "Zadeklarowano indeks bez nazwy w tabeli '{{tableName}}'",
share: "Udostępnij", didnt_find_diagram: "Ups! Nie znaleziono diagramu.",
copy_link: "Kopiuj link", unsigned: "Bez znaku",
readme: "README", share: "Udostępnij",
failed_to_load: "Nie udało się załadować. Upewnij się, że link jest poprawny.", copy_link: "Kopiuj link",
share_info: readme: "README",
"* Udostępnienie tego linku nie utworzy sesji współpracy w czasie rzeczywistym.", failed_to_load:
}, "Nie udało się załadować. Upewnij się, że link jest poprawny.",
}; share_info:
"* Udostępnienie tego linku nie utworzy sesji współpracy w czasie rzeczywistym.",
export { pl, polish }; },
};
export { pl, polish };

View File

@ -7,6 +7,7 @@ const portuguese = {
const pt = { const pt = {
translation: { translation: {
report_bug: "Reportar um erro", report_bug: "Reportar um erro",
import_from: "Importar",
import: "Importar", import: "Importar",
file: "Arquivo", file: "Arquivo",
new: "Novo", new: "Novo",
@ -90,7 +91,8 @@ const pt = {
no_tables: "Sem tabelas", no_tables: "Sem tabelas",
no_tables_text: "Comece a construir seu diagrama!", no_tables_text: "Comece a construir seu diagrama!",
no_relationships: "Sem relacionamentos", no_relationships: "Sem relacionamentos",
no_relationships_text: "Arraste para conectar campos e formar relacionamentos!", no_relationships_text:
"Arraste para conectar campos e formar relacionamentos!",
no_subject_areas: "Sem áreas de assunto", no_subject_areas: "Sem áreas de assunto",
no_subject_areas_text: "Adicione áreas de assunto para agrupar tabelas!", no_subject_areas_text: "Adicione áreas de assunto para agrupar tabelas!",
no_notes: "Sem notas", no_notes: "Sem notas",
@ -149,8 +151,8 @@ const pt = {
create: "Criar", create: "Criar",
confirm: "Confirmar", confirm: "Confirmar",
last_modified: "Última modificação", last_modified: "Última modificação",
drag_and_drop_files: "Arraste e solte o arquivo aqui ou clique para fazer upload.", drag_and_drop_files:
support_json_and_ddb: "Arquivos JSON e DDB são suportados", "Arraste e solte o arquivo aqui ou clique para fazer upload.",
upload_sql_to_generate_diagrams: upload_sql_to_generate_diagrams:
"Faça o upload de um arquivo SQL para gerar automaticamente suas tabelas e colunas.", "Faça o upload de um arquivo SQL para gerar automaticamente suas tabelas e colunas.",
overwrite_existing_diagram: "Substituir diagrama existente", overwrite_existing_diagram: "Substituir diagrama existente",

255
src/i18n/locales/ro.js Normal file
View File

@ -0,0 +1,255 @@
const romanian = {
name: "Romanian",
native_name: "Română",
code: "ro",
};
const ro = {
translation: {
report_bug: "Raportează o eroare",
import_from: "Import",
import: "Import",
file: "Fișier",
new: "Nou",
new_window: "Fereastră nouă",
open: "Deschide",
save: "Salvează",
save_as: "Salvează ca",
save_as_template: "Salvează ca șablon",
template_saved: "Șablon salvat!!",
rename: "Redenumi",
delete_diagram: "Șterge diagramă",
are_you_sure_delete_diagram:
"Ești sigur că vrei să ștergi această diagramă? Această operațiune este ireversibilă.",
oops_smth_went_wrong: "Oops! A apărut o problemă",
import_diagram: "Importă o diagramă",
import_from_source: "Importă din SQL",
export_as: "Exportă ca",
export_source: "Exportă SQL",
models: "Modele",
exit: "Ieșire",
edit: "Editează",
undo: "Anulează",
redo: "Refă",
clear: "Șterge",
are_you_sure_clear:
"Ești sigur că vrei să cureți diagramă? Aceasta operațiune este ireversibilă.",
cut: "Taie",
copy: "Copiază",
paste: "Lipește",
duplicate: "Duplica",
delete: "Șterge",
copy_as_image: "Copiază ca imagine",
view: "Vizualizează",
header: "Bară de meniu",
sidebar: "Bară laterală",
issues: "Probleme",
presentation_mode: "Mod prezentare",
strict_mode: "Mod strict",
field_details: "Detalii câmp",
reset_view: "Resetează vizualizarea",
show_grid: "Arată grilă",
show_cardinality: "Arată cardinalitatea",
theme: "Temă",
light: "Luminos",
dark: "Întunecat",
zoom_in: "Măriți",
zoom_out: "Micșora",
fullscreen: "Ecran complet",
settings: "Setări",
show_timeline: "Arată cronologia",
autosave: "Salvare automată",
panning: "Panoramare",
show_debug_coordinates: "Arată coordonatele de depanare",
transform: "Transformă",
viewbox: "Cutie de vizualizare",
cursor_coordinates: "Coordonate cursorului",
coordinate_space: "Spațiu",
coordinate_space_screen: "Ecran",
coordinate_space_diagram: "Diagramă",
table_width: "Lățimea tabelului",
language: "Limbă",
flush_storage: "Golește depozitorea",
are_you_sure_flush_storage:
"Esti sigur că vrei să golesți depozitorea? Aceasta va șterge ireversibil toate diagramele și modelele personalizate.",
storage_flushed: "Depozitorea a fost golită",
help: "Ajutor",
shortcuts: "Scurtături",
ask_on_discord: "Întrebați-ne pe Discord",
feedback: "Feedback",
no_changes: "Nicio modificare",
loading: "Se încarcă...",
last_saved: "Ultima salvare",
saving: "Se salvează...",
failed_to_save: "Salvarea a eșuat",
fit_window_reset: "Potrivește fereastra / Resetează",
zoom: "Zoom",
add_table: "Adaugă tabel",
add_area: "Adaugă zonă",
add_note: "Adaugă notă",
add_type: "Adaugă tip",
to_do: "De făcut",
tables: "Tabele",
relationships: "Relații",
subject_areas: "Zonă subiectelor",
notes: "Note",
types: "Tipuri",
search: "Căutare...",
no_tables: "Fără tabele",
no_tables_text: "Începe să construiești diagrama!",
no_relationships: "Fără relații",
no_relationships_text: "Trage pentru a conecta câmpuri și a forma relații!",
no_subject_areas: "Fără zone de subiecte",
no_subject_areas_text: "Adaugă zone de subiecte pentru a grupa tabelele!",
no_notes: "Fără note",
no_notes_text:
"Folosește notele pentru a înregistra informații suplimentare",
no_types: "Fără tipuri",
no_types_text: "Creează-ți propriile tipuri de date personalizate",
no_issues: "Nu au fost detectate probleme.",
strict_mode_is_on_no_issues:
"Modul strict este dezactivat, așa că nu vor fi afișate probleme.",
name: "Nume",
type: "Tip",
null: "Null",
not_null: "Nu este null",
primary: "Primar",
unique: "Unic",
autoincrement: "Increment automat",
default_value: "Implicit",
check: "Verifică expresia",
this_will_appear_as_is:
"*Aceasta va apărea așa cum este în scriptul generat.",
comment: "Comentariu",
add_field: "Adaugă câmp",
values: "Valori",
size: "Mărime",
precision: "Precizie",
set_precision: "Setează precizia: 'mărime, cifre'",
use_for_batch_input: "Folosește , pentru input în masă",
indices: "Indici",
add_index: "Adaugă index",
select_fields: "Selectează câmpuri",
title: "Titlu",
not_set: "Necompletat",
foreign: "Străin",
cardinality: "Cardinalitate",
on_update: "La actualizare",
on_delete: "La ștergere",
swap: "Schimbă",
one_to_one: "Unul la unul",
one_to_many: "Unul la mulți",
many_to_one: "Mulți la unul",
content: "Conținut",
types_info:
"Această caracteristică este destinată DBMS-urilor obiect-relaționale precum PostgreSQL.\nDacă este folosită pentru MySQL sau MariaDB, un tip JSON va fi generat cu validarea corespunzătoare a json.\nDacă este folosită pentru SQLite, va fi tradusă într-un BLOB.\nDacă este folosită pentru MSSQL, va fi generat un alias de tip pentru primul câmp.",
table_deleted: "Tabel șters",
area_deleted: "Zonă ștearsă",
note_deleted: "Notă ștearsă",
relationship_deleted: "Relație ștearsă",
type_deleted: "Tip șters",
cannot_connect: "Nu se poate conecta, coloanele au tipuri diferite",
copied_to_clipboard: "Copiat în clipboard",
create_new_diagram: "Creează diagramă nouă",
cancel: "Anulează",
open_diagram: "Deschide diagrama",
rename_diagram: "Redenumește diagrama",
export: "Exportă",
export_image: "Exportă imagine",
create: "Creează",
confirm: "Confirmați",
last_modified: "Ultima modificare",
drag_and_drop_files:
"Trageți și plasați fișierul aici sau faceți clic pentru a încărca.",
upload_sql_to_generate_diagrams:
"Încărcați un fișier SQL pentru a genera automat tabelele și coloanele.",
overwrite_existing_diagram: "Suprascrie diagrama existentă",
only_mysql_supported:
"*Deocamdată, este acceptat doar încărcarea scripturilor MySQL.",
blank: "Gol",
filename: "Nume fișier",
table_w_no_name: "A fost declarat un tabel fără nume",
duplicate_table_by_name: "Tabel duplicat cu numele '{{tableName}}'",
empty_field_name: "Nume câmp gol `nume` în tabelul '{{tableName}}'",
empty_field_type: "Tip câmp gol `tip` în tabelul '{{tableName}}'",
no_values_for_field:
"'{{fieldName}}' câmp din tabelul '{{tableName}}' este de tip `{{type}}` dar nu au fost specificate valori",
default_doesnt_match_type:
"Valoarea implicită pentru câmpul '{{fieldName}}' din tabelul '{{tableName}}' nu se potrivește cu tipul său",
not_null_is_null:
"'{{fieldName}}' câmp din tabelul '{{tableName}}' NU ESTE NULL dar are valoarea implicită NULL",
duplicate_fields:
"Câmpuri duplicate în tabelul '{{tableName}}' cu numele '{{fieldName}}'",
duplicate_index:
"Index duplicat cu numele '{{indexName}}' în tabelul '{{tableName}}'",
empty_index: "Index în tabelul '{{tableName}}' nu indexează nici o coloană",
no_primary_key: "Tabelul '{{tableName}}' nu are cheie primară",
type_with_no_name: "A fost declarat un tip fără nume",
duplicate_types: "Tipuri duplicate cu numele '{{typeName}}'",
type_w_no_fields: "A fost declarat un tip gol '{{typeName}}' fără câmpuri",
empty_type_field_name: "Nume câmp gol `nume` în tipul '{{typeName}}'",
empty_type_field_type: "Tip câmp gol `tip` în tipul '{{typeName}}'",
no_values_for_type_field:
"'{{fieldName}}' câmp din tipul '{{typeName}}' este de tip `{{type}}` dar nu au fost specificate valori",
duplicate_type_fields:
"Câmpuri duplicate în tipul '{{typeName}}' cu numele '{{fieldName}}'",
duplicate_reference: "Referință duplicată cu numele '{{refName}}'",
circular_dependency: "Dependență circulară implicând tabelul '{{refName}}'",
timeline: "Cronologie",
priority: "Prioritate",
none: "Nimic",
low: "Scăzut",
medium: "Mediu",
high: "Ridicat",
sort_by: "Sortează după",
my_order: "Comanda mea",
completed: "Completat",
alphabetically: "Alfabetic",
add_task: "Adaugă sarcină",
details: "Detalii",
no_tasks: "Nu aveți sarcini încă.",
no_activity: "Nu aveți activitate încă.",
move_element: "Mută {{name}} la {{coords}}",
edit_area: "{{extra}} Editează zona {{areaName}}",
delete_area: "Șterge zona {{areaName}}",
edit_note: "{{extra}} Editează nota {{noteTitle}}",
delete_note: "Șterge nota {{noteTitle}}",
edit_table: "{{extra}} Editează tabelul {{tableName}}",
delete_table: "Șterge tabelul {{tableName}}",
edit_type: "{{extra}} Editează tipul {{typeName}}",
delete_type: "Șterge tipul {{typeName}}",
add_relationship: "Adaugă relație",
edit_relationship: "{{extra}} Editează relația {{refName}}",
delete_relationship: "Șterge relația {{refName}}",
not_found: "Nu a fost găsit",
pick_db: "Alege o bază de date",
generic: "General",
generic_description:
"Diagramele generale pot fi exportate în orice tip de SQL, dar susțin câteva tipuri de date.",
enums: "Enumerații",
add_enum: "Adaugă enumerație",
edit_enum: "{{extra}} Editează enumerația {{enumName}}",
delete_enum: "Șterge enumerația",
enum_w_no_name: "Enumerație găsită fără nume",
enum_w_no_values: "Enumerația '{{enumName}}' nu conține valori",
duplicate_enums: "Enumerații duplicate cu numele '{{enumName}}'",
no_enums: "Fără enumerații",
no_enums_text: "Definiți enumerații aici",
declare_array: "Declarați un array",
empty_index_name:
"A fost declarat un index fără nume în tabelul '{{tableName}}'",
didnt_find_diagram: "Oops! Nu am găsit diagrama.",
unsigned: "Fără semn",
share: "Împărtășește",
unshare: "Nu mai împărtăși",
copy_link: "Copiază linkul",
readme: "README",
failed_to_load: "Eșec la încărcare. Asigurați-vă că linkul este corect.",
share_info:
"*Împărtășirea acestui link nu va crea o sesiune de colaborare în timp real.",
show_relationship_labels: "Arată etichetele relațiilor",
docs: "Documentație",
},
};
export { ro, romanian };

View File

@ -7,6 +7,7 @@ const russian = {
const ru = { const ru = {
translation: { translation: {
report_bug: "Сообщить об ошибке", report_bug: "Сообщить об ошибке",
import_from: "Импорт",
import: "Импорт", import: "Импорт",
file: "Файл", file: "Файл",
new: "Новый", new: "Новый",
@ -90,9 +91,11 @@ const ru = {
no_tables: "Нет таблиц", no_tables: "Нет таблиц",
no_tables_text: "Начните создавать свою диаграмму!", no_tables_text: "Начните создавать свою диаграмму!",
no_relationships: "Нет отношений", no_relationships: "Нет отношений",
no_relationships_text: "Перетащите, чтобы соединить поля и формировать отношения!", no_relationships_text:
"Перетащите, чтобы соединить поля и формировать отношения!",
no_subject_areas: "Нет предметных областей", no_subject_areas: "Нет предметных областей",
no_subject_areas_text: "Добавьте предметные области для группировки таблиц!", no_subject_areas_text:
"Добавьте предметные области для группировки таблиц!",
no_notes: "Нет заметок", no_notes: "Нет заметок",
no_notes_text: "Используйте заметки для записи дополнительной информации", no_notes_text: "Используйте заметки для записи дополнительной информации",
no_types: "Нет типов", no_types: "Нет типов",
@ -109,7 +112,8 @@ const ru = {
autoincrement: "Автоувеличение", autoincrement: "Автоувеличение",
default_value: "Значение по умолчанию", default_value: "Значение по умолчанию",
check: "Проверка выражения", check: "Проверка выражения",
this_will_appear_as_is: "*Это будет отображаться в сгенерированном скрипте как есть.", this_will_appear_as_is:
"*Это будет отображаться в сгенерированном скрипте как есть.",
comment: "Комментарий", comment: "Комментарий",
add_field: "Добавить поле", add_field: "Добавить поле",
values: "значения", values: "значения",
@ -150,7 +154,6 @@ const ru = {
confirm: "Подтвердить", confirm: "Подтвердить",
last_modified: "Последнее изменение", last_modified: "Последнее изменение",
drag_and_drop_files: "Перетащите файл сюда или нажмите, чтобы загрузить.", drag_and_drop_files: "Перетащите файл сюда или нажмите, чтобы загрузить.",
support_json_and_ddb: "Поддерживаются файлы JSON и DDB",
upload_sql_to_generate_diagrams: upload_sql_to_generate_diagrams:
"Загрузите файл sql для автогенерации ваших таблиц и колонок.", "Загрузите файл sql для автогенерации ваших таблиц и колонок.",
overwrite_existing_diagram: "Перезаписать существующую диаграмму", overwrite_existing_diagram: "Перезаписать существующую диаграмму",
@ -184,7 +187,8 @@ const ru = {
duplicate_type_fields: duplicate_type_fields:
"Дублирование полей типа по имени '{{fieldName}}' в типе '{{typeName}}'", "Дублирование полей типа по имени '{{fieldName}}' в типе '{{typeName}}'",
duplicate_reference: "Дублирование ссылки по имени '{{refName}}'", duplicate_reference: "Дублирование ссылки по имени '{{refName}}'",
circular_dependency: "Циклическая зависимость, вовлекающая таблицу '{{refName}}'", circular_dependency:
"Циклическая зависимость, вовлекающая таблицу '{{refName}}'",
timeline: "Временная шкала", timeline: "Временная шкала",
priority: "Приоритет", priority: "Приоритет",
none: "Нет", none: "Нет",
@ -221,7 +225,8 @@ const ru = {
edit_enum: "{{extra}} Изменить перечисление {{enumName}}", edit_enum: "{{extra}} Изменить перечисление {{enumName}}",
delete_enum: "Удалить перечисление", delete_enum: "Удалить перечисление",
enum_w_no_name: "Найдено перечисление без имени", enum_w_no_name: "Найдено перечисление без имени",
enum_w_no_values: "Найдено перечисление '{{enumName}}' без каких-либо значений", enum_w_no_values:
"Найдено перечисление '{{enumName}}' без каких-либо значений",
duplicate_enums: "Повторяющиеся перечисления с именем '{{enumName}}'", duplicate_enums: "Повторяющиеся перечисления с именем '{{enumName}}'",
no_enums: "Никаких перечислений", no_enums: "Никаких перечислений",
no_enums_text: "Определите перечисления здесь", no_enums_text: "Определите перечисления здесь",
@ -233,7 +238,8 @@ const ru = {
unshare: "Не делиться", unshare: "Не делиться",
copy_link: "Скопировать ссылку", copy_link: "Скопировать ссылку",
readme: "README", readme: "README",
failed_to_load: "Не удалось загрузить. Убедитесь, что ссылка указана правильно.", failed_to_load:
"Не удалось загрузить. Убедитесь, что ссылка указана правильно.",
share_info: share_info:
"* Поделившись этой ссылкой, не будет создано сеанса совместной работы в режиме реального времени.", "* Поделившись этой ссылкой, не будет создано сеанса совместной работы в режиме реального времени.",
}, },

View File

@ -7,6 +7,7 @@ const swedish = {
const sv = { const sv = {
translation: { translation: {
report_bug: "Rapportera ett fel", report_bug: "Rapportera ett fel",
import_from: "Importera",
import: "Importera", import: "Importera",
file: "Fil", file: "Fil",
new: "Ny", new: "Ny",
@ -159,7 +160,6 @@ const sv = {
last_modified: "Senast ändrad", last_modified: "Senast ändrad",
drag_and_drop_files: drag_and_drop_files:
"Dra och släpp filen här eller klicka för att ladda upp.", "Dra och släpp filen här eller klicka för att ladda upp.",
support_json_and_ddb: "JSON- och DDB-filer stöds",
upload_sql_to_generate_diagrams: upload_sql_to_generate_diagrams:
"Ladda upp en SQL-fil för att auto-generera dina tabeller och kolumner.", "Ladda upp en SQL-fil för att auto-generera dina tabeller och kolumner.",
overwrite_existing_diagram: "Skriv över befintligt diagram", overwrite_existing_diagram: "Skriv över befintligt diagram",

View File

@ -1,218 +1,222 @@
const telugu = { const telugu = {
name: "Telugu", name: "Telugu",
native_name: "తెలుగు", native_name: "తెలుగు",
code: "te", code: "te",
}; };
const te = { const te = {
translation: { translation: {
report_bug: "బగ్ నివేదించండి", report_bug: "బగ్ నివేదించండి",
import: "దిగుమతి", import_from: "దిగుమతి",
file: "ఫైల్", import: "దిగుమతి",
new: "క్రొత్త", file: "ఫైల్",
new_window: "క్రొత్త విండో", new: "క్రొత్త",
open: "తెరవండి", new_window: "క్రొత్త విండో",
save: "సేవ్", open: "తెరవండి",
save_as: "క్రింద సేవ్", save: "సేవ్",
save_as_template: "టెంప్లేట్ క్రింద సేవ్", save_as: "క్రింద సేవ్",
template_saved: "టెంప్లేట్ సేవ్ అయింది!", save_as_template: "టెంప్లేట్ క్రింద సేవ్",
rename: "పేరు మార్చండి", template_saved: "టెంప్లేట్ సేవ్ అయింది!",
delete_diagram: "డయాగ్రామ్ తొలగించండి", rename: "పేరు మార్చండి",
are_you_sure_delete_diagram: delete_diagram: "డయాగ్రామ్ తొలగించండి",
"మీరు ఈ డయాగ్రామ్ తొలగించాలని నిజంగా అనుకుంటున్నారా? ఇది తిరిగి పొందలేని చర్య.", are_you_sure_delete_diagram:
oops_smth_went_wrong: "అయో! ఏదో తప్పు జరిగింది.", "మీరు ఈ డయాగ్రామ్ తొలగించాలని నిజంగా అనుకుంటున్నారా? ఇది తిరిగి పొందలేని చర్య.",
import_diagram: "డయాగ్రామ్ దిగుమతి", oops_smth_went_wrong: "అయో! ఏదో తప్పు జరిగింది.",
import_from_source: "SQL నుండి దిగుమతి", import_diagram: "డయాగ్రామ్ దిగుమతి",
export_as: "క్రింద ఎగుమతి", import_from_source: "SQL నుండి దిగుమతి",
export_source: "SQL ఎగుమతి", export_as: "క్రింద ఎగుమతి",
models: "మోడల్స్", export_source: "SQL ఎగుమతి",
exit: "నిష్క్రమణ", models: "మోడల్స్",
edit: "సవరించు", exit: "నిష్క్రమణ",
undo: "రద్దు చేయి", edit: "సవరించు",
redo: "మళ్ళీ చేయి", undo: "రద్దు చేయి",
clear: "స్పష్టంగా", redo: "మళ్ళీ చేయి",
are_you_sure_clear: clear: "స్పష్టంగా",
"మీరు ఈ డయాగ్రామ్ ఖచ్చితంగా క్లియర్ చేయాలనుకుంటున్నారా? ఇది తిరిగి పొందలేని చర్య.", are_you_sure_clear:
cut: "కట్ చేయండి", "మీరు ఈ డయాగ్రామ్ ఖచ్చితంగా క్లియర్ చేయాలనుకుంటున్నారా? ఇది తిరిగి పొందలేని చర్య.",
copy: "కాపీ చేయండి", cut: "కట్ చేయండి",
paste: "పేస్ట్ చేయండి", copy: "కాపీ చేయండి",
duplicate: "డుప్లికేట్ చేయండి", paste: "పేస్ట్ చేయండి",
delete: "తొలగించండి", duplicate: "డుప్లికేట్ చేయండి",
copy_as_image: "చిత్రం కాపీ చేయి", delete: "తొలగించండి",
view: "దృశ్యం", copy_as_image: "చిత్రం కాపీ చేయి",
header: "మెనూబార్", view: "దృశ్యం",
sidebar: "సైడ్బార్", header: "మెనూబార్",
issues: "సమస్యలు", sidebar: "సైడ్బార్",
presentation_mode: "ప్రెజెంటేషన్ మోడ్", issues: "సమస్యలు",
strict_mode: "స్ట్రిక్ట్ మోడ్", presentation_mode: "ప్రెజెంటేషన్ మోడ్",
field_details: "ఫీల్డ్ వివరాలు", strict_mode: "స్ట్రిక్ట్ మోడ్",
reset_view: "దృశ్యం రీసెట్ చేయి", field_details: "ఫీల్డ్ వివరాలు",
show_grid: "గ్రిడ్ చూపించు", reset_view: "దృశ్యం రీసెట్ చేయి",
show_cardinality: "కార్డినాలిటీ చూపించు", show_grid: "గ్రిడ్ చూపించు",
theme: "థీమ్", show_cardinality: "కార్డినాలిటీ చూపించు",
light: "కాంతి", theme: "థీమ్",
dark: "చీకటి", light: "కాంతి",
zoom_in: "జూమ్ ఇన్ చేయండి", dark: "చీకటి",
zoom_out: "జూమ్ అవుట్ చేయండి", zoom_in: "జూమ్ ఇన్ చేయండి",
fullscreen: "పూర్తి తెర", zoom_out: "జూమ్ అవుట్ చేయండి",
settings: "సెట్టింగ్స్", fullscreen: "పూర్తి తెర",
show_timeline: "టైమ్‌లైన్ చూపించు", settings: "సెట్టింగ్స్",
autosave: "ఆటోసేవ్", show_timeline: "టైమ్‌లైన్ చూపించు",
panning: "ప్యానింగ్", autosave: "ఆటోసేవ్",
table_width: "పట్టిక వెడల్పు", panning: "ప్యానింగ్",
language: "భాష", table_width: "పట్టిక వెడల్పు",
flush_storage: "స్టోరేజ్ క్లియర్ చేయి", language: "భాష",
are_you_sure_flush_storage: flush_storage: "స్టోరేజ్ క్లియర్ చేయి",
"మీరు స్టోరేజ్ ఖచ్చితంగా క్లియర్ చేయాలనుకుంటున్నారా? ఇది మీ అన్ని డయాగ్రామ్‌లు మరియు కస్టమ్ టెంప్లేట్లను తిరిగి పొందలేని విధంగా తొలగిస్తుంది.", are_you_sure_flush_storage:
storage_flushed: "స్టోరేజ్ క్లియర్ చేయబడింది", "మీరు స్టోరేజ్ ఖచ్చితంగా క్లియర్ చేయాలనుకుంటున్నారా? ఇది మీ అన్ని డయాగ్రామ్‌లు మరియు కస్టమ్ టెంప్లేట్లను తిరిగి పొందలేని విధంగా తొలగిస్తుంది.",
help: "సహాయం", storage_flushed: "స్టోరేజ్ క్లియర్ చేయబడింది",
shortcuts: "షార్ట్‌కట్లు", help: "సహాయం",
ask_on_discord: "Discord లో అడగండి", shortcuts: "షార్ట్‌కట్లు",
feedback: "ఫీడ్బాక్", ask_on_discord: "Discord లో అడగండి",
no_changes: "ఏ మార్పులూ లేవు", feedback: "ఫీడ్బాక్",
loading: "లోడ్ అవుతోంది...", no_changes: "ఏ మార్పులూ లేవు",
last_saved: "చివరిగా సేవ్ చేయబడింది", loading: "లోడ్ అవుతోంది...",
saving: "సేవ్ అవుతోంది...", last_saved: "చివరిగా సేవ్ చేయబడింది",
failed_to_save: "సేవ్ చేయడంలో విఫలమైంది", saving: "సేవ్ అవుతోంది...",
fit_window_reset: "విండోకి సరిపోయే విధంగా / రీసెట్ చేయి", failed_to_save: "సేవ్ చేయడంలో విఫలమైంది",
zoom: "జూమ్", fit_window_reset: "విండోకి సరిపోయే విధంగా / రీసెట్ చేయి",
add_table: "పట్టిక చేర్చండి", zoom: "జూమ్",
add_area: "ప్రాంతం చేర్చండి", add_table: "పట్టిక చేర్చండి",
add_note: "గమనిక చేర్చండి", add_area: "ప్రాంతం చేర్చండి",
add_type: "రకం చేర్చండి", add_note: "గమనిక చేర్చండి",
to_do: "చేయవలసిన", add_type: "రకం చేర్చండి",
tables: "పట్టికలు", to_do: "చేయవలసిన",
relationships: "సంబంధాలు", tables: "పట్టికలు",
subject_areas: "విషయ ప్రాంతాలు", relationships: "సంబంధాలు",
notes: "గమనికలు", subject_areas: "విషయ ప్రాంతాలు",
types: "రకాలు", notes: "గమనికలు",
search: "శోధించండి...", types: "రకాలు",
no_tables: "ఏ పట్టికలు లేవు", search: "శోధించండి...",
no_tables_text: "మీ డయాగ్రామ్ ను ప్రారంభించండి!", no_tables: "ఏ పట్టికలు లేవు",
no_relationships: "ఏ సంబంధాలు లేవు", no_tables_text: "మీ డయాగ్రామ్ ను ప్రారంభించండి!",
no_relationships_text: "ఫీల్డ్స్ కలుపుకోవడానికి డ్రాగ్ చేసి సంబంధం ఏర్పాటు చేయండి!", no_relationships: "ఏ సంబంధాలు లేవు",
no_subject_areas: "ఏ విషయ ప్రాంతాలు లేవు", no_relationships_text:
no_subject_areas_text: "పట్టికలను సమూహంగా సబ్జెక్ట్ ప్రాంతాలకు చేర్చండి!", "ఫీల్డ్స్ కలుపుకోవడానికి డ్రాగ్ చేసి సంబంధం ఏర్పాటు చేయండి!",
no_notes: "ఏ గమనికలు లేవు", no_subject_areas: "ఏ విషయ ప్రాంతాలు లేవు",
no_notes_text: "అదనపు సమాచారం రికార్డ్ చేసేందుకు గమనికలు ఉపయోగించండి", no_subject_areas_text: "పట్టికలను సమూహంగా సబ్జెక్ట్ ప్రాంతాలకు చేర్చండి!",
no_types: "ఏ రకాలు లేవు", no_notes: "ఏ గమనికలు లేవు",
no_types_text: "మీ సొంత కస్టమ్ డేటా రకాలను సృష్టించండి", no_notes_text: "అదనపు సమాచారం రికార్డ్ చేసేందుకు గమనికలు ఉపయోగించండి",
no_issues: "ఏ సమస్యలు లభించలేదు.", no_types: "ఏ రకాలు లేవు",
strict_mode_is_on_no_issues: no_types_text: "మీ సొంత కస్టమ్ డేటా రకాలను సృష్టించండి",
"స్ట్రిక్ట్ మోడ్ ఆఫ్ లో ఉంది కాబట్టి ఏ సమస్యలు చూపించబడవు.", no_issues: "ఏ సమస్యలు లభించలేదు.",
name: "పేరు", strict_mode_is_on_no_issues:
type: "రకం", "స్ట్రిక్ట్ మోడ్ ఆఫ్ లో ఉంది కాబట్టి ఏ సమస్యలు చూపించబడవు.",
null: "Null", name: "పేరు",
not_null: "Null కాదు", type: "రకం",
primary: "ప్రాధమిక", null: "Null",
unique: "అద్వితీయ", not_null: "Null కాదు",
autoincrement: "స్వీయ వృద్ధి", primary: "ప్రాధమిక",
default_value: "మూల్యాన్ని అప్రమేయంగా చేయి", unique: "అద్వితీయ",
check: "తనిఖీ", autoincrement: "స్వీయ వృద్ధి",
this_will_appear_as_is: "*ఇది ఉత్పత్తి చేయబడిన స్క్రిప్ట్‌లో వంటి ప్రదర్శితం అవుతుంది.", default_value: "మూల్యాన్ని అప్రమేయంగా చేయి",
comment: "వ్యాఖ్య", check: "తనిఖీ",
add_field: "ఫీల్డ్ చేర్చండి", this_will_appear_as_is:
values: "విలువలు", "*ఇది ఉత్పత్తి చేయబడిన స్క్రిప్ట్‌లో వంటి ప్రదర్శితం అవుతుంది.",
size: "పరిమాణం", comment: "వ్యాఖ్య",
precision: "సూక్ష్మత", add_field: "ఫీల్డ్ చేర్చండి",
set_precision: "సూక్ష్మత సెట్ చేయండి: (పరిమాణం, అంకెలు)", values: "విలువలు",
use_for_batch_input: "బ్యాచ్ ఇన్‌పుట్ కోసం ఉపయోగించండి", size: "పరిమాణం",
indices: "సూచికలు", precision: "సూక్ష్మత",
add_index: "సూచిక చేర్చండి", set_precision: "సూక్ష్మత సెట్ చేయండి: (పరిమాణం, అంకెలు)",
select_fields: "ఫీల్డ్స్ ఎంచుకోండి", use_for_batch_input: "బ్యాచ్ ఇన్‌పుట్ కోసం ఉపయోగించండి",
title: "శీర్షిక", indices: "సూచికలు",
not_set: "సెట్ చేయబడలేదు", add_index: "సూచిక చేర్చండి",
foreign: "ఫారెన్", select_fields: "ఫీల్డ్స్ ఎంచుకోండి",
cardinality: "కార్డినాలిటీ", title: "శీర్షిక",
on_update: "నవీకరణపై", not_set: "సెట్ చేయబడలేదు",
on_delete: "తొలగింపుపై", foreign: "ఫారెన్",
swap: "స్వాప్ చేయండి", cardinality: "కార్డినాలిటీ",
one_to_one: "ఒకటి నుండి ఒకటి", on_update: "నవీకరణపై",
one_to_many: "ఒకటి నుండి అనేక", on_delete: "తొలగింపుపై",
many_to_one: "అనేక నుండి ఒకటి", swap: "స్వాప్ చేయండి",
content: "కంటెంట్", one_to_one: "ఒకటి నుండి ఒకటి",
types_info: one_to_many: "ఒకటి నుండి అనేక",
"ఈ లక్షణం object-relational DBMS లాంటి PostgreSQL కోసం ఉంది.\nMySQL లేదా MariaDB కోసం ఉపయోగించబడితే, సంబంధిత json చెల్లుబాటు తనిఖీతో ఒక JSON రకం ఉత్పత్తి అవుతుంది.\nSQLite కోసం ఉపయోగించబడితే, ఇది BLOB లోకి మార్చబడుతుంది.\nMSSQL కోసం ఉపయోగించబడితే, మొదటి ఫీల్డ్ కోసం ఒక రకం అలియాస్ ఉత్పత్తి అవుతుంది.", many_to_one: "అనేక నుండి ఒకటి",
table_deleted: "పట్టిక తొలగించబడింది", content: "కంటెంట్",
area_deleted: "ప్రాంతం తొలగించబడింది", types_info:
note_deleted: "గమనిక తొలగించబడింది", "ఈ లక్షణం object-relational DBMS లాంటి PostgreSQL కోసం ఉంది.\nMySQL లేదా MariaDB కోసం ఉపయోగించబడితే, సంబంధిత json చెల్లుబాటు తనిఖీతో ఒక JSON రకం ఉత్పత్తి అవుతుంది.\nSQLite కోసం ఉపయోగించబడితే, ఇది BLOB లోకి మార్చబడుతుంది.\nMSSQL కోసం ఉపయోగించబడితే, మొదటి ఫీల్డ్ కోసం ఒక రకం అలియాస్ ఉత్పత్తి అవుతుంది.",
relationship_deleted: "సంబంధం తొలగించబడింది", table_deleted: "పట్టిక తొలగించబడింది",
type_deleted: "రకం తొలగించబడింది", area_deleted: "ప్రాంతం తొలగించబడింది",
cannot_connect: "కనెక్ట్ చేయలేరు, కాలమ్ రకాలు భిన్నంగా ఉన్నాయి", note_deleted: "గమనిక తొలగించబడింది",
copied_to_clipboard: "క్లిప్‌బోర్డ్‌కు కాపీ చేయబడింది", relationship_deleted: "సంబంధం తొలగించబడింది",
create_new_diagram: "క్రొత్త డయాగ్రామ్ సృష్టించండి", type_deleted: "రకం తొలగించబడింది",
cancel: "రద్దు చేయండి", cannot_connect: "కనెక్ట్ చేయలేరు, కాలమ్ రకాలు భిన్నంగా ఉన్నాయి",
open_diagram: "డయాగ్రామ్ తెరవండి", copied_to_clipboard: "క్లిప్‌బోర్డ్‌కు కాపీ చేయబడింది",
rename_diagram: "డయాగ్రామ్ పేరు మార్చండి", create_new_diagram: "క్రొత్త డయాగ్రామ్ సృష్టించండి",
export: "ఎగుమతి", cancel: "రద్దు చేయండి",
export_image: "చిత్రం ఎగుమతి చేయి", open_diagram: "డయాగ్రామ్ తెరవండి",
create: "సృష్టించండి", rename_diagram: "డయాగ్రామ్ పేరు మార్చండి",
confirm: "నిర్ధారించండి", export: "ఎగుమతి",
last_modified: "చివరిగా సవరించబడింది", export_image: "చిత్రం ఎగుమతి చేయి",
drag_and_drop_files: "ఫైల్స్‌ను ఇక్కడికి లాగి వదిలివేయండి లేదా అప్‌లోడ్ చేయడానికి క్లిక్ చేయండి.", create: "సృష్టించండి",
support_json_and_ddb: "JSON మరియు DDB ఫైల్స్ మద్దతు", confirm: "నిర్ధారించండి",
upload_sql_to_generate_diagrams: last_modified: "చివరిగా సవరించబడింది",
"మీ టేబుల్ మరియు కాలమ్స్‌ను స్వయంచాలకంగా ఉత్పత్తి చేయడానికి SQL ఫైల్‌ను అప్‌లోడ్ చేయండి.", drag_and_drop_files:
overwrite_existing_diagram: "అన్నిప్రతుల మునుపటి ఆర్కెంట్ అంబి అవరు ఆర్కెదాన్ని చర్", "ఫైల్స్‌ను ఇక్కడికి లాగి వదిలివేయండి లేదా అప్‌లోడ్ చేయడానికి క్లిక్ చేయండి.",
only_mysql_supported: upload_sql_to_generate_diagrams:
"*ప్రస్తుతం MySQL స్క్రిప్ట్స్ మాత్రమే లోడ్ చేయడానికి మద్దతు ఉంది.", "మీ టేబుల్ మరియు కాలమ్స్‌ను స్వయంచాలకంగా ఉత్పత్తి చేయడానికి SQL ఫైల్‌ను అప్‌లోడ్ చేయండి.",
blank: "ఖాళీ", overwrite_existing_diagram:
filename: "ఫైల్ పేరు", "అన్నిప్రతుల మునుపటి ఆర్కెంట్ అంబి అవరు ఆర్కెదాన్ని చర్",
table_w_no_name: "పేరు లేకుండా పట్టికని ప్రకటించారు", only_mysql_supported:
duplicate_table_by_name: "పేరుతో డుప్లికేట్ పట్టిక '{{tableName}}'", "*ప్రస్తుతం MySQL స్క్రిప్ట్స్ మాత్రమే లోడ్ చేయడానికి మద్దతు ఉంది.",
empty_field_name: "పట్టిక '{{tableName}}' లో ఖాళీ ఫీల్డ్ `పేరు`", blank: "ఖాళీ",
empty_field_type: "పట్టిక '{{tableName}}' లో ఖాళీ ఫీల్డ్ `రకం`", filename: "ఫైల్ పేరు",
no_values_for_field: table_w_no_name: "పేరు లేకుండా పట్టికని ప్రకటించారు",
"పట్టిక '{{tableName}}' లో ఫీల్డ్ '{{fieldName}}' రకం `{{type}}` కానీ విలువలు ఇవ్వబడలేదు", duplicate_table_by_name: "పేరుతో డుప్లికేట్ పట్టిక '{{tableName}}'",
default_doesnt_match_type: empty_field_name: "పట్టిక '{{tableName}}' లో ఖాళీ ఫీల్డ్ `పేరు`",
"పట్టిక '{{table.name}}' లో ఫీల్డ్ '{{fieldName}}' యొక్క డిఫాల్ట్ విలువ రకంతో సరిపోలడం లేదు", empty_field_type: "పట్టిక '{{tableName}}' లో ఖాళీ ఫీల్డ్ `రకం`",
not_null_is_null: no_values_for_field:
"పట్టిక '{{tableName}}' లో ఫీల్డ్ '{{fieldName}}' యొక్క విలువ NOT NULL కానీ డిఫాల్ట్ NULL ఉంది", "పట్టిక '{{tableName}}' లో ఫీల్డ్ '{{fieldName}}' రకం `{{type}}` కానీ విలువలు ఇవ్వబడలేదు",
duplicate_fields: default_doesnt_match_type:
"పట్టిక '{{tableName}}' లో పేరుతో డుప్లికేట్ టేబుల్ ఫీల్డ్స్ '{{fieldName}}'", "పట్టిక '{{table.name}}' లో ఫీల్డ్ '{{fieldName}}' యొక్క డిఫాల్ట్ విలువ రకంతో సరిపోలడం లేదు",
duplicate_index: not_null_is_null:
"పట్టిక '{{tableName}}' లో పేరుతో డుప్లికేట్ ఇండెక్స్ '{{indexName}}'", "పట్టిక '{{tableName}}' లో ఫీల్డ్ '{{fieldName}}' యొక్క విలువ NOT NULL కానీ డిఫాల్ట్ NULL ఉంది",
empty_index: "పట్టిక '{{tableName}}' లో ఏ కాలమ్స్ ను ఇండెక్స్ చేయదు", duplicate_fields:
no_primary_key: "పట్టిక '{{tableName}}' లో ప్రాధమిక కీ లేదు", "పట్టిక '{{tableName}}' లో పేరుతో డుప్లికేట్ టేబుల్ ఫీల్డ్స్ '{{fieldName}}'",
type_with_no_name: "పేరు లేకుండా రకాన్ని ప్రకటించారు", duplicate_index:
duplicate_types: "పేరుతో డుప్లికేట్ రకాలు '{{typeName}}'", "పట్టిక '{{tableName}}' లో పేరుతో డుప్లికేట్ ఇండెక్స్ '{{indexName}}'",
type_w_no_fields: "ఫీల్డ్స్ లేకుండా రకం '{{typeName}}' ను ప్రకటించారు", empty_index: "పట్టిక '{{tableName}}' లో ఏ కాలమ్స్ ను ఇండెక్స్ చేయదు",
empty_type_field_name: "రకం '{{typeName}}' లో ఖాళీ ఫీల్డ్ `పేరు`", no_primary_key: "పట్టిక '{{tableName}}' లో ప్రాధమిక కీ లేదు",
empty_type_field_type: "రకం '{{typeName}}' లో ఖాళీ ఫీల్డ్ `రకం`", type_with_no_name: "పేరు లేకుండా రకాన్ని ప్రకటించారు",
no_values_for_type_field: duplicate_types: "పేరుతో డుప్లికేట్ రకాలు '{{typeName}}'",
"రకం '{{typeName}}' లో ఫీల్డ్ '{{fieldName}}' రకం `{{type}}` కానీ విలువలు ఇవ్వబడలేదు", type_w_no_fields: "ఫీల్డ్స్ లేకుండా రకం '{{typeName}}' ను ప్రకటించారు",
duplicate_type_fields: empty_type_field_name: "రకం '{{typeName}}' లో ఖాళీ ఫీల్డ్ `పేరు`",
"రకం '{{typeName}}' లో పేరుతో డుప్లికేట్ రకం ఫీల్డ్స్ '{{fieldName}}'", empty_type_field_type: "రకం '{{typeName}}' లో ఖాళీ ఫీల్డ్ `రకం`",
duplicate_reference: "పేరుతో డుప్లికేట్ రిఫరెన్స్ '{{refName}}'", no_values_for_type_field:
circular_dependency: "పట్టిక '{{refName}}' లో సర్క్యులర్ డిపెండెన్సీ", "రకం '{{typeName}}' లో ఫీల్డ్ '{{fieldName}}' రకం `{{type}}` కానీ విలువలు ఇవ్వబడలేదు",
timeline: "టైమ్‌లైన్", duplicate_type_fields:
priority: "ప్రాధాన్యత", "రకం '{{typeName}}' లో పేరుతో డుప్లికేట్ రకం ఫీల్డ్స్ '{{fieldName}}'",
none: "ఏదీ లేదు", duplicate_reference: "పేరుతో డుప్లికేట్ రిఫరెన్స్ '{{refName}}'",
low: "తక్కువ", circular_dependency: "పట్టిక '{{refName}}' లో సర్క్యులర్ డిపెండెన్సీ",
medium: "మధ్యస్థ", timeline: "టైమ్‌లైన్",
high: "అధిక", priority: "ప్రాధాన్యత",
sort_by: "ద్వారా క్రమబద్ధీకరించండి", none: "ఏదీ లేదు",
my_order: "నా క్రమం", low: "తక్కువ",
completed: "పూర్తి", medium: "మధ్యస్థ",
alphabetically: "అక్షర క్రమంలో", high: "అధిక",
add_task: "పని చేర్చండి", sort_by: "ద్వారా క్రమబద్ధీకరించండి",
details: "వివరాలు", my_order: "నా క్రమం",
no_tasks: "మీ వద్ద ఇప్పటివరకు ఏ పనులు లేవు.", completed: "పూర్తి",
no_activity: "మీ వద్ద ఇప్పటివరకు ఏ కార్యకలాపాలు లేవు.", alphabetically: "అక్షర క్రమంలో",
move_element: "{{name}} ను {{coords}} వద్ద కదలించండి", add_task: "పని చేర్చండి",
edit_area: "{{extra}} ప్రాంతం సవరించండి {{areaName}}", details: "వివరాలు",
delete_area: "ప్రాంతం తొలగించండి {{areaName}}", no_tasks: "మీ వద్ద ఇప్పటివరకు ఏ పనులు లేవు.",
edit_note: "{{extra}} గమనిక సవరించండి {{noteTitle}}", no_activity: "మీ వద్ద ఇప్పటివరకు ఏ కార్యకలాపాలు లేవు.",
delete_note: "గమనిక తొలగించండి {{noteTitle}}", move_element: "{{name}} ను {{coords}} వద్ద కదలించండి",
edit_table: "{{extra}} పట్టిక సవరించండి {{tableName}}", edit_area: "{{extra}} ప్రాంతం సవరించండి {{areaName}}",
delete_table: "పట్టిక తొలగించండి {{tableName}}", delete_area: "ప్రాంతం తొలగించండి {{areaName}}",
edit_type: "{{extra}} రకం సవరించండి {{typeName}}", edit_note: "{{extra}} గమనిక సవరించండి {{noteTitle}}",
delete_type: "రకం తొలగించండి {{typeName}}", delete_note: "గమనిక తొలగించండి {{noteTitle}}",
add_relationship: "సంబంధం చేర్చండి", edit_table: "{{extra}} పట్టిక సవరించండి {{tableName}}",
edit_relationship: "{{extra}} సంబంధం సవరించండి {{refName}}", delete_table: "పట్టిక తొలగించండి {{tableName}}",
delete_relationship: "సంబంధం తొలగించండి {{refName}}", edit_type: "{{extra}} రకం సవరించండి {{typeName}}",
not_found: "దొరకలేదు", delete_type: "రకం తొలగించండి {{typeName}}",
}, add_relationship: "సంబంధం చేర్చండి",
}; edit_relationship: "{{extra}} సంబంధం సవరించండి {{refName}}",
delete_relationship: "సంబంధం తొలగించండి {{refName}}",
export { te, telugu }; not_found: "దొరకలేదు",
},
};
export { te, telugu };

View File

@ -1,228 +1,252 @@
const tamil = { const tamil = {
name: "Tamil", name: "Tamil",
native_name: "தமிழ்", native_name: "தமிழ்",
code: "tm", code: "tm",
};
const tm = {
translation: {
report_bug: "பிழையைப் புகாரளிக்கவும்",
import: "இறக்குமதி",
file: "கோப்பு",
new: "புதியது",
new_window: "புதிய சாளரம்",
open: "திற",
save: "சேமிக்க",
save_as: "மற்றொரு பெயரில் சேமிக்க",
save_as_template: "வார்ப்புருவாக சேமிக்க",
template_saved: "வார்ப்புரை சேமிக்கப்பட்டது!",
rename: "பெயர் மாற்ற",
delete_diagram: "வரைவைப் அழிக்க",
are_you_sure_delete_diagram: "இந்த வரைவைக் கணியலை நீக்க விரும்புகிறீர்களா? இந்த செயல்பாடு மாற்றமுடியாதது.",
oops_smth_went_wrong: "ஓப்பஸ்! ஏதோ தவறானது.",
import_diagram: "வரைவைக் கணியம் செய்ய",
import_from_source: "SQL-இலிருந்து இறக்குமதி செய்ய",
export_as: "வெளியீடு செய்ய",
export_source: "SQL ஆக வெளியீடு",
models: "மாதிரிகள்",
exit: "வெளியேறு",
edit: "தொகு",
undo: "திரும்பெடு",
redo: "மீண்டும் செய்",
clear: "அழிக்க",
are_you_sure_clear: "இந்த வரைவைக் கணியலை அகற்ற விரும்புகிறீர்களா? இது மாற்றமுடியாதது.",
cut: "வெட்டு",
copy: "நகலெடு",
paste: "ஒட்டு",
duplicate: "மறுபடி செய்ய",
delete: "அழி",
copy_as_image: "படமாக நகலெடு",
view: "காண",
header: "மெனுபட்டி",
sidebar: "பக்கப்பட்டி",
issues: "சிக்கல்கள்",
presentation_mode: "வழங்கல் முறை",
strict_mode: "கடுமையான முறை",
field_details: "புலம் விவரங்கள்",
reset_view: "காட்சியை மீட்டமை",
show_grid: "கட்டத்தை காட்ட",
show_cardinality: "பெருந்தன்மையை காட்ட",
theme: "தீம்",
light: "ஒளி",
dark: "இருள்",
zoom_in: "பெரிதாக்கு",
zoom_out: "சிறிதாக்கு",
fullscreen: "முழுத்திரை",
settings: "அமைப்புகள்",
show_timeline: "நேரவரிசையை காட்ட",
autosave: "தானியங்கு சேமிப்பு",
panning: "திரைவிரிப்பு",
show_debug_coordinates: "பிழைத்திருத்த இடங்களை காட்ட",
transform: "மாற்று",
viewbox: "காட்சி பெட்டி",
cursor_coordinates: "நாட்டெண்",
coordinate_space: "இடம்",
coordinate_space_screen: "திரை",
coordinate_space_diagram: "வரைவுக் கணியம்",
table_width: "அட்டவணை அகலம்",
language: "மொழி",
flush_storage: "சேமிப்பை கழிக்க",
are_you_sure_flush_storage: "சேமிப்பை அழிக்க விரும்புகிறீர்களா? இது உங்கள் அனைத்து வரைவுகளையும் தனிப்பயனாக்கிய வார்ப்புருக்களை நீக்கும்.",
storage_flushed: "சேமிப்பு கழிக்கப்பட்டது",
help: "உதவி",
shortcuts: "குறுக்குவழிகள்",
ask_on_discord: "Discord-ல் கேளுங்கள்",
feedback: "கருத்து",
no_changes: "மாற்றங்கள் இல்லை",
loading: "ஏற்றுகிறது...",
last_saved: "கடைசியாக சேமிக்கப்பட்டது",
saving: "சேமிக்கிறது...",
failed_to_save: "சேமிக்க முடியவில்லை",
fit_window_reset: "சாளரத்திற்கு பொருத்து / மீட்டமை",
zoom: "பெரிதாக்கு",
add_table: "அட்டவணையைச் சேர்",
add_area: "பகுதியைச் சேர்",
add_note: "குறிப்பைச் சேர்",
add_type: "வகையைச் சேர்",
to_do: "செய்யவேண்டியது",
tables: "அட்டவணைகள்",
relationships: "தொடர்புகள்",
subject_areas: "பொருள் பகுதிகள்",
notes: "குறிப்புகள்",
types: "வகைகள்",
search: "தேடு...",
no_tables: "அட்டவணைகள் இல்லை",
no_tables_text: "உங்கள் வரைவைக் கணியம் தொடங்குங்கள்!",
no_relationships: "தொடர்புகள் இல்லை",
no_relationships_text: "புலங்களை இணைக்க இழுத்து விடுங்கள் மற்றும் தொடர்புகளை உருவாக்குங்கள்!",
no_subject_areas: "பொருள் பகுதிகள் இல்லை",
no_subject_areas_text: "அட்டவணைகளை குழுவாகச் சேர்க்க பொருள் பகுதிகளைச் சேர்க்கவும்!",
no_notes: "குறிப்புகள் இல்லை",
no_notes_text: "கூடுதல் தகவலைப் பதிவு செய்ய குறிப்புகளைப் பயன்படுத்துங்கள்",
no_types: "வகைகள் இல்லை",
no_types_text: "உங்கள் சொந்த தனிப்பயன் தரவுப் வகைகளை உருவாக்குங்கள்",
no_issues: "சிக்கல்கள் கண்டுபிடிக்கவில்லை.",
strict_mode_is_on_no_issues: "கடுமையான முறை அணைக்கப்பட்டுள்ளது எனவே சிக்கல்கள் காண்பிக்கப்படாது.",
name: "பெயர்",
type: "வகை",
null: "சுழி",
not_null: "சுழியல்ல",
primary: "முதன்மை",
unique: "தனித்துவம்",
autoincrement: "தானியங்கி அதிகரிப்பு",
default_value: "இயல்புநிலை",
check: "சரிபார்",
this_will_appear_as_is: "*இது உருவாக்கப்பட்ட ஸ்கிரிப்டில் உள்ளபடியே தோன்றும்.",
comment: "கருத்து",
add_field: "புலம் சேர்க்க",
values: "மதிப்புகள்",
size: "அளவு",
precision: "துல்லியம்",
set_precision: "துல்லியத்தை அமைக்க: 'அளவு, எண்கள்'",
use_for_batch_input: "தொகுதி உள்ளீடிற்கு , பயன்படுத்தவும்",
indices: "சுட்டிகள்",
add_index: "சுட்டி சேர்க்க",
select_fields: "புலங்களைத் தேர்ந்தெடு",
title: "தலைப்பு",
not_set: "அமைக்கப்படவில்லை",
foreign: "வெளிநாட்டு",
cardinality: "பெருந்தன்மை",
on_update: "புதுப்பிக்கும்போது",
on_delete: "அழிக்கும்போது",
swap: "மாற்றம்",
one_to_one: "ஒன்றுக்கு ஒன்று",
one_to_many: "ஒன்றுக்கு பல",
many_to_one: "பலக்கு ஒன்று",
content: "உள்ளடக்கம்",
types_info: "இந்த அம்சம் PostgreSQL போன்ற பொருள் தொடர்புடைய DBMS-களுக்காகவே. MySQL அல்லது MariaDB க்கு பயன்படுத்தப்படும் போது JSON வகை உருவாக்கப்படும் அதற்கான json சரிபார்ப்பு ஆய்வுடன். SQLite க்கு பயன்படுத்தப்படும் போது இது BLOB ஆக மாற்றப்படும். MSSQL க்கு பயன்படுத்தப்படும் போது முதற்கொண்டு கணியலுக்கு ஒரே வகை மாற்றம் உருவாக்கப்படும்.",
table_deleted: "அட்டவணை அழிக்கப்பட்டது",
area_deleted: "பகுதி அழிக்கப்பட்டது",
note_deleted: "குறிப்பு அழிக்கப்பட்டது",
relationship_deleted: "தொடர்பு அழிக்கப்பட்டது",
type_deleted: "வகை அழிக்கப்பட்டது",
cannot_connect: "இணைக்க முடியாது, புலங்கள் மாறுபட்ட வகைகளில் உள்ளன",
copied_to_clipboard: "கிளிப்போர்டில் நகலெடுக்கப்பட்டது",
create_new_diagram: "புதிய வரைவைக் கணியம் உருவாக்க",
cancel: "ரத்து செய்",
open_diagram: "வரைவைக் கணியம் திற",
rename_diagram: "வரைவுக் கணியலின் பெயரை மாற்று",
export: "வெளியீடு செய்",
export_image: "படமாக வெளியீடு செய்",
create: "உருவாக்கு",
confirm: "உறுதிப்படுத்து",
last_modified: "கடைசியாக மாற்றப்பட்டது",
drag_and_drop_files: "கோப்புகளை இங்கு இழுத்து விடவும் அல்லது கிளிக்கி பதிவேற்றவும்.",
support_json_and_ddb: "JSON மற்றும் DDB கோப்புகள் ஆதரிக்கப்படுகின்றன",
upload_sql_to_generate_diagrams: "sql கோப்பை பதிவேற்றம் செய்து உங்கள் அட்டவணைகளையும் புலங்களையும் தானாக உருவாக்குங்கள்.",
overwrite_existing_diagram: "ஏற்கனவே உள்ள வரைவைக் கணியலை மீட்டமைக்க",
only_mysql_supported: "*தற்காலிகமாக மட்டும் MySQL ஸ்கிரிப்ட்கள் மட்டுமே ஆதரிக்கப்படும்.",
blank: "வெற்று",
filename: "கோப்புப்பெயர்",
table_w_no_name: "பெயர் இல்லாத அட்டவணை அறிவிக்கப்பட்டது",
duplicate_table_by_name: "'{{tableName}}' என்ற பெயரில் நகல் அட்டவணை",
empty_field_name: "'{{tableName}}' அட்டவணையில் `name` புலம் வெறுமையாக உள்ளது",
empty_field_type: "'{{tableName}}' அட்டவணையில் `type` புலம் வெறுமையாக உள்ளது",
no_values_for_field: "'{{tableName}}' அட்டவணையில் '{{fieldName}}' புலம் `{{type}}` வகையில் உள்ளது ஆனால் மதிப்புகள் குறிப்பிடப்படவில்லை",
default_doesnt_match_type: "'{{tableName}}' அட்டவணையில் '{{fieldName}}' புலத்திற்கு இயல்புநிலை மதிப்பு அதன் வகையுடன் பொருந்தவில்லை",
not_null_is_null: "'{{tableName}}' அட்டவணையில் '{{fieldName}}' புலம் சுழியல்ல ஆனால் இயல்புநிலை சுழி உள்ளது",
duplicate_fields: "'{{tableName}}' அட்டவணையில் '{{fieldName}}' என்ற பெயரில் நகல் புலங்கள்",
duplicate_index: "'{{tableName}}' அட்டவணையில் '{{indexName}}' என்ற பெயரில் நகல் சுட்டி",
empty_index: "'{{tableName}}' அட்டவணையில் சுட்டி எந்த புலங்களையும் குறிப்பிடவில்லை",
no_primary_key: "'{{tableName}}' அட்டவணையில் முதன்மை விசை இல்லை",
type_with_no_name: "பெயர் இல்லாத வகை அறிவிக்கப்பட்டது",
duplicate_types: "'{{typeName}}' என்ற பெயரில் நகல் வகைகள்",
type_w_no_fields: "'{{typeName}}' என்ற பெயரில் வெறுமையான வகை அறிவிக்கப்பட்டது",
empty_type_field_name: "'{{typeName}}' வகையில் `name` புலம் வெறுமையாக உள்ளது",
empty_type_field_type: "'{{typeName}}' வகையில் `type` புலம் வெறுமையாக உள்ளது",
no_values_for_type_field: "'{{typeName}}' வகையில் '{{fieldName}}' புலம் `{{type}}` வகையில் உள்ளது ஆனால் மதிப்புகள் குறிப்பிடப்படவில்லை",
duplicate_type_fields: "'{{typeName}}' வகையில் '{{fieldName}}' என்ற பெயரில் நகல் புலங்கள்",
duplicate_reference: "'{{refName}}' என்ற பெயரில் நகல் குறிப்பு",
circular_dependency: "'{{refName}}' அட்டவணை குறித்த சுழற்சி சார்பு",
timeline: "நேரவரிசை",
priority: "முக்கியத்துவம்",
none: "இல்லை",
low: "குறைவு",
medium: "நடுத்தர",
high: "அதிகம்",
sort_by: "வரிசைப்படுத்து",
my_order: "என் ஒழுங்கு",
completed: "முடிந்தது",
alphabetically: "அகரவரிசையில்",
add_task: "பணி சேர்க்க",
details: "விவரங்கள்",
no_tasks: "உங்களுக்கு பணிகள் இல்லை.",
no_activity: "உங்களுக்கு செயல்பாடுகள் இல்லை.",
move_element: "{{name}} ஐ {{coords}}க்கு மாற்று",
edit_area: "{{extra}} பகுதியைத் திருத்து {{areaName}}",
delete_area: "பகுதியை நீக்கு {{areaName}}",
edit_note: "{{extra}} குறிப்பைத் திருத்து {{noteTitle}}",
delete_note: "குறிப்பை நீக்கு {{noteTitle}}",
edit_table: "{{extra}} அட்டவணையைத் திருத்து {{tableName}}",
delete_table: "அட்டவணையை நீக்கு {{tableName}}",
edit_type: "{{extra}} வகையைத் திருத்து {{typeName}}",
delete_type: "வகையை நீக்கு {{typeName}}",
add_relationship: "தொடர்பைச் சேர்க்க",
edit_relationship: "{{extra}} தொடர்பைத் திருத்து {{refName}}",
delete_relationship: "தொடர்பை நீக்கு {{refName}}",
not_found: "கண்டுபிடிக்கவில்லை",
pick_db: "தரவுத்தொகுப்பைத் தேர்ந்தெடு",
generic: "பொது",
generic_description: "பொது வரைவை எந்த SQL வகைக்கும் ஏற்றexport செய்யலாம், ஆனால் சில தரவுவகைகளை மட்டுமே ஆதரிக்கும்.",
enums: "எனம்கள்",
add_enum: "எனத்தைச் சேர்க்க",
edit_enum: "{{extra}} எனத்தைத் திருத்து {{enumName}}",
delete_enum: "எனத்தை நீக்கு",
enum_w_no_name: "பெயர் இல்லாத எனம் கண்டுபிடிக்கப்பட்டது",
enum_w_no_values: "'{{enumName}}' எனத்தில் மதிப்புகள் இல்லை",
duplicate_enums: "'{{enumName}}' என்ற பெயரில் நகல் எனங்கள்",
no_enums: "எனங்கள் இல்லை",
no_enums_text: "இங்கே எனங்களை வரையறுக்கவும்",
declare_array: "வரிசையாக அறிவி",
empty_index_name: "'{{tableName}}' அட்டவணையில் பெயர் இல்லாத சுட்டி அறிவிக்கப்பட்டது",
didnt_find_diagram: "ஓப்பஸ்! வரைவை கண்டுபிடிக்க முடியவில்லை.",
},
}; };
const tm = {
export { tm, tamil }; translation: {
report_bug: "பிழையைப் புகாரளிக்கவும்",
import_from: "இறக்குமதி",
import: "இறக்குமதி",
file: "கோப்பு",
new: "புதியது",
new_window: "புதிய சாளரம்",
open: "திற",
save: "சேமிக்க",
save_as: "மற்றொரு பெயரில் சேமிக்க",
save_as_template: "வார்ப்புருவாக சேமிக்க",
template_saved: "வார்ப்புரை சேமிக்கப்பட்டது!",
rename: "பெயர் மாற்ற",
delete_diagram: "வரைவைப் அழிக்க",
are_you_sure_delete_diagram:
"இந்த வரைவைக் கணியலை நீக்க விரும்புகிறீர்களா? இந்த செயல்பாடு மாற்றமுடியாதது.",
oops_smth_went_wrong: "ஓப்பஸ்! ஏதோ தவறானது.",
import_diagram: "வரைவைக் கணியம் செய்ய",
import_from_source: "SQL-இலிருந்து இறக்குமதி செய்ய",
export_as: "வெளியீடு செய்ய",
export_source: "SQL ஆக வெளியீடு",
models: "மாதிரிகள்",
exit: "வெளியேறு",
edit: "தொகு",
undo: "திரும்பெடு",
redo: "மீண்டும் செய்",
clear: "அழிக்க",
are_you_sure_clear:
"இந்த வரைவைக் கணியலை அகற்ற விரும்புகிறீர்களா? இது மாற்றமுடியாதது.",
cut: "வெட்டு",
copy: "நகலெடு",
paste: "ஒட்டு",
duplicate: "மறுபடி செய்ய",
delete: "அழி",
copy_as_image: "படமாக நகலெடு",
view: "காண",
header: "மெனுபட்டி",
sidebar: "பக்கப்பட்டி",
issues: "சிக்கல்கள்",
presentation_mode: "வழங்கல் முறை",
strict_mode: "கடுமையான முறை",
field_details: "புலம் விவரங்கள்",
reset_view: "காட்சியை மீட்டமை",
show_grid: "கட்டத்தை காட்ட",
show_cardinality: "பெருந்தன்மையை காட்ட",
theme: "தீம்",
light: "ஒளி",
dark: "இருள்",
zoom_in: "பெரிதாக்கு",
zoom_out: "சிறிதாக்கு",
fullscreen: "முழுத்திரை",
settings: "அமைப்புகள்",
show_timeline: "நேரவரிசையை காட்ட",
autosave: "தானியங்கு சேமிப்பு",
panning: "திரைவிரிப்பு",
show_debug_coordinates: "பிழைத்திருத்த இடங்களை காட்ட",
transform: "மாற்று",
viewbox: "காட்சி பெட்டி",
cursor_coordinates: "நாட்டெண்",
coordinate_space: "இடம்",
coordinate_space_screen: "திரை",
coordinate_space_diagram: "வரைவுக் கணியம்",
table_width: "அட்டவணை அகலம்",
language: "மொழி",
flush_storage: "சேமிப்பை கழிக்க",
are_you_sure_flush_storage:
"சேமிப்பை அழிக்க விரும்புகிறீர்களா? இது உங்கள் அனைத்து வரைவுகளையும் தனிப்பயனாக்கிய வார்ப்புருக்களை நீக்கும்.",
storage_flushed: "சேமிப்பு கழிக்கப்பட்டது",
help: "உதவி",
shortcuts: "குறுக்குவழிகள்",
ask_on_discord: "Discord-ல் கேளுங்கள்",
feedback: "கருத்து",
no_changes: "மாற்றங்கள் இல்லை",
loading: "ஏற்றுகிறது...",
last_saved: "கடைசியாக சேமிக்கப்பட்டது",
saving: "சேமிக்கிறது...",
failed_to_save: "சேமிக்க முடியவில்லை",
fit_window_reset: "சாளரத்திற்கு பொருத்து / மீட்டமை",
zoom: "பெரிதாக்கு",
add_table: "அட்டவணையைச் சேர்",
add_area: "பகுதியைச் சேர்",
add_note: "குறிப்பைச் சேர்",
add_type: "வகையைச் சேர்",
to_do: "செய்யவேண்டியது",
tables: "அட்டவணைகள்",
relationships: "தொடர்புகள்",
subject_areas: "பொருள் பகுதிகள்",
notes: "குறிப்புகள்",
types: "வகைகள்",
search: "தேடு...",
no_tables: "அட்டவணைகள் இல்லை",
no_tables_text: "உங்கள் வரைவைக் கணியம் தொடங்குங்கள்!",
no_relationships: "தொடர்புகள் இல்லை",
no_relationships_text:
"புலங்களை இணைக்க இழுத்து விடுங்கள் மற்றும் தொடர்புகளை உருவாக்குங்கள்!",
no_subject_areas: "பொருள் பகுதிகள் இல்லை",
no_subject_areas_text:
"அட்டவணைகளை குழுவாகச் சேர்க்க பொருள் பகுதிகளைச் சேர்க்கவும்!",
no_notes: "குறிப்புகள் இல்லை",
no_notes_text: "கூடுதல் தகவலைப் பதிவு செய்ய குறிப்புகளைப் பயன்படுத்துங்கள்",
no_types: "வகைகள் இல்லை",
no_types_text: "உங்கள் சொந்த தனிப்பயன் தரவுப் வகைகளை உருவாக்குங்கள்",
no_issues: "சிக்கல்கள் கண்டுபிடிக்கவில்லை.",
strict_mode_is_on_no_issues:
"கடுமையான முறை அணைக்கப்பட்டுள்ளது எனவே சிக்கல்கள் காண்பிக்கப்படாது.",
name: "பெயர்",
type: "வகை",
null: "சுழி",
not_null: "சுழியல்ல",
primary: "முதன்மை",
unique: "தனித்துவம்",
autoincrement: "தானியங்கி அதிகரிப்பு",
default_value: "இயல்புநிலை",
check: "சரிபார்",
this_will_appear_as_is:
"*இது உருவாக்கப்பட்ட ஸ்கிரிப்டில் உள்ளபடியே தோன்றும்.",
comment: "கருத்து",
add_field: "புலம் சேர்க்க",
values: "மதிப்புகள்",
size: "அளவு",
precision: "துல்லியம்",
set_precision: "துல்லியத்தை அமைக்க: 'அளவு, எண்கள்'",
use_for_batch_input: "தொகுதி உள்ளீடிற்கு , பயன்படுத்தவும்",
indices: "சுட்டிகள்",
add_index: "சுட்டி சேர்க்க",
select_fields: "புலங்களைத் தேர்ந்தெடு",
title: "தலைப்பு",
not_set: "அமைக்கப்படவில்லை",
foreign: "வெளிநாட்டு",
cardinality: "பெருந்தன்மை",
on_update: "புதுப்பிக்கும்போது",
on_delete: "அழிக்கும்போது",
swap: "மாற்றம்",
one_to_one: "ஒன்றுக்கு ஒன்று",
one_to_many: "ஒன்றுக்கு பல",
many_to_one: "பலக்கு ஒன்று",
content: "உள்ளடக்கம்",
types_info:
"இந்த அம்சம் PostgreSQL போன்ற பொருள் தொடர்புடைய DBMS-களுக்காகவே. MySQL அல்லது MariaDB க்கு பயன்படுத்தப்படும் போது JSON வகை உருவாக்கப்படும் அதற்கான json சரிபார்ப்பு ஆய்வுடன். SQLite க்கு பயன்படுத்தப்படும் போது இது BLOB ஆக மாற்றப்படும். MSSQL க்கு பயன்படுத்தப்படும் போது முதற்கொண்டு கணியலுக்கு ஒரே வகை மாற்றம் உருவாக்கப்படும்.",
table_deleted: "அட்டவணை அழிக்கப்பட்டது",
area_deleted: "பகுதி அழிக்கப்பட்டது",
note_deleted: "குறிப்பு அழிக்கப்பட்டது",
relationship_deleted: "தொடர்பு அழிக்கப்பட்டது",
type_deleted: "வகை அழிக்கப்பட்டது",
cannot_connect: "இணைக்க முடியாது, புலங்கள் மாறுபட்ட வகைகளில் உள்ளன",
copied_to_clipboard: "கிளிப்போர்டில் நகலெடுக்கப்பட்டது",
create_new_diagram: "புதிய வரைவைக் கணியம் உருவாக்க",
cancel: "ரத்து செய்",
open_diagram: "வரைவைக் கணியம் திற",
rename_diagram: "வரைவுக் கணியலின் பெயரை மாற்று",
export: "வெளியீடு செய்",
export_image: "படமாக வெளியீடு செய்",
create: "உருவாக்கு",
confirm: "உறுதிப்படுத்து",
last_modified: "கடைசியாக மாற்றப்பட்டது",
drag_and_drop_files:
"கோப்புகளை இங்கு இழுத்து விடவும் அல்லது கிளிக்கி பதிவேற்றவும்.",
upload_sql_to_generate_diagrams:
"sql கோப்பை பதிவேற்றம் செய்து உங்கள் அட்டவணைகளையும் புலங்களையும் தானாக உருவாக்குங்கள்.",
overwrite_existing_diagram: "ஏற்கனவே உள்ள வரைவைக் கணியலை மீட்டமைக்க",
only_mysql_supported:
"*தற்காலிகமாக மட்டும் MySQL ஸ்கிரிப்ட்கள் மட்டுமே ஆதரிக்கப்படும்.",
blank: "வெற்று",
filename: "கோப்புப்பெயர்",
table_w_no_name: "பெயர் இல்லாத அட்டவணை அறிவிக்கப்பட்டது",
duplicate_table_by_name: "'{{tableName}}' என்ற பெயரில் நகல் அட்டவணை",
empty_field_name:
"'{{tableName}}' அட்டவணையில் `name` புலம் வெறுமையாக உள்ளது",
empty_field_type:
"'{{tableName}}' அட்டவணையில் `type` புலம் வெறுமையாக உள்ளது",
no_values_for_field:
"'{{tableName}}' அட்டவணையில் '{{fieldName}}' புலம் `{{type}}` வகையில் உள்ளது ஆனால் மதிப்புகள் குறிப்பிடப்படவில்லை",
default_doesnt_match_type:
"'{{tableName}}' அட்டவணையில் '{{fieldName}}' புலத்திற்கு இயல்புநிலை மதிப்பு அதன் வகையுடன் பொருந்தவில்லை",
not_null_is_null:
"'{{tableName}}' அட்டவணையில் '{{fieldName}}' புலம் சுழியல்ல ஆனால் இயல்புநிலை சுழி உள்ளது",
duplicate_fields:
"'{{tableName}}' அட்டவணையில் '{{fieldName}}' என்ற பெயரில் நகல் புலங்கள்",
duplicate_index:
"'{{tableName}}' அட்டவணையில் '{{indexName}}' என்ற பெயரில் நகல் சுட்டி",
empty_index:
"'{{tableName}}' அட்டவணையில் சுட்டி எந்த புலங்களையும் குறிப்பிடவில்லை",
no_primary_key: "'{{tableName}}' அட்டவணையில் முதன்மை விசை இல்லை",
type_with_no_name: "பெயர் இல்லாத வகை அறிவிக்கப்பட்டது",
duplicate_types: "'{{typeName}}' என்ற பெயரில் நகல் வகைகள்",
type_w_no_fields:
"'{{typeName}}' என்ற பெயரில் வெறுமையான வகை அறிவிக்கப்பட்டது",
empty_type_field_name:
"'{{typeName}}' வகையில் `name` புலம் வெறுமையாக உள்ளது",
empty_type_field_type:
"'{{typeName}}' வகையில் `type` புலம் வெறுமையாக உள்ளது",
no_values_for_type_field:
"'{{typeName}}' வகையில் '{{fieldName}}' புலம் `{{type}}` வகையில் உள்ளது ஆனால் மதிப்புகள் குறிப்பிடப்படவில்லை",
duplicate_type_fields:
"'{{typeName}}' வகையில் '{{fieldName}}' என்ற பெயரில் நகல் புலங்கள்",
duplicate_reference: "'{{refName}}' என்ற பெயரில் நகல் குறிப்பு",
circular_dependency: "'{{refName}}' அட்டவணை குறித்த சுழற்சி சார்பு",
timeline: "நேரவரிசை",
priority: "முக்கியத்துவம்",
none: "இல்லை",
low: "குறைவு",
medium: "நடுத்தர",
high: "அதிகம்",
sort_by: "வரிசைப்படுத்து",
my_order: "என் ஒழுங்கு",
completed: "முடிந்தது",
alphabetically: "அகரவரிசையில்",
add_task: "பணி சேர்க்க",
details: "விவரங்கள்",
no_tasks: "உங்களுக்கு பணிகள் இல்லை.",
no_activity: "உங்களுக்கு செயல்பாடுகள் இல்லை.",
move_element: "{{name}} ஐ {{coords}}க்கு மாற்று",
edit_area: "{{extra}} பகுதியைத் திருத்து {{areaName}}",
delete_area: "பகுதியை நீக்கு {{areaName}}",
edit_note: "{{extra}} குறிப்பைத் திருத்து {{noteTitle}}",
delete_note: "குறிப்பை நீக்கு {{noteTitle}}",
edit_table: "{{extra}} அட்டவணையைத் திருத்து {{tableName}}",
delete_table: "அட்டவணையை நீக்கு {{tableName}}",
edit_type: "{{extra}} வகையைத் திருத்து {{typeName}}",
delete_type: "வகையை நீக்கு {{typeName}}",
add_relationship: "தொடர்பைச் சேர்க்க",
edit_relationship: "{{extra}} தொடர்பைத் திருத்து {{refName}}",
delete_relationship: "தொடர்பை நீக்கு {{refName}}",
not_found: "கண்டுபிடிக்கவில்லை",
pick_db: "தரவுத்தொகுப்பைத் தேர்ந்தெடு",
generic: "பொது",
generic_description:
"பொது வரைவை எந்த SQL வகைக்கும் ஏற்றexport செய்யலாம், ஆனால் சில தரவுவகைகளை மட்டுமே ஆதரிக்கும்.",
enums: "எனம்கள்",
add_enum: "எனத்தைச் சேர்க்க",
edit_enum: "{{extra}} எனத்தைத் திருத்து {{enumName}}",
delete_enum: "எனத்தை நீக்கு",
enum_w_no_name: "பெயர் இல்லாத எனம் கண்டுபிடிக்கப்பட்டது",
enum_w_no_values: "'{{enumName}}' எனத்தில் மதிப்புகள் இல்லை",
duplicate_enums: "'{{enumName}}' என்ற பெயரில் நகல் எனங்கள்",
no_enums: "எனங்கள் இல்லை",
no_enums_text: "இங்கே எனங்களை வரையறுக்கவும்",
declare_array: "வரிசையாக அறிவி",
empty_index_name:
"'{{tableName}}' அட்டவணையில் பெயர் இல்லாத சுட்டி அறிவிக்கப்பட்டது",
didnt_find_diagram: "ஓப்பஸ்! வரைவை கண்டுபிடிக்க முடியவில்லை.",
},
};
export { tm, tamil };

View File

@ -7,6 +7,7 @@ const turkish = {
const tr = { const tr = {
translation: { translation: {
report_bug: "Hata bildir", report_bug: "Hata bildir",
import_from: "İçe aktar",
import: "İçe aktar", import: "İçe aktar",
file: "Dosya", file: "Dosya",
new: "Yeni", new: "Yeni",
@ -97,7 +98,8 @@ const tr = {
no_tables: "Tablo yok", no_tables: "Tablo yok",
no_tables_text: "Diagram oluşturmaya başlayın", no_tables_text: "Diagram oluşturmaya başlayın",
no_relationships: "İlişki yok", no_relationships: "İlişki yok",
no_relationships_text: "Alanları bağlamak ve ilişkiler oluşturmak için sürükleyin", no_relationships_text:
"Alanları bağlamak ve ilişkiler oluşturmak için sürükleyin",
no_subject_areas: "Konu alanı yok", no_subject_areas: "Konu alanı yok",
no_subject_areas_text: "Grup tablolarına konu alanları ekleyin!", no_subject_areas_text: "Grup tablolarına konu alanları ekleyin!",
no_notes: "Not yok", no_notes: "Not yok",
@ -105,8 +107,7 @@ const tr = {
no_types: "Tip yok", no_types: "Tip yok",
no_types_text: "Kendi özel veri türlerinizi tanımlayın", no_types_text: "Kendi özel veri türlerinizi tanımlayın",
no_issues: "Hiçbir sorun bulunamadı", no_issues: "Hiçbir sorun bulunamadı",
strict_mode_is_on_no_issues: strict_mode_is_on_no_issues: "Sabit mod açık iken hatalar görüntülenmez",
"Sabit mod açık iken hatalar görüntülenmez",
name: "", name: "",
type: "Tip", type: "Tip",
null: "Boş", null: "Boş",
@ -138,7 +139,8 @@ const tr = {
one_to_many: "Bire çok", one_to_many: "Bire çok",
many_to_one: "Çoktan bire", many_to_one: "Çoktan bire",
content: "İçerik", content: "İçerik",
types_info:"Bu özellik PostgreSQL gibi nesne-ilişkisel DBMS'ler içindir.\nMySQL veya MariaDB için kullanılırsa, ilgili json doğrulama kontrolüyle birlikte bir JSON türü oluşturulacaktır.\nSQLite için kullanılırsa, bir BLOB'a çevrilecektir.\nMSQL için kullanılırsa, ilk alana bir tür takma adı oluşturulacaktır.", types_info:
"Bu özellik PostgreSQL gibi nesne-ilişkisel DBMS'ler içindir.\nMySQL veya MariaDB için kullanılırsa, ilgili json doğrulama kontrolüyle birlikte bir JSON türü oluşturulacaktır.\nSQLite için kullanılırsa, bir BLOB'a çevrilecektir.\nMSQL için kullanılırsa, ilk alana bir tür takma adı oluşturulacaktır.",
table_deleted: "Tablo silindi", table_deleted: "Tablo silindi",
area_deleted: "Alan silindi", area_deleted: "Alan silindi",
note_deleted: "Not silindi", note_deleted: "Not silindi",
@ -155,8 +157,8 @@ const tr = {
create: "Oluştur", create: "Oluştur",
confirm: "Onayla", confirm: "Onayla",
last_modified: "Son değişiklik", last_modified: "Son değişiklik",
drag_and_drop_files: "Dosyayı buraya sürükleyip bırakın veya yüklemek için tıklayın.", drag_and_drop_files:
support_json_and_ddb: "JSON ve DDB dosya türleri desteklenir", "Dosyayı buraya sürükleyip bırakın veya yüklemek için tıklayın.",
upload_sql_to_generate_diagrams: upload_sql_to_generate_diagrams:
"Tablolarınızı ve sütunlarınızı otomatik olarak oluşturmak için bir sql dosyası yükleyin.", "Tablolarınızı ve sütunlarınızı otomatik olarak oluşturmak için bir sql dosyası yükleyin.",
overwrite_existing_diagram: "Mevcut diyagramı üzerine yaz", overwrite_existing_diagram: "Mevcut diyagramı üzerine yaz",
@ -168,20 +170,28 @@ const tr = {
duplicate_table_by_name: "Tekrar eden tablo adı '{{tableName}}'", duplicate_table_by_name: "Tekrar eden tablo adı '{{tableName}}'",
empty_field_name: "'{{tableName}} tablosunda boş alan `name`", empty_field_name: "'{{tableName}} tablosunda boş alan `name`",
empty_field_type: "'{{tableName}} tablosunda boş tip `type`", empty_field_type: "'{{tableName}} tablosunda boş tip `type`",
no_values_for_field:"'{{tableName}}' tablosunun '{{fieldName}}' alanı `{{type}}` türündedir ancak hiçbir değer belirtilmemiştir", no_values_for_field:
default_doesnt_match_type:"{{tableName}} tablosundaki '{{fieldName}}' alanı için varsayılan değer türüyle eşleşmiyor", "'{{tableName}}' tablosunun '{{fieldName}}' alanı `{{type}}` türündedir ancak hiçbir değer belirtilmemiştir",
not_null_is_null:"'{{tableName}}' tablosunun '{{fieldName}}' alanı NULL DEĞİL ancak varsayılan olarak NULL", default_doesnt_match_type:
duplicate_fields:"Tablo '{{tableName}}' içinde '{{fieldName}}' adıyla yinelenen tablo alanları", "{{tableName}} tablosundaki '{{fieldName}}' alanı için varsayılan değer türüyle eşleşmiyor",
duplicate_index: "'{{tableName}}' tablosunda '{{indexName}}' adına göre yinelenen dizin", not_null_is_null:
empty_index: "'{{tableName}}' tablosundaki dizin hiçbir sütunu indexlemiyor", "'{{tableName}}' tablosunun '{{fieldName}}' alanı NULL DEĞİL ancak varsayılan olarak NULL",
duplicate_fields:
"Tablo '{{tableName}}' içinde '{{fieldName}}' adıyla yinelenen tablo alanları",
duplicate_index:
"'{{tableName}}' tablosunda '{{indexName}}' adına göre yinelenen dizin",
empty_index:
"'{{tableName}}' tablosundaki dizin hiçbir sütunu indexlemiyor",
no_primary_key: "'{{tableName}} tablosunun birincil anahtarı yok", no_primary_key: "'{{tableName}} tablosunun birincil anahtarı yok",
type_with_no_name: "Adı olmayan bir tür bildirilmiş", type_with_no_name: "Adı olmayan bir tür bildirilmiş",
duplicate_types: "'{{typeName}}' adına göre yinelenen türler", duplicate_types: "'{{typeName}}' adına göre yinelenen türler",
type_w_no_fields: "Alanı olmayan boş bir '{{typeName}}' türü bildirilmiş", type_w_no_fields: "Alanı olmayan boş bir '{{typeName}}' türü bildirilmiş",
empty_type_field_name: "Boş alan `name` in type '{{typeName}}'", empty_type_field_name: "Boş alan `name` in type '{{typeName}}'",
empty_type_field_type: "Boş alan `type` '{{typeName}}' türünde", empty_type_field_type: "Boş alan `type` '{{typeName}}' türünde",
no_values_for_type_field:"'{{typeName}}' türündeki '{{fieldName}}' alanı `{{type}}` türündedir ancak hiçbir değer belirtilmemiştir", no_values_for_type_field:
duplicate_type_fields:"'{{typeName}}' türünde '{{fieldName}}' adına göre yinelenen tür alanları", "'{{typeName}}' türündeki '{{fieldName}}' alanı `{{type}}` türündedir ancak hiçbir değer belirtilmemiştir",
duplicate_type_fields:
"'{{typeName}}' türünde '{{fieldName}}' adına göre yinelenen tür alanları",
duplicate_reference: "'{{refName}}' adıyla yinelenen referans", duplicate_reference: "'{{refName}}' adıyla yinelenen referans",
circular_dependency: "Tablo '{{refName}}' içeren döngüsel bağımlılık", circular_dependency: "Tablo '{{refName}}' içeren döngüsel bağımlılık",
timeline: "Zaman çizelgesi", timeline: "Zaman çizelgesi",
@ -213,7 +223,8 @@ const tr = {
not_found: "Bulunamadı", not_found: "Bulunamadı",
pick_db: "Veritabanı seç", pick_db: "Veritabanı seç",
generic: "Genel", generic: "Genel",
generic_description: "Genel diyagramlar herhangi bir SQL türüne dışa aktarılabilir ancak az sayıda veri türünü destekler.", generic_description:
"Genel diyagramlar herhangi bir SQL türüne dışa aktarılabilir ancak az sayıda veri türünü destekler.",
enums: "Enums", enums: "Enums",
add_enum: "Enum ekle", add_enum: "Enum ekle",
edit_enum: "{{extra}} Enum'u düzenle {{enumName}}", edit_enum: "{{extra}} Enum'u düzenle {{enumName}}",
@ -225,7 +236,7 @@ const tr = {
no_enums_text: "Burada enum tanımlayın", no_enums_text: "Burada enum tanımlayın",
declare_array: "Dizi bildir", declare_array: "Dizi bildir",
empty_index_name: "'{{tableName}}' tablosunda isimsiz bir dizin bildirildi", empty_index_name: "'{{tableName}}' tablosunda isimsiz bir dizin bildirildi",
didnt_find_diagram: "Oops! Diyagram bulunamadı." didnt_find_diagram: "Oops! Diyagram bulunamadı.",
}, },
}; };

218
src/i18n/locales/ug.js Normal file
View File

@ -0,0 +1,218 @@
const uyghur = {
name: "Uyghur",
native_name: "ئۇيغۇرچە",
code: "ug",
};
const ug = {
translation: {
report_bug: "بۇغ رېپورت قىلىڭ",
import_from: "ئېكىر",
import: "ئېكىر",
file: "ھۆججەت",
new: "يېڭى",
new_window: "يېڭى دەرۋازا",
open: "ئېچىش",
save: "ساقلاش",
save_as: "دەپ ساقلاش",
save_as_template: "شablon دەپ ساقلاش",
template_saved: "شablon ساقلانغان!",
rename: "ئادىنى ئۆزگەرتىش",
delete_diagram: "رەسمنى ئۆچۈرۈش",
are_you_sure_delete_diagram:
"سىز ھەقىقەتەن بۇ رەسمنى ئۆچۈرۈشنى خالايمسىز؟ بۇ ھەرىكەت قايتا قۇرغىلى بولمايدۇ.",
oops_smth_went_wrong: "ئوپ! بىر نەرسە خاتا بولدى.",
import_diagram: "رەسمنى ئېكىر",
import_from_source: "SQL دىن ئېكىر",
export_as: "دەپ ئېكسپورت قىلىش",
export_source: "SQL ئېكسپورت",
models: "مودېللار",
exit: "چىقىش",
edit: "تەھرىرلاش",
undo: "قايتۇرۇش",
redo: "يېڭىدىن قىلىش",
clear: "تازىلاش",
are_you_sure_clear:
"سىز ھەقىقەتەن بۇ رەسمنى تازىلاشنى خالايمسىز؟ بۇ قايتا قۇرغىلى بولمايدۇ.",
cut: "كېسىش",
copy: "نۇسخا ئېلىش",
paste: "قويۇش",
duplicate: "نۇسخىسىنى ياساش",
delete: "ئۆچۈرۈش",
copy_as_image: "رەسىم سۈپىتىدە نۇسخا ئېلىش",
view: "كۆرۈش",
header: "مېنۇ بار",
sidebar: "يانتۇ بار",
issues: "مەسىلىلەر",
presentation_mode: ەqdimات رېژىمى",
strict_mode: "تىزىملىك رېژىمى",
field_details: "ئالاقە تەپسىلاتلىرى",
reset_view: "كۆرۈشنى قايتا قۇرۇش",
show_grid: "تارماقنى كۆرسىتىش",
show_cardinality: "كارتىنالىتىنى كۆرسىتىش",
theme: "تېما",
light: "يېنىق",
dark: "قارا",
zoom_in: "زوم قىلىش",
zoom_out: "زومنى تۆۋەنلىتىش",
fullscreen: "تولۇق ئېكران",
settings: "تەڭشەك",
show_timeline: "ۋاقىت جەدۋىلىنى كۆرسىتىش",
autosave: "ئۆز-ئۆزىگە ساقلاش",
panning: "پانننگ",
table_width: "جەدۋەل كەڭلىكى",
language: "تىل",
flush_storage: "ساقلاشنى تازىلاش",
are_you_sure_flush_storage:
"سىز ھەقىقەتەن ساقلاشنى تازىلاشنى خالايمسىز؟ بۇ سىزنىڭ بارلىق رەسملەرنى ۋە خاس شablونلارنى قايتا قۇرغىلى بولمايدۇ.",
storage_flushed: "ساقلاش تازىلاندى",
help: "ياردەم",
shortcuts: "قىسقا يوللار",
ask_on_discord: "بىز بىلەن Discord دا سوراڭ",
feedback: "پىكىر",
no_changes: "بىرەر ئۆزگىرىش يوق",
loading: "يۈكلەش...",
last_saved: "ئاخىرىدا ساقلانغان",
saving: "ساقلاۋاتىدۇ...",
failed_to_save: "ساقلاشقا مەغلۇپ بولدى",
fit_window_reset: "دەرۋازىنى ماسلاشتۇرۇش / قايتا قۇرۇش",
zoom: "زوم",
add_table: "جەدۋەل قوشۇش",
add_area: "ئارالۇق قوشۇش",
add_note: "بەلگە قوشۇش",
add_type: "تۈر قوشۇش",
to_do: "ئورۇنلىشىش",
tables: "جەدۋەللەر",
relationships: "مۇناسىۋەتلەر",
subject_areas: "مەزمۇن بۆلەكلىرى",
notes: "بەلگىلەر",
types: "تۈرلەر",
search: "ئىزدەش...",
no_tables: "جەدۋەل يوق",
no_tables_text: "رەسمنى ياساشنى باشلاڭ!",
no_relationships: "مۇناسىۋەت يوق",
no_relationships_text: "ئالاقە قۇرۇش ئۈچۈن بۆلەكلىرىنى تارتىڭ!",
no_subject_areas: "مەزمۇن بۆلەكلىرى يوق",
no_subject_areas_text: "جەدۋەللەرنى مەزمۇن بۆلەكلىرىگە قوشۇڭ!",
no_notes: "بەلگىلەر يوق",
no_notes_text: "قوشۇمچە ئۇچۇرنى خاتىرىلەش ئۈچۈن بەلگىلەرنى ئىشلىتىڭ",
no_types: "تۈرلەر يوق",
no_types_text: "خاس سانلىق مەلۇمات تۈرلىرىنى ياساڭ",
no_issues: "مەسىلىلەر تېپىلمىدى.",
strict_mode_is_on_no_issues:
"تىزىملىك رېژىمى قوزغىتىلغان، شۇڭا مەسىلىلەر كۆرۈلمەيدۇ.",
name: "ئاد",
type: "تۈر",
null: "Null",
not_null: "Null ئەمەس",
primary: "بىرلەشمىسى",
unique: "يەككە",
autoincrement: "ئۆز-ئۆزىگە قوشۇش",
default_value: "ئادەتتىكى قىممەت",
check: "تەكشۈرۈش ئىپادىسى",
this_will_appear_as_is: "*بۇ ياسالغان سكرىپتتە شۇنداقلا كۆرۈنىدۇ.",
comment: "ئىزاھات",
add_field: "بۆلەك قوشۇش",
values: "قىممەتلەر",
size: "ئۆلچەم",
precision: "دۇرۇسلىق",
set_precision: "دۇرۇسلىقىنى بەلگىلەش: (ئۆلچەم، رەقەم)",
use_for_batch_input: "بىر قېتىملىق كىرگۈزۈش ئۈچۈن ئىشلىتىش",
indices: "ئىنكس",
add_index: "ئىنكس قوشۇش",
select_fields: "بۆلەكلىرىنى تاللاش",
title: "باشلىق",
not_set: "بەلگىلەلمىگەن",
foreign: "تاشقى",
cardinality: "كارتىنالىتى",
on_update: "يېڭىلانغاندا",
on_delete: "ئۆچۈرۈلگەندە",
swap: "ئۆزگەرتىش",
one_to_one: "بىر-بىرگە",
one_to_many: "بىر-كۆپكە",
many_to_one: "كۆپ-بىرگە",
content: "مەزمۇن",
types_info:
"بۇ ئىقتىدار object-relational DBMS لىرىگە، PostgreSQL غا خاس.\nئەگەر MySQL ياكى MariaDB غا ئىشلىتىلسە، مۇناسىۋەتلىك json توغرا تەكشۈرۈش بىلەن بىر JSON تۈرى ياسىلىدۇ.\nئەگەر SQLite غا ئىشلىتىلسە، بۇ BLOB غا ئۆزگەرتىلىدۇ.\nئەگەر MSSQL غا ئىشلىتىلسە، بىرىنچى بۆلەك ئۈچۈن بىر تۈر لەۋھەسى ياسىلىدۇ.",
table_deleted: "جەدۋەل ئۆچۈرۈلدى",
area_deleted: "ئارالۇق ئۆچۈرۈلدى",
note_deleted: "بەلگە ئۆچۈرۈلدى",
relationship_deleted: "مۇناسىۋەت ئۆچۈرۈلدى",
type_deleted: "تۈر ئۆچۈرۈلدى",
cannot_connect: "باغلىنىشقا بولمايدۇ، بۆلەك تۈرى پەرقلىق",
copied_to_clipboard: "كلىپبوردقا نۇسخا ئېلىندى",
create_new_diagram: "يېڭى رەسمنى ياساش",
cancel: "بەجىرىش",
open_diagram: "رەسمنى ئېچىش",
rename_diagram: "رەسمنىڭ نامىنى ئۆزگەرتىش",
export: "ئېكسپورت",
export_image: "رەسىمنى ئېكسپورت",
create: "ياساش",
confirm: "تاسدىقلاش",
last_modified: "ئاخىرىدا ئۆزگەرتىلگەن",
drag_and_drop_files:
"ھۆججەتلەرنى بۇ يەرگە تارتىپ قويۇڭ ياكى يۈكلەش ئۈچۈن بېسىڭ.",
upload_sql_to_generate_diagrams:
"جەدۋەل ۋە بۆلەكلىرىڭىزنى ئاپتوماتىك ياساش ئۈچۈن SQL ھۆججىتىنى يۈكلەڭ.",
overwrite_existing_diagram: "بار بولغان رەسمنى يېڭىدىن يازماق",
only_mysql_supported: "*ھازىرچە پەقەت MySQL سكرىپتلىرىنى يۈكلەش قوللايدۇ.",
blank: "بوش",
filename: "ھۆججەت نامى",
table_w_no_name: "ئادسىز جەدۋەل ئېلان قىلىندى",
duplicate_table_by_name: "ئاد بىلەن نۇسخا جەدۋەل '{{tableName}}'",
empty_field_name: "جەدۋەل '{{tableName}}' دا بوش بۆلەك نامى",
empty_field_type: "جەدۋەل '{{tableName}}' دا بوش بۆلەك تۈرى",
no_values_for_field:
"جەدۋەل '{{tableName}}' نىڭ بۆلەك '{{fieldName}}' نىڭ تۈرى {{type}}، ئەمما قىممەت بەلگىلەلمىدى",
default_doesnt_match_type:
"جەدۋەل '{{tableName}}' دا بۆلەك '{{fieldName}}' نىڭ ئادىتتىكى قىممىتى تۈرىگە ماس كەلمەيدۇ",
not_null_is_null:
"جەدۋەل '{{tableName}}' نىڭ بۆلەك '{{fieldName}}' نىڭ قىممىتى NOT NULL، ئەمما ئادىتتىكى NULL",
duplicate_fields:
"جەدۋەل '{{tableName}}' دا نام '{{fieldName}}' بولغان نۇسخا بۆلەك",
duplicate_index:
"جەدۋەل '{{tableName}}' دا نام '{{indexName}}' بولغان نۇسخا ئىنكس",
empty_index: "جەدۋەل '{{tableName}}' دا ئىنكس بۆلەك ئىنكس قىلمايدۇ",
no_primary_key: "جەدۋەل '{{tableName}}' دا بىرلەشمىسى يوق",
type_with_no_name: "نامسىز تۈر ئېلان قىلىندى",
duplicate_types: "نام '{{typeName}}' بولغان نۇسخا تۈرلەر",
type_w_no_fields: "بۆلەكلىرى يوق تۈر '{{typeName}}' ئېلان قىلىندى",
empty_type_field_name: "تۈر '{{typeName}}' دا بوش بۆلەك نامى",
empty_type_field_type: "تۈر '{{typeName}}' دا بوش بۆلەك تۈرى",
no_values_for_type_field:
"تۈر '{{typeName}}' نىڭ بۆلەك '{{fieldName}}' نىڭ تۈرى {{type}}، ئەمما قىممەت بەلگىلەلمىدى",
duplicate_type_fields:
"تۈر '{{typeName}}' دا نام '{{fieldName}}' بولغان نۇسخا تۈر بۆلەكلىرى",
duplicate_reference: "نام '{{refName}}' بولغان نۇسخا نىشان",
circular_dependency: "جەدۋەل '{{refName}}' دا دائىرىلىك باغلىقلىق",
timeline: "ۋاقىت جەدۋىلى",
priority: "ئالاھىدىلىك",
none: "يوق",
low: "تۆۋەن",
medium: "ئوتتۇرا",
high: "يۇقىرى",
sort_by: "بويىچە تىزىش",
my_order: "مەننىڭ تىزىم",
completed: "تاماملاندى",
alphabetically: "ئەپبە بويىچە",
add_task: "ۋەزىپە قوشۇش",
details: "تەپسىلاتلار",
no_tasks: "سىزنىڭ ھازىرچە ھېچقانداق ۋەزىپەڭىز يوق.",
no_activity: "سىزنىڭ ھازىرچە ھېچقانداق پائالىيىتىڭىز يوق.",
move_element: "{{name}} نى {{coords}} غا يۆتكىڭ",
edit_area: "{{extra}} ئارالۇقنى تەھرىرلىڭ {{areaName}}",
delete_area: "ئارالۇقنى ئۆچۈرۈڭ {{areaName}}",
edit_note: "{{extra}} بەلگىنى تەھرىرلىڭ {{noteTitle}}",
delete_note: "بەلگىنى ئۆچۈرۈڭ {{noteTitle}}",
edit_table: "{{extra}} جەدۋەلنى تەھرىرلىڭ {{tableName}}",
delete_table: "جەدۋەلنى ئۆچۈرۈڭ {{tableName}}",
edit_type: "{{extra}} تۈرنى تەھرىرلىڭ {{typeName}}",
delete_type: "تۈرنى ئۆچۈرۈڭ {{typeName}}",
add_relationship: "مۇناسىۋەت قوشۇڭ",
edit_relationship: "{{extra}} مۇناسىۋەتنى تەھرىرلىڭ {{refName}}",
delete_relationship: "مۇناسىۋەتنى ئۆچۈرۈڭ {{refName}}",
not_found: "تەپىلمايدۇ",
},
};
export { ug, uyghur };

View File

@ -7,6 +7,7 @@ const ukrainian = {
const uk = { const uk = {
translation: { translation: {
report_bug: "Повідомити про помилку", report_bug: "Повідомити про помилку",
import_from: "Імпортувати",
import: "Імпортувати", import: "Імпортувати",
file: "Файл", file: "Файл",
new: "Новий", new: "Новий",
@ -18,7 +19,8 @@ const uk = {
template_saved: "Шаблон збережено!", template_saved: "Шаблон збережено!",
rename: "Перейменувати", rename: "Перейменувати",
delete_diagram: "Видалити діаграму", delete_diagram: "Видалити діаграму",
are_you_sure_delete_diagram: "Ви впевнені, що хочете видалити цю діаграму? Ця операція є незворотною.", are_you_sure_delete_diagram:
"Ви впевнені, що хочете видалити цю діаграму? Ця операція є незворотною.",
oops_smth_went_wrong: "Упс! Щось пішло не так.", oops_smth_went_wrong: "Упс! Щось пішло не так.",
import_diagram: "Імпортувати діаграму", import_diagram: "Імпортувати діаграму",
import_from_source: "Імпортувати з SQL", import_from_source: "Імпортувати з SQL",
@ -30,7 +32,8 @@ const uk = {
undo: "Скасувати", undo: "Скасувати",
redo: "Повторити", redo: "Повторити",
clear: "Очистити", clear: "Очистити",
are_you_sure_clear: "Ви впевнені, що хочете очистити діаграму? Це незворотно.", are_you_sure_clear:
"Ви впевнені, що хочете очистити діаграму? Це незворотно.",
cut: "Вирізати", cut: "Вирізати",
copy: "Копіювати", copy: "Копіювати",
paste: "Вставити", paste: "Вставити",
@ -60,7 +63,8 @@ const uk = {
table_width: "Ширина таблиці", table_width: "Ширина таблиці",
language: "Мова", language: "Мова",
flush_storage: "Очистити сховище", flush_storage: "Очистити сховище",
are_you_sure_flush_storage: "Ви впевнені, що хочете очистити сховище? Це незворотно видалить всі ваші діаграми та користувацькі шаблони.", are_you_sure_flush_storage:
"Ви впевнені, що хочете очистити сховище? Це незворотно видалить всі ваші діаграми та користувацькі шаблони.",
storage_flushed: "Сховище очищено", storage_flushed: "Сховище очищено",
help: "Допомога", help: "Допомога",
shortcuts: "Гарячі клавіші", shortcuts: "Гарячі клавіші",
@ -87,7 +91,8 @@ const uk = {
no_tables: "Немає таблиць", no_tables: "Немає таблиць",
no_tables_text: "Почніть створювати вашу діаграму!", no_tables_text: "Почніть створювати вашу діаграму!",
no_relationships: "Немає зв'язків", no_relationships: "Немає зв'язків",
no_relationships_text: "Перетягніть, щоб з'єднати поля та створити зв'язки!", no_relationships_text:
"Перетягніть, щоб з'єднати поля та створити зв'язки!",
no_subject_areas: "Немає тематичних областей", no_subject_areas: "Немає тематичних областей",
no_subject_areas_text: "Додайте тематичні області для групування таблиць!", no_subject_areas_text: "Додайте тематичні області для групування таблиць!",
no_notes: "Немає нотаток", no_notes: "Немає нотаток",
@ -95,7 +100,8 @@ const uk = {
no_types: "Немає типів", no_types: "Немає типів",
no_types_text: "Створіть власні користувацькі типи даних", no_types_text: "Створіть власні користувацькі типи даних",
no_issues: "Проблем не виявлено.", no_issues: "Проблем не виявлено.",
strict_mode_is_on_no_issues: "Строгий режим вимкнено, тому проблеми не будуть відображатися.", strict_mode_is_on_no_issues:
"Строгий режим вимкнено, тому проблеми не будуть відображатися.",
name: "Назва", name: "Назва",
type: "Тип", type: "Тип",
null: "Null", null: "Null",
@ -127,7 +133,8 @@ const uk = {
one_to_many: "Один до багатьох", one_to_many: "Один до багатьох",
many_to_one: "Багато до одного", many_to_one: "Багато до одного",
content: "Зміст", content: "Зміст",
types_info: "Ця функція призначена для об'єктно-реляційних СУБД, таких як PostgreSQL.\nЯкщо використовується для MySQL або MariaDB, буде згенерований тип JSON з відповідною перевіркою JSON.\nЯкщо використовується для SQLite, буде перетворено на BLOB.\nЯкщо використовується для MSSQL, буде згенеровано тип-аліас для першого поля.", types_info:
"Ця функція призначена для об'єктно-реляційних СУБД, таких як PostgreSQL.\nЯкщо використовується для MySQL або MariaDB, буде згенерований тип JSON з відповідною перевіркою JSON.\nЯкщо використовується для SQLite, буде перетворено на BLOB.\nЯкщо використовується для MSSQL, буде згенеровано тип-аліас для першого поля.",
table_deleted: "Таблицю видалено", table_deleted: "Таблицю видалено",
area_deleted: "Область видалено", area_deleted: "Область видалено",
note_deleted: "Нотатку видалено", note_deleted: "Нотатку видалено",
@ -144,22 +151,29 @@ const uk = {
create: "Створити", create: "Створити",
confirm: "Підтвердити", confirm: "Підтвердити",
last_modified: "Остання зміна", last_modified: "Остання зміна",
drag_and_drop_files: "Перетягніть файл сюди або натисніть для завантаження.", drag_and_drop_files:
support_json_and_ddb: "Підтримуються файли JSON та DDB", "Перетягніть файл сюди або натисніть для завантаження.",
upload_sql_to_generate_diagrams: "Завантажте SQL файл для автоматичного створення ваших таблиць та стовпців.", upload_sql_to_generate_diagrams:
"Завантажте SQL файл для автоматичного створення ваших таблиць та стовпців.",
overwrite_existing_diagram: "Перезаписати існуючу діаграму", overwrite_existing_diagram: "Перезаписати існуючу діаграму",
only_mysql_supported: "*На даний момент підтримується завантаження лише MySQL скриптів.", only_mysql_supported:
"*На даний момент підтримується завантаження лише MySQL скриптів.",
blank: "Порожній", blank: "Порожній",
filename: "Назва файлу", filename: "Назва файлу",
table_w_no_name: "Оголошено таблицю без назви", table_w_no_name: "Оголошено таблицю без назви",
duplicate_table_by_name: "Дубльована таблиця з назвою '{{tableName}}'", duplicate_table_by_name: "Дубльована таблиця з назвою '{{tableName}}'",
empty_field_name: "Порожнє поле `name` в таблиці '{{tableName}}'", empty_field_name: "Порожнє поле `name` в таблиці '{{tableName}}'",
empty_field_type: "Порожнє поле `type` в таблиці '{{tableName}}'", empty_field_type: "Порожнє поле `type` в таблиці '{{tableName}}'",
no_values_for_field: "'{{fieldName}}' поле в таблиці '{{tableName}}' має тип `{{type}}`, але значення не вказані", no_values_for_field:
default_doesnt_match_type: "Значення за замовчуванням для поля '{{fieldName}}' в таблиці '{{tableName}}' не відповідає його типу", "'{{fieldName}}' поле в таблиці '{{tableName}}' має тип `{{type}}`, але значення не вказані",
not_null_is_null: "'{{fieldName}}' поле в таблиці '{{tableName}}' є NOT NULL, але має значення за замовчуванням NULL", default_doesnt_match_type:
duplicate_fields: "Дубльовані поля таблиці з назвою '{{fieldName}}' в таблиці '{{tableName}}'", "Значення за замовчуванням для поля '{{fieldName}}' в таблиці '{{tableName}}' не відповідає його типу",
duplicate_index: "Дубльований індекс з назвою '{{indexName}}' в таблиці '{{tableName}}'", not_null_is_null:
"'{{fieldName}}' поле в таблиці '{{tableName}}' є NOT NULL, але має значення за замовчуванням NULL",
duplicate_fields:
"Дубльовані поля таблиці з назвою '{{fieldName}}' в таблиці '{{tableName}}'",
duplicate_index:
"Дубльований індекс з назвою '{{indexName}}' в таблиці '{{tableName}}'",
empty_index: "Індекс в таблиці '{{tableName}}' не індексує жодного стовпця", empty_index: "Індекс в таблиці '{{tableName}}' не індексує жодного стовпця",
no_primary_key: "Таблиця '{{tableName}}' не має первинного ключа", no_primary_key: "Таблиця '{{tableName}}' не має первинного ключа",
type_with_no_name: "Оголошено тип без назви", type_with_no_name: "Оголошено тип без назви",
@ -167,10 +181,13 @@ const uk = {
type_w_no_fields: "Оголошено порожній тип '{{typeName}}' без полів", type_w_no_fields: "Оголошено порожній тип '{{typeName}}' без полів",
empty_type_field_name: "Порожнє поле `name` в типі '{{typeName}}'", empty_type_field_name: "Порожнє поле `name` в типі '{{typeName}}'",
empty_type_field_type: "Порожнє поле `type` в типі '{{typeName}}'", empty_type_field_type: "Порожнє поле `type` в типі '{{typeName}}'",
no_values_for_type_field: "'{{fieldName}}' поле в типі '{{typeName}}' має тип `{{type}}`, але значення не вказані", no_values_for_type_field:
duplicate_type_fields: "Дубльовані поля типу з назвою '{{fieldName}}' в типі '{{typeName}}'", "'{{fieldName}}' поле в типі '{{typeName}}' має тип `{{type}}`, але значення не вказані",
duplicate_type_fields:
"Дубльовані поля типу з назвою '{{fieldName}}' в типі '{{typeName}}'",
duplicate_reference: "Дубльована посилання з назвою '{{refName}}'", duplicate_reference: "Дубльована посилання з назвою '{{refName}}'",
circular_dependency: "Циклічна залежність, що стосується таблиці '{{refName}}'", circular_dependency:
"Циклічна залежність, що стосується таблиці '{{refName}}'",
timeline: "Хронологія", timeline: "Хронологія",
priority: "Пріоритет", priority: "Пріоритет",
none: "Жодний", none: "Жодний",
@ -201,4 +218,4 @@ const uk = {
}, },
}; };
export { uk, ukrainian }; export { uk, ukrainian };

View File

@ -1,148 +1,152 @@
const urdu = { const urdu = {
name: "Urdu", name: "Urdu",
native_name: "اردو", native_name: "اردو",
code: "ur", code: "ur",
}; };
const ur = { const ur = {
translation: { translation: {
report_bug: "بگ رپورٹ کریں", report_bug: "بگ رپورٹ کریں",
import: "درآمد کریں", import_from: "درآمد کریں",
file: "فائل", import: "درآمد کریں",
new: "نیا", file: "فائل",
new_window: "نیا ونڈو", new: "نیا",
open: "کھولیں", new_window: "نیا ونڈو",
save: "محفوظ کریں", open: "کھولیں",
save_as: "کے طور پر محفوظ کریں", save: "محفوظ کریں",
save_as_template: "ٹیمپلیٹ کے طور پر محفوظ کریں", save_as: "کے طور پر محفوظ کریں",
template_saved: "ٹیمپلیٹ محفوظ ہو گیا!", save_as_template: "ٹیمپلیٹ کے طور پر محفوظ کریں",
rename: "نام تبدیل کریں", template_saved: "ٹیمپلیٹ محفوظ ہو گیا!",
delete_diagram: "ڈایاگرام حذف کریں", rename: "نام تبدیل کریں",
are_you_sure_delete_diagram: "کیا آپ واقعی اس ڈایاگرام کو حذف کرنا چاہتے ہیں؟ یہ عمل ناقابل واپسی ہے۔", delete_diagram: "ڈایاگرام حذف کریں",
oops_smth_went_wrong: "اوہ! کچھ غلط ہو گیا۔", are_you_sure_delete_diagram:
import_diagram: "ڈایاگرام درآمد کریں", "کیا آپ واقعی اس ڈایاگرام کو حذف کرنا چاہتے ہیں؟ یہ عمل ناقابل واپسی ہے۔",
import_from_source: "ماخذ سے درآمد کریں", oops_smth_went_wrong: "اوہ! کچھ غلط ہو گیا۔",
export_as: "کے طور پر برآمد کریں", import_diagram: "ڈایاگرام درآمد کریں",
export_source: "ماخذ برآمد کریں", import_from_source: "ماخذ سے درآمد کریں",
models: "ماڈلز", export_as: "کے طور پر برآمد کریں",
exit: "خارج کریں", export_source: "ماخذ برآمد کریں",
edit: "ترمیم کریں", models: "ماڈلز",
undo: "واپس", exit: "خارج کریں",
redo: "دوبارہ کریں", edit: "ترمیم کریں",
clear: "صاف کریں", undo: "واپس",
are_you_sure_clear: "کیا آپ واقعی اس ڈایاگرام کو صاف کرنا چاہتے ہیں؟ یہ ناقابل واپسی ہے۔", redo: "دوبارہ کریں",
cut: "کٹ", clear: "صاف کریں",
copy: "کاپی", are_you_sure_clear:
paste: "پیسٹ", "کیا آپ واقعی اس ڈایاگرام کو صاف کرنا چاہتے ہیں؟ یہ ناقابل واپسی ہے۔",
duplicate: "ڈپلیکیٹ", cut: "کٹ",
delete: "حذف کریں", copy: "کاپی",
copy_as_image: "تصویر کے طور پر کاپی کریں", paste: "پیسٹ",
view: "دیکھیں", duplicate: "ڈپلیکیٹ",
header: "ہیڈر", delete: "حذف کریں",
sidebar: "سائیڈبار", copy_as_image: "تصویر کے طور پر کاپی کریں",
issues: "مسائل", view: "دیکھیں",
presentation_mode: "پیشکش موڈ", header: "ہیڈر",
strict_mode: "سخت موڈ", sidebar: "سائیڈبار",
field_details: "فیلڈ کی تفصیلات", issues: "مسائل",
reset_view: "دیکھنے کا انداز ری سیٹ کریں", presentation_mode: "پیشکش موڈ",
show_grid: "گرڈ دکھائیں", strict_mode: "سخت موڈ",
show_cardinality: "کارڈینلٹی دکھائیں", field_details: "فیلڈ کی تفصیلات",
theme: "تھیم", reset_view: "دیکھنے کا انداز ری سیٹ کریں",
light: "روشن", show_grid: "گرڈ دکھائیں",
dark: "تاریک", show_cardinality: "کارڈینلٹی دکھائیں",
zoom_in: "زوم ان", theme: "تھیم",
zoom_out: "زوم آؤٹ", light: "روشن",
fullscreen: "پوری اسکرین", dark: "تاریک",
settings: "ترتیبات", zoom_in: "زوم ان",
show_timeline: "ٹائم لائن دکھائیں", zoom_out: "زوم آؤٹ",
autosave: "آٹو سیو", fullscreen: "پوری اسکرین",
panning: "پیننگ", settings: "ترتیبات",
table_width: "ٹیبل کی چوڑائی", show_timeline: "ٹائم لائن دکھائیں",
language: "زبان", autosave: "آٹو سیو",
flush_storage: "اسٹوریج صاف کریں", panning: "پیننگ",
are_you_sure_flush_storage: "کیا آپ واقعی اسٹوریج کو صاف کرنا چاہتے ہیں؟ یہ آپ کے تمام ڈایاگرام اور کسٹم ٹیمپلیٹس کو ناقابل واپسی طور پر حذف کر دے گا۔", table_width: "ٹیبل کی چوڑائی",
storage_flushed: "اسٹوریج صاف کر دیا گیا", language: "زبان",
help: "مدد", flush_storage: "اسٹوریج صاف کریں",
shortcuts: "شارٹ کٹس", are_you_sure_flush_storage:
ask_on_discord: "Discord پر پوچھیں", "کیا آپ واقعی اسٹوریج کو صاف کرنا چاہتے ہیں؟ یہ آپ کے تمام ڈایاگرام اور کسٹم ٹیمپلیٹس کو ناقابل واپسی طور پر حذف کر دے گا۔",
feedback: "فیڈبیک", storage_flushed: "اسٹوریج صاف کر دیا گیا",
no_changes: "کوئی تبدیلی نہیں", help: "مدد",
loading: "لوڈ ہو رہا ہے...", shortcuts: "شارٹ کٹس",
last_saved: "آخری بار محفوظ کیا گیا", ask_on_discord: "Discord پر پوچھیں",
saving: "محفوظ ہو رہا ہے...", feedback: "فیڈبیک",
failed_to_save: "محفوظ کرنے میں ناکام", no_changes: "کوئی تبدیلی نہیں",
fit_window_reset: "ونڈو کے مطابق بنائیں / ری سیٹ کریں", loading: "لوڈ ہو رہا ہے...",
zoom: "زوم", last_saved: "آخری بار محفوظ کیا گیا",
add_table: "ٹیبل شامل کریں", saving: "محفوظ ہو رہا ہے...",
add_area: "ایریا شامل کریں", failed_to_save: "محفوظ کرنے میں ناکام",
add_note: "نوٹ شامل کریں", fit_window_reset: "ونڈو کے مطابق بنائیں / ری سیٹ کریں",
add_type: "قسم شامل کریں", zoom: "زوم",
to_do: "کرنے کے لئے", add_table: "ٹیبل شامل کریں",
tables: "ٹیبلز", add_area: "ایریا شامل کریں",
relationships: "تعلقات", add_note: "نوٹ شامل کریں",
subject_areas: "موضوع کے علاقے", add_type: "قسم شامل کریں",
notes: "نوٹس", to_do: "کرنے کے لئے",
types: "اقسام", tables: "ٹیبلز",
search: "تلاش کریں...", relationships: "تعلقات",
no_tables: "کوئی ٹیبل نہیں", subject_areas: "موضوع کے علاقے",
no_tables_text: "اپنا ڈایاگرام بنانا شروع کریں!", notes: "نوٹس",
no_relationships: "کوئی تعلقات نہیں", types: "اقسام",
no_relationships_text: "تعلقات بنانے کے لئے فیلڈز کو جوڑیں!", search: "تلاش کریں...",
no_subject_areas: "کوئی موضوع کے علاقے نہیں", no_tables: "کوئی ٹیبل نہیں",
no_subject_areas_text: "ٹیبلز کو گروپ کریں اور موضوع کے علاقے شامل کریں!", no_tables_text: "اپنا ڈایاگرام بنانا شروع کریں!",
no_notes: "کوئی نوٹس نہیں", no_relationships: "کوئی تعلقات نہیں",
no_notes_text: "اضافی معلومات کو ریکارڈ کرنے کے لیے نوٹس کا استعمال کریں", no_relationships_text: "تعلقات بنانے کے لئے فیلڈز کو جوڑیں!",
no_types: "کوئی قسم نہیں", no_subject_areas: "کوئی موضوع کے علاقے نہیں",
no_types_text: "اپنے کسٹم ڈیٹا کی اقسام بنائیں", no_subject_areas_text: "ٹیبلز کو گروپ کریں اور موضوع کے علاقے شامل کریں!",
no_issues: "کوئی مسائل نہیں ملے", no_notes: "کوئی نوٹس نہیں",
strict_mode_is_on_no_issues: "سخت موڈ بند ہے اس لئے کوئی مسائل نہیں دکھائے جا رہے ہیں۔", no_notes_text: "اضافی معلومات کو ریکارڈ کرنے کے لیے نوٹس کا استعمال کریں",
name: "نام", no_types: "کوئی قسم نہیں",
type: "قسم", no_types_text: "اپنے کسٹم ڈیٹا کی اقسام بنائیں",
null: "نل", no_issues: "کوئی مسائل نہیں ملے",
not_null: "نل نہیں", strict_mode_is_on_no_issues:
primary: "پرائمری", "سخت موڈ بند ہے اس لئے کوئی مسائل نہیں دکھائے جا رہے ہیں۔",
unique: "یونیک", name: "نام",
autoincrement: "خودکار بڑھا", type: "قسم",
default_value: "پہلے سے طے شدہ", null: "نل",
check: "چیک ایکسپریشن", not_null: "نل نہیں",
this_will_appear_as_is: "*یہ اسکرپٹ میں جیسا ہے ویسا ہی نظر آئے گا۔", primary: "پرائمری",
comment: "تبصرہ", unique: "یونیک",
add_field: "فیلڈ شامل کریں", autoincrement: "خودکار بڑھا",
values: "ویلیوز", default_value: "پہلے سے طے شدہ",
size: "سائز", check: "چیک ایکسپریشن",
precision: "درستگی", this_will_appear_as_is: "*یہ اسکرپٹ میں جیسا ہے ویسا ہی نظر آئے گا۔",
set_precision: "درستگی سیٹ کریں: (سائز، عدد)", comment: "تبصرہ",
use_for_batch_input: "بیچ ان پٹ کے لئے استعمال کریں", add_field: "فیلڈ شامل کریں",
indices: "اشاریہ", values: "ویلیوز",
add_index: "انڈیکس شامل کریں", size: "سائز",
select_fields: "فیلڈز منتخب کریں", precision: "درستگی",
title: "عنوان", set_precision: "درستگی سیٹ کریں: (سائز، عدد)",
not_set: "سیٹ نہیں کیا گیا", use_for_batch_input: "بیچ ان پٹ کے لئے استعمال کریں",
foreign: "غیر ملکی", indices: "اشاریہ",
cardinality: "کارڈینلٹی", add_index: "انڈیکس شامل کریں",
on_update: "اپ ڈیٹ پر", select_fields: "فیلڈز منتخب کریں",
on_delete: "حذف کرنے پر", title: "عنوان",
swap: "تبادلہ", not_set: "سیٹ نہیں کیا گیا",
one_to_one: "ایک سے ایک", foreign: "غیر ملکی",
one_to_many: "ایک سے بہت", cardinality: "کارڈینلٹی",
many_to_one: "بہت سے ایک", on_update: "اپ ڈیٹ پر",
content: "مواد", on_delete: "حذف کرنے پر",
timeline: "ٹائم لائن", swap: "تبادلہ",
priority: "ترجیح", one_to_one: "ایک سے ایک",
none: "کوئی نہیں", one_to_many: "ایک سے بہت",
low: "کم", many_to_one: "بہت سے ایک",
medium: "درمیانہ", content: "مواد",
high: "اعلی", timeline: "ٹائم لائن",
sort_by: "کے لحاظ سے ترتیب دیں", priority: "ترجیح",
my_order: "میرا ترتیب", none: "کوئی نہیں",
completed: "مکمل", low: "کم",
alphabetically: "حروف تہجی کے لحاظ سے", medium: "درمیانہ",
add_task: "کام شامل کریں", high: "اعلی",
details: "تفصیلات", sort_by: "کے لحاظ سے ترتیب دیں",
no_tasks: "آپ کے پاس ابھی تک کوئی کام نہیں ہے۔", my_order: "میرا ترتیب",
no_activity: "آپ کے پاس ابھی تک کوئی سرگرمی نہیں ہے۔", completed: "مکمل",
}, alphabetically: "حروف تہجی کے لحاظ سے",
}; add_task: "کام شامل کریں",
details: "تفصیلات",
export { ur, urdu }; no_tasks: "آپ کے پاس ابھی تک کوئی کام نہیں ہے۔",
no_activity: "آپ کے پاس ابھی تک کوئی سرگرمی نہیں ہے۔",
},
};
export { ur, urdu };

View File

@ -7,6 +7,7 @@ const vietnamese = {
const vi = { const vi = {
translation: { translation: {
report_bug: "Báo cáo lỗi", report_bug: "Báo cáo lỗi",
import_from: "Nhập",
import: "Nhập", import: "Nhập",
file: "Tệp", file: "Tệp",
new: "Tạo mới", new: "Tạo mới",
@ -18,7 +19,8 @@ const vi = {
template_saved: "Mẫu được lưu!", template_saved: "Mẫu được lưu!",
rename: "Đổi tên", rename: "Đổi tên",
delete_diagram: "Xoá sơ đồ", delete_diagram: "Xoá sơ đồ",
are_you_sure_delete_diagram: "Bạn muốn xoá sơ đồ này không? Hành động này không thể phục hồi.", are_you_sure_delete_diagram:
"Bạn muốn xoá sơ đồ này không? Hành động này không thể phục hồi.",
oops_smth_went_wrong: "Có cái gì đó bị sai.", oops_smth_went_wrong: "Có cái gì đó bị sai.",
import_diagram: "Nhập sơ đồ", import_diagram: "Nhập sơ đồ",
import_from_source: "Nhập từ SQL", import_from_source: "Nhập từ SQL",
@ -30,7 +32,8 @@ const vi = {
undo: "Quay lại", undo: "Quay lại",
redo: "Làm lại", redo: "Làm lại",
clear: "Xóa", clear: "Xóa",
are_you_sure_clear: "Bạn có chắc chắn muốn xóa sơ đồ không? Điều này là không thể phục hồi.", are_you_sure_clear:
"Bạn có chắc chắn muốn xóa sơ đồ không? Điều này là không thể phục hồi.",
cut: "Cắt", cut: "Cắt",
copy: "Sao chép", copy: "Sao chép",
paste: "Dán", paste: "Dán",
@ -60,7 +63,8 @@ const vi = {
table_width: "Chiều rộng của bảng", table_width: "Chiều rộng của bảng",
language: "Ngôn ngữ", language: "Ngôn ngữ",
flush_storage: "Xoá bộ nhớ", flush_storage: "Xoá bộ nhớ",
are_you_sure_flush_storage: "Bạn có chắc chắn muốn xóa bộ nhớ không? Thao tác này sẽ xóa vĩnh viễn tất cả sơ đồ và mẫu tùy chỉnh của bạn.", are_you_sure_flush_storage:
"Bạn có chắc chắn muốn xóa bộ nhớ không? Thao tác này sẽ xóa vĩnh viễn tất cả sơ đồ và mẫu tùy chỉnh của bạn.",
storage_flushed: "Bộ nhớ đã được xoá", storage_flushed: "Bộ nhớ đã được xoá",
help: "Giúp đỡ", help: "Giúp đỡ",
shortcuts: "Phím tắt", shortcuts: "Phím tắt",
@ -87,7 +91,8 @@ const vi = {
no_tables: "Không có bảng", no_tables: "Không có bảng",
no_tables_text: "Bắt đầu xây dựng sơ đồ của bạn!", no_tables_text: "Bắt đầu xây dựng sơ đồ của bạn!",
no_relationships: "Không có quan hệ", no_relationships: "Không có quan hệ",
no_relationships_text: "Kéo để kết nối các trường và hình thành các quan hệ!", no_relationships_text:
"Kéo để kết nối các trường và hình thành các quan hệ!",
no_subject_areas: "Không có vùng", no_subject_areas: "Không có vùng",
no_subject_areas_text: "Thêm vùng vào nhóm các bảng!", no_subject_areas_text: "Thêm vùng vào nhóm các bảng!",
no_notes: "Không có ghi chú", no_notes: "Không có ghi chú",
@ -95,7 +100,8 @@ const vi = {
no_types: "Không có loại", no_types: "Không có loại",
no_types_text: "Tạo các loại dữ liệu tùy chỉnh của riêng bạn", no_types_text: "Tạo các loại dữ liệu tùy chỉnh của riêng bạn",
no_issues: "Không có vấn đề nào được phát hiện.", no_issues: "Không có vấn đề nào được phát hiện.",
strict_mode_is_on_no_issues: "Chế độ nghiêm ngặt bị tắt nên sẽ không có vấn đề nào được hiển thị.", strict_mode_is_on_no_issues:
"Chế độ nghiêm ngặt bị tắt nên sẽ không có vấn đề nào được hiển thị.",
name: "Tên", name: "Tên",
type: "Kiểu", type: "Kiểu",
null: "Không có giá trị", null: "Không có giá trị",
@ -105,7 +111,8 @@ const vi = {
autoincrement: "Tự động tăng", autoincrement: "Tự động tăng",
default_value: "Giá trị mặc định", default_value: "Giá trị mặc định",
check: "Kiểm tra biểu thức", check: "Kiểm tra biểu thức",
this_will_appear_as_is: "*Điều này sẽ xuất hiện trong đoạn lệnh được tạo như hiện tại.", this_will_appear_as_is:
"*Điều này sẽ xuất hiện trong đoạn lệnh được tạo như hiện tại.",
comment: "Bình luận", comment: "Bình luận",
add_field: "Thêm trường", add_field: "Thêm trường",
values: "Giá trị", values: "Giá trị",
@ -127,7 +134,8 @@ const vi = {
one_to_many: "Một đến nhiều", one_to_many: "Một đến nhiều",
many_to_one: "Nhiều thành một", many_to_one: "Nhiều thành một",
content: "Nội dung", content: "Nội dung",
types_info: "Tính năng này dành cho các DBMS quan hệ đối tượng như PostgreSQL.\nNếu được sử dụng cho MySQL hoặc MariaDB, loại JSON sẽ được tạo bằng kiểm tra xác thực json tương ứng.\nNếu được sử dụng cho SQLite, nó sẽ được dịch sang BLOB.\nNếu được sử dụng cho MSSQL một bí danh loại cho trường đầu tiên sẽ được tạo.", types_info:
"Tính năng này dành cho các DBMS quan hệ đối tượng như PostgreSQL.\nNếu được sử dụng cho MySQL hoặc MariaDB, loại JSON sẽ được tạo bằng kiểm tra xác thực json tương ứng.\nNếu được sử dụng cho SQLite, nó sẽ được dịch sang BLOB.\nNếu được sử dụng cho MSSQL một bí danh loại cho trường đầu tiên sẽ được tạo.",
table_deleted: "Đã xóa bảng", table_deleted: "Đã xóa bảng",
area_deleted: "Khu vực bị xóa", area_deleted: "Khu vực bị xóa",
note_deleted: "Đã xóa ghi chú", note_deleted: "Đã xóa ghi chú",
@ -145,8 +153,8 @@ const vi = {
confirm: "Xác nhận", confirm: "Xác nhận",
last_modified: "Sửa đổi lần cuối", last_modified: "Sửa đổi lần cuối",
drag_and_drop_files: "Kéo và thả tệp vào đây hoặc nhấp để tải lên.", drag_and_drop_files: "Kéo và thả tệp vào đây hoặc nhấp để tải lên.",
support_json_and_ddb: "Các tệp JSON và DDB được hỗ trợ", upload_sql_to_generate_diagrams:
upload_sql_to_generate_diagrams: "Tải tệp sql lên để tự động tạo bảng và cột của bạn.", "Tải tệp sql lên để tự động tạo bảng và cột của bạn.",
overwrite_existing_diagram: "Ghi đè sơ đồ hiện có", overwrite_existing_diagram: "Ghi đè sơ đồ hiện có",
only_mysql_supported: "*Hiện tại, chỉ hỗ trợ tải các tập lệnh MySQL.", only_mysql_supported: "*Hiện tại, chỉ hỗ trợ tải các tập lệnh MySQL.",
blank: "Trống", blank: "Trống",
@ -155,20 +163,28 @@ const vi = {
duplicate_table_by_name: "Bảng trùng lặp theo tên '{{tableName}}'", duplicate_table_by_name: "Bảng trùng lặp theo tên '{{tableName}}'",
empty_field_name: "Trường trống `name` trong bảng '{{tableName}}'", empty_field_name: "Trường trống `name` trong bảng '{{tableName}}'",
empty_field_type: "Trường trống `loại` trong bảng '{{tableName}}'", empty_field_type: "Trường trống `loại` trong bảng '{{tableName}}'",
no_values_for_field: "Trường '{{fieldName}}' của bảng '{{tableName}}' thuộc loại `{{type}}` nhưng không có giá trị nào được chỉ định", no_values_for_field:
default_doesnt_match_type: "Giá trị mặc định cho trường '{{fieldName}}' trong bảng '{{tableName}}' không khớp với loại của nó", "Trường '{{fieldName}}' của bảng '{{tableName}}' thuộc loại `{{type}}` nhưng không có giá trị nào được chỉ định",
not_null_is_null: "Trường '{{fieldName}}' của bảng '{{tableName}}' là NOT NULL nhưng đang là NULL", default_doesnt_match_type:
duplicate_fields: "Các trường bảng trùng lặp theo tên '{{fieldName}}' trong bảng '{{tableName}}'", "Giá trị mặc định cho trường '{{fieldName}}' trong bảng '{{tableName}}' không khớp với loại của nó",
duplicate_index: "Chỉ mục trùng lặp theo tên '{{indexName}}' trong bảng '{{tableName}}'", not_null_is_null:
"Trường '{{fieldName}}' của bảng '{{tableName}}' là NOT NULL nhưng đang là NULL",
duplicate_fields:
"Các trường bảng trùng lặp theo tên '{{fieldName}}' trong bảng '{{tableName}}'",
duplicate_index:
"Chỉ mục trùng lặp theo tên '{{indexName}}' trong bảng '{{tableName}}'",
empty_index: "Chỉ mục trong bảng '{{tableName}}' chỉ mục không có cột", empty_index: "Chỉ mục trong bảng '{{tableName}}' chỉ mục không có cột",
no_primary_key: "Bảng '{{tableName}}' không có khóa chính", no_primary_key: "Bảng '{{tableName}}' không có khóa chính",
type_with_no_name: "Khai báo một loại không có tên", type_with_no_name: "Khai báo một loại không có tên",
duplicate_types: "Các loại trùng lặp theo tên '{{typeName}}'", duplicate_types: "Các loại trùng lặp theo tên '{{typeName}}'",
type_w_no_fields: "Đã khai báo một loại trống '{{typeName}}'không có trường nào", type_w_no_fields:
"Đã khai báo một loại trống '{{typeName}}'không có trường nào",
empty_type_field_name: "Trường trống `name` trong loại '{{typeName}}'", empty_type_field_name: "Trường trống `name` trong loại '{{typeName}}'",
empty_type_field_type: "Trường trống `type` trong loại '{{typeName}}'", empty_type_field_type: "Trường trống `type` trong loại '{{typeName}}'",
no_values_for_type_field: "Trường '{{fieldName}}' thuộc loại '{{typeName}}' thuộc loại `{{type}}` nhưng không có giá trị nào được chỉ định", no_values_for_type_field:
duplicate_type_fields: "Các trường loại trùng lặp theo tên '{{fieldName}}' trong loại '{{typeName}}'", "Trường '{{fieldName}}' thuộc loại '{{typeName}}' thuộc loại `{{type}}` nhưng không có giá trị nào được chỉ định",
duplicate_type_fields:
"Các trường loại trùng lặp theo tên '{{fieldName}}' trong loại '{{typeName}}'",
duplicate_reference: "Tham chiếu trùng lặp theo tên '{{refName}}'", duplicate_reference: "Tham chiếu trùng lặp theo tên '{{refName}}'",
circular_dependency: "Bảng phụ thuộc vòng tròn liên quan đến '{{refName}}'", circular_dependency: "Bảng phụ thuộc vòng tròn liên quan đến '{{refName}}'",
timeline: "Dòng thời gian", timeline: "Dòng thời gian",

View File

@ -7,6 +7,7 @@ const traditionalChinese = {
const zh_tw = { const zh_tw = {
translation: { translation: {
report_bug: "回報錯誤", report_bug: "回報錯誤",
import_from: "匯入",
import: "匯入", import: "匯入",
file: "檔案", file: "檔案",
new: "新增", new: "新增",
@ -18,8 +19,7 @@ const zh_tw = {
template_saved: "範本已儲存!", template_saved: "範本已儲存!",
rename: "重新命名", rename: "重新命名",
delete_diagram: "刪除圖表", delete_diagram: "刪除圖表",
are_you_sure_delete_diagram: are_you_sure_delete_diagram: "您確定要刪除此圖表嗎?此操作無法復原。",
"您確定要刪除此圖表嗎?此操作無法復原。",
oops_smth_went_wrong: "糟糕!發生錯誤。", oops_smth_went_wrong: "糟糕!發生錯誤。",
import_diagram: "匯入圖表", import_diagram: "匯入圖表",
import_from_source: "從 SQL 匯入", import_from_source: "從 SQL 匯入",
@ -31,8 +31,7 @@ const zh_tw = {
undo: "復原", undo: "復原",
redo: "重做", redo: "重做",
clear: "清除", clear: "清除",
are_you_sure_clear: are_you_sure_clear: "您確定要清除圖表嗎?此操作無法復原。",
"您確定要清除圖表嗎?此操作無法復原。",
cut: "剪下", cut: "剪下",
copy: "複製", copy: "複製",
paste: "貼上", paste: "貼上",
@ -105,8 +104,7 @@ const zh_tw = {
no_types: "沒有型別", no_types: "沒有型別",
no_types_text: "建立您自己的自訂資料型別", no_types_text: "建立您自己的自訂資料型別",
no_issues: "未偵測到問題。", no_issues: "未偵測到問題。",
strict_mode_is_on_no_issues: strict_mode_is_on_no_issues: "嚴謹模式已關閉,因此不會顯示任何問題。",
"嚴謹模式已關閉,因此不會顯示任何問題。",
name: "名稱", name: "名稱",
type: "型別", type: "型別",
null: "允許空值", null: "允許空值",
@ -157,12 +155,9 @@ const zh_tw = {
confirm: "確認", confirm: "確認",
last_modified: "上次修改時間", last_modified: "上次修改時間",
drag_and_drop_files: "拖曳檔案到此處或點選上傳。", drag_and_drop_files: "拖曳檔案到此處或點選上傳。",
support_json_and_ddb: "支援 JSON 和 DDB 檔案", upload_sql_to_generate_diagrams: "上傳 SQL 檔案以自動產生表格和欄位。",
upload_sql_to_generate_diagrams:
"上傳 SQL 檔案以自動產生表格和欄位。",
overwrite_existing_diagram: "覆寫現有圖表", overwrite_existing_diagram: "覆寫現有圖表",
only_mysql_supported: only_mysql_supported: "*目前僅支援載入 MySQL 指令碼。",
"*目前僅支援載入 MySQL 指令碼。",
blank: "空白", blank: "空白",
filename: "檔案名稱", filename: "檔案名稱",
table_w_no_name: "宣告了一個沒有名稱的表格", table_w_no_name: "宣告了一個沒有名稱的表格",
@ -175,10 +170,8 @@ const zh_tw = {
"表格 '{{tableName}}' 中欄位 '{{fieldName}}' 的預設值與其型別不符", "表格 '{{tableName}}' 中欄位 '{{fieldName}}' 的預設值與其型別不符",
not_null_is_null: not_null_is_null:
"表格 '{{tableName}}' 中的 '{{fieldName}}' 欄位為 NOT NULL但預設值為 NULL", "表格 '{{tableName}}' 中的 '{{fieldName}}' 欄位為 NOT NULL但預設值為 NULL",
duplicate_fields: duplicate_fields: "表格 '{{tableName}}' 中的欄位名稱 '{{fieldName}}' 重複",
"表格 '{{tableName}}' 中的欄位名稱 '{{fieldName}}' 重複", duplicate_index: "表格 '{{tableName}}' 中的索引名稱 '{{indexName}}' 重複",
duplicate_index:
"表格 '{{tableName}}' 中的索引名稱 '{{indexName}}' 重複",
empty_index: "表格 '{{tableName}}' 中的索引未指定任何欄位", empty_index: "表格 '{{tableName}}' 中的索引未指定任何欄位",
no_primary_key: "表格 '{{tableName}}' 沒有主鍵", no_primary_key: "表格 '{{tableName}}' 沒有主鍵",
type_with_no_name: "宣告了一個沒有名稱的型別", type_with_no_name: "宣告了一個沒有名稱的型別",

View File

@ -7,6 +7,7 @@ const chinese = {
const zh = { const zh = {
translation: { translation: {
report_bug: "报告问题", report_bug: "报告问题",
import_from: "导入",
import: "导入", import: "导入",
file: "文件", file: "文件",
new: "新建", new: "新建",
@ -147,7 +148,6 @@ const zh = {
confirm: "确认", confirm: "确认",
last_modified: "最后修改", last_modified: "最后修改",
drag_and_drop_files: "拖放文件到此处或点击上传。", drag_and_drop_files: "拖放文件到此处或点击上传。",
support_json_and_ddb: "支持 JSON 和 DDB 文件",
upload_sql_to_generate_diagrams: "上传 SQL 文件以自动生成表和列。", upload_sql_to_generate_diagrams: "上传 SQL 文件以自动生成表和列。",
overwrite_existing_diagram: "覆盖现有图表", overwrite_existing_diagram: "覆盖现有图表",
only_mysql_supported: "目前仅支持加载 MySQL 脚本。", only_mysql_supported: "目前仅支持加载 MySQL 脚本。",

View File

@ -1,15 +1,18 @@
import ReactDOM from "react-dom/client"; import ReactDOM from "react-dom/client";
import { LocaleProvider } from "@douyinfe/semi-ui"; import { LocaleProvider } from "@douyinfe/semi-ui";
import { Analytics } from "@vercel/analytics/react"; import { Analytics } from "@vercel/analytics/react";
import { SpeedInsights } from "@vercel/speed-insights/react";
import App from "./App.jsx"; import App from "./App.jsx";
import en_US from "@douyinfe/semi-ui/lib/es/locale/source/en_US"; // import en_US from "@douyinfe/semi-ui/lib/es/locale/source/en_US";
import "./index.css"; import "./index.css";
import "./i18n/i18n.js"; import "./i18n/i18n.js";
import { zh } from "./i18n/locales/zh.js";
const root = ReactDOM.createRoot(document.getElementById("root")); const root = ReactDOM.createRoot(document.getElementById("root"));
root.render( root.render(
<LocaleProvider locale={en_US}> <LocaleProvider locale={zh}>
<App /> <App />
<Analytics /> <Analytics />
<SpeedInsights />
</LocaleProvider>, </LocaleProvider>,
); );

View File

@ -9,13 +9,13 @@ import postgres_icon from "../assets/postgres.png";
import sqlite_icon from "../assets/sqlite.png"; import sqlite_icon from "../assets/sqlite.png";
import mariadb_icon from "../assets/mariadb.png"; import mariadb_icon from "../assets/mariadb.png";
import sql_server_icon from "../assets/sql-server.png"; import sql_server_icon from "../assets/sql-server.png";
import discord from "../assets/discord.png"; // import discord from "../assets/discord.png";
import github from "../assets/github.png"; // import github from "../assets/github.png";
import screenshot from "../assets/screenshot.png"; import screenshot from "../assets/screenshot.png";
import FadeIn from "../animations/FadeIn"; import FadeIn from "../animations/FadeIn";
import axios from "axios"; import axios from "axios";
import { languages } from "../i18n/i18n"; import { languages } from "../i18n/i18n";
import { Tweet } from "react-tweet"; // import { Tweet } from "react-tweet";
import { socials } from "../data/socials"; import { socials } from "../data/socials";
function shortenNumber(number) { function shortenNumber(number) {
@ -49,7 +49,7 @@ export default function LandingPage() {
{showSurvey && ( {showSurvey && (
<div className="text-white font-semibold py-1.5 px-4 text-sm text-center bg-gradient-to-r from-[#12495e] from-10% via-slate-500 to-[#12495e]"> <div className="text-white font-semibold py-1.5 px-4 text-sm text-center bg-gradient-to-r from-[#12495e] from-10% via-slate-500 to-[#12495e]">
<Link to="/survey" className="hover:underline"> <Link to="/survey" className="hover:underline">
Help us improve! Share your feedback. 帮助我们改进分享您的反馈
</Link> </Link>
<div className="float-right"> <div className="float-right">
<button onClick={() => setShowSurvey(false)}> <button onClick={() => setShowSurvey(false)}>
@ -72,19 +72,18 @@ export default function LandingPage() {
<FadeIn duration={0.75}> <FadeIn duration={0.75}>
<div className="md:px-3"> <div className="md:px-3">
<h1 className="text-[42px] md:text-3xl font-bold tracking-wide bg-gradient-to-r from-sky-900 from-10% via-slate-500 to-[#12495e] inline-block text-transparent bg-clip-text"> <h1 className="text-[42px] md:text-3xl font-bold tracking-wide bg-gradient-to-r from-sky-900 from-10% via-slate-500 to-[#12495e] inline-block text-transparent bg-clip-text">
Draw, Copy, and Paste 描绘, 复制, 粘贴
</h1> </h1>
<div className="text-lg font-medium mt-1 sliding-vertical"> <div className="text-lg font-medium mt-1 sliding-vertical">
Free and open source, simple, and intuitive database design 免费开源简单易用的数据库设计编辑器数据建模器和 SQL 生成器{" "}
editor, data-modeler, and SQL generator.{" "}
<span className="ms-2 sm:block sm:ms-0 text-slate-500 bg-white font-bold whitespace-nowrap"> <span className="ms-2 sm:block sm:ms-0 text-slate-500 bg-white font-bold whitespace-nowrap">
No sign up 无需登录
</span> </span>
<span className="ms-2 sm:block sm:ms-0 text-slate-500 bg-white font-bold whitespace-nowrap"> <span className="ms-2 sm:block sm:ms-0 text-slate-500 bg-white font-bold whitespace-nowrap">
Free of charge 免费
</span> </span>
<span className="ms-2 sm:block sm:ms-0 text-slate-500 bg-white font-bold whitespace-nowrap"> <span className="ms-2 sm:block sm:ms-0 text-slate-500 bg-white font-bold whitespace-nowrap">
Quick and easy 快速且容易
</span> </span>
</div> </div>
</div> </div>
@ -98,13 +97,13 @@ export default function LandingPage() {
.scrollIntoView({ behavior: "smooth" }) .scrollIntoView({ behavior: "smooth" })
} }
> >
Learn more 查看更多
</button> </button>
<Link <Link
to="/editor" to="/editor"
className="inline-block py-3 text-white transition-all duration-300 rounded-full shadow-lg bg-sky-900 ps-7 pe-6 hover:bg-sky-800" className="inline-block py-3 text-white transition-all duration-300 rounded-full shadow-lg bg-sky-900 ps-7 pe-6 hover:bg-sky-800"
> >
Try it for yourself <i className="bi bi-arrow-right ms-1"></i> 自行尝试 <i className="bi bi-arrow-right ms-1"></i>
</Link> </Link>
</div> </div>
</div> </div>
@ -120,7 +119,7 @@ export default function LandingPage() {
{shortenNumber(stats.stars)} {shortenNumber(stats.stars)}
</div> </div>
<div className="ms-1 mt-1 font-medium tracking-wide"> <div className="ms-1 mt-1 font-medium tracking-wide">
GitHub stars GitHub 星标
</div> </div>
</div> </div>
<div className="text-center mb-4"> <div className="text-center mb-4">
@ -128,7 +127,7 @@ export default function LandingPage() {
{shortenNumber(stats.forks)} {shortenNumber(stats.forks)}
</div> </div>
<div className="ms-1 mt-1 font-medium tracking-wide"> <div className="ms-1 mt-1 font-medium tracking-wide">
GitHub forks GitHub 收藏
</div> </div>
</div> </div>
<div className="text-center mb-4"> <div className="text-center mb-4">
@ -136,32 +135,18 @@ export default function LandingPage() {
{shortenNumber(languages.length)} {shortenNumber(languages.length)}
</div> </div>
<div className="ms-1 mt-1 font-medium tracking-wide"> <div className="ms-1 mt-1 font-medium tracking-wide">
Languages 语言
</div> </div>
</div> </div>
<div className="w-96 md:w-full h-full md:text-center">
<div>
Join our community, become one of us. Help us become bigger and
better, support us by donating.
</div>
<a
href="https://buymeacoffee.com/drawdb"
className="inline-block bg-white hover:bg-zinc-50 transition-all duration-300 rounded-full px-9 py-2.5 shadow mt-2"
>
Support us{" "}
<i className="ms-2 text-rose-600 fa-regular fa-heart"></i>
</a>
</div>
</div> </div>
<div className="mt-16 w-[75%] text-center sm:w-full mx-auto shadow-sm rounded-2xl border p-6 bg-white space-y-3"> <div className="mt-16 w-[75%] text-center sm:w-full mx-auto shadow-sm rounded-2xl border p-6 bg-white space-y-3">
<div className="text-lg font-medium"> <div className="text-lg font-medium">
Build diagrams with a few clicks, see the full picture, export SQL 用几下点击构建图表全面了解导出 SQL 脚本自定义你的编辑器更多功能
scripts, customize your editor, and more.
</div> </div>
<img src={screenshot} className="mx-auto" /> <img src={screenshot} className="mx-auto" />
</div> </div>
<div className="text-lg font-medium text-center mt-12 mb-6"> <div className="text-lg font-medium text-center mt-12 mb-6">
Design for your database 设计你的数据库
</div> </div>
<div className="flex justify-center items-center gap-8 md:block"> <div className="flex justify-center items-center gap-8 md:block">
{dbs.map((s, i) => ( {dbs.map((s, i) => (
@ -192,10 +177,10 @@ export default function LandingPage() {
<div id="features" className="py-8 px-36 md:px-8"> <div id="features" className="py-8 px-36 md:px-8">
<FadeIn duration={1}> <FadeIn duration={1}>
<div className="text-base font-medium text-center text-sky-900"> <div className="text-base font-medium text-center text-sky-900">
More than just an editor 不仅仅是一个编辑器
</div> </div>
<div className="text-2xl mt-1 font-medium text-center"> <div className="text-2xl mt-1 font-medium text-center">
What drawDB has to offer drawDB 的功能介绍
</div> </div>
<div className="grid grid-cols-3 gap-8 mt-10 md:grid-cols-2 sm:grid-cols-1"> <div className="grid grid-cols-3 gap-8 mt-10 md:grid-cols-2 sm:grid-cols-1">
{features.map((f, i) => ( {features.map((f, i) => (
@ -216,9 +201,9 @@ export default function LandingPage() {
</div> </div>
{/* Tweets */} {/* Tweets */}
<div className="px-40 mt-6 md:px-8"> {/* <div className="px-40 mt-6 md:px-8">
<div className="text-center text-2xl md:text-xl font-medium"> <div className="text-center text-2xl md:text-xl font-medium">
What the internet says about us 网上关于我们的说法
</div> </div>
<div <div
data-theme="light" data-theme="light"
@ -229,10 +214,10 @@ export default function LandingPage() {
<Tweet id="1785457354777006524" /> <Tweet id="1785457354777006524" />
<Tweet id="1776842268042756248" /> <Tweet id="1776842268042756248" />
</div> </div>
</div> </div> */}
{/* Contact us */} {/* Contact us */}
<svg {/* <svg
viewBox="0 0 1440 54" viewBox="0 0 1440 54"
fill="none" fill="none"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
@ -246,11 +231,10 @@ export default function LandingPage() {
</svg> </svg>
<div className="bg-zinc-100 py-8 px-32 md:px-8"> <div className="bg-zinc-100 py-8 px-32 md:px-8">
<div className="mt-4 mb-2 text-2xl font-bold text-center"> <div className="mt-4 mb-2 text-2xl font-bold text-center">
Reach out to us 联系我们
</div> </div>
<div className="text-lg text-center mb-4"> <div className="text-lg text-center mb-4">
We love hearing from you. Join our community on Discord, GitHub, and 我们很乐意听到您的声音加入我们在 DiscordGitHub X 上的社区
X.
</div> </div>
<div className="px-36 text-center md:px-8"> <div className="px-36 text-center md:px-8">
<div className="md:block md:space-y-3 flex gap-3 justify-center"> <div className="md:block md:space-y-3 flex gap-3 justify-center">
@ -263,7 +247,7 @@ export default function LandingPage() {
<div className="bg-zinc-800 hover:opacity-90 transition-all duration-300 flex items-center gap-4 px-14 py-4 rounded-lg"> <div className="bg-zinc-800 hover:opacity-90 transition-all duration-300 flex items-center gap-4 px-14 py-4 rounded-lg">
<img src={github} className="h-8" /> <img src={github} className="h-8" />
<div className="text-lg text-white font-bold"> <div className="text-lg text-white font-bold">
See the source 查看源代码
</div> </div>
</div> </div>
</a> </a>
@ -276,7 +260,7 @@ export default function LandingPage() {
<div className="bg-[#5865f2] hover:opacity-90 transition-all duration-300 flex items-center gap-4 px-8 py-4 rounded-lg"> <div className="bg-[#5865f2] hover:opacity-90 transition-all duration-300 flex items-center gap-4 px-8 py-4 rounded-lg">
<img src={discord} className="h-8" /> <img src={discord} className="h-8" />
<div className="text-lg text-white font-bold"> <div className="text-lg text-white font-bold">
Join us on Discord Discord 加入我们
</div> </div>
</div> </div>
</a> </a>
@ -288,34 +272,19 @@ export default function LandingPage() {
> >
<div className="text-white bg-zinc-800 hover:opacity-90 transition-all duration-300 flex items-center gap-4 px-12 py-4 rounded-lg"> <div className="text-white bg-zinc-800 hover:opacity-90 transition-all duration-300 flex items-center gap-4 px-12 py-4 rounded-lg">
<i className="text-2xl bi bi-twitter-x" /> <i className="text-2xl bi bi-twitter-x" />
<div className="text-lg font-bold">Follow us on X</div> <div className="text-lg font-bold">X 上关注我们</div>
</div> </div>
</a> </a>
</div> </div>
<div className="my-8">
<div>
If you&apos;re finding drawDB useful and would like to help us in
improving and adding new features, consider making a donation.
</div>
<div>Your support means a lot to us!</div>
<a
href="https://buymeacoffee.com/drawdb"
className="inline-block bg-white hover:bg-zinc-50 transition-all duration-300 rounded-full px-16 py-2.5 shadow mt-2"
>
Support us{" "}
<i className="ms-2 text-rose-600 fa-regular fa-heart"></i>
</a>
</div>
</div> </div>
</div> </div> */}
<div className="bg-red-700 py-1 text-center text-white text-xs font-semibold px-3"> <div className="bg-red-700 py-1 text-center text-white text-xs font-semibold px-3 mt-5">
Attention! The diagrams are saved in your browser. Before clearing the 注意图表会在您的浏览器中保存在清除浏览器之前请确保备份您的数据
browser make sure to back up your data.
</div> </div>
<hr className="border-zinc-300" /> <hr className="border-zinc-300" />
<div className="text-center text-sm py-3"> <div className="text-center text-sm py-3">
&copy; 2024 <strong>drawDB</strong> - All right reserved. &copy; 2024 <strong>drawDB</strong> - 保留所有权利
</div> </div>
</div> </div>
); );
@ -331,123 +300,113 @@ const dbs = [
const features = [ const features = [
{ {
title: "Export", title: "导出",
content: ( content: (
<div> <div>
Export the DDL script to run on your database or export the diagram as a 导出 DDL 脚本以在您的数据库中运行或将图表导出为 JSON 或图像
JSON or an image.
</div> </div>
), ),
footer: "", footer: "",
}, },
{ {
title: "Reverse engineer", title: "反向工程",
content: ( content: (
<div> <div>
Already have a schema? Import a DDL script to generate a diagram. 已经有模式了吗导入 DDL 脚本来生成图表
</div> </div>
), ),
footer: "", footer: "",
}, },
{ {
title: "Customizable workspace", title: "可定制的工作区",
content: ( content: (
<div> <div>
Customize the UI to fit your preferences. Select the components you want 自定义界面以符合您的偏好选择您想要在视图中显示的组件
in your view.
</div> </div>
), ),
footer: "", footer: "",
}, },
{ {
title: "Keyboard shortcuts", title: "键盘快捷键",
content: ( content: (
<div> <div>
Speed up development with keyboard shortuts. See all available shortcuts 使用键盘快捷键加快开发速度
<Link <Link
to={`${socials.docs}/shortcuts`} to={`${socials.docs}/shortcuts`}
className="ms-1.5 text-blue-500 hover:underline" className="ms-1.5 text-blue-500 hover:underline"
> >这里</Link>查看所有可用的快捷键
here
</Link>
.
</div> </div>
), ),
footer: "", footer: "",
}, },
{ {
title: "Templates", title: "模板",
content: ( content: (
<div> <div>
Start off with pre-built templates. Get a quick start or get inspirition 使用预建模板开始快速入门或为您的设计获取灵感
for your design.
</div> </div>
), ),
footer: "", footer: "",
}, },
{ {
title: "Custom Templates", title: "自定义模板",
content: ( content: (
<div> <div>
Have boilerplate structures? Save time by saving them as templates and 有模板结构通过保存它们作为模板来节省时间在需要时加载它们
load them when needed.
</div> </div>
), ),
footer: "", footer: "",
}, },
{ {
title: "Robust editor", title: "强大的编辑器",
content: ( content: (
<div> <div>
Undo, redo, copy, paste, duplacate and more. Add tables, subject areas, 撤销重做复制粘贴复制更多添加表主题区域和注释
and notes.
</div> </div>
), ),
footer: "", footer: "",
}, },
{ {
title: "Issue detection", title: "问题检测",
content: ( content: (
<div> <div>
Detect and tackle errors in the diagram to make sure the scripts are 检测并解决图中的错误确保脚本正确
correct.
</div> </div>
), ),
footer: "", footer: "",
}, },
{ {
title: "Relational databases", title: "关系型数据库",
content: ( content: (
<div> <div>
We support 5 relational databases - MySQL, PostgreSQL, SQLite, MariaDB, 我们支持 5 种关系型数据库 - MySQLPostgreSQLSQLiteMariaDBSQL Server
SQL Server.
</div> </div>
), ),
footer: "", footer: "",
}, },
{ {
title: "Object-Relational databases", title: "对象关系型数据库",
content: ( content: (
<div> <div>
Add custom types for object-relational databases, or create custom JSON 为对象关系型数据库添加自定义类型或创建自定义 JSON 方案
schemes.
</div> </div>
), ),
footer: "", footer: "",
}, },
{ {
title: "Presentation mode", title: "演示模式",
content: ( content: (
<div> <div>
Present your diagrams on a big screen during team meetings and 在团队会议和讨论中在大屏幕上展示您的图表
discussions.
</div> </div>
), ),
footer: "", footer: "",
}, },
{ {
title: "Track todos", title: "跟踪待办事项",
content: <div>Keep track of tasks and mark them done when finished.</div>, content: (
<div>用于跟踪任务并在完成时标记为已完成</div>
),
footer: "", footer: "",
}, },
]; ];

View File

@ -48,7 +48,7 @@ export default function Templates() {
/> />
</Link> </Link>
<div className="ms-4 sm:text-sm xl:text-xl text-xl font-semibold"> <div className="ms-4 sm:text-sm xl:text-xl text-xl font-semibold">
Templates 模板
</div> </div>
</div> </div>
</div> </div>
@ -56,16 +56,15 @@ export default function Templates() {
<div className="xl:px-20 sm:px-6 px-12 py-6"> <div className="xl:px-20 sm:px-6 px-12 py-6">
<div className="w-full md:w-[75%] xl:w-[50%] mb-2"> <div className="w-full md:w-[75%] xl:w-[50%] mb-2">
<div className="text-2xl sm:text-lg font-semibold mb-2 text-neutral-800"> <div className="text-2xl sm:text-lg font-semibold mb-2 text-neutral-800">
Database schema templates 数据库模式模板
</div> </div>
<div className="text-sm text-neutral-700"> <div className="text-sm text-neutral-700">
A compilation of database entity relationship diagrams to give you 一个数据库实体关系图的集合帮助你快速开始或启发你的应用程序架构
a quick start or inspire your application&apos;s architecture.
</div> </div>
</div> </div>
<Tabs> <Tabs>
<TabPane <TabPane
tab={<span className="mx-2">Default templates</span>} tab={<span className="mx-2">默认模板</span>}
itemKey="1" itemKey="1"
> >
<div className="grid xl:grid-cols-3 grid-cols-2 sm:grid-cols-1 gap-10 my-6"> <div className="grid xl:grid-cols-3 grid-cols-2 sm:grid-cols-1 gap-10 my-6">
@ -101,7 +100,7 @@ export default function Templates() {
</div> </div>
</TabPane> </TabPane>
<TabPane <TabPane
tab={<span className="mx-2">Your templates</span>} tab={<span className="mx-2">你的模板</span>}
itemKey="2" itemKey="2"
> >
{customTemplates?.length > 0 ? ( {customTemplates?.length > 0 ? (
@ -134,7 +133,7 @@ export default function Templates() {
onClick={() => editTemplate(c.id)} onClick={() => editTemplate(c.id)}
> >
<i className="bi bi-pencil-fill"></i> <i className="bi bi-pencil-fill"></i>
<div className="ms-1.5 font-semibold">Edit</div> <div className="ms-1.5 font-semibold">编辑</div>
</button> </button>
<div className="border-l border-gray-300 mx-2" /> <div className="border-l border-gray-300 mx-2" />
<button <button
@ -142,7 +141,7 @@ export default function Templates() {
onClick={() => deleteTemplate(c.id)} onClick={() => deleteTemplate(c.id)}
> >
<IconDeleteStroked /> <IconDeleteStroked />
<div className="ms-1.5 font-semibold">Delete</div> <div className="ms-1.5 font-semibold">删除</div>
</button> </button>
</div> </div>
</div> </div>
@ -157,7 +156,7 @@ export default function Templates() {
bordered bordered
icon={null} icon={null}
closeIcon={null} closeIcon={null}
description={<div>You have no custom templates saved.</div>} description={<div>您还没有保存自定义模板</div>}
/> />
<div className="grid grid-cols-5 sm:grid-cols-1 gap-4 place-content-center my-4"> <div className="grid grid-cols-5 sm:grid-cols-1 gap-4 place-content-center my-4">
<img <img
@ -166,20 +165,20 @@ export default function Templates() {
/> />
<div className="col-span-2 sm:cols-span-1"> <div className="col-span-2 sm:cols-span-1">
<div className="text-xl font-bold my-4"> <div className="text-xl font-bold my-4">
How to save a template 如何保存模板
</div> </div>
<Steps direction="vertical" style={{ margin: "12px" }}> <Steps direction="vertical" style={{ margin: "12px" }}>
<Steps.Step <Steps.Step
title="Build a diagram" title="建立图表"
description="Build the template in the editor" description="在编辑器中构建模板"
/> />
<Steps.Step <Steps.Step
title="Save as template" title="保存为模板"
description="Editor > File > Save as template" description="编辑 > 文件 > 保存为模板"
/> />
<Steps.Step <Steps.Step
title="Load a template" title="加载一个模板"
description="Fork a template to build on" description="Fork一个模板以进行构建"
/> />
</Steps> </Steps>
</div> </div>

View File

@ -342,8 +342,8 @@ export const template1 = {
notes: [], notes: [],
subjectAreas: [], subjectAreas: [],
types: [], types: [],
title: "Blog database schema", title: "博客数据库模式",
description: description:
"A blog database including tables such as posts, users, comments, and tags to facilitate the storage and retrieval of blog-related information.", "一个博客数据库,包括帖子、用户、评论和标签等表,以方便存储和检索博客相关信息。",
custom: 0, custom: 0,
}; };

View File

@ -346,8 +346,8 @@ export const template2 = {
notes: [], notes: [],
subjectAreas: [], subjectAreas: [],
types: [], types: [],
title: "Human resources schema", title: "人力资源方案",
description: description:
"A Human Resources (HR) schema designed to manage employee and project related information within an organization.", "一个旨在管理组织内员工和项目相关信息的人力资源HR方案。",
custom: 0, custom: 0,
}; };

View File

@ -418,8 +418,8 @@ export const template3 = {
notes: [], notes: [],
subjectAreas: [], subjectAreas: [],
types: [], types: [],
title: "E-commerce schema", title: "电子商务方案",
description: description:
"An e-commerce schema designed to manage various aspects of an online store, including products, orders, and customers.", '一个电子商务架构,用于管理在线商店的各种方面,包括产品、订单和客户。',
custom: 0, custom: 0,
}; };

View File

@ -358,8 +358,8 @@ export const template4 = {
notes: [], notes: [],
subjectAreas: [], subjectAreas: [],
types: [], types: [],
title: "Library schema", title: "图书馆架构",
description: description:
"A library schema designed to manage the books, genres, reservations, and other aspects of a library system", '一个图书馆架构,用于管理书籍、类型、预订以及其他图书馆系统方面的内容。',
custom: 0, custom: 0,
}; };

View File

@ -629,8 +629,8 @@ export const template5 = {
notes: [], notes: [],
subjectAreas: [], subjectAreas: [],
types: [], types: [],
title: "Bank schema", title: "银行方案",
description: description:
"A financial schema designed to manage financial transactions, accounts, customers, and other aspects of financial data.", '一个用于管理金融交易、账户、客户及其他金融数据的金融方案设计。',
custom: 0, custom: 0,
}; };

View File

@ -453,8 +453,8 @@ export const template6 = {
notes: [], notes: [],
subjectAreas: [], subjectAreas: [],
types: [], types: [],
title: "University schema", title: "大学方案",
description: description:
"A university schema designed to manage information about students, courses, instructors, and other aspects of university-related data.", '一个用于管理学生、课程、教师及其他大学相关数据信息的大学模式。',
custom: 0, custom: 0,
}; };

View File

@ -0,0 +1,27 @@
import {
tableColorStripHeight,
tableFieldHeight,
tableHeaderHeight,
} from "../data/constants";
export function arrangeTables(diagram) {
let maxHeight = -1;
const tableWidth = 200;
const gapX = 54;
const gapY = 40;
diagram.tables.forEach((table, i) => {
if (i < diagram.tables.length / 2) {
table.x = i * tableWidth + (i + 1) * gapX;
table.y = gapY;
const height =
table.fields.length * tableFieldHeight +
tableHeaderHeight +
tableColorStripHeight;
maxHeight = Math.max(height, maxHeight);
} else {
const index = diagram.tables.length - i - 1;
table.x = index * tableWidth + (index + 1) * gapX;
table.y = maxHeight + 2 * gapY;
}
});
}

102
src/utils/exportAs/dbml.js Normal file
View File

@ -0,0 +1,102 @@
import { Cardinality } from "../../data/constants";
import { parseDefault } from "../exportSQL/shared";
function hasColumnSettings(field) {
return (
field.primary ||
field.notNull ||
field.increment ||
field.unique ||
(field.comment && field.comment.trim() != "") ||
(field.default && field.default.trim() != "")
);
}
function columnDefault(field, database) {
if (!field.default || field.default.trim() === "") {
return "";
}
return `default: ${parseDefault(field, database)}`;
}
function columnComment(field) {
if (!field.comment || field.comment.trim() === "") {
return "";
}
return `note: '${field.comment}'`;
}
function columnSettings(field, database) {
if (!hasColumnSettings(field)) {
return "";
}
return ` [ ${field.primary ? "pk " : ""}${
field.increment ? "increment " : ""
}${field.notNull ? "not null " : ""}${
field.unique ? "unique " : ""
}${columnDefault(field, database)}${columnComment(field, database)}]`;
}
function cardinality(rel) {
switch (rel.cardinality) {
case Cardinality.ONE_TO_ONE:
return "-";
case Cardinality.ONE_TO_MANY:
return "<";
case Cardinality.MANY_TO_ONE:
return ">";
}
}
export function toDBML(diagram) {
return `${diagram.enums
.map(
(en) =>
`enum ${en.name} {\n${en.values.map((v) => `\t${v}`).join("\n")}\n}\n\n`,
)
.join("\n\n")}${diagram.tables
.map(
(table) =>
`Table ${table.name} {\n${table.fields
.map(
(field) =>
`\t${field.name} ${field.type.toLowerCase()}${columnSettings(
field,
diagram.database,
)}`,
)
.join("\n")}${
table.indices.length > 0
? "\n\n\tindexes {\n" +
table.indices
.map(
(index) =>
`\t\t(${index.fields.join(", ")}) [ name: '${
index.name
}'${index.unique ? " unique" : ""} ]`,
)
.join("\n") +
"\n\t}"
: ""
}${
table.comment && table.comment.trim() !== ""
? `\n\n\tNote: '${table.comment}'`
: ""
}\n}`,
)
.join("\n\n")}\n\n${diagram.relationships
.map(
(rel) =>
`Ref ${rel.name} {\n\t${
diagram.tables[rel.startTableId].name
}.${diagram.tables[rel.startTableId].fields[rel.startFieldId].name} ${cardinality(
rel,
)} ${diagram.tables[rel.endTableId].name}.${
diagram.tables[rel.endTableId].fields[rel.endFieldId].name
} [ delete: ${rel.deleteConstraint.toLowerCase()}, on update: ${rel.updateConstraint.toLowerCase()} ]\n}`,
)
.join("\n\n")}`;
}

View File

@ -0,0 +1,128 @@
import { Parser } from "@dbml/core";
import { arrangeTables } from "../arrangeTables";
import { Cardinality, Constraint } from "../../data/constants";
const parser = new Parser();
export function fromDBML(src) {
const ast = parser.parse(src, "dbml");
const tables = [];
const enums = [];
const relationships = [];
for (const schema of ast.schemas) {
for (const table of schema.tables) {
let parsedTable = {};
parsedTable.id = tables.length;
parsedTable.name = table.name;
parsedTable.comment = table.note ?? "";
parsedTable.color = "#175e7a";
parsedTable.fields = [];
parsedTable.indices = [];
for (const column of table.fields) {
const field = {};
field.id = parsedTable.fields.length;
field.name = column.name;
field.type = column.type.type_name.toUpperCase();
field.default = column.dbdefault ?? "";
field.check = "";
field.primary = !!column.pk;
field.unique = !!column.pk;
field.notNull = !!column.not_null;
field.increment = !!column.increment;
field.comment = column.note ?? "";
parsedTable.fields.push(field);
}
for (const idx of table.indexes) {
const parsedIndex = {};
parsedIndex.id = idx.id - 1;
parsedIndex.fields = idx.columns.map((x) => x.value);
parsedIndex.name =
idx.name ?? `${parsedTable.name}_index_${parsedIndex.id}`;
parsedIndex.unique = !!idx.unique;
parsedTable.indices.push(parsedIndex);
}
tables.push(parsedTable);
}
for (const ref of schema.refs) {
const startTable = ref.endpoints[0].tableName;
const endTable = ref.endpoints[1].tableName;
const startField = ref.endpoints[0].fieldNames[0];
const endField = ref.endpoints[1].fieldNames[0];
const startTableId = tables.findIndex((t) => t.name === startTable);
if (startTableId === -1) continue;
const endTableId = tables.findIndex((t) => t.name === endTable);
if (endTableId === -1) continue;
const endFieldId = tables[endTableId].fields.findIndex(
(f) => f.name === endField,
);
if (endFieldId === -1) continue;
const startFieldId = tables[startTableId].fields.findIndex(
(f) => f.name === startField,
);
if (startFieldId === -1) continue;
const relationship = {};
relationship.name =
"fk_" + startTable + "_" + startField + "_" + endTable;
relationship.startTableId = startTableId;
relationship.endTableId = endTableId;
relationship.endFieldId = endFieldId;
relationship.startFieldId = startFieldId;
relationship.id = relationships.length;
relationship.updateConstraint = ref.onDelete
? ref.onDelete[0].toUpperCase() + ref.onDelete.substring(1)
: Constraint.NONE;
relationship.deleteConstraint = ref.onUpdate
? ref.onUpdate[0].toUpperCase() + ref.onUpdate.substring(1)
: Constraint.NONE;
const startRelation = ref.endpoints[0].relation;
const endRelation = ref.endpoints[1].relation;
if (startRelation === "*" && endRelation === "1") {
relationship.cardinality = Cardinality.MANY_TO_ONE;
}
if (startRelation === "1" && endRelation === "*") {
relationship.cardinality = Cardinality.ONE_TO_MANY;
}
if (startRelation === "1" && endRelation === "1") {
relationship.cardinality = Cardinality.ONE_TO_ONE;
}
relationships.push(relationship);
}
for (const schemaEnum of schema.enums) {
const parsedEnum = {};
parsedEnum.name = schemaEnum.name;
parsedEnum.values = schemaEnum.values.map((x) => x.name);
enums.push(parsedEnum);
}
}
const diagram = { tables, enums, relationships };
arrangeTables(diagram);
return diagram;
}

View File

@ -1,9 +1,5 @@
import { import { DB } from "../../data/constants";
DB, import { arrangeTables } from "../arrangeTables";
tableColorStripHeight,
tableFieldHeight,
tableHeaderHeight,
} from "../../data/constants";
import { fromMariaDB } from "./mariadb"; import { fromMariaDB } from "./mariadb";
import { fromMSSQL } from "./mssql"; import { fromMSSQL } from "./mssql";
import { fromMySQL } from "./mysql"; import { fromMySQL } from "./mysql";
@ -33,25 +29,7 @@ export function importSQL(ast, toDb = DB.MYSQL, diagramDb = DB.GENERIC) {
break; break;
} }
let maxHeight = -1; arrangeTables(diagram);
const tableWidth = 200;
const gapX = 54;
const gapY = 40;
diagram.tables.forEach((table, i) => {
if (i < diagram.tables.length / 2) {
table.x = i * tableWidth + (i + 1) * gapX;
table.y = gapY;
const height =
table.fields.length * tableFieldHeight +
tableHeaderHeight +
tableColorStripHeight;
maxHeight = Math.max(height, maxHeight);
} else {
const index = diagram.tables.length - i - 1;
table.x = index * tableWidth + (index + 1) * gapX;
table.y = maxHeight + 2 * gapY;
}
});
return diagram; return diagram;
} }