translation-clipboard, exportMenu, macros, datagrid commands

This commit is contained in:
Stela Augustinova
2025-10-31 15:10:17 +01:00
parent 9884ace309
commit 82a4b2c769
16 changed files with 406 additions and 212 deletions

View File

@@ -40,7 +40,16 @@
$: dataLabeled = _.compact( $: dataLabeled = _.compact(
(list || []).map(data => { (list || []).map(data => {
const matchResult = matcher ? matcher(data) : true; const dataCopy = { ...data };
if (dataCopy?.group && _.isFunction(dataCopy.group)) dataCopy.group = dataCopy.group();
if (dataCopy?.title && _.isFunction(dataCopy.title)) dataCopy.title = dataCopy.title();
if (dataCopy?.description && _.isFunction(dataCopy.description)) dataCopy.description = dataCopy.description();
(dataCopy?.args || []).map(x => {
if(x?.label && _.isFunction(x.label)) x.label = x.label();
})
const matchResult = matcher ? matcher(dataCopy) : true;
let isMatched = true; let isMatched = true;
let isMainMatched = true; let isMainMatched = true;
@@ -62,8 +71,8 @@
isChildMatched = !module.disableShowChildrenWithParentMatch; isChildMatched = !module.disableShowChildrenWithParentMatch;
} }
const group = groupFunc ? groupFunc(data) : undefined; const group = groupFunc ? groupFunc(dataCopy) : undefined;
return { group, data, isMatched, isChildMatched, isMainMatched }; return { group, data: dataCopy, isMatched, isChildMatched, isMainMatched };
}) })
); );

View File

