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
This commit is contained in:
1ilit 2025-03-01 22:24:53 +04:00 committed by GitHub
parent e3877ef982
commit 0d813fc0dd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
47 changed files with 3297 additions and 2716 deletions

53
package-lock.json generated
View File

@ -10,6 +10,7 @@
"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",
@ -536,6 +537,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",
@ -2351,6 +2380,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 +5103,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 +5183,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,6 +12,7 @@
"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",

View File

@ -40,6 +40,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 +75,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 +93,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 +791,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 +975,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,19 +1015,19 @@ 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,
relationships,
enums,
});
setExportData((prev) => ({ setExportData((prev) => ({
...prev, ...prev,
data: dataUrl, data: result,
extension: "svg", extension: "dbml",
})); }));
}, },
);
setModal(MODAL.IMG);
},
}, },
{ {
PDF: () => { PDF: () => {
@ -1423,6 +1450,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,17 +38,7 @@ export default function ImportDiagram({ setImportData, error, setError }) {
); );
}; };
return ( const loadJsonData = (file, e) => {
<div>
<Upload
action="#"
beforeUpload={({ file, fileList }) => {
const f = fileList[0].fileInstance;
if (!f) {
return;
}
const reader = new FileReader();
reader.onload = async (e) => {
let jsonObject = null; let jsonObject = null;
try { try {
jsonObject = JSON.parse(e.target.result); jsonObject = JSON.parse(e.target.result);
@ -53,21 +49,20 @@ export default function ImportDiagram({ setImportData, error, setError }) {
}); });
return; return;
} }
if (f.type === "application/json") {
if (file.type === "application/json") {
if (!jsonDiagramIsValid(jsonObject)) { if (!jsonDiagramIsValid(jsonObject)) {
setError({ setError({
type: STATUS.ERROR, type: STATUS.ERROR,
message: message: "The file is missing necessary properties for a diagram.",
"The file is missing necessary properties for a diagram.",
}); });
return; return;
} }
} else if (f.name.split(".").pop() === "ddb") { } else if (file.name.split(".").pop() === "ddb") {
if (!ddbDiagramIsValid(jsonObject)) { if (!ddbDiagramIsValid(jsonObject)) {
setError({ setError({
type: STATUS.ERROR, type: STATUS.ERROR,
message: message: "The file is missing necessary properties for a diagram.",
"The file is missing necessary properties for a diagram.",
}); });
return; return;
} }
@ -129,6 +124,53 @@ export default function ImportDiagram({ setImportData, error, setError }) {
}); });
} }
}; };
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 (
<div>
<Upload
action="#"
beforeUpload={({ file, fileList }) => {
const f = fileList[0].fileInstance;
if (!f) {
return;
}
const reader = new FileReader();
reader.onload = async (e) => {
if (importFrom == IMPORT_FROM.JSON) loadJsonData(f, e);
if (importFrom == IMPORT_FROM.DBML) loadDBMLData(e);
};
reader.readAsText(f); reader.readAsText(f);
return { return {
@ -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

@ -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

@ -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,6 +7,7 @@ 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",
@ -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: "મોજુદા ડાયાગ્રામને ઓવરરાઈટ કરો",
@ -172,11 +173,13 @@ const gu = {
"ટેબલ '{{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:

View File

@ -7,6 +7,7 @@ const hebrew = {
const he = { const he = {
translation: { translation: {
report_bug: "דווח על באג", report_bug: "דווח על באג",
import_from: "ייבוא",
import: "ייבוא", import: "ייבוא",
file: "קובץ", file: "קובץ",
new: "חדש", new: "חדש",
@ -105,8 +106,7 @@ const he = {
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 he = {
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: "הוכרז טבלה ללא שם",
@ -177,8 +175,7 @@ const he = {
"שדה '{{fieldName}}' בטבלה '{{tableName}}' אינו ריק אך ערך ברירת מחדל הוא NULL", "שדה '{{fieldName}}' בטבלה '{{tableName}}' אינו ריק אך ערך ברירת מחדל הוא NULL",
duplicate_fields: duplicate_fields:
"שדות טבלה כפולים בשם '{{fieldName}}' בטבלה '{{tableName}}'", "שדות טבלה כפולים בשם '{{fieldName}}' בטבלה '{{tableName}}'",
duplicate_index: duplicate_index: "אינדקס כפול בשם '{{indexName}}' בטבלה '{{tableName}}'",
"אינדקס כפול בשם '{{indexName}}' בטבלה '{{tableName}}'",
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 hindi = {
const hi = { const hi = {
translation: { translation: {
report_bug: "बग रिपोर्ट करें", report_bug: "बग रिपोर्ट करें",
import_from: "इम्पोर्ट",
import: "इम्पोर्ट", import: "इम्पोर्ट",
file: "फ़ाइल", file: "फ़ाइल",
new: "नया", new: "नया",
@ -90,7 +91,8 @@ const hindi = {
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: "कोई नोट्स नहीं",
@ -109,7 +111,8 @@ const hindi = {
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: "व्हॅल्यूज",
@ -149,8 +152,8 @@ const hindi = {
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: "मौजूदा डायग्राम को अधिलेखित करें",
@ -176,7 +179,8 @@ const hindi = {
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:
@ -216,4 +220,3 @@ const hindi = {
}; };
export { hi, hindi }; export { hi, hindi };

View File

@ -7,6 +7,7 @@ const hungarian = {
const hu = { const hu = {
translation: { translation: {
report_bug: "Hiba jelentése", report_bug: "Hiba jelentése",
import_from: "Importálás",
import: "Importálás", import: "Importálás",
file: "Fájl", file: "Fájl",
new: "Új", new: "Új",
@ -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,14 +243,16 @@ 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.",
}, },

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",
@ -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",
@ -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",
@ -143,7 +148,8 @@ const id = {
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",
@ -171,20 +178,27 @@ const id = {
"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,6 +7,7 @@ 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",
@ -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",
@ -233,7 +237,8 @@ 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

@ -7,6 +7,7 @@ const japanese = {
const jp = { const jp = {
translation: { translation: {
report_bug: "バグを報告", report_bug: "バグを報告",
import_from: "インポート",
import: "インポート", import: "インポート",
file: "ファイル", file: "ファイル",
new: "新規", new: "新規",
@ -18,7 +19,8 @@ const japanese = {
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 japanese = {
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 japanese = {
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 japanese = {
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",
@ -112,7 +117,8 @@ const japanese = {
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: "値",
@ -134,7 +140,8 @@ const japanese = {
one_to_many: "1対多", one_to_many: "1対多",
many_to_one: "多対1", many_to_one: "多対1",
content: "内容", content: "内容",
types_info: "この機能はPostgreSQLのようなオブジェクトリレーショナルDBMS向けです。\nMySQLやMariaDBで使用した場合、対応するjsonの検証チェックと共にJSONタイプが生成されます。\nSQLiteで使用した場合、BLOBに変換されます。\nMSSQLで使用した場合、最初のフィールドへのタイプエイリアスが生成されます。", types_info:
"この機能はPostgreSQLのようなオブジェクトリレーショナルDBMS向けです。\nMySQLやMariaDBで使用した場合、対応するjsonの検証チェックと共にJSONタイプが生成されます。\nSQLiteで使用した場合、BLOBに変換されます。\nMSSQLで使用した場合、最初のフィールドへのタイプエイリアスが生成されます。",
table_deleted: "テーブルが削除されました", table_deleted: "テーブルが削除されました",
area_deleted: "エリアが削除されました", area_deleted: "エリアが削除されました",
note_deleted: "ノートが削除されました", note_deleted: "ノートが削除されました",
@ -151,33 +158,45 @@ const japanese = {
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: "テーブル '{{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:
empty_index: "テーブル '{{tableName}}' のインデックスは列をインデックスしていません", "テーブル '{{tableName}}' のフィールド '{{fieldName}}' はNOT NULLですが、デフォルトはNULLです",
duplicate_fields:
"テーブル '{{tableName}}' 内に名前 '{{fieldName}}' のフィールドが重複しています",
duplicate_index:
"テーブル '{{tableName}}' 内に名前 '{{indexName}}' のインデックスが重複しています",
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: "タイムライン",
priority: "優先度", priority: "優先度",
none: "なし", none: "なし",
@ -207,7 +226,8 @@ const japanese = {
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,16 +238,18 @@ const japanese = {
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:
"* このリンクを共有してもリアルタイムコラボレーションセッションは作成されません。",
},
}; };
export { jp, japanese }; 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

@ -7,6 +7,7 @@ const marathi = {
const mr = { const mr = {
translation: { translation: {
report_bug: "बग रिपोर्ट करा", report_bug: "बग रिपोर्ट करा",
import_from: "आयात",
import: "आयात", import: "आयात",
file: "फाइल", file: "फाइल",
new: "नवीन", new: "नवीन",
@ -149,13 +150,12 @@ const marathi = {
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: only_mysql_supported: "*सध्या फक्त MySQL स्क्रिप्ट्स लोड करणे समर्थित आहे.",
"*सध्या फक्त MySQL स्क्रिप्ट्स लोड करणे समर्थित आहे.",
blank: "रिक्त", blank: "रिक्त",
filename: "फाइलनाम", filename: "फाइलनाम",
table_w_no_name: "नाव नसलेल्या टेबलची घोषणा केली", table_w_no_name: "नाव नसलेल्या टेबलची घोषणा केली",
@ -172,7 +172,8 @@ const marathi = {
"टेबल '{{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}}' असलेले डुप्लिकेट प्रकार",
@ -216,4 +217,3 @@ const marathi = {
}; };
export { mr, marathi }; export { mr, marathi };

View File

@ -7,6 +7,7 @@ const nepali = {
const ne = { const ne = {
translation: { translation: {
report_bug: "बग रिपोर्ट गर्नुहोस्", report_bug: "बग रिपोर्ट गर्नुहोस्",
import_from: "इम्पोर्ट गर्नुहोस्",
import: "इम्पोर्ट गर्नुहोस्", import: "इम्पोर्ट गर्नुहोस्",
file: "फाइल", file: "फाइल",
new: "नयाँ", new: "नयाँ",
@ -109,7 +110,8 @@ const nepali = {
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: "मानहरू",
@ -149,8 +151,8 @@ const nepali = {
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: "मौजुदा डायग्रामलाई अधिलेखित गर्नुहोस्",
@ -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,7 +214,7 @@ const nepali = {
add_relationship: "संबन्ध थप्नुहोस्", add_relationship: "संबन्ध थप्नुहोस्",
edit_relationship: "{{extra}} सम्बन्ध सम्पादन गर्नुहोस् {{refName}}", edit_relationship: "{{extra}} सम्बन्ध सम्पादन गर्नुहोस् {{refName}}",
delete_relationship: "संबन्ध मेटाउनुहोस् {{refName}}", delete_relationship: "संबन्ध मेटाउनुहोस् {{refName}}",
not_found: "फेला परेन" not_found: "फेला परेन",
}, },
}; };

View File

@ -7,6 +7,7 @@ const norwegian = {
const no = { const no = {
translation: { translation: {
report_bug: "Rapporter en feil", report_bug: "Rapporter en feil",
import_from: "Importer",
import: "Importer", import: "Importer",
file: "Fil", file: "Fil",
new: "Ny", new: "Ny",
@ -116,7 +117,8 @@ const norwegian = {
autoincrement: "Autoinkrement", autoincrement: "Autoinkrement",
default_value: "Standardverdi", default_value: "Standardverdi",
check: "Sjekk uttrykk", check: "Sjekk uttrykk",
this_will_appear_as_is: "*Dette vil vises i det genererte skriptet som det er.", this_will_appear_as_is:
"*Dette vil vises i det genererte skriptet som det er.",
comment: "Kommentar", comment: "Kommentar",
add_field: "Legg til felt", add_field: "Legg til felt",
values: "Verdier", values: "Verdier",
@ -157,12 +159,10 @@ const norwegian = {
confirm: "Bekreft", confirm: "Bekreft",
last_modified: "Sist endret", last_modified: "Sist endret",
drag_and_drop_files: "Dra og slipp filen her eller klikk for å laste opp.", drag_and_drop_files: "Dra og slipp filen her eller klikk for å laste opp.",
support_json_and_ddb: "JSON- og DDB-filer støttes",
upload_sql_to_generate_diagrams: upload_sql_to_generate_diagrams:
"Last opp en SQL-fil for å autogenerere dine tabeller og kolonner.", "Last opp en SQL-fil for å autogenerere dine tabeller og kolonner.",
overwrite_existing_diagram: "Overskriv eksisterende diagram", overwrite_existing_diagram: "Overskriv eksisterende diagram",
only_mysql_supported: only_mysql_supported: "*For tiden støttes kun lasting av MySQL-skript.",
"*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",
@ -191,7 +191,8 @@ const norwegian = {
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:
"Sirkulær avhengighet som involverer tabell '{{refName}}'",
timeline: "Tidslinje", timeline: "Tidslinje",
priority: "Prioritet", priority: "Prioritet",
none: "Ingen", none: "Ingen",

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

@ -7,6 +7,7 @@ const polish = {
const pl = { const pl = {
translation: { translation: {
report_bug: "Zgłoś błąd", report_bug: "Zgłoś błąd",
import_from: "Importuj",
import: "Importuj", import: "Importuj",
file: "Plik", file: "Plik",
new: "Nowy", new: "Nowy",
@ -116,7 +117,8 @@ const polish = {
autoincrement: "Autonumerowanie", autoincrement: "Autonumerowanie",
default_value: "Wartość domyślna", default_value: "Wartość domyślna",
check: "Wyrażenie sprawdzające", check: "Wyrażenie sprawdzające",
this_will_appear_as_is: "*To pojawi się w wygenerowanym skrypcie tak, jak jest.", this_will_appear_as_is:
"*To pojawi się w wygenerowanym skrypcie tak, jak jest.",
comment: "Komentarz", comment: "Komentarz",
add_field: "Dodaj pole", add_field: "Dodaj pole",
values: "Wartości", values: "Wartości",
@ -156,8 +158,8 @@ const polish = {
create: "Utwórz", create: "Utwórz",
confirm: "Potwierdź", confirm: "Potwierdź",
last_modified: "Ostatnio zmodyfikowano", last_modified: "Ostatnio zmodyfikowano",
drag_and_drop_files: "Przeciągnij i upuść plik tutaj lub kliknij, aby przesłać.", drag_and_drop_files:
support_json_and_ddb: "Obsługiwane są pliki JSON i DDB", "Przeciągnij i upuść plik tutaj lub kliknij, aby przesłać.",
upload_sql_to_generate_diagrams: upload_sql_to_generate_diagrams:
"Prześlij plik SQL, aby automatycznie wygenerować tabele i kolumny.", "Prześlij plik SQL, aby automatycznie wygenerować tabele i kolumny.",
overwrite_existing_diagram: "Nadpisz istniejący diagram", overwrite_existing_diagram: "Nadpisz istniejący diagram",
@ -239,11 +241,11 @@ const polish = {
share: "Udostępnij", share: "Udostępnij",
copy_link: "Kopiuj link", copy_link: "Kopiuj link",
readme: "README", readme: "README",
failed_to_load: "Nie udało się załadować. Upewnij się, że link jest poprawny.", failed_to_load:
"Nie udało się załadować. Upewnij się, że link jest poprawny.",
share_info: share_info:
"* Udostępnienie tego linku nie utworzy sesji współpracy w czasie rzeczywistym.", "* 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",

View File

@ -7,6 +7,7 @@ const romanian = {
const ro = { const ro = {
translation: { translation: {
report_bug: "Raportează o eroare", report_bug: "Raportează o eroare",
import_from: "Import",
import: "Import", import: "Import",
file: "Fișier", file: "Fișier",
new: "Nou", new: "Nou",
@ -69,7 +70,8 @@ const ro = {
table_width: "Lățimea tabelului", table_width: "Lățimea tabelului",
language: "Limbă", language: "Limbă",
flush_storage: "Golește depozitorea", 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.", 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ă", storage_flushed: "Depozitorea a fost golită",
help: "Ajutor", help: "Ajutor",
shortcuts: "Scurtături", shortcuts: "Scurtături",
@ -100,11 +102,13 @@ const ro = {
no_subject_areas: "Fără zone de subiecte", no_subject_areas: "Fără zone de subiecte",
no_subject_areas_text: "Adaugă zone de subiecte pentru a grupa tabelele!", no_subject_areas_text: "Adaugă zone de subiecte pentru a grupa tabelele!",
no_notes: "Fără note", no_notes: "Fără note",
no_notes_text: "Folosește notele pentru a înregistra informații suplimentare", no_notes_text:
"Folosește notele pentru a înregistra informații suplimentare",
no_types: "Fără tipuri", no_types: "Fără tipuri",
no_types_text: "Creează-ți propriile tipuri de date personalizate", no_types_text: "Creează-ți propriile tipuri de date personalizate",
no_issues: "Nu au fost detectate probleme.", 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.", strict_mode_is_on_no_issues:
"Modul strict este dezactivat, așa că nu vor fi afișate probleme.",
name: "Nume", name: "Nume",
type: "Tip", type: "Tip",
null: "Null", null: "Null",
@ -114,7 +118,8 @@ const ro = {
autoincrement: "Increment automat", autoincrement: "Increment automat",
default_value: "Implicit", default_value: "Implicit",
check: "Verifică expresia", check: "Verifică expresia",
this_will_appear_as_is: "*Aceasta va apărea așa cum este în scriptul generat.", this_will_appear_as_is:
"*Aceasta va apărea așa cum este în scriptul generat.",
comment: "Comentariu", comment: "Comentariu",
add_field: "Adaugă câmp", add_field: "Adaugă câmp",
values: "Valori", values: "Valori",
@ -136,7 +141,8 @@ const ro = {
one_to_many: "Unul la mulți", one_to_many: "Unul la mulți",
many_to_one: "Mulți la unul", many_to_one: "Mulți la unul",
content: "Conținut", 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.", 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", table_deleted: "Tabel șters",
area_deleted: "Zonă ștearsă", area_deleted: "Zonă ștearsă",
note_deleted: "Notă ștearsă", note_deleted: "Notă ștearsă",
@ -153,22 +159,29 @@ const ro = {
create: "Creează", create: "Creează",
confirm: "Confirmați", confirm: "Confirmați",
last_modified: "Ultima modificare", last_modified: "Ultima modificare",
drag_and_drop_files: "Trageți și plasați fișierul aici sau faceți clic pentru a încărca.", drag_and_drop_files:
support_json_and_ddb: "Fișiere JSON și DDB sunt acceptate", "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.", 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ă", overwrite_existing_diagram: "Suprascrie diagrama existentă",
only_mysql_supported: "*Deocamdată, este acceptat doar încărcarea scripturilor MySQL.", only_mysql_supported:
"*Deocamdată, este acceptat doar încărcarea scripturilor MySQL.",
blank: "Gol", blank: "Gol",
filename: "Nume fișier", filename: "Nume fișier",
table_w_no_name: "A fost declarat un tabel fără nume", table_w_no_name: "A fost declarat un tabel fără nume",
duplicate_table_by_name: "Tabel duplicat cu numele '{{tableName}}'", duplicate_table_by_name: "Tabel duplicat cu numele '{{tableName}}'",
empty_field_name: "Nume câmp gol `nume` în tabelul '{{tableName}}'", empty_field_name: "Nume câmp gol `nume` în tabelul '{{tableName}}'",
empty_field_type: "Tip câmp gol `tip` î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", no_values_for_field:
default_doesnt_match_type: "Valoarea implicită pentru câmpul '{{fieldName}}' din tabelul '{{tableName}}' nu se potrivește cu tipul său", "'{{fieldName}}' câmp din tabelul '{{tableName}}' este de tip `{{type}}` dar nu au fost specificate valori",
not_null_is_null: "'{{fieldName}}' câmp din tabelul '{{tableName}}' NU ESTE NULL dar are valoarea implicită NULL", default_doesnt_match_type:
duplicate_fields: "Câmpuri duplicate în tabelul '{{tableName}}' cu numele '{{fieldName}}'", "Valoarea implicită pentru câmpul '{{fieldName}}' din tabelul '{{tableName}}' nu se potrivește cu tipul său",
duplicate_index: "Index duplicat cu numele '{{indexName}}' în tabelul '{{tableName}}'", 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ă", empty_index: "Index în tabelul '{{tableName}}' nu indexează nici o coloană",
no_primary_key: "Tabelul '{{tableName}}' nu are cheie primară", no_primary_key: "Tabelul '{{tableName}}' nu are cheie primară",
type_with_no_name: "A fost declarat un tip fără nume", type_with_no_name: "A fost declarat un tip fără nume",
@ -176,8 +189,10 @@ const ro = {
type_w_no_fields: "A fost declarat un tip gol '{{typeName}}' fără câmpuri", 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_name: "Nume câmp gol `nume` în tipul '{{typeName}}'",
empty_type_field_type: "Tip câmp gol `tip` î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", no_values_for_type_field:
duplicate_type_fields: "Câmpuri duplicate în tipul '{{typeName}}' cu numele '{{fieldName}}'", "'{{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}}'", duplicate_reference: "Referință duplicată cu numele '{{refName}}'",
circular_dependency: "Dependență circulară implicând tabelul '{{refName}}'", circular_dependency: "Dependență circulară implicând tabelul '{{refName}}'",
timeline: "Cronologie", timeline: "Cronologie",
@ -209,7 +224,8 @@ const ro = {
not_found: "Nu a fost găsit", not_found: "Nu a fost găsit",
pick_db: "Alege o bază de date", pick_db: "Alege o bază de date",
generic: "General", generic: "General",
generic_description: "Diagramele generale pot fi exportate în orice tip de SQL, dar susțin câteva tipuri de date.", generic_description:
"Diagramele generale pot fi exportate în orice tip de SQL, dar susțin câteva tipuri de date.",
enums: "Enumerații", enums: "Enumerații",
add_enum: "Adaugă enumerație", add_enum: "Adaugă enumerație",
edit_enum: "{{extra}} Editează enumerația {{enumName}}", edit_enum: "{{extra}} Editează enumerația {{enumName}}",
@ -220,7 +236,8 @@ const ro = {
no_enums: "Fără enumerații", no_enums: "Fără enumerații",
no_enums_text: "Definiți enumerații aici", no_enums_text: "Definiți enumerații aici",
declare_array: "Declarați un array", declare_array: "Declarați un array",
empty_index_name: "A fost declarat un index fără nume în tabelul '{{tableName}}'", empty_index_name:
"A fost declarat un index fără nume în tabelul '{{tableName}}'",
didnt_find_diagram: "Oops! Nu am găsit diagrama.", didnt_find_diagram: "Oops! Nu am găsit diagrama.",
unsigned: "Fără semn", unsigned: "Fără semn",
share: "Împărtășește", share: "Împărtășește",
@ -228,9 +245,10 @@ const ro = {
copy_link: "Copiază linkul", copy_link: "Copiază linkul",
readme: "README", readme: "README",
failed_to_load: "Eșec la încărcare. Asigurați-vă că linkul este corect.", 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.", share_info:
"*Împărtășirea acestui link nu va crea o sesiune de colaborare în timp real.",
show_relationship_labels: "Arată etichetele relațiilor", show_relationship_labels: "Arată etichetele relațiilor",
docs: "Documentație" docs: "Documentație",
}, },
}; };

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

@ -7,6 +7,7 @@ const telugu = {
const te = { const te = {
translation: { translation: {
report_bug: "బగ్ నివేదించండి", report_bug: "బగ్ నివేదించండి",
import_from: "దిగుమతి",
import: "దిగుమతి", import: "దిగుమతి",
file: "ఫైల్", file: "ఫైల్",
new: "క్రొత్త", new: "క్రొత్త",
@ -90,7 +91,8 @@ const telugu = {
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: "ఏ గమనికలు లేవు",
@ -109,7 +111,8 @@ const telugu = {
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: "విలువలు",
@ -149,11 +152,12 @@ const telugu = {
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: only_mysql_supported:
"*ప్రస్తుతం MySQL స్క్రిప్ట్స్ మాత్రమే లోడ్ చేయడానికి మద్దతు ఉంది.", "*ప్రస్తుతం MySQL స్క్రిప్ట్స్ మాత్రమే లోడ్ చేయడానికి మద్దతు ఉంది.",
blank: "ఖాళీ", blank: "ఖాళీ",

View File

@ -7,6 +7,7 @@ const tamil = {
const tm = { const tm = {
translation: { translation: {
report_bug: "பிழையைப் புகாரளிக்கவும்", report_bug: "பிழையைப் புகாரளிக்கவும்",
import_from: "இறக்குமதி",
import: "இறக்குமதி", import: "இறக்குமதி",
file: "கோப்பு", file: "கோப்பு",
new: "புதியது", new: "புதியது",
@ -18,7 +19,8 @@ const tamil = {
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 tamil = {
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 tamil = {
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: "குறுக்குவழிகள்",
@ -94,15 +98,18 @@ const tamil = {
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: "வகைகள் இல்லை",
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: "சுழி",
@ -112,7 +119,8 @@ const tamil = {
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: "மதிப்புகள்",
@ -134,7 +142,8 @@ const tamil = {
one_to_many: "ஒன்றுக்கு பல", one_to_many: "ஒன்றுக்கு பல",
many_to_one: "பலக்கு ஒன்று", many_to_one: "பலக்கு ஒன்று",
content: "உள்ளடக்கம்", content: "உள்ளடக்கம்",
types_info: "இந்த அம்சம் PostgreSQL போன்ற பொருள் தொடர்புடைய DBMS-களுக்காகவே. MySQL அல்லது MariaDB க்கு பயன்படுத்தப்படும் போது JSON வகை உருவாக்கப்படும் அதற்கான json சரிபார்ப்பு ஆய்வுடன். SQLite க்கு பயன்படுத்தப்படும் போது இது BLOB ஆக மாற்றப்படும். MSSQL க்கு பயன்படுத்தப்படும் போது முதற்கொண்டு கணியலுக்கு ஒரே வகை மாற்றம் உருவாக்கப்படும்.", types_info:
"இந்த அம்சம் PostgreSQL போன்ற பொருள் தொடர்புடைய DBMS-களுக்காகவே. MySQL அல்லது MariaDB க்கு பயன்படுத்தப்படும் போது JSON வகை உருவாக்கப்படும் அதற்கான json சரிபார்ப்பு ஆய்வுடன். SQLite க்கு பயன்படுத்தப்படும் போது இது BLOB ஆக மாற்றப்படும். MSSQL க்கு பயன்படுத்தப்படும் போது முதற்கொண்டு கணியலுக்கு ஒரே வகை மாற்றம் உருவாக்கப்படும்.",
table_deleted: "அட்டவணை அழிக்கப்பட்டது", table_deleted: "அட்டவணை அழிக்கப்பட்டது",
area_deleted: "பகுதி அழிக்கப்பட்டது", area_deleted: "பகுதி அழிக்கப்பட்டது",
note_deleted: "குறிப்பு அழிக்கப்பட்டது", note_deleted: "குறிப்பு அழிக்கப்பட்டது",
@ -151,31 +160,46 @@ const tamil = {
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: "'{{tableName}}' அட்டவணையில் `name` புலம் வெறுமையாக உள்ளது", empty_field_name:
empty_field_type: "'{{tableName}}' அட்டவணையில் `type` புலம் வெறுமையாக உள்ளது", "'{{tableName}}' அட்டவணையில் `name` புலம் வெறுமையாக உள்ளது",
no_values_for_field: "'{{tableName}}' அட்டவணையில் '{{fieldName}}' புலம் `{{type}}` வகையில் உள்ளது ஆனால் மதிப்புகள் குறிப்பிடப்படவில்லை", empty_field_type:
default_doesnt_match_type: "'{{tableName}}' அட்டவணையில் '{{fieldName}}' புலத்திற்கு இயல்புநிலை மதிப்பு அதன் வகையுடன் பொருந்தவில்லை", "'{{tableName}}' அட்டவணையில் `type` புலம் வெறுமையாக உள்ளது",
not_null_is_null: "'{{tableName}}' அட்டவணையில் '{{fieldName}}' புலம் சுழியல்ல ஆனால் இயல்புநிலை சுழி உள்ளது", no_values_for_field:
duplicate_fields: "'{{tableName}}' அட்டவணையில் '{{fieldName}}' என்ற பெயரில் நகல் புலங்கள்", "'{{tableName}}' அட்டவணையில் '{{fieldName}}' புலம் `{{type}}` வகையில் உள்ளது ஆனால் மதிப்புகள் குறிப்பிடப்படவில்லை",
duplicate_index: "'{{tableName}}' அட்டவணையில் '{{indexName}}' என்ற பெயரில் நகல் சுட்டி", default_doesnt_match_type:
empty_index: "'{{tableName}}' அட்டவணையில் சுட்டி எந்த புலங்களையும் குறிப்பிடவில்லை", "'{{tableName}}' அட்டவணையில் '{{fieldName}}' புலத்திற்கு இயல்புநிலை மதிப்பு அதன் வகையுடன் பொருந்தவில்லை",
not_null_is_null:
"'{{tableName}}' அட்டவணையில் '{{fieldName}}' புலம் சுழியல்ல ஆனால் இயல்புநிலை சுழி உள்ளது",
duplicate_fields:
"'{{tableName}}' அட்டவணையில் '{{fieldName}}' என்ற பெயரில் நகல் புலங்கள்",
duplicate_index:
"'{{tableName}}' அட்டவணையில் '{{indexName}}' என்ற பெயரில் நகல் சுட்டி",
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:
empty_type_field_name: "'{{typeName}}' வகையில் `name` புலம் வெறுமையாக உள்ளது", "'{{typeName}}' என்ற பெயரில் வெறுமையான வகை அறிவிக்கப்பட்டது",
empty_type_field_type: "'{{typeName}}' வகையில் `type` புலம் வெறுமையாக உள்ளது", empty_type_field_name:
no_values_for_type_field: "'{{typeName}}' வகையில் '{{fieldName}}' புலம் `{{type}}` வகையில் உள்ளது ஆனால் மதிப்புகள் குறிப்பிடப்படவில்லை", "'{{typeName}}' வகையில் `name` புலம் வெறுமையாக உள்ளது",
duplicate_type_fields: "'{{typeName}}' வகையில் '{{fieldName}}' என்ற பெயரில் நகல் புலங்கள்", empty_type_field_type:
"'{{typeName}}' வகையில் `type` புலம் வெறுமையாக உள்ளது",
no_values_for_type_field:
"'{{typeName}}' வகையில் '{{fieldName}}' புலம் `{{type}}` வகையில் உள்ளது ஆனால் மதிப்புகள் குறிப்பிடப்படவில்லை",
duplicate_type_fields:
"'{{typeName}}' வகையில் '{{fieldName}}' என்ற பெயரில் நகல் புலங்கள்",
duplicate_reference: "'{{refName}}' என்ற பெயரில் நகல் குறிப்பு", duplicate_reference: "'{{refName}}' என்ற பெயரில் நகல் குறிப்பு",
circular_dependency: "'{{refName}}' அட்டவணை குறித்த சுழற்சி சார்பு", circular_dependency: "'{{refName}}' அட்டவணை குறித்த சுழற்சி சார்பு",
timeline: "நேரவரிசை", timeline: "நேரவரிசை",
@ -207,7 +231,8 @@ const tamil = {
not_found: "கண்டுபிடிக்கவில்லை", not_found: "கண்டுபிடிக்கவில்லை",
pick_db: "தரவுத்தொகுப்பைத் தேர்ந்தெடு", pick_db: "தரவுத்தொகுப்பைத் தேர்ந்தெடு",
generic: "பொது", generic: "பொது",
generic_description: "பொது வரைவை எந்த SQL வகைக்கும் ஏற்றexport செய்யலாம், ஆனால் சில தரவுவகைகளை மட்டுமே ஆதரிக்கும்.", generic_description:
"பொது வரைவை எந்த SQL வகைக்கும் ஏற்றexport செய்யலாம், ஆனால் சில தரவுவகைகளை மட்டுமே ஆதரிக்கும்.",
enums: "எனம்கள்", enums: "எனம்கள்",
add_enum: "எனத்தைச் சேர்க்க", add_enum: "எனத்தைச் சேர்க்க",
edit_enum: "{{extra}} எனத்தைத் திருத்து {{enumName}}", edit_enum: "{{extra}} எனத்தைத் திருத்து {{enumName}}",
@ -218,11 +243,10 @@ const tamil = {
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: "ஓப்பஸ்! வரைவை கண்டுபிடிக்க முடியவில்லை.",
}, },
}; };
export { tm, tamil }; 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ı.",
}, },
}; };

View File

@ -7,6 +7,7 @@ const uyghur = {
const ug = { const ug = {
translation: { translation: {
report_bug: "بۇغ رېپورت قىلىڭ", report_bug: "بۇغ رېپورت قىلىڭ",
import_from: "ئېكىر",
import: "ئېكىر", import: "ئېكىر",
file: "ھۆججەت", file: "ھۆججەت",
new: "يېڭى", new: "يېڭى",
@ -18,7 +19,8 @@ const ug = {
template_saved: "شablon ساقلانغان!", template_saved: "شablon ساقلانغان!",
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 ug = {
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 ug = {
table_width: "جەدۋەل كەڭلىكى", table_width: "جەدۋەل كەڭلىكى",
language: "تىل", language: "تىل",
flush_storage: "ساقلاشنى تازىلاش", flush_storage: "ساقلاشنى تازىلاش",
are_you_sure_flush_storage: "سىز ھەقىقەتەن ساقلاشنى تازىلاشنى خالايمسىز؟ بۇ سىزنىڭ بارلىق رەسملەرنى ۋە خاس شablونلارنى قايتا قۇرغىلى بولمايدۇ.", are_you_sure_flush_storage:
"سىز ھەقىقەتەن ساقلاشنى تازىلاشنى خالايمسىز؟ بۇ سىزنىڭ بارلىق رەسملەرنى ۋە خاس شablونلارنى قايتا قۇرغىلى بولمايدۇ.",
storage_flushed: "ساقلاش تازىلاندى", storage_flushed: "ساقلاش تازىلاندى",
help: "ياردەم", help: "ياردەم",
shortcuts: "قىسقا يوللار", shortcuts: "قىسقا يوللار",
@ -95,7 +99,8 @@ const ug = {
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 +132,8 @@ const ug = {
one_to_many: "بىر-كۆپكە", one_to_many: "بىر-كۆپكە",
many_to_one: "كۆپ-بىرگە", many_to_one: "كۆپ-بىرگە",
content: "مەزمۇن", content: "مەزمۇن",
types_info: "بۇ ئىقتىدار object-relational DBMS لىرىگە، PostgreSQL غا خاس.\nئەگەر MySQL ياكى MariaDB غا ئىشلىتىلسە، مۇناسىۋەتلىك json توغرا تەكشۈرۈش بىلەن بىر JSON تۈرى ياسىلىدۇ.\nئەگەر SQLite غا ئىشلىتىلسە، بۇ BLOB غا ئۆزگەرتىلىدۇ.\nئەگەر MSSQL غا ئىشلىتىلسە، بىرىنچى بۆلەك ئۈچۈن بىر تۈر لەۋھەسى ياسىلىدۇ.", types_info:
"بۇ ئىقتىدار object-relational 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,9 +150,10 @@ const ug = {
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: "بوش",
@ -155,11 +162,16 @@ const ug = {
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: "جەدۋەل '{{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: "نامسىز تۈر ئېلان قىلىندى",
@ -167,8 +179,10 @@ const ug = {
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: "تۈر '{{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: "ۋاقىت جەدۋىلى",

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: "Жодний",

View File

@ -7,6 +7,7 @@ const urdu = {
const ur = { const ur = {
translation: { translation: {
report_bug: "بگ رپورٹ کریں", report_bug: "بگ رپورٹ کریں",
import_from: "درآمد کریں",
import: "درآمد کریں", import: "درآمد کریں",
file: "فائل", file: "فائل",
new: "نیا", new: "نیا",
@ -18,7 +19,8 @@ const urdu = {
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: "ماخذ سے درآمد کریں", import_from_source: "ماخذ سے درآمد کریں",
@ -30,7 +32,8 @@ const urdu = {
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 urdu = {
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: "شارٹ کٹس",
@ -95,7 +99,8 @@ const urdu = {
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: "نل",
@ -145,4 +150,3 @@ const urdu = {
}; };
export { ur, urdu }; 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

@ -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;
} }