feat: initial release

Multi-database management tool built with Tauri + Vue 3.
Supports MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, ClickHouse, SQL Server.
This commit is contained in:
t8y2 committed 2026-04-29 18:09:23 +08:00
commit b2e6dfad7e
156 files changed
+21979

No files matched your search

+28
View File
@@ -0,0 +1,28 @@
import { createI18n } from "vue-i18n";
import en from "./locales/en";
import zhCN from "./locales/zh-CN";
export type Locale = "en" | "zh-CN";
const savedLocale = (localStorage.getItem("dbx-locale") as Locale) || "zh-CN";
const i18n = createI18n({
legacy: false,
locale: savedLocale,
fallbackLocale: "en",
messages: {
en,
"zh-CN": zhCN,
},
});
export function setLocale(locale: Locale) {
i18n.global.locale.value = locale;
localStorage.setItem("dbx-locale", locale);
}
export function currentLocale(): Locale {
return i18n.global.locale.value as Locale;
}
export default i18n;
+121
View File
@@ -0,0 +1,121 @@
export default {
app: {
name: "DBX",
},
toolbar: {
newConnection: "New Connection",
newQuery: "New Query",
execute: "Execute",
executeShortcut: "Execute (Cmd+Enter)",
},
sidebar: {
connections: "CONNECTIONS",
noConnections: "No connections yet",
import: "Import Connections",
export: "Export Connections",
showMore: "Show {count} more...",
},
connection: {
title: "New Connection",
name: "Name",
namePlaceholder: "My Database",
type: "Type",
host: "Host",
filePath: "File Path",
user: "User",
password: "Password",
database: "Database",
databasePlaceholder: "Optional",
test: "Test",
testing: "Testing...",
saveAndConnect: "Save & Connect",
save: "Save",
editTitle: "Edit Connection",
testSuccess: "Connection successful",
sshTunnel: "SSH Tunnel",
sshEnable: "Connect via SSH tunnel",
sshHost: "SSH Host",
sshUser: "SSH User",
sshKeyPath: "Key Path",
},
editor: {
pressToExecute: "Press Cmd+Enter to execute",
},
grid: {
rows: "{count} rows",
rowsAffected: "{count} rows affected",
querySuccess: "Query executed successfully",
noRows: "No data",
noRowsDescription: "This result set has no records.",
noSearchResults: "No matches",
noSearchResultsDescription: "Try a different keyword.",
copyCell: "Copy Cell",
copyRow: "Copy Row (JSON)",
copyAll: "Copy All (TSV)",
exportCsv: "Export CSV",
exportJson: "Export JSON",
exportMarkdown: "Export Markdown",
search: "Search...",
page: "Page {page}",
rowsPerPage: "Rows per page",
save: "Save",
discard: "Discard",
addRow: "Add Row",
deleteRow: "Delete Row",
rowsPerPageShort: " rows",
},
welcome: {
title: "Welcome to DBX",
subtitle: "Create a connection to get started",
},
common: {
language: "Language",
loading: "Loading...",
},
ai: {
placeholder: "Describe your query in natural language...",
settings: "AI Settings",
provider: "Provider",
},
contextMenu: {
openConnection: "Open Connection",
closeConnection: "Close Connection",
deleteConnection: "Delete Connection",
editConnection: "Edit Connection",
newQuery: "New Query",
viewData: "View Data",
refreshChildren: "Refresh",
copyName: "Copy Name",
},
tree: {
columns: "Columns",
indexes: "Indexes",
foreignKeys: "Foreign Keys",
triggers: "Triggers",
},
redis: {
selectKey: "Select a key to view its value",
noKeys: "No keys found",
pattern: "pattern (e.g. user:*)",
keys: "{count} keys",
items: "{count} items",
fields: "{count} fields",
members: "{count} members",
noExpiry: "no expiry",
},
history: {
title: "History",
search: "Search history...",
empty: "No history yet",
failed: "Failed",
restore: "Restore to editor",
copy: "Copy SQL",
delete: "Delete",
},
dangerDialog: {
title: "Dangerous Operation",
message: "This SQL statement may modify or delete data irreversibly. Are you sure you want to execute it?",
cancel: "Cancel",
confirm: "Execute",
},
};
+121
View File
@@ -0,0 +1,121 @@
export default {
app: {
name: "DBX",
},
toolbar: {
newConnection: "新建连接",
newQuery: "新建查询",
execute: "执行",
executeShortcut: "执行 (Cmd+Enter)",
},
sidebar: {
connections: "连接",
noConnections: "暂无连接",
import: "导入连接",
export: "导出连接",
showMore: "加载更多 ({count})...",
},
connection: {
title: "新建连接",
name: "名称",
namePlaceholder: "我的数据库",
type: "类型",
host: "主机",
filePath: "文件路径",
user: "用户名",
password: "密码",
database: "数据库",
databasePlaceholder: "可选",
test: "测试",
testing: "测试中...",
saveAndConnect: "保存并连接",
save: "保存",
editTitle: "编辑连接",
testSuccess: "连接成功",
sshTunnel: "SSH 隧道",
sshEnable: "通过 SSH 隧道连接",
sshHost: "SSH 主机",
sshUser: "SSH 用户",
sshKeyPath: "密钥路径",
},
editor: {
pressToExecute: "按 Cmd+Enter 执行查询",
},
grid: {
rows: "{count} 行",
rowsAffected: "影响 {count} 行",
querySuccess: "查询执行成功",
noRows: "暂无数据",
noRowsDescription: "当前结果集没有任何记录。",
noSearchResults: "没有匹配结果",
noSearchResultsDescription: "换个关键词试试。",
copyCell: "复制单元格",
copyRow: "复制行 (JSON)",
copyAll: "复制全部 (TSV)",
exportCsv: "导出 CSV",
exportJson: "导出 JSON",
exportMarkdown: "导出 Markdown",
search: "搜索...",
page: "第 {page} 页",
rowsPerPage: "每页行数",
save: "保存",
discard: "放弃",
addRow: "新增行",
deleteRow: "删除行",
rowsPerPageShort: " 行/页",
},
welcome: {
title: "欢迎使用 DBX",
subtitle: "创建一个连接以开始使用",
},
common: {
language: "语言",
loading: "加载中...",
},
ai: {
placeholder: "用自然语言描述你的查询...",
settings: "AI 设置",
provider: "提供商",
},
contextMenu: {
openConnection: "打开连接",
closeConnection: "关闭连接",
deleteConnection: "删除连接",
editConnection: "编辑连接",
newQuery: "新建查询",
viewData: "查看数据",
refreshChildren: "刷新",
copyName: "复制名称",
},
tree: {
columns: "字段",
indexes: "索引",
foreignKeys: "外键",
triggers: "触发器",
},
redis: {
selectKey: "选择一个 key 查看值",
noKeys: "未找到 key",
pattern: "匹配模式 (如 user:*)",
keys: "{count} 个 key",
items: "{count} 个元素",
fields: "{count} 个字段",
members: "{count} 个成员",
noExpiry: "永不过期",
},
history: {
title: "查询历史",
search: "搜索历史...",
empty: "暂无历史记录",
failed: "失败",
restore: "恢复到编辑器",
copy: "复制 SQL",
delete: "删除",
},
dangerDialog: {
title: "危险操作",
message: "此 SQL 语句可能不可逆地修改或删除数据,确认要执行吗?",
cancel: "取消",
confirm: "执行",
},
};