@@ -1,6 +1,6 @@
<script context="module"> <script context="module">
function getCommandTitle(command) { function getCommandTitle(command) {
let res = command.text; let res = _.isFunction(command.text) ? command.text() : command.text;
if (command.keyText || command.keyTextFromGroup) { if (command.keyText || command.keyTextFromGroup) {
res += ` (${formatKeyText(command.keyText || command.keyTextFromGroup)})`; res += ` (${formatKeyText(command.keyText || command.keyTextFromGroup)})`;
} }
@@ -12,6 +12,7 @@
import { commandsCustomized } from '../stores'; import { commandsCustomized } from '../stores';
import { formatKeyText } from '../utility/common'; import { formatKeyText } from '../utility/common';
import ToolStripButton from './ToolStripButton.svelte'; import ToolStripButton from './ToolStripButton.svelte';
import _ from 'lodash';
export let command; export let command;
export let component = ToolStripButton; export let component = ToolStripButton;
@@ -32,6 +33,6 @@
{iconAfter} {iconAfter}
{...$$restProps} {...$$restProps}
> >
{buttonLabel || cmd.toolbarName || cmd.name} {(_.isFunction(buttonLabel) ? buttonLabel() : buttonLabel) || (_.isFunction(cmd?.toolbarName) ? cmd.toolbarName() : cmd.toolbarName) || (_.isFunction(cmd?.name) ? cmd.name() : cmd.name)}
</svelte:component> </svelte:component>
{/if} {/if}

View File

@@ -23,7 +23,7 @@
import hasPermission from '../utility/hasPermission'; import hasPermission from '../utility/hasPermission';
import ToolStripCommandButton from './ToolStripCommandButton.svelte'; import ToolStripCommandButton from './ToolStripCommandButton.svelte';
import ToolStripDropDownButton from './ToolStripDropDownButton.svelte'; import ToolStripDropDownButton from './ToolStripDropDownButton.svelte';
import _ from 'lodash';
export let quickExportHandlerRef = null; export let quickExportHandlerRef = null;
export let command = 'sqlDataGrid.export'; export let command = 'sqlDataGrid.export';
export let label = 'Export'; export let label = 'Export';
@@ -39,7 +39,7 @@
{#if hasPermission('dbops/export')} {#if hasPermission('dbops/export')}
{#if quickExportHandlerRef} {#if quickExportHandlerRef}
<ToolStripDropDownButton menu={getExportMenu} {label} icon="icon export" /> <ToolStripDropDownButton menu={getExportMenu} label={_.isFunction(label) ? label() : label} icon="icon export" />
{:else} {:else}
<ToolStripCommandButton {command} /> <ToolStripCommandButton {command} />
{/if} {/if}

View File

@@ -1,5 +1,6 @@
import { commands } from '../stores'; import { commands } from '../stores';
import { invalidateCommandDefinitions } from './invalidateCommands'; import { invalidateCommandDefinitions } from './invalidateCommands';
import _ from 'lodash';
export interface SubCommand { export interface SubCommand {
text: string; text: string;
@@ -8,7 +9,7 @@ export interface SubCommand {
export interface GlobalCommand { export interface GlobalCommand {
id: string; id: string;
category: string; // null for group commands category: string | (() => string); // null for group commands
isGroupCommand?: boolean; isGroupCommand?: boolean;
name: string | (() => string); name: string | (() => string);
text?: string | (() => string); text?: string | (() => string);
@@ -23,7 +24,7 @@ export interface GlobalCommand {
toolbar?: boolean; toolbar?: boolean;
enabled?: boolean; enabled?: boolean;
showDisabled?: boolean; showDisabled?: boolean;
toolbarName?: string; toolbarName?: string | (() => string);
menuName?: string; menuName?: string;
toolbarOrder?: number; toolbarOrder?: number;
disableHandleKeyText?: string; disableHandleKeyText?: string;
@@ -41,7 +42,13 @@ export default function registerCommand(command: GlobalCommand) {
return { return {
...x, ...x,
[command.id]: { [command.id]: {
text: `${command.category}: ${command.name}`, text:
_.isFunction(command.category) || _.isFunction(command.name)
? () =>
`${_.isFunction(command.category) ? command.category() : command.category}: ${
_.isFunction(command.name) ? command.name() : command.name
}`
: `${command.category}: ${command.name}`,
...command, ...command,
enabled: !testEnabled, enabled: !testEnabled,
}, },

View File

@@ -3,8 +3,8 @@
registerCommand({ registerCommand({
id: 'dataGrid.switchToForm', id: 'dataGrid.switchToForm',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: 'Switch to form', name: __t('command.datagrid.switchToform', { defaultMessage: 'Switch to form' }),
icon: 'icon form', icon: 'icon form',
keyText: 'F4', keyText: 'F4',
testEnabled: () => getCurrentEditor()?.switchViewEnabled('form'), testEnabled: () => getCurrentEditor()?.switchViewEnabled('form'),
@@ -13,8 +13,8 @@
registerCommand({ registerCommand({
id: 'dataGrid.switchToJson', id: 'dataGrid.switchToJson',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: 'Switch to JSON', name: __t('command.datagrid.switchToJSON', { defaultMessage: 'Switch to JSON' }),
icon: 'icon json', icon: 'icon json',
keyText: 'F4', keyText: 'F4',
testEnabled: () => getCurrentEditor()?.switchViewEnabled('json'), testEnabled: () => getCurrentEditor()?.switchViewEnabled('json'),
@@ -23,8 +23,8 @@
registerCommand({ registerCommand({
id: 'dataGrid.switchToTable', id: 'dataGrid.switchToTable',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: 'Switch to table', name: __t('command.datagrid.witchToTable', { defaultMessage: 'Switch to table'}),
icon: 'icon table', icon: 'icon table',
keyText: 'F4', keyText: 'F4',
testEnabled: () => getCurrentEditor()?.switchViewEnabled('table'), testEnabled: () => getCurrentEditor()?.switchViewEnabled('table'),
@@ -33,8 +33,8 @@
registerCommand({ registerCommand({
id: 'dataGrid.toggleLeftPanel', id: 'dataGrid.toggleLeftPanel',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: 'Toggle left panel', name: __t('command.datagrid.toggleLeftPanel', { defaultMessage: 'Toggle left panel' }),
keyText: 'CtrlOrCommand+L', keyText: 'CtrlOrCommand+L',
testEnabled: () => getCurrentEditor()?.canShowLeftPanel(), testEnabled: () => getCurrentEditor()?.canShowLeftPanel(),
onClick: () => getCurrentEditor().toggleLeftPanel(), onClick: () => getCurrentEditor().toggleLeftPanel(),
@@ -68,7 +68,7 @@
import registerCommand from '../commands/registerCommand'; import registerCommand from '../commands/registerCommand';
import { registerMenu } from '../utility/contextMenu'; import { registerMenu } from '../utility/contextMenu';
import { getLocalStorage, setLocalStorage } from '../utility/storageCache'; import { getLocalStorage, setLocalStorage } from '../utility/storageCache';
import { _t } from '../translations'; import { __t, _t } from '../translations';
export let config; export let config;
export let setConfig; export let setConfig;

View File

@@ -3,8 +3,8 @@
registerCommand({ registerCommand({
id: 'dataGrid.refresh', id: 'dataGrid.refresh',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: _t('common.refresh', { defaultMessage: 'Refresh' }), name: __t('common.refresh', { defaultMessage: 'Refresh' }),
keyText: 'F5 | CtrlOrCommand+R', keyText: 'F5 | CtrlOrCommand+R',
toolbar: true, toolbar: true,
isRelatedToTab: true, isRelatedToTab: true,
@@ -15,8 +15,8 @@
registerCommand({ registerCommand({
id: 'dataGrid.deepRefresh', id: 'dataGrid.deepRefresh',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: 'Refresh with structure', name: __t('common.datagrid.deepRefresh', { defaultMessage: 'Refresh with structure' }),
keyText: 'Ctrl+F5', keyText: 'Ctrl+F5',
toolbar: true, toolbar: true,
isRelatedToTab: true, isRelatedToTab: true,
@@ -27,8 +27,8 @@
registerCommand({ registerCommand({
id: 'dataGrid.revertRowChanges', id: 'dataGrid.revertRowChanges',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: _t('command.datagrid.revertRowChanges', { defaultMessage: 'Revert row changes' }), name: __t('command.datagrid.revertRowChanges', { defaultMessage: 'Revert row changes' }),
keyText: 'CtrlOrCommand+U', keyText: 'CtrlOrCommand+U',
testEnabled: () => getCurrentDataGrid()?.getGrider()?.containsChanges, testEnabled: () => getCurrentDataGrid()?.getGrider()?.containsChanges,
onClick: () => getCurrentDataGrid().revertRowChanges(), onClick: () => getCurrentDataGrid().revertRowChanges(),
@@ -36,9 +36,9 @@
registerCommand({ registerCommand({
id: 'dataGrid.revertAllChanges', id: 'dataGrid.revertAllChanges',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: _t('command.datagrid.revertAllChanges', { defaultMessage: 'Revert all changes' }), name: __t('command.datagrid.revertAllChanges', { defaultMessage: 'Revert all changes' }),
toolbarName: _t('command.datagrid.revertAllChanges.toolbar', { defaultMessage: 'Revert all' }), toolbarName: __t('command.datagrid.revertAllChanges.toolbar', { defaultMessage: 'Revert all' }),
icon: 'icon undo', icon: 'icon undo',
testEnabled: () => getCurrentDataGrid()?.getGrider()?.containsChanges, testEnabled: () => getCurrentDataGrid()?.getGrider()?.containsChanges,
onClick: () => getCurrentDataGrid().revertAllChanges(), onClick: () => getCurrentDataGrid().revertAllChanges(),
@@ -46,9 +46,9 @@
registerCommand({ registerCommand({
id: 'dataGrid.deleteSelectedRows', id: 'dataGrid.deleteSelectedRows',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: _t('command.datagrid.deleteSelectedRows', { defaultMessage: 'Delete selected rows' }), name: __t('command.datagrid.deleteSelectedRows', { defaultMessage: 'Delete selected rows' }),
toolbarName: _t('command.datagrid.deleteSelectedRows.toolbar', { defaultMessage: 'Delete row(s)' }), toolbarName: __t('command.datagrid.deleteSelectedRows.toolbar', { defaultMessage: 'Delete row(s)' }),
keyText: isMac() ? 'Command+Backspace' : 'CtrlOrCommand+Delete', keyText: isMac() ? 'Command+Backspace' : 'CtrlOrCommand+Delete',
icon: 'icon minus', icon: 'icon minus',
testEnabled: () => getCurrentDataGrid()?.getGrider()?.editable, testEnabled: () => getCurrentDataGrid()?.getGrider()?.editable,
@@ -57,9 +57,9 @@
registerCommand({ registerCommand({
id: 'dataGrid.insertNewRow', id: 'dataGrid.insertNewRow',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: _t('command.datagrid.insertNewRow', { defaultMessage: 'Insert new row' }), name: __t('command.datagrid.insertNewRow', { defaultMessage: 'Insert new row' }),
toolbarName: _t('command.datagrid.insertNewRow.toolbar', { defaultMessage: 'New row' }), toolbarName: __t('command.datagrid.insertNewRow.toolbar', { defaultMessage: 'New row' }),
icon: 'icon add', icon: 'icon add',
keyText: isMac() ? 'Command+I' : 'Insert', keyText: isMac() ? 'Command+I' : 'Insert',
testEnabled: () => getCurrentDataGrid()?.getGrider()?.editable, testEnabled: () => getCurrentDataGrid()?.getGrider()?.editable,
@@ -68,9 +68,9 @@
registerCommand({ registerCommand({
id: 'dataGrid.addNewColumn', id: 'dataGrid.addNewColumn',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: _t('command.datagrid.addNewColumn', { defaultMessage: 'Add new column' }), name: __t('command.datagrid.addNewColumn', { defaultMessage: 'Add new column' }),
toolbarName: _t('command.datagrid.addNewColumn.toolbar', { defaultMessage: 'New column' }), toolbarName: __t('command.datagrid.addNewColumn.toolbar', { defaultMessage: 'New column' }),
icon: 'icon add-column', icon: 'icon add-column',
testEnabled: () => getCurrentDataGrid()?.addNewColumnEnabled(), testEnabled: () => getCurrentDataGrid()?.addNewColumnEnabled(),
onClick: () => getCurrentDataGrid().addNewColumn(), onClick: () => getCurrentDataGrid().addNewColumn(),
@@ -78,9 +78,9 @@
registerCommand({ registerCommand({
id: 'dataGrid.cloneRows', id: 'dataGrid.cloneRows',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: _t('command.datagrid.cloneRows', { defaultMessage: 'Clone rows' }), name: __t('command.datagrid.cloneRows', { defaultMessage: 'Clone rows' }),
toolbarName: _t('command.datagrid.cloneRows.toolbar', { defaultMessage: 'Clone row(s)' }), toolbarName: __t('command.datagrid.cloneRows.toolbar', { defaultMessage: 'Clone row(s)' }),
keyText: 'CtrlOrCommand+Shift+C', keyText: 'CtrlOrCommand+Shift+C',
testEnabled: () => getCurrentDataGrid()?.getGrider()?.editable, testEnabled: () => getCurrentDataGrid()?.getGrider()?.editable,
onClick: () => getCurrentDataGrid().cloneRows(), onClick: () => getCurrentDataGrid().cloneRows(),
@@ -88,8 +88,8 @@
registerCommand({ registerCommand({
id: 'dataGrid.setNull', id: 'dataGrid.setNull',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: _t('command.datagrid.setNull', { defaultMessage: 'Set NULL' }), name: __t('command.datagrid.setNull', { defaultMessage: 'Set NULL' }),
keyText: 'CtrlOrCommand+0', keyText: 'CtrlOrCommand+0',
testEnabled: () => testEnabled: () =>
getCurrentDataGrid()?.getGrider()?.editable && !getCurrentDataGrid()?.getEditorTypes()?.supportFieldRemoval, getCurrentDataGrid()?.getGrider()?.editable && !getCurrentDataGrid()?.getEditorTypes()?.supportFieldRemoval,
@@ -98,8 +98,8 @@
registerCommand({ registerCommand({
id: 'dataGrid.removeField', id: 'dataGrid.removeField',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: _t('command.datagrid.removeField', { defaultMessage: 'Remove field' }), name: __t('command.datagrid.removeField', { defaultMessage: 'Remove field' }),
keyText: 'CtrlOrCommand+0', keyText: 'CtrlOrCommand+0',
testEnabled: () => testEnabled: () =>
getCurrentDataGrid()?.getGrider()?.editable && getCurrentDataGrid()?.getEditorTypes()?.supportFieldRemoval, getCurrentDataGrid()?.getGrider()?.editable && getCurrentDataGrid()?.getEditorTypes()?.supportFieldRemoval,
@@ -108,8 +108,8 @@
registerCommand({ registerCommand({
id: 'dataGrid.undo', id: 'dataGrid.undo',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: _t('command.datagrid.undo', { defaultMessage: 'Undo' }), name: __t('command.datagrid.undo', { defaultMessage: 'Undo' }),
group: 'undo', group: 'undo',
icon: 'icon undo', icon: 'icon undo',
toolbar: true, toolbar: true,
@@ -120,8 +120,8 @@
registerCommand({ registerCommand({
id: 'dataGrid.redo', id: 'dataGrid.redo',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: _t('command.datagrid.redo', { defaultMessage: 'Redo' }), name: __t('command.datagrid.redo', { defaultMessage: 'Redo' }),
group: 'redo', group: 'redo',
icon: 'icon redo', icon: 'icon redo',
toolbar: true, toolbar: true,
@@ -132,16 +132,16 @@
registerCommand({ registerCommand({
id: 'dataGrid.reconnect', id: 'dataGrid.reconnect',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: _t('command.datagrid.reconnect', { defaultMessage: 'Reconnect' }), name: __t('command.datagrid.reconnect', { defaultMessage: 'Reconnect' }),
testEnabled: () => getCurrentDataGrid() != null, testEnabled: () => getCurrentDataGrid() != null,
onClick: () => getCurrentDataGrid().reconnect(), onClick: () => getCurrentDataGrid().reconnect(),
}); });
registerCommand({ registerCommand({
id: 'dataGrid.copyToClipboard', id: 'dataGrid.copyToClipboard',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: _t('command.datagrid.copyToClipboard', { defaultMessage: 'Copy to clipboard' }), name: __t('command.datagrid.copyToClipboard', { defaultMessage: 'Copy to clipboard' }),
keyText: 'CtrlOrCommand+C', keyText: 'CtrlOrCommand+C',
disableHandleKeyText: 'CtrlOrCommand+C', disableHandleKeyText: 'CtrlOrCommand+C',
testEnabled: () => getCurrentDataGrid() != null, testEnabled: () => getCurrentDataGrid() != null,
@@ -150,7 +150,7 @@
registerCommand({ registerCommand({
id: 'dataGrid.editJsonDocument', id: 'dataGrid.editJsonDocument',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
keyText: 'CtrlOrCommand+J', keyText: 'CtrlOrCommand+J',
name: __t('command.datagrid.editJsonDocument', { defaultMessage: 'Edit row as JSON document' }), name: __t('command.datagrid.editJsonDocument', { defaultMessage: 'Edit row as JSON document' }),
testEnabled: () => getCurrentDataGrid()?.editJsonEnabled(), testEnabled: () => getCurrentDataGrid()?.editJsonEnabled(),
@@ -159,48 +159,48 @@
registerCommand({ registerCommand({
id: 'dataGrid.openSelectionInMap', id: 'dataGrid.openSelectionInMap',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: _t('command.datagrid.openSelectionInMap', { defaultMessage: 'Open selection in map' }), name: __t('command.datagrid.openSelectionInMap', { defaultMessage: 'Open selection in map' }),
testEnabled: () => getCurrentDataGrid() != null, testEnabled: () => getCurrentDataGrid() != null,
onClick: () => getCurrentDataGrid().openSelectionInMap(), onClick: () => getCurrentDataGrid().openSelectionInMap(),
}); });
registerCommand({ registerCommand({
id: 'dataGrid.viewJsonDocument', id: 'dataGrid.viewJsonDocument',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: _t('command.datagrid.viewJsonDocument', { defaultMessage: 'View row as JSON document' }), name: __t('command.datagrid.viewJsonDocument', { defaultMessage: 'View row as JSON document' }),
testEnabled: () => getCurrentDataGrid()?.viewJsonDocumentEnabled(), testEnabled: () => getCurrentDataGrid()?.viewJsonDocumentEnabled(),
onClick: () => getCurrentDataGrid().viewJsonDocument(), onClick: () => getCurrentDataGrid().viewJsonDocument(),
}); });
registerCommand({ registerCommand({
id: 'dataGrid.viewJsonValue', id: 'dataGrid.viewJsonValue',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: _t('command.datagrid.viewJsonValue', { defaultMessage: 'View cell as JSON document' }), name: __t('command.datagrid.viewJsonValue', { defaultMessage: 'View cell as JSON document' }),
testEnabled: () => getCurrentDataGrid()?.viewJsonValueEnabled(), testEnabled: () => getCurrentDataGrid()?.viewJsonValueEnabled(),
onClick: () => getCurrentDataGrid().viewJsonValue(), onClick: () => getCurrentDataGrid().viewJsonValue(),
}); });
registerCommand({ registerCommand({
id: 'dataGrid.openJsonArrayInSheet', id: 'dataGrid.openJsonArrayInSheet',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: _t('command.datagrid.openJsonArrayInSheet', { defaultMessage: 'Open array as table' }), name: __t('command.datagrid.openJsonArrayInSheet', { defaultMessage: 'Open array as table' }),
testEnabled: () => getCurrentDataGrid()?.openJsonArrayInSheetEnabled(), testEnabled: () => getCurrentDataGrid()?.openJsonArrayInSheetEnabled(),
onClick: () => getCurrentDataGrid().openJsonArrayInSheet(), onClick: () => getCurrentDataGrid().openJsonArrayInSheet(),
}); });
registerCommand({ registerCommand({
id: 'dataGrid.saveCellToFile', id: 'dataGrid.saveCellToFile',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: _t('command.datagrid.saveCellToFile', { defaultMessage: 'Save cell to file' }), name: __t('command.datagrid.saveCellToFile', { defaultMessage: 'Save cell to file' }),
testEnabled: () => getCurrentDataGrid()?.saveCellToFileEnabled(), testEnabled: () => getCurrentDataGrid()?.saveCellToFileEnabled(),
onClick: () => getCurrentDataGrid().saveCellToFile(), onClick: () => getCurrentDataGrid().saveCellToFile(),
}); });
registerCommand({ registerCommand({
id: 'dataGrid.loadCellFromFile', id: 'dataGrid.loadCellFromFile',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: _t('command.datagrid.loadCellFromFile', { defaultMessage: 'Load cell from file' }), name: __t('command.datagrid.loadCellFromFile', { defaultMessage: 'Load cell from file' }),
testEnabled: () => getCurrentDataGrid()?.loadCellFromFileEnabled(), testEnabled: () => getCurrentDataGrid()?.loadCellFromFileEnabled(),
onClick: () => getCurrentDataGrid().loadCellFromFile(), onClick: () => getCurrentDataGrid().loadCellFromFile(),
}); });
@@ -216,62 +216,62 @@
// //
registerCommand({ registerCommand({
id: 'dataGrid.filterSelected', id: 'dataGrid.filterSelected',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: 'Filter selected value', name: __t('command.datagrid.filterSelected', { defaultMessage : 'Filter selected value'}),
keyText: 'CtrlOrCommand+Shift+F', keyText: 'CtrlOrCommand+Shift+F',
testEnabled: () => getCurrentDataGrid()?.getDisplay().filterable, testEnabled: () => getCurrentDataGrid()?.getDisplay().filterable,
onClick: () => getCurrentDataGrid().filterSelectedValue(), onClick: () => getCurrentDataGrid().filterSelectedValue(),
}); });
registerCommand({ registerCommand({
id: 'dataGrid.findColumn', id: 'dataGrid.findColumn',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: 'Find column', name: __t('command.datagrid.findColumn', { defaultMessage: 'Find column'}),
keyText: 'CtrlOrCommand+F', keyText: 'CtrlOrCommand+F',
testEnabled: () => getCurrentDataGrid() != null, testEnabled: () => getCurrentDataGrid() != null,
getSubCommands: () => getCurrentDataGrid().buildFindMenu(), getSubCommands: () => getCurrentDataGrid().buildFindMenu(),
}); });
registerCommand({ registerCommand({
id: 'dataGrid.hideColumn', id: 'dataGrid.hideColumn',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: 'Hide column', name: __t('command.datgrid.hideColumn', { defaultMessage: 'Hide column' }),
keyText: isMac() ? 'Alt+Command+F' : 'CtrlOrCommand+H', keyText: isMac() ? 'Alt+Command+F' : 'CtrlOrCommand+H',
testEnabled: () => getCurrentDataGrid()?.canShowLeftPanel(), testEnabled: () => getCurrentDataGrid()?.canShowLeftPanel(),
onClick: () => getCurrentDataGrid().hideColumn(), onClick: () => getCurrentDataGrid().hideColumn(),
}); });
registerCommand({ registerCommand({
id: 'dataGrid.clearFilter', id: 'dataGrid.clearFilter',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: 'Clear filter', name: __t('command.datagrid.clearFilter', { defaultMessage : 'Clear filter'}),
keyText: 'CtrlOrCommand+Shift+E', keyText: 'CtrlOrCommand+Shift+E',
testEnabled: () => getCurrentDataGrid()?.clearFilterEnabled(), testEnabled: () => getCurrentDataGrid()?.clearFilterEnabled(),
onClick: () => getCurrentDataGrid().clearFilter(), onClick: () => getCurrentDataGrid().clearFilter(),
}); });
registerCommand({ registerCommand({
id: 'dataGrid.generateSqlFromData', id: 'dataGrid.generateSqlFromData',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: 'Generate SQL', name: __t('command.datagrid.generateSql', { defaultMessage: 'Generate SQL'}),
keyText: 'CtrlOrCommand+G', keyText: 'CtrlOrCommand+G',
testEnabled: () => getCurrentDataGrid()?.generateSqlFromDataEnabled(), testEnabled: () => getCurrentDataGrid()?.generateSqlFromDataEnabled(),
onClick: () => getCurrentDataGrid().generateSqlFromData(), onClick: () => getCurrentDataGrid().generateSqlFromData(),
}); });
registerCommand({ registerCommand({
id: 'dataGrid.openFreeTable', id: 'dataGrid.openFreeTable',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: 'Edit selection as table', name: __t('command.datagrid.editSelection', { defaultMessage: 'Edit selection as table'}),
testEnabled: () => getCurrentDataGrid() != null, testEnabled: () => getCurrentDataGrid() != null,
onClick: () => getCurrentDataGrid().openFreeTable(), onClick: () => getCurrentDataGrid().openFreeTable(),
}); });
registerCommand({ registerCommand({
id: 'dataGrid.newJson', id: 'dataGrid.newJson',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: 'Add JSON document', name: __t('command.datagrid.addJsonDocument', { defaultMessage: 'Add JSON document'}),
testEnabled: () => getCurrentDataGrid()?.addJsonDocumentEnabled(), testEnabled: () => getCurrentDataGrid()?.addJsonDocumentEnabled(),
onClick: () => getCurrentDataGrid().addJsonDocument(), onClick: () => getCurrentDataGrid().addJsonDocument(),
}); });
registerCommand({ registerCommand({
id: 'dataGrid.editCellValue', id: 'dataGrid.editCellValue',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: 'Edit cell value', name: __t('command.datagrid.editCell', { defaultMessage: 'Edit cell value' }),
testEnabled: () => getCurrentDataGrid()?.editCellValueEnabled(), testEnabled: () => getCurrentDataGrid()?.editCellValueEnabled(),
onClick: () => getCurrentDataGrid().editCellValue(), onClick: () => getCurrentDataGrid().editCellValue(),
}); });
@@ -279,8 +279,8 @@
if (isProApp()) { if (isProApp()) {
registerCommand({ registerCommand({
id: 'dataGrid.sendToDataDeploy', id: 'dataGrid.sendToDataDeploy',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: 'Send to data deployer', name: __t('command.datagrid.sendToDataDeployer', { defaultMessage: 'Send to data deployer' }),
testEnabled: () => getCurrentDataGrid()?.sendToDataDeployEnabled(), testEnabled: () => getCurrentDataGrid()?.sendToDataDeployEnabled(),
onClick: () => getCurrentDataGrid().sendToDataDeploy(), onClick: () => getCurrentDataGrid().sendToDataDeploy(),
}); });
@@ -1788,15 +1788,15 @@
{ command: 'dataGrid.refresh' }, { command: 'dataGrid.refresh' },
{ placeTag: 'copy' }, { placeTag: 'copy' },
{ {
text: 'Copy advanced', text: _t('datagrid.copyAdvanced', { defaultMessage: 'Copy advanced'}),
submenu: [ submenu: [
_.keys(copyRowsFormatDefs).map(format => ({ _.keys(copyRowsFormatDefs).map(format => ({
text: copyRowsFormatDefs[format].label, text: _.isFunction(copyRowsFormatDefs[format].label) ? copyRowsFormatDefs[format].label() : copyRowsFormatDefs[format].label,
onClick: () => copyToClipboardCore(format), onClick: () => copyToClipboardCore(format),
})), })),
{ divider: true }, { divider: true },
_.keys(copyRowsFormatDefs).map(format => ({ _.keys(copyRowsFormatDefs).map(format => ({
text: `Set format: ${copyRowsFormatDefs[format].name}`, text: _t('datagrid.setFormat', { defaultMessage: 'Set format: ' }) + (_.isFunction(copyRowsFormatDefs[format].name) ? copyRowsFormatDefs[format].name() : copyRowsFormatDefs[format].name),
onClick: () => ($copyRowsFormat = format), onClick: () => ($copyRowsFormat = format),
})), })),
@@ -1866,7 +1866,7 @@
return [ return [
menu, menu,
{ {
text: copyRowsFormatDefs[$copyRowsFormat].label, text: _.isFunction(copyRowsFormatDefs[$copyRowsFormat].label) ? copyRowsFormatDefs[$copyRowsFormat].label() : copyRowsFormatDefs[$copyRowsFormat].label,
onClick: () => copyToClipboardCore($copyRowsFormat), onClick: () => copyToClipboardCore($copyRowsFormat),
keyText: 'CtrlOrCommand+C', keyText: 'CtrlOrCommand+C',
tag: 'copy', tag: 'copy',

View File

@@ -1,18 +1,19 @@
<script context="module" lang="ts"> <script context="module" lang="ts">
import { __t } from '../translations'
const getCurrentEditor = () => getActiveComponent('SqlDataGridCore'); const getCurrentEditor = () => getActiveComponent('SqlDataGridCore');
registerCommand({ registerCommand({
id: 'sqlDataGrid.openQuery', id: 'sqlDataGrid.openQuery',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: 'Open query', name: __t('command.openQuery', { defaultMessage : 'Open query' }),
testEnabled: () => getCurrentEditor() != null && hasPermission('dbops/query'), testEnabled: () => getCurrentEditor() != null && hasPermission('dbops/query'),
onClick: () => getCurrentEditor().openQuery(), onClick: () => getCurrentEditor().openQuery(),
}); });
registerCommand({ registerCommand({
id: 'sqlDataGrid.export', id: 'sqlDataGrid.export',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: 'Export', name: __t('common.export', { defaultMessage : 'Export' }),
icon: 'icon export', icon: 'icon export',
keyText: 'CtrlOrCommand+E', keyText: 'CtrlOrCommand+E',
testEnabled: () => getCurrentEditor() != null && hasPermission('dbops/export'), testEnabled: () => getCurrentEditor() != null && hasPermission('dbops/export'),

View File

@@ -368,7 +368,7 @@
{/if} {/if}
{/key} {/key}
{:else} {:else}
{row[col.fieldName] || ''} { _.isFunction(row[col.fieldName]) ? row[col.fieldName]() : row[col.fieldName] || ''}
{/if} {/if}
</td> </td>
{/each} {/each}

View File

@@ -1,39 +1,39 @@
import { _t } from '../translations'; import { __t } from '../translations';
const macros = [ const macros = [
{ {
title: _t('datagrid.macros.removeDiacritics', { defaultMessage: 'Remove diacritics' }), title: __t('datagrid.macros.removeDiacritics', { defaultMessage: 'Remove diacritics' }),
name: 'removeDiacritics', name: 'removeDiacritics',
group: 'Text', group: __t('datagrid.macros.textGroup', { defaultMessage: 'Text' }),
description: _t('datagrid.macros.removeDiacriticsDescription', { defaultMessage: 'Removes diacritics from selected cells' }), description: __t('datagrid.macros.removeDiacriticsDescription', { defaultMessage: 'Removes diacritics from selected cells' }),
type: 'transformValue', type: 'transformValue',
code: `return modules.lodash.deburr(value)`, code: `return modules.lodash.deburr(value)`,
}, },
{ {
title: _t('datagrid.macros.searchReplaceText', { defaultMessage: 'Search & replace text' }), title: __t('datagrid.macros.searchReplaceText', { defaultMessage: 'Search & replace text' }),
name: 'stringReplace', name: 'stringReplace',
group: 'Text', group: __t('datagrid.macros.textGroup', { defaultMessage: 'Text' }),
description: _t('datagrid.macros.searchReplaceTextDescription', { defaultMessage: 'Search & replace text or regular expression' }), description: __t('datagrid.macros.searchReplaceTextDescription', { defaultMessage: 'Search & replace text or regular expression' }),
type: 'transformValue', type: 'transformValue',
args: [ args: [
{ {
type: 'text', type: 'text',
label: _t('datagrid.macros.searchReplaceTextFind', { defaultMessage: 'Find' }), label: __t('datagrid.macros.searchReplaceTextFind', { defaultMessage: 'Find' }),
name: 'find', name: 'find',
}, },
{ {
type: 'text', type: 'text',
label: _t('datagrid.macros.searchReplaceTextReplaceWith', { defaultMessage: 'Replace with' }), label: __t('datagrid.macros.searchReplaceTextReplaceWith', { defaultMessage: 'Replace with' }),
name: 'replace', name: 'replace',
}, },
{ {
type: 'checkbox', type: 'checkbox',
label: _t('datagrid.macros.searchReplaceTextCaseSensitive', { defaultMessage: 'Case sensitive' }), label: __t('datagrid.macros.searchReplaceTextCaseSensitive', { defaultMessage: 'Case sensitive' }),
name: 'caseSensitive', name: 'caseSensitive',
}, },
{ {
type: 'checkbox', type: 'checkbox',
label: _t('datagrid.macros.searchReplaceTextIsRegex', { defaultMessage: 'Regular expression' }), label: __t('datagrid.macros.searchReplaceTextIsRegex', { defaultMessage: 'Regular expression' }),
name: 'isRegex', name: 'isRegex',
}, },
], ],
@@ -44,16 +44,16 @@ return value ? value.toString().replace(new RegExp(rtext, rflags), args.replace
`, `,
}, },
{ {
title: _t('datagrid.macros.changeTextCase', { defaultMessage: 'Change text case' }), title: __t('datagrid.macros.changeTextCase', { defaultMessage: 'Change text case' }),
name: 'changeTextCase', name: 'changeTextCase',
group: 'Text', group: __t('datagrid.macros.textGroup', { defaultMessage: 'Text' }),
description: _t('datagrid.macros.changeTextCaseDescription', { defaultMessage: 'Uppercase, lowercase and other case functions' }), description: __t('datagrid.macros.changeTextCaseDescription', { defaultMessage: 'Uppercase, lowercase and other case functions' }),
type: 'transformValue', type: 'transformValue',
args: [ args: [
{ {
type: 'select', type: 'select',
options: ['toUpper', 'toLower', 'lowerCase', 'upperCase', 'kebabCase', 'snakeCase', 'camelCase', 'startCase'], options: ['toUpper', 'toLower', 'lowerCase', 'upperCase', 'kebabCase', 'snakeCase', 'camelCase', 'startCase'],
label: _t('datagrid.macros.changeTextCaseType', { defaultMessage: 'Type' }), label: __t('datagrid.macros.changeTextCaseType', { defaultMessage: 'Type' }),
name: 'type', name: 'type',
default: 'toUpper', default: 'toUpper',
}, },
@@ -61,81 +61,81 @@ return value ? value.toString().replace(new RegExp(rtext, rflags), args.replace
code: `return modules.lodash[args.type](value)`, code: `return modules.lodash[args.type](value)`,
}, },
{ {
title: _t('datagrid.macros.padLeft', { defaultMessage: 'Pad left' }), title: __t('datagrid.macros.padLeft', { defaultMessage: 'Pad left' }),
name: 'padLeft', name: 'padLeft',
group: 'Text', group: __t('datagrid.macros.textGroup', { defaultMessage: 'Text' }),
args: [ args: [
{ {
type: 'text', type: 'text',
label: _t('datagrid.macros.padCharacter', { defaultMessage: 'Character' }), label: __t('datagrid.macros.padCharacter', { defaultMessage: 'Character' }),
name: 'character', name: 'character',
default: '0', default: '0',
}, },
{ {
type: 'text', type: 'text',
label: _t('datagrid.macros.padLength', { defaultMessage: 'Length' }), label: __t('datagrid.macros.padLength', { defaultMessage: 'Length' }),
name: 'length', name: 'length',
default: '3', default: '3',
}, },
], ],
description: description:
_t('datagrid.macros.padLeftDescription', { defaultMessage: 'Returns string of a specified length in which the beginning of the current string is padded with spaces or other character' }), __t('datagrid.macros.padLeftDescription', { defaultMessage: 'Returns string of a specified length in which the beginning of the current string is padded with spaces or other character' }),
type: 'transformValue', type: 'transformValue',
code: `return modules.lodash.padStart(value, +args.length, args.character)`, code: `return modules.lodash.padStart(value, +args.length, args.character)`,
}, },
{ {
title: _t('datagrid.macros.padRight', { defaultMessage: 'Pad right' }), title: __t('datagrid.macros.padRight', { defaultMessage: 'Pad right' }),
name: 'padRight', name: 'padRight',
group: 'Text', group: __t('datagrid.macros.textGroup', { defaultMessage: 'Text' }),
args: [ args: [
{ {
type: 'text', type: 'text',
label: _t('datagrid.macros.padCharacter', { defaultMessage: 'Character' }), label: __t('datagrid.macros.padCharacter', { defaultMessage: 'Character' }),
name: 'character', name: 'character',
default: '0', default: '0',
}, },
{ {
type: 'text', type: 'text',
label: _t('datagrid.macros.padLength', { defaultMessage: 'Length' }), label: __t('datagrid.macros.padLength', { defaultMessage: 'Length' }),
name: 'length', name: 'length',
default: '3', default: '3',
}, },
], ],
description: description:
_t('datagrid.macros.padRightDescription', { defaultMessage: 'Returns string of a specified length in which the end of the current string is padded with spaces or other character' }), __t('datagrid.macros.padRightDescription', { defaultMessage: 'Returns string of a specified length in which the end of the current string is padded with spaces or other character' }),
type: 'transformValue', type: 'transformValue',
code: `return modules.lodash.padEnd(value, +args.length, args.character)`, code: `return modules.lodash.padEnd(value, +args.length, args.character)`,
}, },
{ {
title: _t('datagrid.macros.trim', { defaultMessage: 'Trim' }), title: __t('datagrid.macros.trim', { defaultMessage: 'Trim' }),
name: 'trim', name: 'trim',
group: 'Text', group: __t('datagrid.macros.textGroup', { defaultMessage: 'Text' }),
description: _t('datagrid.macros.trimDescription', { defaultMessage: 'Removes leading and trailing whitespace' }), description: __t('datagrid.macros.trimDescription', { defaultMessage: 'Removes leading and trailing whitespace' }),
type: 'transformValue', type: 'transformValue',
code: `return modules.lodash.trim(value)`, code: `return modules.lodash.trim(value)`,
}, },
{ {
title: _t('datagrid.macros.rowIndex', { defaultMessage: 'Row index' }), title: __t('datagrid.macros.rowIndex', { defaultMessage: 'Row index' }),
name: 'rowIndex', name: 'rowIndex',
group: 'Tools', group: __t('datagrid.macros.toolsGroup', { defaultMessage: 'Tools' }),
description: _t('datagrid.macros.rowIndexDescription', { defaultMessage: 'Index of row from 1 (autoincrement)' }), description: __t('datagrid.macros.rowIndexDescription', { defaultMessage: 'Index of row from 1 (autoincrement)' }),
type: 'transformValue', type: 'transformValue',
code: `return rowIndex + 1`, code: `return rowIndex + 1`,
}, },
{ {
title: _t('datagrid.macros.generateUUID', { defaultMessage: 'Generate UUID' }), title: __t('datagrid.macros.generateUUID', { defaultMessage: 'Generate UUID' }),
name: 'uuidv1', name: 'uuidv1',
group: 'Tools', group: __t('datagrid.macros.toolsGroup', { defaultMessage: 'Tools' }),
description: _t('datagrid.macros.generateUUIDDescription', { defaultMessage: 'Generate unique identifier' }), description: __t('datagrid.macros.generateUUIDDescription', { defaultMessage: 'Generate unique identifier' }),
type: 'transformValue', type: 'transformValue',
args: [ args: [
{ {
type: 'select', type: 'select',
options: [ options: [
{ value: 'uuidv1', name: _t('datagrid.macros.uuidv1', { defaultMessage: 'V1 - from timestamp' }) }, { value: 'uuidv1', name: 'V1 - from timestamp' },
{ value: 'uuidv4', name: _t('datagrid.macros.uuidv4', { defaultMessage: 'V4 - random generated' }) }, { value: 'uuidv4', name: 'V4 - random generated'},
], ],
label: _t('datagrid.macros.version', { defaultMessage: 'Version' }), label: __t('datagrid.macros.version', { defaultMessage: 'Version' }),
name: 'version', name: 'version',
default: 'uuidv1', default: 'uuidv1',
}, },
@@ -143,26 +143,26 @@ return value ? value.toString().replace(new RegExp(rtext, rflags), args.replace
code: `return modules[args.version]()`, code: `return modules[args.version]()`,
}, },
{ {
title: _t('datagrid.macros.toInt', { defaultMessage: 'Convert to integer' }), title: __t('datagrid.macros.toInt', { defaultMessage: 'Convert to integer' }),
name: 'toInt', name: 'toInt',
group: 'Tools', group: __t('datagrid.macros.toolsGroup', { defaultMessage: 'Tools' }),
description: _t('datagrid.macros.toIntDescription', { defaultMessage: 'Converts to integral number' }), description: __t('datagrid.macros.toIntDescription', { defaultMessage: 'Converts to integral number' }),
type: 'transformValue', type: 'transformValue',
code: `return modules.lodash.isNaN(parseInt(value)) ? null : parseInt(value)`, code: `return modules.lodash.isNaN(parseInt(value)) ? null : parseInt(value)`,
}, },
{ {
title: _t('datagrid.macros.toNumber', { defaultMessage: 'Convert to number' }), title: __t('datagrid.macros.toNumber', { defaultMessage: 'Convert to number' }),
name: 'toNumber', name: 'toNumber',
group: 'Tools', group: __t('datagrid.macros.toolsGroup', { defaultMessage: 'Tools' }),
description: _t('datagrid.macros.toNumberDescription', { defaultMessage: 'Converts to number' }), description: __t('datagrid.macros.toNumberDescription', { defaultMessage: 'Converts to number' }),
type: 'transformValue', type: 'transformValue',
code: `return modules.lodash.isNaN(parseFloat(value)) ? null : parseFloat(value)`, code: `return modules.lodash.isNaN(parseFloat(value)) ? null : parseFloat(value)`,
}, },
{ {
title: _t('datagrid.macros.toBoolean', { defaultMessage: 'Convert to boolean' }), title: __t('datagrid.macros.toBoolean', { defaultMessage: 'Convert to boolean' }),
name: 'toBoolean', name: 'toBoolean',
group: 'Tools', group: __t('datagrid.macros.toolsGroup', { defaultMessage: 'Tools' }),
description: _t('datagrid.macros.toBooleanDescription', { defaultMessage: 'Converts to boolean' }), description: __t('datagrid.macros.toBooleanDescription', { defaultMessage: 'Converts to boolean' }),
type: 'transformValue', type: 'transformValue',
code: ` code: `
if (modules.lodash.isString(value)) { if (modules.lodash.isString(value)) {
@@ -178,10 +178,10 @@ return !!value;
`, `,
}, },
{ {
title: _t('datagrid.macros.toString', { defaultMessage: 'Convert to string' }), title: __t('datagrid.macros.toString', { defaultMessage: 'Convert to string' }),
name: 'toString', name: 'toString',
group: 'Tools', group: __t('datagrid.macros.toolsGroup', { defaultMessage: 'Tools' }),
description: _t('datagrid.macros.toStringDescription', { defaultMessage: 'Converts to string' }), description: __t('datagrid.macros.toStringDescription', { defaultMessage: 'Converts to string' }),
type: 'transformValue', type: 'transformValue',
code: ` code: `
if (value==null) return null; if (value==null) return null;
@@ -190,15 +190,15 @@ return !!value;
`, `,
}, },
{ {
title: _t('datagrid.macros.currentDate', { defaultMessage: 'Current date' }), title: __t('datagrid.macros.currentDate', { defaultMessage: 'Current date' }),
name: 'currentDate', name: 'currentDate',
group: 'Tools', group: __t('datagrid.macros.toolsGroup', { defaultMessage: 'Tools' }),
description: _t('datagrid.macros.currentDateDescription', { defaultMessage: 'Gets current date' }), description: __t('datagrid.macros.currentDateDescription', { defaultMessage: 'Gets current date' }),
type: 'transformValue', type: 'transformValue',
args: [ args: [
{ {
type: 'text', type: 'text',
label: _t('datagrid.macros.format', { defaultMessage: 'Format' }), label: __t('datagrid.macros.format', { defaultMessage: 'Format' }),
name: 'format', name: 'format',
default: 'YYYY-MM-DD HH:mm:ss', default: 'YYYY-MM-DD HH:mm:ss',
}, },
@@ -206,10 +206,10 @@ return !!value;
code: `return modules.moment().format(args.format)`, code: `return modules.moment().format(args.format)`,
}, },
{ {
title: _t('datagrid.macros.duplicateColumns', { defaultMessage: 'Duplicate columns' }), title: __t('datagrid.macros.duplicateColumns', { defaultMessage: 'Duplicate columns' }),
name: 'duplicateColumns', name: 'duplicateColumns',
group: 'Tools', group: __t('datagrid.macros.toolsGroup', { defaultMessage: 'Tools' }),
description: _t('datagrid.macros.duplicateColumnsDescription', { defaultMessage: 'Duplicate selected columns' }), description: __t('datagrid.macros.duplicateColumnsDescription', { defaultMessage: 'Duplicate selected columns' }),
type: 'transformRow', type: 'transformRow',
code: ` code: `
return { return {
@@ -220,22 +220,22 @@ return !!value;
args: [ args: [
{ {
type: 'text', type: 'text',
label: _t('datagrid.macros.prefix', { defaultMessage: 'Prefix' }), label: __t('datagrid.macros.prefix', { defaultMessage: 'Prefix' }),
name: 'prefix', name: 'prefix',
}, },
{ {
type: 'text', type: 'text',
label: _t('datagrid.macros.postfix', { defaultMessage: 'Postfix' }), label: __t('datagrid.macros.postfix', { defaultMessage: 'Postfix' }),
name: 'postfix', name: 'postfix',
default: '_copy', default: '_copy',
}, },
], ],
}, },
{ {
title: _t('datagrid.macros.splitColumns', { defaultMessage: 'Split columns' }), title: __t('datagrid.macros.splitColumns', { defaultMessage: 'Split columns' }),
name: 'splitColumns', name: 'splitColumns',
group: 'Tools', group: __t('datagrid.macros.toolsGroup', { defaultMessage: 'Tools' }),
description: _t('datagrid.macros.splitColumnsDescription', { defaultMessage: 'Split selected columns' }), description: __t('datagrid.macros.splitColumnsDescription', { defaultMessage: 'Split selected columns' }),
type: 'transformRow', type: 'transformRow',
code: ` code: `
const res = {...row}; const res = {...row};
@@ -254,22 +254,22 @@ return !!value;
args: [ args: [
{ {
type: 'text', type: 'text',
label: _t('datagrid.macros.delimiter', { defaultMessage: 'Delimiter' }), label: __t('datagrid.macros.delimiter', { defaultMessage: 'Delimiter' }),
name: 'delimiter', name: 'delimiter',
default: ',', default: ',',
}, },
], ],
}, },
{ {
title: _t('datagrid.macros.calculation', { defaultMessage: 'Calculation' }), title: __t('datagrid.macros.calculation', { defaultMessage: 'Calculation' }),
name: 'calculation', name: 'calculation',
group: 'Tools', group: __t('datagrid.macros.toolsGroup', { defaultMessage: 'Tools' }),
description: _t('datagrid.macros.calculationDescription', { defaultMessage: 'Custom expression. Use row.column_name for accessing column values, value for original value' }), description: __t('datagrid.macros.calculationDescription', { defaultMessage: 'Custom expression. Use row.column_name for accessing column values, value for original value' }),
type: 'transformValue', type: 'transformValue',
args: [ args: [
{ {
type: 'text', type: 'text',
label: _t('datagrid.macros.expression', { defaultMessage: 'Expression' }), label: __t('datagrid.macros.expression', { defaultMessage: 'Expression' }),
name: 'expression', name: 'expression',
default: 'value', default: 'value',
}, },
@@ -277,10 +277,10 @@ return !!value;
code: `return eval(args.expression);`, code: `return eval(args.expression);`,
}, },
{ {
title: _t('datagrid.macros.extractDateFields', { defaultMessage: 'Extract date fields' }), title: __t('datagrid.macros.extractDateFields', { defaultMessage: 'Extract date fields' }),
name: 'extractDateFields', name: 'extractDateFields',
group: 'Tools', group: __t('datagrid.macros.toolsGroup', { defaultMessage: 'Tools' }),
description: _t('datagrid.macros.extractDateFieldsDescription', { defaultMessage: 'Extract year, month, day and other date/time fields from selection and adds it as new columns' }), description: __t('datagrid.macros.extractDateFieldsDescription', { defaultMessage: 'Extract year, month, day and other date/time fields from selection and adds it as new columns' }),
type: 'transformRow', type: 'transformRow',
code: ` code: `
let mom = null; let mom = null;
@@ -313,37 +313,37 @@ return !!value;
args: [ args: [
{ {
type: 'text', type: 'text',
label: _t('datagrid.macros.yearName', { defaultMessage: 'Year name' }), label: __t('datagrid.macros.yearName', { defaultMessage: 'Year name' }),
name: 'year', name: 'year',
default: 'year', default: 'year',
}, },
{ {
type: 'text', type: 'text',
label: _t('datagrid.macros.monthName', { defaultMessage: 'Month name' }) , label: __t('datagrid.macros.monthName', { defaultMessage: 'Month name' }) ,
name: 'month', name: 'month',
default: 'month', default: 'month',
}, },
{ {
type: 'text', type: 'text',
label: _t('datagrid.macros.dayName', { defaultMessage: 'Day name' }), label: __t('datagrid.macros.dayName', { defaultMessage: 'Day name' }),
name: 'day', name: 'day',
default: 'day', default: 'day',
}, },
{ {
type: 'text', type: 'text',
label: _t('datagrid.macros.hourName', { defaultMessage: 'Hour name' }), label: __t('datagrid.macros.hourName', { defaultMessage: 'Hour name' }),
name: 'hour', name: 'hour',
default: 'hour', default: 'hour',
}, },
{ {
type: 'text', type: 'text',
label: _t('datagrid.macros.minuteName', { defaultMessage: 'Minute name' }), label: __t('datagrid.macros.minuteName', { defaultMessage: 'Minute name' }),
name: 'minute', name: 'minute',
default: 'minute', default: 'minute',
}, },
{ {
type: 'text', type: 'text',
label: _t('datagrid.macros.secondName', { defaultMessage: 'Second name' }), label: __t('datagrid.macros.secondName', { defaultMessage: 'Second name' }),
name: 'second', name: 'second',
default: 'second', default: 'second',
}, },

View File

@@ -1,12 +1,35 @@
<script lang="ts" context="module"> <script lang="ts" context="module">
const getCurrentEditor = () => getActiveComponent('TableDataTab'); const getCurrentEditor = () => getActiveComponent('TableDataTab');
const INTERVALS = [5, 10, 15, 13, 60]; const INTERVALS = [5, 10, 15, 30, 60];
const INTERVAL_COMMANDS = [
{
time: 5,
name: __t('command.datagrid.setAutoRefresh.5', { defaultMessage: 'Refresh every 5 seconds' }),
},
{
time: 10,
name: __t('command.datagrid.setAutoRefresh.10', { defaultMessage: 'Refresh every 10 seconds' }),
},
{
time: 15,
name: __t('command.datagrid.setAutoRefresh.15', { defaultMessage: 'Refresh every 15 seconds' }),
},
{
time: 30,
name: __t('command.datagrid.setAutoRefresh.30', { defaultMessage: 'Refresh every 30 seconds' }),
},
{
time: 60,
name: __t('command.datagrid.setAutoRefresh.60', { defaultMessage: 'Refresh every 60 seconds' }),
},
]
registerCommand({ registerCommand({
id: 'tableData.save', id: 'tableData.save',
group: 'save', group: 'save',
category: 'Table data', category: __t('command.tableData', { defaultMessage: 'Table data' }),
name: 'Save', name: __t('command.tableData.save', { defaultMessage: 'Save' }),
// keyText: 'CtrlOrCommand+S', // keyText: 'CtrlOrCommand+S',
toolbar: true, toolbar: true,
isRelatedToTab: true, isRelatedToTab: true,
@@ -17,28 +40,28 @@
registerCommand({ registerCommand({
id: 'tableData.setAutoRefresh.1', id: 'tableData.setAutoRefresh.1',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: 'Refresh every 1 second', name: __t('command.datagrid.setAutoRefresh.1', { defaultMessage: 'Refresh every 1 second' }),
isRelatedToTab: true, isRelatedToTab: true,
testEnabled: () => !!getCurrentEditor(), testEnabled: () => !!getCurrentEditor(),
onClick: () => getCurrentEditor().setAutoRefresh(1), onClick: () => getCurrentEditor().setAutoRefresh(1),
}); });
for (const seconds of INTERVALS) { for (const { time, name } of INTERVAL_COMMANDS) {
registerCommand({ registerCommand({
id: `tableData.setAutoRefresh.${seconds}`, id: `tableData.setAutoRefresh.${time}`,
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: `Refresh every ${seconds} seconds`, name,
isRelatedToTab: true, isRelatedToTab: true,
testEnabled: () => !!getCurrentEditor(), testEnabled: () => !!getCurrentEditor(),
onClick: () => getCurrentEditor().setAutoRefresh(seconds), onClick: () => getCurrentEditor().setAutoRefresh(time),
}); });
} }
registerCommand({ registerCommand({
id: 'tableData.stopAutoRefresh', id: 'tableData.stopAutoRefresh',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: 'Stop auto refresh', name: __t('command.datagrid.stopAutoRefresh', { defaultMessage: 'Stop auto refresh' }),
isRelatedToTab: true, isRelatedToTab: true,
keyText: 'CtrlOrCommand+Shift+R', keyText: 'CtrlOrCommand+Shift+R',
testEnabled: () => getCurrentEditor()?.isAutoRefresh() === true, testEnabled: () => getCurrentEditor()?.isAutoRefresh() === true,
@@ -47,8 +70,8 @@
registerCommand({ registerCommand({
id: 'tableData.startAutoRefresh', id: 'tableData.startAutoRefresh',
category: 'Data grid', category: __t('command.datagrid', { defaultMessage: 'Data grid' }),
name: 'Start auto refresh', name: __t('command.datagrid.startAutoRefresh', { defaultMessage: 'Start auto refresh' }),
isRelatedToTab: true, isRelatedToTab: true,
keyText: 'CtrlOrCommand+Shift+R', keyText: 'CtrlOrCommand+Shift+R',
testEnabled: () => getCurrentEditor()?.isAutoRefresh() === false, testEnabled: () => getCurrentEditor()?.isAutoRefresh() === false,
@@ -101,6 +124,7 @@
import { markTabSaved, markTabUnsaved } from '../utility/common'; import { markTabSaved, markTabUnsaved } from '../utility/common';
import ToolStripButton from '../buttons/ToolStripButton.svelte'; import ToolStripButton from '../buttons/ToolStripButton.svelte';
import { getNumberIcon } from '../icons/FontIcon.svelte'; import { getNumberIcon } from '../icons/FontIcon.svelte';
import { __t, _t } from '../translations';
export let tabid; export let tabid;
export let conid; export let conid;
@@ -260,7 +284,7 @@
{ command: 'tableData.stopAutoRefresh', hideDisabled: true }, { command: 'tableData.stopAutoRefresh', hideDisabled: true },
{ command: 'tableData.startAutoRefresh', hideDisabled: true }, { command: 'tableData.startAutoRefresh', hideDisabled: true },
'tableData.setAutoRefresh.1', 'tableData.setAutoRefresh.1',
...INTERVALS.map(seconds => ({ command: `tableData.setAutoRefresh.${seconds}`, text: `...${seconds} seconds` })), ...INTERVALS.map(seconds => ({ command: `tableData.setAutoRefresh.${seconds}`, text: `...${seconds}` + ' ' + _t('command.datagrid.autoRefresh.seconds', { defaultMessage: 'seconds' }) })),
]; ];
} }
</script> </script>
@@ -304,7 +328,7 @@
defaultActionId: 'openStructure', defaultActionId: 'openStructure',
}, },
}); });
}}>Structure</ToolStripButton }}>{_t('datagrid.structure', { defaultMessage: 'Structure' })}</ToolStripButton
> >
<ToolStripButton <ToolStripButton
@@ -378,7 +402,7 @@
<ToolStripButton <ToolStripButton
icon={$collapsedLeftColumnStore ? 'icon columns-outline' : 'icon columns'} icon={$collapsedLeftColumnStore ? 'icon columns-outline' : 'icon columns'}
on:click={() => collapsedLeftColumnStore.update(x => !x)}>View columns</ToolStripButton on:click={() => collapsedLeftColumnStore.update(x => !x)}>{_t('tableData.viewColumns', { defaultMessage: 'View columns' })}</ToolStripButton
> >
</svelte:fragment> </svelte:fragment>
</ToolStripContainer> </ToolStripContainer>

View File

@@ -2,6 +2,7 @@ import _ from 'lodash';
import { arrayToHexString, stringifyCellValue } from 'dbgate-tools'; import { arrayToHexString, stringifyCellValue } from 'dbgate-tools';
import yaml from 'js-yaml'; import yaml from 'js-yaml';
import { DataEditorTypesBehaviour } from 'dbgate-types'; import { DataEditorTypesBehaviour } from 'dbgate-types';
import { __t, _t } from '../translations'
export function copyTextToClipboard(text) { export function copyTextToClipboard(text) {
const oldFocus = document.activeElement; const oldFocus = document.activeElement;
@@ -157,53 +158,53 @@ export function copyRowsToClipboard(format, columns, rows, options) {
export const copyRowsFormatDefs = { export const copyRowsFormatDefs = {
textWithHeaders: { textWithHeaders: {
label: 'Copy with headers', label: __t('clipboard.copyWithHeaders', { defaultMessage : 'Copy with headers' }),
name: 'With headers', name: __t('clipboard.withHeaders', { defaultMessage: 'With headers' }),
formatter: clipboardTextFormatter('\t', true), formatter: clipboardTextFormatter('\t', true),
}, },
textWithoutHeaders: { textWithoutHeaders: {
label: 'Copy without headers', label: __t('clipboard.copyWithoutHeaders', { defaultMessage : 'Copy without headers' }),
name: 'Without headers', name: __t('clipboard.withoutHeaders', { defaultMessage: 'Without headers' }),
formatter: clipboardTextFormatter('\t', false), formatter: clipboardTextFormatter('\t', false),
}, },
headers: { headers: {
label: 'Copy only headers', label: __t('clipboard.copyOnlyHeadres', { defaultMessage : 'Copy only headers'}),
name: 'Only Headers', name: __t('clipboard.onlyHeaders', { defaultMessage : 'Only Headers' }),
formatter: clipboardHeadersFormatter('\t'), formatter: clipboardHeadersFormatter('\t'),
}, },
csv: { csv: {
label: 'Copy as CSV', label: __t('clipboard.copyCSV', { defaultMessage : 'Copy as CSV'}),
name: 'CSV', name: 'CSV',
formatter: clipboardTextFormatter(',', true), formatter: clipboardTextFormatter(',', true),
}, },
json: { json: {
label: 'Copy as JSON', label: __t('clipboard.copyJSON', { defaultMessage: 'Copy as JSON'}),
name: 'JSON', name: 'JSON',
formatter: clipboardJsonFormatter(), formatter: clipboardJsonFormatter(),
}, },
jsonLines: { jsonLines: {
label: 'Copy as JSON lines/NDJSON', label: __t('clipboard.copyJSONLines', { defaultMessage : 'Copy as JSON lines/NDJSON' }),
name: 'JSON lines/NDJSON', name: 'JSON lines/NDJSON',
formatter: clipboardJsonLinesFormatter(), formatter: clipboardJsonLinesFormatter(),
}, },
yaml: { yaml: {
label: 'Copy as YAML', label: __t('clipboard.copyYAML', { defaultMessage : 'Copy as YAML'}),
name: 'YAML', name: 'YAML',
formatter: clipboardYamlFormatter(), formatter: clipboardYamlFormatter(),
}, },
inserts: { inserts: {
label: 'Copy as SQL INSERTs', label: __t('clipboard.copySQLInsert', { defaultMessage : 'Copy as SQL INSERTs'}),
name: 'SQL INSERTs', name: __t('clipboard.SQLInsert', { defaultMessage : 'SQL INSERTs' }),
formatter: clipboardInsertsFormatter(), formatter: clipboardInsertsFormatter(),
}, },
updates: { updates: {
label: 'Copy as SQL UPDATEs', label: __t('clipboard.copySQLUpdate', { defaultMessage : 'Copy as SQL UPDATEs'}),
name: 'SQL UPDATEs', name: __t('clipboard.SQLUpdate', { defaultMessage : 'SQL UPDATEs' }),
formatter: clipboardUpdatesFormatter(), formatter: clipboardUpdatesFormatter(),
}, },
mongoInsert: { mongoInsert: {
label: 'Copy as Mongo INSERTs', label: __t('clipboard.copyMongoInsert', { defaultMessage : 'Copy as Mongo INSERTs' }),
name: 'Mongo INSERTs', name: __t('clipboard.mongoInsert', { defaultMessage : 'Mongo INSERTs' }),
formatter: clipboardMongoInsertFormatter(), formatter: clipboardMongoInsertFormatter(),
}, },
}; };

View File

@@ -1,12 +1,13 @@
import type { QuickExportDefinition } from 'dbgate-types'; import type { QuickExportDefinition } from 'dbgate-types';
import { currentArchive, getCurrentArchive, getExtensions } from '../stores'; import { currentArchive, getCurrentArchive, getExtensions } from '../stores';
import hasPermission from './hasPermission'; import hasPermission from './hasPermission';
import { _t } from '../translations'
export function createQuickExportMenuItems(handler: (fmt: QuickExportDefinition) => Function, advancedExportMenuItem) { export function createQuickExportMenuItems(handler: (fmt: QuickExportDefinition) => Function, advancedExportMenuItem) {
const extensions = getExtensions(); const extensions = getExtensions();
return [ return [
{ {
text: 'Export advanced...', text: _t('export.exportAdvanced', { defaultMessage : 'Export advanced...'}),
...advancedExportMenuItem, ...advancedExportMenuItem,
}, },
{ divider: true }, { divider: true },
@@ -16,10 +17,10 @@ export function createQuickExportMenuItems(handler: (fmt: QuickExportDefinition)
})), })),
{ divider: true }, { divider: true },
{ {
text: 'Current archive', text: _t('export.currentArchive', { defaultMessage : 'Current archive'}),
onClick: handler({ onClick: handler({
extension: 'jsonl', extension: 'jsonl',
label: 'Current archive', label: _t('export.currentArchive', { defaultMessage : 'Current archive'}),
noFilenameDependency: true, noFilenameDependency: true,
createWriter: (fileName, dataName) => ({ createWriter: (fileName, dataName) => ({
functionName: 'archiveWriter', functionName: 'archiveWriter',

View File

@@ -233,7 +233,7 @@
{/if} {/if}
<InlineButton <InlineButton
on:click={handleRefreshDatabase} on:click={handleRefreshDatabase}
title="Refresh database connection and object list" title={_t('sqlObjectList.refreshDatabase', { defaultMessage: "Refresh database connection and object list" })}
square square
data-testid="SqlObjectList_refreshButton" data-testid="SqlObjectList_refreshButton"
> >

View File

@@ -3,6 +3,22 @@
"app.preparingPlugins": "Příprava pluginů...", "app.preparingPlugins": "Příprava pluginů...",
"app.starting": "Spouštění DbGate", "app.starting": "Spouštění DbGate",
"authToken": "Auth token", "authToken": "Auth token",
"clipboard.SQLInsert": "SQL INSERT příkazy",
"clipboard.SQLUpdate": "SQL UPDATE příkazy",
"clipboard.copyCSV": "Kopírovat jako CSV",
"clipboard.copyJSON": "Kopírovat jako JSON",
"clipboard.copyJSONLines": "Kopírovat jako JSON lines/NDJSON",
"clipboard.copyMongoInsert": "Kopírovat jako Mongo INSERT příkazy",
"clipboard.copyOnlyHeadres": "Kopírovat pouze hlavičky",
"clipboard.copySQLInsert": "Kopírovat jako SQL INSERT příkazy",
"clipboard.copySQLUpdate": "Kopírovat jako SQL UPDATE příkazy",
"clipboard.copyWithHeaders": "Kopírovat s hlavičkami",
"clipboard.copyWithoutHeaders": "Kopírovat bez hlaviček",
"clipboard.copyYAML": "Kopírovat jako YAML",
"clipboard.mongoInsert": "Kopírovat jako Mongo INSERT příkazy",
"clipboard.onlyHeaders": "Pouze hlavičky",
"clipboard.withHeaders": "S hlavičkami",
"clipboard.withoutHeaders": "Bez hlaviček",
"column.addNew": "Přidat nový sloupec", "column.addNew": "Přidat nový sloupec",
"column.copyName": "Kopírovat název", "column.copyName": "Kopírovat název",
"column.dropColumn": "Odstranit sloupec", "column.dropColumn": "Odstranit sloupec",
@@ -11,14 +27,23 @@
"column.renameColumn": "Přejmenovat sloupec", "column.renameColumn": "Přejmenovat sloupec",
"column.search": "Hledat sloupce", "column.search": "Hledat sloupce",
"column.variable": "Proměnné sloupce (jako MongoDB)", "column.variable": "Proměnné sloupce (jako MongoDB)",
"command.datagrid": "Datová mřížka",
"command.datagrid.addJsonDocument": "Přidat JSON dokument",
"command.datagrid.addNewColumn": "Přidat nový sloupec", "command.datagrid.addNewColumn": "Přidat nový sloupec",
"command.datagrid.addNewColumn.toolbar": "Nový sloupec", "command.datagrid.addNewColumn.toolbar": "Nový sloupec",
"command.datagrid.autoRefresh.seconds": "sekund",
"command.datagrid.clearFilter": "Vymazat filtr",
"command.datagrid.cloneRows": "Klonovat řádky", "command.datagrid.cloneRows": "Klonovat řádky",
"command.datagrid.cloneRows.toolbar": "Klonovat řádek(y)", "command.datagrid.cloneRows.toolbar": "Klonovat řádek(y)",
"command.datagrid.copyToClipboard": "Kopírovat do schránky", "command.datagrid.copyToClipboard": "Kopírovat do schránky",
"command.datagrid.deleteSelectedRows": "Odstranit vybrané řádky", "command.datagrid.deleteSelectedRows": "Odstranit vybrané řádky",
"command.datagrid.deleteSelectedRows.toolbar": "Odstranit řádek(y)", "command.datagrid.deleteSelectedRows.toolbar": "Odstranit řádek(y)",
"command.datagrid.editCell": "Upravit hodnotu buňky",
"command.datagrid.editJsonDocument": "Upravit řádek jako JSON dokument", "command.datagrid.editJsonDocument": "Upravit řádek jako JSON dokument",
"command.datagrid.editSelection": "Upravit výběr jako tabulku",
"command.datagrid.filterSelected": "Filtrovat vybranou hodnotu",
"command.datagrid.findColumn": "Najít sloupec",
"command.datagrid.generateSql": "Generovat SQL",
"command.datagrid.insertNewRow": "Vložit nový řádek", "command.datagrid.insertNewRow": "Vložit nový řádek",
"command.datagrid.insertNewRow.toolbar": "Nový řádek", "command.datagrid.insertNewRow.toolbar": "Nový řádek",
"command.datagrid.loadCellFromFile": "Načíst buňku ze souboru", "command.datagrid.loadCellFromFile": "Načíst buňku ze souboru",
@@ -31,12 +56,29 @@
"command.datagrid.revertAllChanges.toolbar": "Vrátit vše", "command.datagrid.revertAllChanges.toolbar": "Vrátit vše",
"command.datagrid.revertRowChanges": "Vrátit změny řádku", "command.datagrid.revertRowChanges": "Vrátit změny řádku",
"command.datagrid.saveCellToFile": "Uložit buňku do souboru", "command.datagrid.saveCellToFile": "Uložit buňku do souboru",
"command.datagrid.sendToDataDeployer": "Odeslat do data deployer",
"command.datagrid.setAutoRefresh.1": "Obnovit každou sekundu",
"command.datagrid.setAutoRefresh.10": "Obnovit každých 10 sekund",
"command.datagrid.setAutoRefresh.15": "Obnovit každých 15 sekund",
"command.datagrid.setAutoRefresh.30": "Obnovit každých 30 sekund",
"command.datagrid.setAutoRefresh.5": "Obnovit každých 5 sekund",
"command.datagrid.setAutoRefresh.60": "Obnovit každých 60 sekund",
"command.datagrid.setNull": "Nastavit NULL", "command.datagrid.setNull": "Nastavit NULL",
"command.datagrid.startAutoRefresh": "Spustit automatické obnovování",
"command.datagrid.stopAutoRefresh": "Zastavit automatické obnovování",
"command.datagrid.switchToJSON": "Přepnout na JSON",
"command.datagrid.switchToform": "Přepnout na formulář",
"command.datagrid.toggleLeftPanel": "Přepnout levý panel",
"command.datagrid.undo": "Krok zpět", "command.datagrid.undo": "Krok zpět",
"command.datagrid.viewJsonDocument": "Zobrazit řádek jako JSON dokument", "command.datagrid.viewJsonDocument": "Zobrazit řádek jako JSON dokument",
"command.datagrid.viewJsonValue": "Zobrazit buňku jako JSON dokument", "command.datagrid.viewJsonValue": "Zobrazit buňku jako JSON dokument",
"command.datagrid.witchToTable": "Přepnout na tabulku",
"command.datgrid.hideColumn": "Skrýt sloupec",
"command.new.duckdbDatabase": "Nová DuckDB databáze", "command.new.duckdbDatabase": "Nová DuckDB databáze",
"command.new.sqliteDatabase": "Nová SQLite databáze", "command.new.sqliteDatabase": "Nová SQLite databáze",
"command.openQuery": "Otevřít dotaz",
"command.tableData": "Data tabulky",
"command.tableData.save": "Uložit",
"command.tabs.addToFavorites": "Přidat aktuální kartu do oblíbených", "command.tabs.addToFavorites": "Přidat aktuální kartu do oblíbených",
"command.tabs.closeAll": "Zavřít všechny karty", "command.tabs.closeAll": "Zavřít všechny karty",
"command.tabs.closeTab": "Zavřít kartu", "command.tabs.closeTab": "Zavřít kartu",
@@ -55,6 +97,7 @@
"common.createNew": "Vytvořit", "common.createNew": "Vytvořit",
"common.database": "Databáze", "common.database": "Databáze",
"common.databaseChat": "Databázový chat", "common.databaseChat": "Databázový chat",
"common.datagrid.deepRefresh": "Obnovit se strukturou",
"common.description": "Popis", "common.description": "Popis",
"common.erDiagram": "ER Diagram", "common.erDiagram": "ER Diagram",
"common.execute": "Spustit", "common.execute": "Spustit",
@@ -184,8 +227,9 @@
"database.shellTitle": "Shell #", "database.shellTitle": "Shell #",
"database.showDiagram": "Zobrazit diagram", "database.showDiagram": "Zobrazit diagram",
"database.sqlGenerator": "SQL generátor", "database.sqlGenerator": "SQL generátor",
"datagrid.copyAdvanced": "Pokročilé kopírování",
"datagrid.macros.calculation": "Výpočet", "datagrid.macros.calculation": "Výpočet",
"datagrid.macros.calculationDescription": "Vlastní výraz. Použijte row.nazev_sloupce pro přístup k hodnotám sloupců, value pro původní hodnotu", "datagrid.macros.calculationDescription": "Vlastní výraz. Použijte řádek.název_sloupce pro přístup k hodnotám sloupců, value pro původní hodnotu",
"datagrid.macros.changeTextCase": "Změnit velikost písmen", "datagrid.macros.changeTextCase": "Změnit velikost písmen",
"datagrid.macros.changeTextCaseDescription": "Funkce pro velká písmena, malá písmena a další úpravy", "datagrid.macros.changeTextCaseDescription": "Funkce pro velká písmena, malá písmena a další úpravy",
"datagrid.macros.changeTextCaseType": "Typ", "datagrid.macros.changeTextCaseType": "Typ",
@@ -227,6 +271,7 @@
"datagrid.macros.secondName": "Název sekundy", "datagrid.macros.secondName": "Název sekundy",
"datagrid.macros.splitColumns": "Rozdělit sloupce", "datagrid.macros.splitColumns": "Rozdělit sloupce",
"datagrid.macros.splitColumnsDescription": "Rozdělit vybrané sloupce", "datagrid.macros.splitColumnsDescription": "Rozdělit vybrané sloupce",
"datagrid.macros.textGroup": "Textové",
"datagrid.macros.toBoolean": "Převést na boolean", "datagrid.macros.toBoolean": "Převést na boolean",
"datagrid.macros.toBooleanDescription": "Převede na boolean", "datagrid.macros.toBooleanDescription": "Převede na boolean",
"datagrid.macros.toInt": "Převést na celé číslo", "datagrid.macros.toInt": "Převést na celé číslo",
@@ -235,16 +280,19 @@
"datagrid.macros.toNumberDescription": "Převede na číslo", "datagrid.macros.toNumberDescription": "Převede na číslo",
"datagrid.macros.toString": "Převést na text", "datagrid.macros.toString": "Převést na text",
"datagrid.macros.toStringDescription": "Převede na text", "datagrid.macros.toStringDescription": "Převede na text",
"datagrid.macros.toolsGroup": "Nástroje",
"datagrid.macros.trim": "Oříznout", "datagrid.macros.trim": "Oříznout",
"datagrid.macros.trimDescription": "Odstraní mezery na začátku a konci", "datagrid.macros.trimDescription": "Odstraní mezery na začátku a konci",
"datagrid.macros.uuidv1": "V1 - z časového razítka",
"datagrid.macros.uuidv4": "V4 - náhodně generované",
"datagrid.macros.version": "Verze", "datagrid.macros.version": "Verze",
"datagrid.macros.yearName": "Název roku", "datagrid.macros.yearName": "Název roku",
"datagrid.searchMacros": "Hledat makra", "datagrid.searchMacros": "Hledat makra",
"datagrid.setFormat": "Nastavit formát: ",
"datagrid.structure": "Struktura",
"error.driverNotFound": "Neplatné připojení k databázi, ovladač nebyl nalezen", "error.driverNotFound": "Neplatné připojení k databázi, ovladač nebyl nalezen",
"error.selectedCloudConnection": "Vybrané připojení je z DbGate cloudu", "error.selectedCloudConnection": "Vybrané připojení je z DbGate cloudu",
"error.selectedNotCloudConnection": "Vybrané připojení není z DbGate cloudu", "error.selectedNotCloudConnection": "Vybrané připojení není z DbGate cloudu",
"export.currentArchive": "Aktuální archiv",
"export.exportAdvanced": "Pokročilý export...",
"file.allSupported": "Všechny podporované soubory", "file.allSupported": "Všechny podporované soubory",
"file.diagramFiles": "Soubory diagramů", "file.diagramFiles": "Soubory diagramů",
"file.duckdb": "Databáze DuckDB", "file.duckdb": "Databáze DuckDB",
@@ -460,6 +508,7 @@
"sqlObject.tableViewProcedureName": "Název tabulky/pohledu/procedury", "sqlObject.tableViewProcedureName": "Název tabulky/pohledu/procedury",
"sqlObject.tablesWithRows": "Pouze tabulky s řádky", "sqlObject.tablesWithRows": "Pouze tabulky s řádky",
"sqlObject.viewProcedureTriggerText": "Text pohledu/procedury/triggeru", "sqlObject.viewProcedureTriggerText": "Text pohledu/procedury/triggeru",
"sqlObjectList.refreshDatabase": "Obnovit připojení k databázi a seznam objektů",
"summaryProcesses.actions": "Akce", "summaryProcesses.actions": "Akce",
"summaryProcesses.client": "Klient", "summaryProcesses.client": "Klient",
"summaryProcesses.connectionId": "ID připojení", "summaryProcesses.connectionId": "ID připojení",
@@ -472,6 +521,7 @@
"summaryVariables.value": "Hodnota", "summaryVariables.value": "Hodnota",
"summaryVariables.variable": "Proměnná", "summaryVariables.variable": "Proměnná",
"tab.administration": "Administrace", "tab.administration": "Administrace",
"tableData.viewColumns": "Zobrazit sloupce",
"widget.databaseContent": "Obsah databáze", "widget.databaseContent": "Obsah databáze",
"widget.databases": "Databáze", "widget.databases": "Databáze",
"widget.keys": "Klíče", "widget.keys": "Klíče",

View File

@@ -3,6 +3,22 @@
"app.preparingPlugins": "Preparing plugins ...", "app.preparingPlugins": "Preparing plugins ...",
"app.starting": "Starting DbGate", "app.starting": "Starting DbGate",
"authToken": "Auth token", "authToken": "Auth token",
"clipboard.SQLInsert": "SQL INSERTs",
"clipboard.SQLUpdate": "SQL UPDATEs",
"clipboard.copyCSV": "Copy as CSV",
"clipboard.copyJSON": "Copy as JSON",
"clipboard.copyJSONLines": "Copy as JSON lines/NDJSON",
"clipboard.copyMongoInsert": "Copy as Mongo INSERTs",
"clipboard.copyOnlyHeadres": "Copy only headers",
"clipboard.copySQLInsert": "Copy as SQL INSERTs",
"clipboard.copySQLUpdate": "Copy as SQL UPDATEs",
"clipboard.copyWithHeaders": "Copy with headers",
"clipboard.copyWithoutHeaders": "Copy without headers",
"clipboard.copyYAML": "Copy as YAML",
"clipboard.mongoInsert": "Mongo INSERTs",
"clipboard.onlyHeaders": "Only Headers",
"clipboard.withHeaders": "With headers",
"clipboard.withoutHeaders": "Without headers",
"column.addNew": "Add new column", "column.addNew": "Add new column",
"column.copyName": "Copy name", "column.copyName": "Copy name",
"column.dropColumn": "Drop column", "column.dropColumn": "Drop column",
@@ -11,14 +27,23 @@
"column.renameColumn": "Rename column", "column.renameColumn": "Rename column",
"column.search": "Search columns", "column.search": "Search columns",
"column.variable": "Variable columns (like MongoDB)", "column.variable": "Variable columns (like MongoDB)",
"command.datagrid": "Data grid",
"command.datagrid.addJsonDocument": "Add JSON document",
"command.datagrid.addNewColumn": "Add new column", "command.datagrid.addNewColumn": "Add new column",
"command.datagrid.addNewColumn.toolbar": "New column", "command.datagrid.addNewColumn.toolbar": "New column",
"command.datagrid.autoRefresh.seconds": "seconds",
"command.datagrid.clearFilter": "Clear filter",
"command.datagrid.cloneRows": "Clone rows", "command.datagrid.cloneRows": "Clone rows",
"command.datagrid.cloneRows.toolbar": "Clone row(s)", "command.datagrid.cloneRows.toolbar": "Clone row(s)",
"command.datagrid.copyToClipboard": "Copy to clipboard", "command.datagrid.copyToClipboard": "Copy to clipboard",
"command.datagrid.deleteSelectedRows": "Delete selected rows", "command.datagrid.deleteSelectedRows": "Delete selected rows",
"command.datagrid.deleteSelectedRows.toolbar": "Delete row(s)", "command.datagrid.deleteSelectedRows.toolbar": "Delete row(s)",
"command.datagrid.editCell": "Edit cell value",
"command.datagrid.editJsonDocument": "Edit row as JSON document", "command.datagrid.editJsonDocument": "Edit row as JSON document",
"command.datagrid.editSelection": "Edit selection as table",
"command.datagrid.filterSelected": "Filter selected value",
"command.datagrid.findColumn": "Find column",
"command.datagrid.generateSql": "Generate SQL",
"command.datagrid.insertNewRow": "Insert new row", "command.datagrid.insertNewRow": "Insert new row",
"command.datagrid.insertNewRow.toolbar": "New row", "command.datagrid.insertNewRow.toolbar": "New row",
"command.datagrid.loadCellFromFile": "Load cell from file", "command.datagrid.loadCellFromFile": "Load cell from file",
@@ -31,12 +56,29 @@
"command.datagrid.revertAllChanges.toolbar": "Revert all", "command.datagrid.revertAllChanges.toolbar": "Revert all",
"command.datagrid.revertRowChanges": "Revert row changes", "command.datagrid.revertRowChanges": "Revert row changes",
"command.datagrid.saveCellToFile": "Save cell to file", "command.datagrid.saveCellToFile": "Save cell to file",
"command.datagrid.sendToDataDeployer": "Send to data deployer",
"command.datagrid.setAutoRefresh.1": "Refresh every 1 second",
"command.datagrid.setAutoRefresh.10": "Refresh every 10 seconds",
"command.datagrid.setAutoRefresh.15": "Refresh every 15 seconds",
"command.datagrid.setAutoRefresh.30": "Refresh every 30 seconds",
"command.datagrid.setAutoRefresh.5": "Refresh every 5 seconds",
"command.datagrid.setAutoRefresh.60": "Refresh every 60 seconds",
"command.datagrid.setNull": "Set NULL", "command.datagrid.setNull": "Set NULL",
"command.datagrid.startAutoRefresh": "Start auto refresh",
"command.datagrid.stopAutoRefresh": "Stop auto refresh",
"command.datagrid.switchToJSON": "Switch to JSON",
"command.datagrid.switchToform": "Switch to form",
"command.datagrid.toggleLeftPanel": "Toggle left panel",
"command.datagrid.undo": "Undo", "command.datagrid.undo": "Undo",
"command.datagrid.viewJsonDocument": "View row as JSON document", "command.datagrid.viewJsonDocument": "View row as JSON document",
"command.datagrid.viewJsonValue": "View cell as JSON document", "command.datagrid.viewJsonValue": "View cell as JSON document",
"command.datagrid.witchToTable": "Switch to table",
"command.datgrid.hideColumn": "Hide column",
"command.new.duckdbDatabase": "New DuckDB database", "command.new.duckdbDatabase": "New DuckDB database",
"command.new.sqliteDatabase": "New SQLite database", "command.new.sqliteDatabase": "New SQLite database",
"command.openQuery": "Open query",
"command.tableData": "Table data",
"command.tableData.save": "Save",
"command.tabs.addToFavorites": "Add current tab to favorites", "command.tabs.addToFavorites": "Add current tab to favorites",
"command.tabs.closeAll": "Close all tabs", "command.tabs.closeAll": "Close all tabs",
"command.tabs.closeTab": "Close tab", "command.tabs.closeTab": "Close tab",
@@ -55,6 +97,7 @@
"common.createNew": "Create new", "common.createNew": "Create new",
"common.database": "Database", "common.database": "Database",
"common.databaseChat": "Database Chat", "common.databaseChat": "Database Chat",
"common.datagrid.deepRefresh": "Refresh with structure",
"common.description": "Description", "common.description": "Description",
"common.erDiagram": "ER Diagram", "common.erDiagram": "ER Diagram",
"common.execute": "Execute", "common.execute": "Execute",
@@ -184,6 +227,7 @@
"database.shellTitle": "Shell #", "database.shellTitle": "Shell #",
"database.showDiagram": "Show diagram", "database.showDiagram": "Show diagram",
"database.sqlGenerator": "SQL Generator", "database.sqlGenerator": "SQL Generator",
"datagrid.copyAdvanced": "Copy advanced",
"datagrid.macros.calculation": "Calculation", "datagrid.macros.calculation": "Calculation",
"datagrid.macros.calculationDescription": "Custom expression. Use row.column_name for accessing column values, value for original value", "datagrid.macros.calculationDescription": "Custom expression. Use row.column_name for accessing column values, value for original value",
"datagrid.macros.changeTextCase": "Change text case", "datagrid.macros.changeTextCase": "Change text case",
@@ -227,6 +271,7 @@
"datagrid.macros.secondName": "Second name", "datagrid.macros.secondName": "Second name",
"datagrid.macros.splitColumns": "Split columns", "datagrid.macros.splitColumns": "Split columns",
"datagrid.macros.splitColumnsDescription": "Split selected columns", "datagrid.macros.splitColumnsDescription": "Split selected columns",
"datagrid.macros.textGroup": "Text",
"datagrid.macros.toBoolean": "Convert to boolean", "datagrid.macros.toBoolean": "Convert to boolean",
"datagrid.macros.toBooleanDescription": "Converts to boolean", "datagrid.macros.toBooleanDescription": "Converts to boolean",
"datagrid.macros.toInt": "Convert to integer", "datagrid.macros.toInt": "Convert to integer",
@@ -235,16 +280,19 @@
"datagrid.macros.toNumberDescription": "Converts to number", "datagrid.macros.toNumberDescription": "Converts to number",
"datagrid.macros.toString": "Convert to string", "datagrid.macros.toString": "Convert to string",
"datagrid.macros.toStringDescription": "Converts to string", "datagrid.macros.toStringDescription": "Converts to string",
"datagrid.macros.toolsGroup": "Tools",
"datagrid.macros.trim": "Trim", "datagrid.macros.trim": "Trim",
"datagrid.macros.trimDescription": "Removes leading and trailing whitespace", "datagrid.macros.trimDescription": "Removes leading and trailing whitespace",
"datagrid.macros.uuidv1": "V1 - from timestamp",
"datagrid.macros.uuidv4": "V4 - random generated",
"datagrid.macros.version": "Version", "datagrid.macros.version": "Version",
"datagrid.macros.yearName": "Year name", "datagrid.macros.yearName": "Year name",
"datagrid.searchMacros": "Search macros", "datagrid.searchMacros": "Search macros",
"datagrid.setFormat": "Set format: ",
"datagrid.structure": "Structure",
"error.driverNotFound": "Invalid database connection, driver not found", "error.driverNotFound": "Invalid database connection, driver not found",
"error.selectedCloudConnection": "Selected connection is from DbGate cloud", "error.selectedCloudConnection": "Selected connection is from DbGate cloud",
"error.selectedNotCloudConnection": "Selected connection is not from DbGate cloud", "error.selectedNotCloudConnection": "Selected connection is not from DbGate cloud",
"export.currentArchive": "Current archive",
"export.exportAdvanced": "Export advanced...",
"file.allSupported": "All supported files", "file.allSupported": "All supported files",
"file.diagramFiles": "Diagram files", "file.diagramFiles": "Diagram files",
"file.duckdb": "DuckDB database", "file.duckdb": "DuckDB database",
@@ -460,6 +508,7 @@
"sqlObject.tableViewProcedureName": "Table/view/procedure name", "sqlObject.tableViewProcedureName": "Table/view/procedure name",
"sqlObject.tablesWithRows": "Only tables with rows", "sqlObject.tablesWithRows": "Only tables with rows",
"sqlObject.viewProcedureTriggerText": "View/procedure/trigger text", "sqlObject.viewProcedureTriggerText": "View/procedure/trigger text",
"sqlObjectList.refreshDatabase": "Refresh database connection and object list",
"summaryProcesses.actions": "Actions", "summaryProcesses.actions": "Actions",
"summaryProcesses.client": "Client", "summaryProcesses.client": "Client",
"summaryProcesses.connectionId": "Connection ID", "summaryProcesses.connectionId": "Connection ID",
@@ -472,6 +521,7 @@
"summaryVariables.value": "Value", "summaryVariables.value": "Value",
"summaryVariables.variable": "Variable", "summaryVariables.variable": "Variable",
"tab.administration": "Administration", "tab.administration": "Administration",
"tableData.viewColumns": "View columns",
"widget.databaseContent": "Database content", "widget.databaseContent": "Database content",
"widget.databases": "Databases", "widget.databases": "Databases",
"widget.keys": "Keys", "widget.keys": "Keys",

View File

@@ -3,6 +3,22 @@
"app.preparingPlugins": "Príprava pluginov...", "app.preparingPlugins": "Príprava pluginov...",
"app.starting": "Spúšťam DbGate", "app.starting": "Spúšťam DbGate",
"authToken": "Autentifikačný token", "authToken": "Autentifikačný token",
"clipboard.SQLInsert": "SQL INSERT príkazy",
"clipboard.SQLUpdate": "SQL UPDATE príkazy",
"clipboard.copyCSV": "Kopírovať ako CSV",
"clipboard.copyJSON": "Kopírovať ako JSON",
"clipboard.copyJSONLines": "Kopírovať ako JSON riadky/NDJSON",
"clipboard.copyMongoInsert": "Kopírovať ako Mongo INSERT príkazy",
"clipboard.copyOnlyHeadres": "Kopírovať iba hlavičky",
"clipboard.copySQLInsert": "Kopírovať ako SQL INSERT príkazy",
"clipboard.copySQLUpdate": "Kopírovať ako SQL UPDATE príkazy",
"clipboard.copyWithHeaders": "Kopírovať s hlavičkami",
"clipboard.copyWithoutHeaders": "Kopírovať bez hlavičiek",
"clipboard.copyYAML": "Kopírovať ako YAML",
"clipboard.mongoInsert": "Mongo INSERT príkazy",
"clipboard.onlyHeaders": "Iba hlavičky",
"clipboard.withHeaders": "S hlavičkami",
"clipboard.withoutHeaders": "Bez hlavičiek",
"column.addNew": "Pridať nový stĺpec", "column.addNew": "Pridať nový stĺpec",
"column.copyName": "Kopírovať názov", "column.copyName": "Kopírovať názov",
"column.dropColumn": "Odstrániť stĺpec", "column.dropColumn": "Odstrániť stĺpec",
@@ -11,14 +27,23 @@
"column.renameColumn": "Premenovať stĺpec", "column.renameColumn": "Premenovať stĺpec",
"column.search": "Hľadať stĺpce", "column.search": "Hľadať stĺpce",
"column.variable": "Premenlivé stĺpce (ako MongoDB)", "column.variable": "Premenlivé stĺpce (ako MongoDB)",
"command.datagrid": "Dátová mriežka",
"command.datagrid.addJsonDocument": "Pridať JSON dokument",
"command.datagrid.addNewColumn": "Pridať nový stĺpec", "command.datagrid.addNewColumn": "Pridať nový stĺpec",
"command.datagrid.addNewColumn.toolbar": "Nový stĺpec", "command.datagrid.addNewColumn.toolbar": "Nový stĺpec",
"command.datagrid.autoRefresh.seconds": "sekúnd",
"command.datagrid.clearFilter": "Vymazať filter",
"command.datagrid.cloneRows": "Klonovať riadky", "command.datagrid.cloneRows": "Klonovať riadky",
"command.datagrid.cloneRows.toolbar": "Klonovať riadok(y)", "command.datagrid.cloneRows.toolbar": "Klonovať riadok(y)",
"command.datagrid.copyToClipboard": "Kopírovať do schránky", "command.datagrid.copyToClipboard": "Kopírovať do schránky",
"command.datagrid.deleteSelectedRows": "Odstrániť vybrané riadky", "command.datagrid.deleteSelectedRows": "Odstrániť vybrané riadky",
"command.datagrid.deleteSelectedRows.toolbar": "Odstrániť riadok(y)", "command.datagrid.deleteSelectedRows.toolbar": "Odstrániť riadok(y)",
"command.datagrid.editCell": "Upraviť hodnotu bunky",
"command.datagrid.editJsonDocument": "Upraviť riadok ako JSON dokument", "command.datagrid.editJsonDocument": "Upraviť riadok ako JSON dokument",
"command.datagrid.editSelection": "Upraviť výber ako tabuľku",
"command.datagrid.filterSelected": "Filtrovať vybranú hodnotu",
"command.datagrid.findColumn": "Nájsť stĺpec",
"command.datagrid.generateSql": "Generovať SQL",
"command.datagrid.insertNewRow": "Vložiť nový riadok", "command.datagrid.insertNewRow": "Vložiť nový riadok",
"command.datagrid.insertNewRow.toolbar": "Nový riadok", "command.datagrid.insertNewRow.toolbar": "Nový riadok",
"command.datagrid.loadCellFromFile": "Načítať bunku zo súboru", "command.datagrid.loadCellFromFile": "Načítať bunku zo súboru",
@@ -31,12 +56,29 @@
"command.datagrid.revertAllChanges.toolbar": "Vrátiť všetko", "command.datagrid.revertAllChanges.toolbar": "Vrátiť všetko",
"command.datagrid.revertRowChanges": "Vrátiť zmeny riadka", "command.datagrid.revertRowChanges": "Vrátiť zmeny riadka",
"command.datagrid.saveCellToFile": "Uložiť bunku do súboru", "command.datagrid.saveCellToFile": "Uložiť bunku do súboru",
"command.datagrid.sendToDataDeployer": "Odoslať do data deployer",
"command.datagrid.setAutoRefresh.1": "Obnoviť každú sekundu",
"command.datagrid.setAutoRefresh.10": "Obnoviť každých 10 sekúnd",
"command.datagrid.setAutoRefresh.15": "Obnoviť každých 15 sekúnd",
"command.datagrid.setAutoRefresh.30": "Obnoviť každých 30 sekúnd",
"command.datagrid.setAutoRefresh.5": "Obnoviť každých 5 sekúnd",
"command.datagrid.setAutoRefresh.60": "Obnoviť každých 60 sekúnd",
"command.datagrid.setNull": "Nastaviť NULL", "command.datagrid.setNull": "Nastaviť NULL",
"command.datagrid.startAutoRefresh": "Spustiť automatické obnovovanie",
"command.datagrid.stopAutoRefresh": "Zastaviť automatické obnovovanie",
"command.datagrid.switchToJSON": "Prepnúť na JSON",
"command.datagrid.switchToform": "Prepnúť na formulár",
"command.datagrid.toggleLeftPanel": "Prepnúť ľavý panel",
"command.datagrid.undo": "Krok späť", "command.datagrid.undo": "Krok späť",
"command.datagrid.viewJsonDocument": "Zobraziť riadok ako JSON dokument", "command.datagrid.viewJsonDocument": "Zobraziť riadok ako JSON dokument",
"command.datagrid.viewJsonValue": "Zobraziť bunku ako JSON dokument", "command.datagrid.viewJsonValue": "Zobraziť bunku ako JSON dokument",
"command.datagrid.witchToTable": "Prepnúť na tabuľku",
"command.datgrid.hideColumn": "Skryť stĺpec",
"command.new.duckdbDatabase": "Nová DuckDB databáza", "command.new.duckdbDatabase": "Nová DuckDB databáza",
"command.new.sqliteDatabase": "Nová SQLite databáza", "command.new.sqliteDatabase": "Nová SQLite databáza",
"command.openQuery": "Otvoriť dotaz",
"command.tableData": "Dáta tabuľky",
"command.tableData.save": "Uložiť",
"command.tabs.addToFavorites": "Pridať aktuálnu kartu do obľúbených", "command.tabs.addToFavorites": "Pridať aktuálnu kartu do obľúbených",
"command.tabs.closeAll": "Zavrieť všetky karty", "command.tabs.closeAll": "Zavrieť všetky karty",
"command.tabs.closeTab": "Zavrieť kartu", "command.tabs.closeTab": "Zavrieť kartu",
@@ -55,6 +97,7 @@
"common.createNew": "Vytvoriť", "common.createNew": "Vytvoriť",
"common.database": "Databáza", "common.database": "Databáza",
"common.databaseChat": "Chat s databázou", "common.databaseChat": "Chat s databázou",
"common.datagrid.deepRefresh": "Obnoviť so štruktúrou",
"common.description": "Popis", "common.description": "Popis",
"common.erDiagram": "ER Diagram", "common.erDiagram": "ER Diagram",
"common.execute": "Spustiť", "common.execute": "Spustiť",
@@ -184,8 +227,9 @@
"database.shellTitle": "Shell #", "database.shellTitle": "Shell #",
"database.showDiagram": "Zobraziť", "database.showDiagram": "Zobraziť",
"database.sqlGenerator": "SQL generátor", "database.sqlGenerator": "SQL generátor",
"datagrid.copyAdvanced": "Pokročilé kopírovanie",
"datagrid.macros.calculation": "Výpočet", "datagrid.macros.calculation": "Výpočet",
"datagrid.macros.calculationDescription": "Vlastný výraz. Použite row.column_name pre prístup k hodnotám stĺpcov, value pre pôvodnú hodnotu", "datagrid.macros.calculationDescription": "Vlastný výraz. Použite riadok.názov_stĺpca pre prístup k hodnotám stĺpcov, value pre pôvodnú hodnotu",
"datagrid.macros.changeTextCase": "Zmeniť veľkosť písmen", "datagrid.macros.changeTextCase": "Zmeniť veľkosť písmen",
"datagrid.macros.changeTextCaseDescription": "Funkcie pre veľké, malé a iné formáty písmen", "datagrid.macros.changeTextCaseDescription": "Funkcie pre veľké, malé a iné formáty písmen",
"datagrid.macros.changeTextCaseType": "Typ", "datagrid.macros.changeTextCaseType": "Typ",
@@ -227,6 +271,7 @@
"datagrid.macros.secondName": "Názov sekundy", "datagrid.macros.secondName": "Názov sekundy",
"datagrid.macros.splitColumns": "Rozdeliť stĺpce", "datagrid.macros.splitColumns": "Rozdeliť stĺpce",
"datagrid.macros.splitColumnsDescription": "Rozdeliť vybrané stĺpce", "datagrid.macros.splitColumnsDescription": "Rozdeliť vybrané stĺpce",
"datagrid.macros.textGroup": "Textové",
"datagrid.macros.toBoolean": "Previesť na boolean", "datagrid.macros.toBoolean": "Previesť na boolean",
"datagrid.macros.toBooleanDescription": "Prevedie na boolean", "datagrid.macros.toBooleanDescription": "Prevedie na boolean",
"datagrid.macros.toInt": "Previesť na celé číslo", "datagrid.macros.toInt": "Previesť na celé číslo",
@@ -235,16 +280,19 @@
"datagrid.macros.toNumberDescription": "Prevedie na číslo", "datagrid.macros.toNumberDescription": "Prevedie na číslo",
"datagrid.macros.toString": "Previesť na reťazec", "datagrid.macros.toString": "Previesť na reťazec",
"datagrid.macros.toStringDescription": "Prevedie na reťazec", "datagrid.macros.toStringDescription": "Prevedie na reťazec",
"datagrid.macros.toolsGroup": "Nástroje",
"datagrid.macros.trim": "Orezať", "datagrid.macros.trim": "Orezať",
"datagrid.macros.trimDescription": "Odstráni medzery na začiatku a konci", "datagrid.macros.trimDescription": "Odstráni medzery na začiatku a konci",
"datagrid.macros.uuidv1": "V1 - z časovej značky",
"datagrid.macros.uuidv4": "V4 - náhodne vygenerované",
"datagrid.macros.version": "Verzia", "datagrid.macros.version": "Verzia",
"datagrid.macros.yearName": "Názov roka", "datagrid.macros.yearName": "Názov roka",
"datagrid.searchMacros": "Vyhľadať makrá", "datagrid.searchMacros": "Vyhľadať makrá",
"datagrid.setFormat": "Nastaviť formát: ",
"datagrid.structure": "Štruktúra",
"error.driverNotFound": "Neplatné pripojenie k databáze, ovládač nenájdený", "error.driverNotFound": "Neplatné pripojenie k databáze, ovládač nenájdený",
"error.selectedCloudConnection": "Vybrané pripojenie je z DbGate cloudu", "error.selectedCloudConnection": "Vybrané pripojenie je z DbGate cloudu",
"error.selectedNotCloudConnection": "Vybrané pripojenie nie je z DbGate cloudu", "error.selectedNotCloudConnection": "Vybrané pripojenie nie je z DbGate cloudu",
"export.currentArchive": "Aktuálny archív",
"export.exportAdvanced": "Pokročilý export...",
"file.allSupported": "Všetky podporované súbory", "file.allSupported": "Všetky podporované súbory",
"file.diagramFiles": "Súbory diagramov", "file.diagramFiles": "Súbory diagramov",
"file.duckdb": "Databáza DuckDB", "file.duckdb": "Databáza DuckDB",
@@ -460,6 +508,7 @@
"sqlObject.tableViewProcedureName": "Názov tabuľky/pohľadu/procedúry", "sqlObject.tableViewProcedureName": "Názov tabuľky/pohľadu/procedúry",
"sqlObject.tablesWithRows": "Iba tabuľky s riadkami", "sqlObject.tablesWithRows": "Iba tabuľky s riadkami",
"sqlObject.viewProcedureTriggerText": "Text pohľadu/procedúry/triggera", "sqlObject.viewProcedureTriggerText": "Text pohľadu/procedúry/triggera",
"sqlObjectList.refreshDatabase": "Obnoviť databázové pripojenia a zoznam objektov",
"summaryProcesses.actions": "Akcie", "summaryProcesses.actions": "Akcie",
"summaryProcesses.client": "Klient", "summaryProcesses.client": "Klient",
"summaryProcesses.connectionId": "ID pripojenia", "summaryProcesses.connectionId": "ID pripojenia",
@@ -472,6 +521,7 @@
"summaryVariables.value": "Hodnota", "summaryVariables.value": "Hodnota",
"summaryVariables.variable": "Premenná", "summaryVariables.variable": "Premenná",
"tab.administration": "Administrácia", "tab.administration": "Administrácia",
"tableData.viewColumns": "Zobraziť stĺpce",
"widget.databaseContent": "Obsah databázy", "widget.databaseContent": "Obsah databázy",
"widget.databases": "Databázy", "widget.databases": "Databázy",
"widget.keys": "Kľúče", "widget.keys": "Kľúče",