mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-17 22:36:01 +00:00
translation-table editor, query, table structure
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
|
||||
import ObjectListControl from '../elements/ObjectListControl.svelte';
|
||||
import Link from './Link.svelte';
|
||||
import { _t } from '../translations';
|
||||
|
||||
export let collection;
|
||||
export let title;
|
||||
@@ -24,18 +25,18 @@
|
||||
columns={[
|
||||
{
|
||||
fieldName: 'baseColumns',
|
||||
header: 'Base columns',
|
||||
header: _t('foreignKey.baseColumns', { defaultMessage: 'Base columns' }),
|
||||
slot: 0,
|
||||
sortable: true,
|
||||
},
|
||||
{
|
||||
fieldName: 'refTableName',
|
||||
header: 'Referenced table',
|
||||
header: _t('foreignKey.refTableName', { defaultMessage: 'Referenced table' }),
|
||||
sortable: true,
|
||||
},
|
||||
{
|
||||
fieldName: 'refColumns',
|
||||
header: 'Referenced columns',
|
||||
header: _t('foreignKey.refColumns', { defaultMessage: 'Referenced columns' }),
|
||||
slot: 1,
|
||||
sortable: true,
|
||||
},
|
||||
@@ -60,5 +61,5 @@
|
||||
<svelte:fragment slot="name" let:row><ConstraintLabel {...row} /></svelte:fragment>
|
||||
<svelte:fragment slot="0" let:row>{row?.columns.map(x => x.columnName).join(', ')}</svelte:fragment>
|
||||
<svelte:fragment slot="1" let:row>{row?.columns.map(x => x.refColumnName).join(', ')}</svelte:fragment>
|
||||
<svelte:fragment slot="2" let:row><Link onClick={() => onRemove(row)}>Remove</Link></svelte:fragment>
|
||||
<svelte:fragment slot="2" let:row><Link onClick={() => onRemove(row)}>{_t('common.remove', { defaultMessage: 'Remove' })}</Link></svelte:fragment>
|
||||
</ObjectListControl>
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
import Link from './Link.svelte';
|
||||
import TableControl from './TableControl.svelte';
|
||||
import { writable } from 'svelte/store';
|
||||
import { _t } from '../translations';
|
||||
|
||||
export let title;
|
||||
export let collection;
|
||||
@@ -39,7 +40,7 @@
|
||||
</span>
|
||||
<span class="title mr-1">{title}</span>
|
||||
{#if onAddNew}
|
||||
<Link onClick={onAddNew}><FontIcon icon="icon add" /> Add new</Link>
|
||||
<Link onClick={onAddNew}><FontIcon icon="icon add" />{_t('common.addNew', { defaultMessage: 'Add new' })}</Link>
|
||||
{/if}
|
||||
{#if multipleItemsActions && activeMultipleSelection && activeMultipleSelection?.length > 0}
|
||||
{#each multipleItemsActions as item}
|
||||
@@ -65,7 +66,7 @@
|
||||
columns={_.compact([
|
||||
!hideDisplayName && {
|
||||
fieldName: displayNameFieldName || 'displayName',
|
||||
header: 'Name',
|
||||
header: _t('common.name', { defaultMessage: 'Name' }),
|
||||
slot: -1,
|
||||
sortable: true,
|
||||
filterable: !!displayNameFieldName,
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
{#if isFormView}
|
||||
<div class="m-1">
|
||||
<div>Column name filter</div>
|
||||
<div>{_t('datagrid.columnNameFilter', { defaultMessage: 'Column name filter' })}</div>
|
||||
<div class="flex">
|
||||
<input
|
||||
type="text"
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
import ModalBase from './ModalBase.svelte';
|
||||
import { closeCurrentModal } from './modalTools';
|
||||
import { commandsCustomized } from '../stores';
|
||||
import { _t } from '../translations';
|
||||
import _ from 'lodash';
|
||||
|
||||
export let tabs;
|
||||
export let onConfirm;
|
||||
@@ -27,10 +29,10 @@
|
||||
|
||||
<FormProvider>
|
||||
<ModalBase {...$$restProps}>
|
||||
<svelte:fragment slot="header">Confirm close tabs</svelte:fragment>
|
||||
<svelte:fragment slot="header">{_t('datagrid.closeTabs.header', { defaultMessage: 'Confirm close tabs' })}</svelte:fragment>
|
||||
|
||||
<div>
|
||||
Following files are modified, really close tabs? After closing, you could reopen them in history
|
||||
{_t('datagrid.closeTabs.modifiedFiles', { defaultMessage: 'Following files are modified, really close tabs? After closing, you could reopen them in history' })}
|
||||
<FontIcon icon="icon history" />
|
||||
widget
|
||||
</div>
|
||||
@@ -41,7 +43,7 @@
|
||||
|
||||
<svelte:fragment slot="footer">
|
||||
<FormSubmit
|
||||
value="Close tabs"
|
||||
value={_t('datagrid.closeTabs.close', { defaultMessage: 'Close tabs' })}
|
||||
on:click={() => {
|
||||
closeCurrentModal();
|
||||
onConfirm();
|
||||
@@ -49,7 +51,7 @@
|
||||
/>
|
||||
<FormStyledButton
|
||||
type="button"
|
||||
value="Cancel"
|
||||
value={_t('common.cancel', { defaultMessage: 'Cancel' })}
|
||||
on:click={() => {
|
||||
closeCurrentModal();
|
||||
onCancel();
|
||||
|
||||
@@ -466,7 +466,7 @@
|
||||
|
||||
{#if defaultDatabase && driver?.showConnectionField('singleDatabase', $values, showConnectionFieldArgs)}
|
||||
<FormCheckboxField
|
||||
label={_t('connection.singleDatabase', { defaultMessage: `Use only database ${defaultDatabase}` })}
|
||||
label={_t('connection.singleDatabase', { defaultMessage: 'Use only database {defaultDatabase}', values: { defaultDatabase } })}
|
||||
name="singleDatabase"
|
||||
disabled={isConnected}
|
||||
data-testid="ConnectionDriverFields_singleDatabase"
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<FormPasswordField
|
||||
label={_t('connection.password', {defaultMessage: "Password"})}
|
||||
label={_t('connection.password', {defaultMessage: 'Password'})}
|
||||
name="sshPassword"
|
||||
disabled={isConnected || !useSshTunnel}
|
||||
templateProps={{ noMargin: true }}
|
||||
|
||||
@@ -27,41 +27,41 @@
|
||||
<FormProvider initialValues={fillEditorColumnInfo(columnInfo || {}, tableInfo)}>
|
||||
<ModalBase {...$$restProps}>
|
||||
<svelte:fragment slot="header"
|
||||
>{columnInfo ? 'Edit column' : `Add column ${(tableInfo?.columns || []).length + 1}`}</svelte:fragment
|
||||
>{columnInfo ? _t('columnEditor.editColumn', { defaultMessage: 'Edit column' }) : _t('columnEditor.addColumn', { defaultMessage: 'Add column {columnNumber}', values: { columnNumber: (tableInfo?.columns || []).length + 1 } })}</svelte:fragment
|
||||
>
|
||||
|
||||
<FormTextField name="columnName" label="Column name" focused disabled={isReadOnly} />
|
||||
<FormTextField name="columnName" label={_t('columnEditor.columnName', { defaultMessage: 'Column name' })} focused disabled={isReadOnly} />
|
||||
<DataTypeEditor dialect={driver?.dialect} disabled={isReadOnly} />
|
||||
|
||||
{#if !driver?.dialect?.specificNullabilityImplementation}
|
||||
<FormCheckboxField name="notNull" label="NOT NULL" disabled={isReadOnly} />
|
||||
{/if}
|
||||
<FormCheckboxField name="isPrimaryKey" label="Is Primary Key" disabled={isReadOnly} />
|
||||
<FormCheckboxField name="isPrimaryKey" label={_t('columnEditor.isPrimaryKey', { defaultMessage: 'Is Primary Key' })} disabled={isReadOnly} />
|
||||
{#if !driver?.dialect?.disableAutoIncrement}
|
||||
<FormCheckboxField name="autoIncrement" label="Is Autoincrement" disabled={isReadOnly} />
|
||||
<FormCheckboxField name="autoIncrement" label={_t('columnEditor.autoIncrement', { defaultMessage: 'Is Autoincrement' })} disabled={isReadOnly} />
|
||||
{/if}
|
||||
<FormTextField
|
||||
name="defaultValue"
|
||||
label="Default value. Please use valid SQL expression, eg. 'Hello World' for string value, '' for empty string"
|
||||
label={_t('columnEditor.defaultValue', { defaultMessage: "Default value. Please use valid SQL expression, eg. 'Hello World' for string value, '' for empty string" })}
|
||||
disabled={!setTableInfo}
|
||||
/>
|
||||
<FormTextField name="computedExpression" label="Computed expression" disabled={isReadOnly} />
|
||||
<FormTextField name="computedExpression" label={_t('columnEditor.computedExpression', { defaultMessage: 'Computed expression' })} disabled={isReadOnly} />
|
||||
{#if driver?.dialect?.columnProperties?.isUnsigned}
|
||||
<FormCheckboxField name="isUnsigned" label="Unsigned" disabled={isReadOnly} />
|
||||
<FormCheckboxField name="isUnsigned" label={_t('columnEditor.isUnsigned', { defaultMessage: 'Unsigned' })} disabled={isReadOnly} />
|
||||
{/if}
|
||||
{#if driver?.dialect?.columnProperties?.isZerofill}
|
||||
<FormCheckboxField name="isZerofill" label="Zero fill" disabled={isReadOnly} />
|
||||
<FormCheckboxField name="isZerofill" label={_t('columnEditor.isZerofill', { defaultMessage: 'Zero fill' })} disabled={isReadOnly} />
|
||||
{/if}
|
||||
{#if driver?.dialect?.columnProperties?.columnComment}
|
||||
<FormTextField name="columnComment" label="Comment" disabled={isReadOnly} />
|
||||
<FormTextField name="columnComment" label={_t('columnEditor.columnComment', { defaultMessage: 'Comment' })} disabled={isReadOnly} />
|
||||
{/if}
|
||||
{#if driver?.dialect?.columnProperties?.isSparse}
|
||||
<FormCheckboxField name="isSparse" label="Sparse" disabled={isReadOnly} />
|
||||
<FormCheckboxField name="isSparse" label={_t('columnEditor.isSparse', { defaultMessage: 'Sparse' })} disabled={isReadOnly} />
|
||||
{/if}
|
||||
|
||||
<svelte:fragment slot="footer">
|
||||
<FormSubmit
|
||||
value={columnInfo ? 'Save' : 'Save and next'}
|
||||
value={columnInfo ? _t('common.save', { defaultMessage: 'Save' }) : _t('common.saveAndNext', { defaultMessage: 'Save and next' })}
|
||||
disabled={isReadOnly}
|
||||
on:click={e => {
|
||||
closeCurrentModal();
|
||||
@@ -85,11 +85,11 @@
|
||||
/>
|
||||
{/if}
|
||||
|
||||
<FormStyledButton type="button" value="Close" on:click={closeCurrentModal} />
|
||||
<FormStyledButton type="button" value={_t('common.close', { defaultMessage: 'Close' })} on:click={closeCurrentModal} />
|
||||
{#if columnInfo}
|
||||
<FormStyledButton
|
||||
type="button"
|
||||
value="Remove"
|
||||
value={_t('common.remove', { defaultMessage: 'Remove' })}
|
||||
on:click={() => {
|
||||
closeCurrentModal();
|
||||
setTableInfo(tbl => editorDeleteColumn(tbl, columnInfo, addDataCommand));
|
||||
|
||||
@@ -9,13 +9,15 @@
|
||||
import { editorAddConstraint, editorDeleteConstraint, editorModifyConstraint } from 'dbgate-tools';
|
||||
import TextField from '../forms/TextField.svelte';
|
||||
import SelectField from '../forms/SelectField.svelte';
|
||||
import { _t, __t } from '../translations';
|
||||
import _ from 'lodash';
|
||||
|
||||
export let constraintInfo;
|
||||
export let setTableInfo;
|
||||
export let tableInfo;
|
||||
export let constraintLabel;
|
||||
export let constraintType;
|
||||
export let constraintNameLabel = 'Constraint name';
|
||||
export let constraintNameLabel = _t('tableEditor.constraintName', { defaultMessage: 'Constraint name' });
|
||||
export let getExtractConstraintProps;
|
||||
export let hideConstraintName = false;
|
||||
|
||||
@@ -41,7 +43,7 @@
|
||||
<FormProvider>
|
||||
<ModalBase {...$$restProps}>
|
||||
<svelte:fragment slot="header"
|
||||
>{constraintInfo ? `Edit ${constraintLabel}` : `Add ${constraintLabel}`}</svelte:fragment
|
||||
>{constraintInfo ? _t('tableEdit.editConstraintLabel', { defaultMessage: 'Edit {constraintLabel}', values: { constraintLabel: _.isFunction(constraintLabel) ? constraintLabel() : constraintLabel } }) : _t('tableEdit.addConstraintLabel', { defaultMessage: 'Add {constraintLabel}', values: { constraintLabel: _.isFunction(constraintLabel) ? constraintLabel() : constraintLabel } })}</svelte:fragment
|
||||
>
|
||||
|
||||
<div class="largeFormMarker">
|
||||
@@ -65,7 +67,7 @@
|
||||
|
||||
{#each columns as column, index}
|
||||
<div class="row">
|
||||
<div class="label col-3">Column {index + 1}</div>
|
||||
<div class="label col-3">{_t('common.column', { defaultMessage: 'Column ' })}{index + 1}</div>
|
||||
<div class={$$slots.column ? 'col-3' : 'col-6'}>
|
||||
{#key column.columnName}
|
||||
<SelectField
|
||||
@@ -91,7 +93,7 @@
|
||||
{/if}
|
||||
<div class="col-3 button">
|
||||
<FormStyledButton
|
||||
value="Delete"
|
||||
value={_t('common.delete', { defaultMessage: 'Delete' })}
|
||||
disabled={isReadOnly}
|
||||
on:click={e => {
|
||||
const x = [...columns];
|
||||
@@ -104,11 +106,11 @@
|
||||
{/each}
|
||||
|
||||
<div class="row">
|
||||
<div class="label col-3">Add new column</div>
|
||||
<div class="label col-3">{_t('columnsConstraintEditor.addNewColumn', { defaultMessage: 'Add new column' })}</div>
|
||||
<div class="col-9">
|
||||
{#key columns.length}
|
||||
<SelectField
|
||||
placeholder="Select column"
|
||||
placeholder={_t('columnsConstraintEditor.selectColumn', { defaultMessage: 'Select column' })}
|
||||
disabled={isReadOnly}
|
||||
value={''}
|
||||
on:change={e => {
|
||||
@@ -123,7 +125,7 @@
|
||||
isNative
|
||||
options={[
|
||||
{
|
||||
label: 'Choose column',
|
||||
label: _t('columnsConstraintEditor.chooseColumn', { defaultMessage: 'Choose column' }) ,
|
||||
value: '',
|
||||
},
|
||||
...(tableInfo?.columns?.map(col => ({
|
||||
@@ -139,7 +141,7 @@
|
||||
|
||||
<svelte:fragment slot="footer">
|
||||
<FormSubmit
|
||||
value={'Save'}
|
||||
value={_t('common.save', { defaultMessage: 'Save' })}
|
||||
disabled={isReadOnly}
|
||||
on:click={() => {
|
||||
closeCurrentModal();
|
||||
@@ -151,11 +153,11 @@
|
||||
}}
|
||||
/>
|
||||
|
||||
<FormStyledButton type="button" value="Close" on:click={closeCurrentModal} />
|
||||
<FormStyledButton type="button" value={_t('common.close', { defaultMessage: 'Close' })} on:click={closeCurrentModal} />
|
||||
{#if constraintInfo}
|
||||
<FormStyledButton
|
||||
type="button"
|
||||
value="Remove"
|
||||
value={_t('common.remove', { defaultMessage: 'Remove' })}
|
||||
disabled={isReadOnly}
|
||||
on:click={() => {
|
||||
closeCurrentModal();
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<script lang="ts">
|
||||
import FormDropDownTextField from '../forms/FormDropDownTextField.svelte';
|
||||
import { getFormContext } from '../forms/FormProviderCore.svelte';
|
||||
import { _t } from '../translations';
|
||||
|
||||
const { values, setFieldValue } = getFormContext();
|
||||
|
||||
@@ -17,4 +18,4 @@
|
||||
export let disabled = false;
|
||||
</script>
|
||||
|
||||
<FormDropDownTextField name="dataType" label="Data type" menu={createDataTypesMenu} {disabled} />
|
||||
<FormDropDownTextField name="dataType" label="{_t('tableEditor.dataType', { defaultMessage: 'Data type' })}" menu={createDataTypesMenu} {disabled} />
|
||||
|
||||
@@ -60,11 +60,11 @@
|
||||
|
||||
<FormProvider>
|
||||
<ModalBase {...$$restProps}>
|
||||
<svelte:fragment slot="header">{constraintInfo ? `Edit foreign key` : `Add foreign key`}</svelte:fragment>
|
||||
<svelte:fragment slot="header">{constraintInfo ? _t('foreignKeyEditor.editForeignKey', { defaultMessage: 'Edit foreign key' }) : _t('foreignKeyEditor.addForeignKey', { defaultMessage: 'Add foreign key' })}</svelte:fragment>
|
||||
|
||||
<div class="largeFormMarker">
|
||||
<div class="row">
|
||||
<div class="label col-3">Constraint name</div>
|
||||
<div class="label col-3">{_t('tableEditor.constraintName', { defaultMessage: 'Constraint name' })}</div>
|
||||
<div class="col-9">
|
||||
<TextField
|
||||
value={constraintName}
|
||||
@@ -76,7 +76,7 @@
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="label col-3">Referenced table</div>
|
||||
<div class="label col-3">{_t('foreignKeyEditor.referencedTable', { defaultMessage: 'Referenced table' })}</div>
|
||||
<div class="col-9">
|
||||
<SelectField
|
||||
value={fullNameToString({ pureName: refTableName, schemaName: refSchemaName })}
|
||||
@@ -99,7 +99,7 @@
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="label col-3">On update action</div>
|
||||
<div class="label col-3">{_t('foreignKeyEditor.onUpdateAction', { defaultMessage: 'On update action' })}</div>
|
||||
<div class="col-9">
|
||||
<SelectField
|
||||
value={updateAction}
|
||||
@@ -115,7 +115,7 @@
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="label col-3">On delete action</div>
|
||||
<div class="label col-3">{_t('foreignKeyEditor.onDeleteAction', { defaultMessage: 'On delete action' })}</div>
|
||||
<div class="col-9">
|
||||
<SelectField
|
||||
value={deleteAction}
|
||||
@@ -132,10 +132,10 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="col-5 mr-1">
|
||||
Base column - {tableInfo.pureName}
|
||||
{_t('foreignKeyEditor.baseColumn', { defaultMessage: 'Base column - ' })}{tableInfo.pureName}
|
||||
</div>
|
||||
<div class="col-5 ml-1">
|
||||
Ref column - {refTableName || '(table not set)'}
|
||||
{_t('foreignKeyEditor.refColumn', { defaultMessage: 'Ref column - ' })}{refTableName || _t('foreignKeyEditor.tableNotSet', { defaultMessage: '(table not set)' })}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -195,7 +195,7 @@
|
||||
|
||||
<FormStyledButton
|
||||
type="button"
|
||||
value="Add column"
|
||||
value={_t('foreignKeyEditor.addColumn', { defaultMessage: 'Add column' })}
|
||||
disabled={isReadOnly}
|
||||
on:click={() => {
|
||||
columns = [...columns, {}];
|
||||
@@ -217,12 +217,12 @@
|
||||
}}
|
||||
/>
|
||||
|
||||
<FormStyledButton type="button" value="Close" on:click={closeCurrentModal} />
|
||||
<FormStyledButton type="button" value={_t('common.close', { defaultMessage: 'Close' })} on:click={closeCurrentModal} />
|
||||
{#if constraintInfo}
|
||||
<FormStyledButton
|
||||
type="button"
|
||||
disabled={isReadOnly}
|
||||
value="Remove"
|
||||
value={_t('common.remove', { defaultMessage: 'Remove' })}
|
||||
on:click={() => {
|
||||
closeCurrentModal();
|
||||
setTableInfo(tbl => editorDeleteConstraint(tbl, constraintInfo));
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
import FormCheckboxField from '../forms/FormCheckboxField.svelte';
|
||||
import SelectField from '../forms/SelectField.svelte';
|
||||
import TextField from '../forms/TextField.svelte';
|
||||
import { _t } from '../translations';
|
||||
|
||||
import ColumnsConstraintEditorModal from './ColumnsConstraintEditorModal.svelte';
|
||||
|
||||
@@ -29,7 +30,7 @@
|
||||
{...$$restProps}
|
||||
constraintLabel="index"
|
||||
constraintType="index"
|
||||
constraintNameLabel="Index name"
|
||||
constraintNameLabel={_t('indexEditor.indexName', { defaultMessage: 'Index name' })}
|
||||
{constraintInfo}
|
||||
{setTableInfo}
|
||||
{tableInfo}
|
||||
@@ -61,15 +62,14 @@
|
||||
<svelte:fragment slot="constraintProps">
|
||||
<div class="largeFormMarker">
|
||||
<div class="row">
|
||||
<CheckboxField checked={isUnique} on:change={e => (isUnique = e.target.checked)} disabled={isReadOnly} /> Is unique
|
||||
index
|
||||
<CheckboxField checked={isUnique} on:change={e => (isUnique = e.target.checked)} disabled={isReadOnly} /> {_t('indexEditor.isUnique', { defaultMessage: 'Is unique index' })}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="largeFormMarker">
|
||||
{#if driver?.dialect?.filteredIndexes}
|
||||
<div class="row">
|
||||
<div class="label col-3">Filtered index condition</div>
|
||||
<div class="label col-3">{_t('indexEditor.filteredIndexCondition', { defaultMessage: 'Filtered index condition' })}</div>
|
||||
<div class="col-9">
|
||||
<TextField
|
||||
value={filterDefinition}
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
<script lang="ts">
|
||||
import ColumnsConstraintEditorModal from './ColumnsConstraintEditorModal.svelte';
|
||||
import { _t } from '../translations';
|
||||
|
||||
export let constraintInfo;
|
||||
export let setTableInfo;
|
||||
export let tableInfo;
|
||||
export let driver;
|
||||
|
||||
export let constraintLabel = 'primary key';
|
||||
export let constraintLabel = _t('tableEditor.primaryKey', { defaultMessage: 'primary key' });
|
||||
export let constraintType = 'primaryKey';
|
||||
</script>
|
||||
|
||||
|
||||
@@ -9,13 +9,14 @@
|
||||
import { showModal } from '../modals/modalTools';
|
||||
|
||||
import PrimaryKeyEditorModal from './PrimaryKeyEditorModal.svelte';
|
||||
import { _t } from '../translations';
|
||||
|
||||
export let tableInfo;
|
||||
export let setTableInfo;
|
||||
export let isWritable;
|
||||
export let driver;
|
||||
|
||||
export let constraintLabel = 'primary key';
|
||||
export let constraintLabel = _t('tableEditor.primaryKey', { defaultMessage: 'primary key' });
|
||||
export let constraintType = 'primaryKey';
|
||||
|
||||
$: columns = tableInfo?.columns;
|
||||
@@ -35,7 +36,12 @@
|
||||
<ObjectListControl
|
||||
collection={_.compact([keyConstraint])}
|
||||
title={_.startCase(constraintLabel)}
|
||||
emptyMessage={isWritable ? `No ${constraintLabel} defined` : null}
|
||||
emptyMessage={isWritable
|
||||
? _t('tableEditor.noConstraintDefined', {
|
||||
defaultMessage: 'No {constraintLabel} defined',
|
||||
values: { constraintLabel },
|
||||
})
|
||||
: null}
|
||||
onAddNew={isWritable && !keyConstraint && columns?.length > 0 ? addKeyConstraint : null}
|
||||
hideDisplayName={driver?.dialect?.anonymousPrimaryKey}
|
||||
clickable
|
||||
@@ -51,7 +57,7 @@
|
||||
columns={[
|
||||
{
|
||||
fieldName: 'columns',
|
||||
header: 'Columns',
|
||||
header: _t('tableEditor.columns', { defaultMessage: 'Columns' }),
|
||||
slot: 0,
|
||||
sortable: true,
|
||||
},
|
||||
@@ -70,7 +76,7 @@
|
||||
onClick={e => {
|
||||
e.stopPropagation();
|
||||
setTableInfo(tbl => editorDeleteConstraint(tbl, row));
|
||||
}}>Remove</Link
|
||||
}}>{_t('common.remove', { defaultMessage: 'Remove' })}</Link
|
||||
></svelte:fragment
|
||||
>
|
||||
</ObjectListControl>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
registerCommand({
|
||||
id: 'tableEditor.addColumn',
|
||||
category: 'Table editor',
|
||||
name: 'Add column',
|
||||
category: __t('tableEditor', { defaultMessage: 'Table editor'}),
|
||||
name: __t('tableEditor.addColumn', { defaultMessage: 'Add column'}),
|
||||
icon: 'icon add-column',
|
||||
toolbar: true,
|
||||
isRelatedToTab: true,
|
||||
@@ -14,8 +14,8 @@
|
||||
|
||||
registerCommand({
|
||||
id: 'tableEditor.addPrimaryKey',
|
||||
category: 'Table editor',
|
||||
name: 'Add primary key',
|
||||
category: __t('tableEditor', { defaultMessage: 'Table editor'}),
|
||||
name: __t('tableEditor.addPrimaryKey', { defaultMessage: 'Add primary key'}),
|
||||
icon: 'icon add-key',
|
||||
toolbar: true,
|
||||
isRelatedToTab: true,
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
registerCommand({
|
||||
id: 'tableEditor.addForeignKey',
|
||||
category: 'Table editor',
|
||||
name: 'Add foreign key',
|
||||
category: __t('tableEditor', { defaultMessage: 'Table editor'}),
|
||||
name: __t('tableEditor.addForeignKey', { defaultMessage: 'Add foreign key'}),
|
||||
icon: 'icon add-key',
|
||||
toolbar: true,
|
||||
isRelatedToTab: true,
|
||||
@@ -36,8 +36,8 @@
|
||||
|
||||
registerCommand({
|
||||
id: 'tableEditor.addIndex',
|
||||
category: 'Table editor',
|
||||
name: 'Add index',
|
||||
category: __t('tableEditor', { defaultMessage: 'Table editor'}),
|
||||
name: __t('tableEditor.addIndex', { defaultMessage: 'Add index'}),
|
||||
icon: 'icon add-key',
|
||||
toolbar: true,
|
||||
isRelatedToTab: true,
|
||||
@@ -47,8 +47,8 @@
|
||||
|
||||
registerCommand({
|
||||
id: 'tableEditor.addUnique',
|
||||
category: 'Table editor',
|
||||
name: 'Add unique',
|
||||
category: __t('tableEditor', { defaultMessage: 'Table editor'}),
|
||||
name: __t('tableEditor.addUnique', { defaultMessage: 'Add unique'}),
|
||||
icon: 'icon add-key',
|
||||
toolbar: true,
|
||||
isRelatedToTab: true,
|
||||
@@ -83,6 +83,7 @@
|
||||
import UniqueEditorModal from './UniqueEditorModal.svelte';
|
||||
import ObjectFieldsEditor from '../elements/ObjectFieldsEditor.svelte';
|
||||
import PrimaryKeyLikeListControl from './PrimaryKeyLikeListControl.svelte';
|
||||
import { __t, _t } from '../translations';
|
||||
|
||||
export const activator = createActivator('TableEditor', true);
|
||||
|
||||
@@ -171,9 +172,9 @@
|
||||
{#if tableInfo && (tableFormOptions || isCreateTable)}
|
||||
{#key resetCounter}
|
||||
<ObjectFieldsEditor
|
||||
title="Table properties"
|
||||
title={_t('tableEditor.tableproperties', { defaultMessage: 'Table properties' })}
|
||||
fieldDefinitions={tableFormOptions ?? []}
|
||||
pureNameTitle={isCreateTable ? 'Table name' : null}
|
||||
pureNameTitle={isCreateTable ? _t('tableEditor.tablename', { defaultMessage: 'Table name' }) : null}
|
||||
schemaList={isCreateTable && schemaList?.length >= 0 ? schemaList : null}
|
||||
values={_.pick(tableInfo, ['schemaName', 'pureName', ...(tableFormOptions ?? []).map(x => x.name)])}
|
||||
onChangeValues={vals => {
|
||||
@@ -187,15 +188,15 @@
|
||||
|
||||
<ObjectListControl
|
||||
collection={columns?.map((x, index) => ({ ...x, ordinal: index + 1 }))}
|
||||
title={`Columns (${columns?.length || 0})`}
|
||||
emptyMessage="No columns defined"
|
||||
title={_t('tableEditor.columns', { defaultMessage: 'Columns ({columnCount})', values: { columnCount: columns?.length || 0 } })}
|
||||
emptyMessage={_t('tableEditor.nocolumnsdefined', { defaultMessage: 'No columns defined' })}
|
||||
clickable
|
||||
on:clickrow={e => showModal(ColumnEditorModal, { columnInfo: e.detail, tableInfo, setTableInfo, driver })}
|
||||
onAddNew={isWritable ? addColumn : null}
|
||||
displayNameFieldName="columnName"
|
||||
multipleItemsActions={[
|
||||
{
|
||||
text: 'Remove',
|
||||
text: _t('tableEditor.remove', { defaultMessage: 'Remove' }),
|
||||
icon: 'icon delete',
|
||||
onClick: selected => {
|
||||
setTableInfo(tbl => {
|
||||
@@ -205,7 +206,7 @@
|
||||
},
|
||||
},
|
||||
{
|
||||
text: 'Copy names',
|
||||
text: _t('tableEditor.copynames', { defaultMessage: 'Copy names' }),
|
||||
icon: 'icon copy',
|
||||
onClick: selected => {
|
||||
const names = selected.map(x => x.columnName).join('\n');
|
||||
@@ -213,7 +214,7 @@
|
||||
},
|
||||
},
|
||||
{
|
||||
text: 'Copy definitions',
|
||||
text: _t('tableEditor.copydefinitions', { defaultMessage: 'Copy definitions' }),
|
||||
icon: 'icon copy',
|
||||
onClick: selected => {
|
||||
const names = selected
|
||||
@@ -226,55 +227,55 @@
|
||||
columns={[
|
||||
!driver?.dialect?.specificNullabilityImplementation && {
|
||||
fieldName: 'notNull',
|
||||
header: 'Nullability',
|
||||
header: _t('tableEditor.nullability', { defaultMessage: 'Nullability' }),
|
||||
sortable: true,
|
||||
slot: 0,
|
||||
},
|
||||
{
|
||||
fieldName: 'dataType',
|
||||
header: 'Data Type',
|
||||
header: _t('tableEditor.dataType', { defaultMessage: 'Data type' }),
|
||||
sortable: true,
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
fieldName: 'defaultValue',
|
||||
header: 'Default value',
|
||||
header: _t('tableEditor.defaultValue', { defaultMessage: 'Default value' }),
|
||||
sortable: true,
|
||||
filterable: true,
|
||||
},
|
||||
driver?.dialect?.columnProperties?.isSparse && {
|
||||
fieldName: 'isSparse',
|
||||
header: 'Is Sparse',
|
||||
header: _t('tableEditor.isSparse', { defaultMessage: 'Is Sparse' }),
|
||||
sortable: true,
|
||||
slot: 1,
|
||||
},
|
||||
{
|
||||
fieldName: 'computedExpression',
|
||||
header: 'Computed Expression',
|
||||
header: _t('tableEditor.computedExpression', { defaultMessage: 'Computed Expression' }),
|
||||
sortable: true,
|
||||
filterable: true,
|
||||
},
|
||||
driver?.dialect?.columnProperties?.isPersisted && {
|
||||
fieldName: 'isPersisted',
|
||||
header: 'Is Persisted',
|
||||
header: _t('tableEditor.isPersisted', { defaultMessage: 'Is Persisted' }),
|
||||
sortable: true,
|
||||
slot: 2,
|
||||
},
|
||||
driver?.dialect?.columnProperties?.isUnsigned && {
|
||||
fieldName: 'isUnsigned',
|
||||
header: 'Unsigned',
|
||||
header: _t('tableEditor.isUnsigned', { defaultMessage: 'Unsigned' }),
|
||||
sortable: true,
|
||||
slot: 4,
|
||||
},
|
||||
driver?.dialect?.columnProperties?.isZerofill && {
|
||||
fieldName: 'isZerofill',
|
||||
header: 'Zero fill',
|
||||
header: _t('tableEditor.isZeroFill', { defaultMessage: 'Zero fill' }),
|
||||
sortable: true,
|
||||
slot: 5,
|
||||
},
|
||||
driver?.dialect?.columnProperties?.columnComment && {
|
||||
fieldName: 'columnComment',
|
||||
header: 'Comment',
|
||||
header: _t('tableEditor.columnComment', { defaultMessage: 'Comment' }),
|
||||
sortable: true,
|
||||
filterable: true,
|
||||
},
|
||||
@@ -287,19 +288,19 @@
|
||||
: null,
|
||||
]}
|
||||
>
|
||||
<svelte:fragment slot="0" let:row>{row?.notNull ? 'NOT NULL' : 'NULL'}</svelte:fragment>
|
||||
<svelte:fragment slot="1" let:row>{row?.isSparse ? 'YES' : 'NO'}</svelte:fragment>
|
||||
<svelte:fragment slot="2" let:row>{row?.isPersisted ? 'YES' : 'NO'}</svelte:fragment>
|
||||
<svelte:fragment slot="0" let:row>{row?.notNull ? _t('tableEditor.notnull', { defaultMessage: 'NOT NULL' }) : _t('tableEditor.null', { defaultMessage: 'NULL' })}</svelte:fragment>
|
||||
<svelte:fragment slot="1" let:row>{row?.isSparse ? _t('tableEditor.yes', { defaultMessage: 'YES' }) : _t('tableEditor.no', { defaultMessage: 'NO' })}</svelte:fragment>
|
||||
<svelte:fragment slot="2" let:row>{row?.isPersisted ? _t('tableEditor.yes', { defaultMessage: 'YES' }) : _t('tableEditor.no', { defaultMessage: 'NO' })}</svelte:fragment>
|
||||
<svelte:fragment slot="3" let:row
|
||||
><Link
|
||||
onClick={e => {
|
||||
e.stopPropagation();
|
||||
setTableInfo(tbl => editorDeleteColumn(tbl, row));
|
||||
}}>Remove</Link
|
||||
}}>{_t('tableEditor.remove', { defaultMessage: 'Remove' })}</Link
|
||||
></svelte:fragment
|
||||
>
|
||||
<svelte:fragment slot="4" let:row>{row?.isUnsigned ? 'YES' : 'NO'}</svelte:fragment>
|
||||
<svelte:fragment slot="5" let:row>{row?.isZerofill ? 'YES' : 'NO'}</svelte:fragment>
|
||||
<svelte:fragment slot="4" let:row>{row?.isUnsigned ? _t('tableEditor.yes', { defaultMessage: 'YES' }) : _t('tableEditor.no', { defaultMessage: 'NO' })}</svelte:fragment>
|
||||
<svelte:fragment slot="5" let:row>{row?.isZerofill ? _t('tableEditor.yes', { defaultMessage: 'YES' }) : _t('tableEditor.no', { defaultMessage: 'NO' })}</svelte:fragment>
|
||||
<svelte:fragment slot="name" let:row><ColumnLabel {...row} forceIcon /></svelte:fragment>
|
||||
</ObjectListControl>
|
||||
|
||||
@@ -320,20 +321,20 @@
|
||||
<ObjectListControl
|
||||
collection={indexes}
|
||||
onAddNew={isWritable && columns?.length > 0 ? addIndex : null}
|
||||
title={`Indexes (${indexes?.length || 0})`}
|
||||
emptyMessage={isWritable ? 'No index defined' : null}
|
||||
title={_t('tableEditor.indexes', { defaultMessage: 'Indexes ({indexCount})', values: { indexCount: indexes?.length || 0 } })}
|
||||
emptyMessage={isWritable ? _t('tableEditor.noindexdefined', { defaultMessage: 'No index defined' }) : null}
|
||||
clickable
|
||||
on:clickrow={e => showModal(IndexEditorModal, { constraintInfo: e.detail, tableInfo, setTableInfo, driver })}
|
||||
columns={[
|
||||
{
|
||||
fieldName: 'columns',
|
||||
header: 'Columns',
|
||||
header: _t('tableEditor.columns', { defaultMessage: 'Columns' }),
|
||||
slot: 0,
|
||||
sortable: true,
|
||||
},
|
||||
{
|
||||
fieldName: 'unique',
|
||||
header: 'Unique',
|
||||
header: _t('tableEditor.unique', { defaultMessage: 'Unique' }),
|
||||
slot: 1,
|
||||
sortable: true,
|
||||
},
|
||||
@@ -347,13 +348,13 @@
|
||||
>
|
||||
<svelte:fragment slot="name" let:row><ConstraintLabel {...row} /></svelte:fragment>
|
||||
<svelte:fragment slot="0" let:row>{row?.columns.map(x => x.columnName).join(', ')}</svelte:fragment>
|
||||
<svelte:fragment slot="1" let:row>{row?.isUnique ? 'YES' : 'NO'}</svelte:fragment>
|
||||
<svelte:fragment slot="1" let:row>{row?.isUnique ? _t('tableEditor.yes', { defaultMessage: 'YES' }) : _t('tableEditor.no', { defaultMessage: 'NO' })}</svelte:fragment>
|
||||
<svelte:fragment slot="2" let:row
|
||||
><Link
|
||||
onClick={e => {
|
||||
e.stopPropagation();
|
||||
setTableInfo(tbl => editorDeleteConstraint(tbl, row));
|
||||
}}>Remove</Link
|
||||
}}>{_t('common.remove', { defaultMessage: 'Remove' })}</Link
|
||||
></svelte:fragment
|
||||
>
|
||||
</ObjectListControl>
|
||||
@@ -363,14 +364,14 @@
|
||||
<ObjectListControl
|
||||
collection={uniques}
|
||||
onAddNew={isWritable && columns?.length > 0 ? addUnique : null}
|
||||
title={`Unique constraints (${uniques?.length || 0})`}
|
||||
emptyMessage={isWritable ? 'No unique defined' : null}
|
||||
title={_t('tableEditor.uniqueConstraints', { defaultMessage: 'Unique constraints ({constraintCount})', values: { constraintCount: uniques?.length || 0 } })}
|
||||
emptyMessage={isWritable ? _t('tableEditor.nouniquedefined', { defaultMessage: 'No unique defined' }) : null}
|
||||
clickable
|
||||
on:clickrow={e => showModal(UniqueEditorModal, { constraintInfo: e.detail, tableInfo, setTableInfo })}
|
||||
columns={[
|
||||
{
|
||||
fieldName: 'columns',
|
||||
header: 'Columns',
|
||||
header: _t('tableEditor.columns', { defaultMessage: 'Columns' }),
|
||||
slot: 0,
|
||||
sortable: true,
|
||||
},
|
||||
@@ -390,7 +391,7 @@
|
||||
onClick={e => {
|
||||
e.stopPropagation();
|
||||
setTableInfo(tbl => editorDeleteConstraint(tbl, row));
|
||||
}}>Remove</Link
|
||||
}}>{_t('common.remove', { defaultMessage: 'Remove' })}</Link
|
||||
></svelte:fragment
|
||||
>
|
||||
</ObjectListControl>
|
||||
@@ -400,13 +401,13 @@
|
||||
<ForeignKeyObjectListControl
|
||||
collection={foreignKeys}
|
||||
onAddNew={isWritable && columns?.length > 0 ? addForeignKey : null}
|
||||
title={`Foreign keys (${foreignKeys?.length || 0})`}
|
||||
emptyMessage={isWritable ? 'No foreign key defined' : null}
|
||||
title={_t('tableEditor.foreignKeys', { defaultMessage: 'Foreign keys ({foreignKeyCount})', values: { foreignKeyCount: foreignKeys?.length || 0 } })}
|
||||
emptyMessage={isWritable ? _t('tableEditor.noforeignkeydefined', { defaultMessage: 'No foreign key defined' }) : null}
|
||||
clickable
|
||||
onRemove={row => setTableInfo(tbl => editorDeleteConstraint(tbl, row))}
|
||||
on:clickrow={e => showModal(ForeignKeyEditorModal, { constraintInfo: e.detail, tableInfo, setTableInfo, dbInfo })}
|
||||
/>
|
||||
<ForeignKeyObjectListControl collection={dependencies} title="Dependencies" />
|
||||
<ForeignKeyObjectListControl collection={dependencies} title={_t('tableEditor.dependencies', { defaultMessage: 'Dependencies' })} />
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<script lang="ts">
|
||||
import ColumnsConstraintEditorModal from './ColumnsConstraintEditorModal.svelte';
|
||||
import { _t } from '../translations';
|
||||
|
||||
export let constraintInfo;
|
||||
export let setTableInfo;
|
||||
@@ -9,7 +10,7 @@
|
||||
|
||||
<ColumnsConstraintEditorModal
|
||||
{...$$restProps}
|
||||
constraintLabel="unique"
|
||||
constraintLabel={_t('tableEdit.unique', { defaultMessage: "unique" })}
|
||||
constraintType="unique"
|
||||
{constraintInfo}
|
||||
{setTableInfo}
|
||||
|
||||
@@ -300,7 +300,7 @@
|
||||
contentTestId="ConnectionTab_tabControlContent"
|
||||
tabs={[
|
||||
{
|
||||
label: 'General',
|
||||
label: _t('common.general', { defaultMessage: 'General' }),
|
||||
component: ConnectionDriverFields,
|
||||
props: { getDatabaseList, currentConnection },
|
||||
testid: 'ConnectionTab_tabGeneral',
|
||||
@@ -316,7 +316,7 @@
|
||||
testid: 'ConnectionTab_tabSsl',
|
||||
},
|
||||
{
|
||||
label: 'Advanced',
|
||||
label: _t('common.advanced', { defaultMessage: 'Advanced' }),
|
||||
component: ConnectionAdvancedDriverFields,
|
||||
testid: 'ConnectionTab_tabAdvanced',
|
||||
},
|
||||
@@ -383,7 +383,7 @@
|
||||
{/if}
|
||||
{#if isTesting}
|
||||
<div>
|
||||
<FontIcon icon="icon loading" /> Testing connection
|
||||
<FontIcon icon="icon loading" /> {_t('common.testingConnection', { defaultMessage: 'Testing connection' })}
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
@@ -2,21 +2,22 @@
|
||||
import registerCommand from '../commands/registerCommand';
|
||||
import { copyTextToClipboard } from '../utility/clipboard';
|
||||
import yaml from 'js-yaml';
|
||||
import { __t, _t } from '../translations';
|
||||
|
||||
const getCurrentEditor = () => getActiveComponent('QueryTab');
|
||||
|
||||
registerCommand({
|
||||
id: 'query.formatCode',
|
||||
category: 'Query',
|
||||
name: 'Format code',
|
||||
category: __t('command.query', { defaultMessage: 'Query' }),
|
||||
name: __t('command.query.formatCode', { defaultMessage: 'Format code' }),
|
||||
keyText: 'Shift+Alt+F',
|
||||
testEnabled: () => getCurrentEditor()?.isSqlEditor(),
|
||||
onClick: () => getCurrentEditor().formatCode(),
|
||||
});
|
||||
registerCommand({
|
||||
id: 'query.switchAiAssistant',
|
||||
category: 'Query',
|
||||
name: 'AI Assistant',
|
||||
category: __t('command.query', { defaultMessage: 'Query' }),
|
||||
name: __t('command.query.AiAssistant', { defaultMessage: 'AI Assistant' }),
|
||||
keyText: 'Shift+Alt+A',
|
||||
icon: 'icon ai',
|
||||
testEnabled: () => isProApp(),
|
||||
@@ -24,23 +25,23 @@
|
||||
});
|
||||
registerCommand({
|
||||
id: 'query.insertSqlJoin',
|
||||
category: 'Query',
|
||||
name: 'Insert SQL Join',
|
||||
category: __t('command.query', { defaultMessage: 'Query' }),
|
||||
name: __t('command.query.insertSqlJoin', { defaultMessage: 'Insert SQL Join' }),
|
||||
keyText: 'CtrlOrCommand+J',
|
||||
testEnabled: () => getCurrentEditor()?.isSqlEditor(),
|
||||
onClick: () => getCurrentEditor().insertSqlJoin(),
|
||||
});
|
||||
registerCommand({
|
||||
id: 'query.toggleVisibleResultTabs',
|
||||
category: 'Query',
|
||||
name: 'Toggle visible result tabs',
|
||||
category: __t('command.query', { defaultMessage: 'Query' }),
|
||||
name: __t('command.query.toggleVisibleResultTabs', { defaultMessage: 'Toggle visible result tabs' }),
|
||||
keyText: 'CtrlOrCommand+Shift+R',
|
||||
testEnabled: () => !!getCurrentEditor(),
|
||||
onClick: () => getCurrentEditor().toggleVisibleResultTabs(),
|
||||
});
|
||||
registerFileCommands({
|
||||
idPrefix: 'query',
|
||||
category: 'Query',
|
||||
category: __t('command.query', { defaultMessage: 'Query' }),
|
||||
getCurrentEditor,
|
||||
folder: 'sql',
|
||||
format: 'text',
|
||||
@@ -54,8 +55,8 @@
|
||||
});
|
||||
registerCommand({
|
||||
id: 'query.executeCurrent',
|
||||
category: 'Query',
|
||||
name: 'Execute current',
|
||||
category: __t('command.query', { defaultMessage: 'Query' }),
|
||||
name: __t('command.query.executeCurrent', { defaultMessage: 'Execute current' }),
|
||||
keyText: 'CtrlOrCommand+Shift+Enter',
|
||||
testEnabled: () =>
|
||||
getCurrentEditor() != null && !getCurrentEditor()?.isBusy() && getCurrentEditor()?.hasConnection(),
|
||||
@@ -63,56 +64,56 @@
|
||||
});
|
||||
registerCommand({
|
||||
id: 'query.toggleAutoExecute',
|
||||
category: 'Query',
|
||||
name: 'Toggle auto execute',
|
||||
category: __t('command.query', { defaultMessage: 'Query' }),
|
||||
name: __t('command.query.toggleAutoExecute', { defaultMessage: 'Toggle auto execute' }),
|
||||
testEnabled: () => getCurrentEditor() != null,
|
||||
onClick: () => getCurrentEditor().toggleAutoExecute(),
|
||||
});
|
||||
registerCommand({
|
||||
id: 'query.toggleFixedConnection',
|
||||
category: 'Query',
|
||||
name: 'Toggle fixed connection',
|
||||
category: __t('command.query', { defaultMessage: 'Query' }),
|
||||
name: __t('command.query.toggleFixedConnection', { defaultMessage: 'Toggle fixed connection' }),
|
||||
testEnabled: () => getCurrentEditor() != null,
|
||||
onClick: () => getCurrentEditor().toggleFixedConnection(),
|
||||
});
|
||||
registerCommand({
|
||||
id: 'query.beginTransaction',
|
||||
category: 'Query',
|
||||
name: 'Begin transaction',
|
||||
category: __t('command.query', { defaultMessage: 'Query' }),
|
||||
name: __t('command.query.beginTransaction', { defaultMessage: 'Begin transaction' }),
|
||||
icon: 'icon transaction',
|
||||
testEnabled: () => getCurrentEditor()?.beginTransactionEnabled(),
|
||||
onClick: () => getCurrentEditor().beginTransaction(),
|
||||
});
|
||||
registerCommand({
|
||||
id: 'query.autocommitOffSwitch',
|
||||
category: 'Query',
|
||||
name: 'Auto commit: OFF',
|
||||
category: __t('command.query', { defaultMessage: 'Query' }),
|
||||
name: __t('command.query.autocommitOffSwitch', { defaultMessage: 'Auto commit: OFF' }),
|
||||
icon: 'icon autocommit-off',
|
||||
testEnabled: () => getCurrentEditor()?.autocommitOffSwitchEnabled(),
|
||||
onClick: () => getCurrentEditor().autocommitOffSwitch(),
|
||||
});
|
||||
registerCommand({
|
||||
id: 'query.autocommitOnSwitch',
|
||||
category: 'Query',
|
||||
name: 'Auto commit: ON',
|
||||
category: __t('command.query', { defaultMessage: 'Query' }),
|
||||
name: __t('command.query.autocommitOnSwitch', { defaultMessage: 'Auto commit: ON' }),
|
||||
icon: 'icon autocommit-on',
|
||||
testEnabled: () => getCurrentEditor()?.autocommitOnSwitchEnabled(),
|
||||
onClick: () => getCurrentEditor().autocommitOnSwitch(),
|
||||
});
|
||||
registerCommand({
|
||||
id: 'query.commitTransaction',
|
||||
category: 'Query',
|
||||
name: 'Commit transaction',
|
||||
toolbarName: 'Commit',
|
||||
category: __t('command.query', { defaultMessage: 'Query' }),
|
||||
name: __t('command.query.commitTransaction', { defaultMessage: 'Commit transaction' }),
|
||||
toolbarName: __t('command.query.commitTransactionToolbar', { defaultMessage: 'Commit' }),
|
||||
icon: 'icon commit',
|
||||
testEnabled: () => getCurrentEditor()?.endTransactionEnabled(),
|
||||
onClick: () => getCurrentEditor().commitTransaction(),
|
||||
});
|
||||
registerCommand({
|
||||
id: 'query.rollbackTransaction',
|
||||
category: 'Query',
|
||||
name: 'Rollback transaction',
|
||||
toolbarName: 'Rollback',
|
||||
category: __t('command.query', { defaultMessage: 'Query' }),
|
||||
name: __t('command.query.rollbackTransaction', { defaultMessage: 'Rollback transaction' }),
|
||||
toolbarName: __t('command.query.rollbackTransactionToolbar', { defaultMessage: 'Rollback' }),
|
||||
icon: 'icon rollback',
|
||||
testEnabled: () => getCurrentEditor()?.endTransactionEnabled(),
|
||||
onClick: () => getCurrentEditor().rollbackTransaction(),
|
||||
@@ -177,27 +178,27 @@
|
||||
const QUERY_PARAMETER_STYLES = [
|
||||
{
|
||||
value: '',
|
||||
text: '(no parameters)',
|
||||
text: _t('query.noParameters', { defaultMessage: '(no parameters)' }),
|
||||
},
|
||||
{
|
||||
value: '?',
|
||||
text: '? (positional)',
|
||||
text: _t('query.positional', { defaultMessage: '? (positional)' }),
|
||||
},
|
||||
{
|
||||
value: '@',
|
||||
text: '@variable',
|
||||
text: _t('query.variable', { defaultMessage: '@variable' }),
|
||||
},
|
||||
{
|
||||
value: ':',
|
||||
text: ':variable',
|
||||
text: _t('query.named', { defaultMessage: ':variable' }),
|
||||
},
|
||||
{
|
||||
value: '$',
|
||||
text: '$variable',
|
||||
text: _t('query.variable', { defaultMessage: '$variable' }),
|
||||
},
|
||||
{
|
||||
value: '#',
|
||||
text: '#variable',
|
||||
text: _t('query.variable', { defaultMessage: '#variable' }),
|
||||
},
|
||||
];
|
||||
|
||||
@@ -818,11 +819,11 @@
|
||||
},
|
||||
})}
|
||||
>
|
||||
{queryRowsLimit ? `Limit ${queryRowsLimit} rows` : 'Unlimited rows'}</ToolStripButton
|
||||
{queryRowsLimit ? _t('query.limitRows', { defaultMessage: 'Limit {queryRowsLimit} rows', values: { queryRowsLimit } }) : _t('query.unlimitedRows', { defaultMessage: 'Unlimited rows' })}</ToolStripButton
|
||||
>
|
||||
{/if}
|
||||
{#if resultCount == 1}
|
||||
<ToolStripExportButton command="jslTableGrid.export" {quickExportHandlerRef} label="Export result" />
|
||||
<ToolStripExportButton command="jslTableGrid.export" {quickExportHandlerRef} label={_t('export.result', { defaultMessage: 'Export result' })} />
|
||||
{/if}
|
||||
<ToolStripDropDownButton
|
||||
menu={() =>
|
||||
@@ -872,7 +873,7 @@
|
||||
domResultTabs?.openCurrentChart();
|
||||
}}
|
||||
>
|
||||
Open chart</ToolStripButton
|
||||
{_t('chart.open', { defaultMessage: 'Open chart' })}</ToolStripButton
|
||||
>
|
||||
{/if}
|
||||
{#if isProApp() && !visibleResultTabs && hasPermission('dbops/charts')}
|
||||
@@ -883,7 +884,7 @@
|
||||
autoDetectCharts = !autoDetectCharts;
|
||||
}}
|
||||
>
|
||||
Detect chart<FontIcon
|
||||
{_t('chart.detect', { defaultMessage: 'Detect chart' })}<FontIcon
|
||||
icon={autoDetectCharts ? 'icon checkbox-marked' : 'icon checkbox-blank'}
|
||||
padLeft
|
||||
/></ToolStripButton
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
registerCommand({
|
||||
id: 'tableStructure.save',
|
||||
group: 'save',
|
||||
category: 'Table editor',
|
||||
name: 'Save',
|
||||
category: __t('command.tableEditor', { defaultMessage: 'Table editor' }),
|
||||
name: __t('command.tableEditor.save', { defaultMessage: 'Save' }),
|
||||
toolbar: true,
|
||||
isRelatedToTab: true,
|
||||
icon: 'icon save',
|
||||
@@ -17,8 +17,8 @@
|
||||
|
||||
registerCommand({
|
||||
id: 'tableStructure.reset',
|
||||
category: 'Table editor',
|
||||
name: 'Reset changes',
|
||||
category: __t('command.tableEditor', { defaultMessage: 'Table editor' }),
|
||||
name: __t('command.tableEditor.reset', { defaultMessage: 'Reset changes' }),
|
||||
toolbar: true,
|
||||
isRelatedToTab: true,
|
||||
icon: 'icon close',
|
||||
@@ -57,6 +57,7 @@
|
||||
import hasPermission from '../utility/hasPermission';
|
||||
import { changeTab, markTabSaved, markTabUnsaved } from '../utility/common';
|
||||
import { getBoolSettingsValue } from '../settings/settingsTools';
|
||||
import { _t, __t } from '../translations';
|
||||
|
||||
export let tabid;
|
||||
export let conid;
|
||||
@@ -197,7 +198,7 @@
|
||||
defaultActionId: 'openTable',
|
||||
},
|
||||
});
|
||||
}}>Data</ToolStripButton
|
||||
}}>{_t('common.data', { defaultMessage: 'Data' })}</ToolStripButton
|
||||
>
|
||||
|
||||
<ToolStripButton
|
||||
@@ -230,7 +231,7 @@
|
||||
|
||||
<ToolStripCommandButton
|
||||
command="tableStructure.save"
|
||||
buttonLabel={$editorValue?.base ? 'Alter table' : 'Create table'}
|
||||
buttonLabel={$editorValue?.base ? _t('tableStructure.alter', { defaultMessage: 'Alter table' }) : _t('tableStructure.create', { defaultMessage: 'Create table' })}
|
||||
/>
|
||||
<ToolStripCommandButton command="tableStructure.reset" />
|
||||
<ToolStripCommandButton command="tableEditor.addColumn" />
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
? (schemaList?.map(x => ({ label: x.schemaName, value: x.schemaName })) ?? [])
|
||||
: [
|
||||
{
|
||||
label: _t('schema.all_schemas', {
|
||||
label: _t('schema.allSchemas', {
|
||||
defaultMessage: 'All schemas ({count})',
|
||||
values: { count: objectList?.length ?? 0 },
|
||||
}),
|
||||
|
||||
@@ -193,7 +193,7 @@
|
||||
|
||||
<WidgetsInnerContainer hideContent={differentFocusedDb}>
|
||||
<ErrorInfo
|
||||
message={_t('sqlObject.databaseEmpty', { defaultMessage: `Database ${database} is empty or structure is not loaded, press Refresh button to reload structure` })}
|
||||
message={_t('sqlObject.databaseEmpty', { defaultMessage: 'Database {database} is empty or structure is not loaded, press Refresh button to reload structure', values: { database } })}
|
||||
icon="img alert"
|
||||
/>
|
||||
<div class="m-1" />
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
{
|
||||
"app.databaseName": "Název databáze",
|
||||
"app.loading_plugin": "Načítám plugin {plugin} ...",
|
||||
"app.preparingPlugins": "Příprava pluginů...",
|
||||
"app.starting": "Spouštění DbGate",
|
||||
"authToken": "Auth token",
|
||||
"chart.detect": "Rozpoznat graf",
|
||||
"chart.open": "Otevřít graf",
|
||||
"clipboard.SQLInsert": "SQL INSERT příkazy",
|
||||
"clipboard.SQLUpdate": "SQL UPDATE příkazy",
|
||||
"clipboard.copyCSV": "Kopírovat jako CSV",
|
||||
@@ -27,6 +30,20 @@
|
||||
"column.renameColumn": "Přejmenovat sloupec",
|
||||
"column.search": "Hledat sloupce",
|
||||
"column.variable": "Proměnné sloupce (jako MongoDB)",
|
||||
"columnEditor.addColumn": "Přidat sloupec {columnNumber}",
|
||||
"columnEditor.autoIncrement": "Autoinkrementace",
|
||||
"columnEditor.columnComment": "Komentář",
|
||||
"columnEditor.columnName": "Název sloupce",
|
||||
"columnEditor.computedExpression": "Vypočítaný výraz",
|
||||
"columnEditor.defaultValue": "Výchozí hodnota. Použijte platný SQL výraz, např. 'Hello World' pro řetězec, '' pro prázdný řetězec",
|
||||
"columnEditor.editColumn": "Upravit sloupec",
|
||||
"columnEditor.isPrimaryKey": "Je primární klíč",
|
||||
"columnEditor.isSparse": "Řídký",
|
||||
"columnEditor.isUnsigned": "Bez znaménka",
|
||||
"columnEditor.isZerofill": "Doplňování nul",
|
||||
"columnsConstraintEditor.addNewColumn": "Přidat nový sloupec",
|
||||
"columnsConstraintEditor.chooseColumn": "Vybrat sloupec",
|
||||
"columnsConstraintEditor.selectColumn": "Vybrat sloupec",
|
||||
"command.datagrid": "Datová mřížka",
|
||||
"command.datagrid.addJsonDocument": "Přidat JSON dokument",
|
||||
"command.datagrid.addNewColumn": "Přidat nový sloupec",
|
||||
@@ -77,8 +94,26 @@
|
||||
"command.new.duckdbDatabase": "Nová DuckDB databáze",
|
||||
"command.new.sqliteDatabase": "Nová SQLite databáze",
|
||||
"command.openQuery": "Otevřít dotaz",
|
||||
"command.query": "Dotaz",
|
||||
"command.query.AiAssistant": "AI Asistent",
|
||||
"command.query.autocommitOffSwitch": "Automatické potvrzování: VYPNUTO",
|
||||
"command.query.autocommitOnSwitch": "Automatické potvrzování: ZAPNUTO",
|
||||
"command.query.beginTransaction": "Začít transakci",
|
||||
"command.query.commitTransaction": "Potvrdit transakci",
|
||||
"command.query.commitTransactionToolbar": "Potvrdit",
|
||||
"command.query.executeCurrent": "Spustit aktuální",
|
||||
"command.query.formatCode": "Formátovat kód",
|
||||
"command.query.insertSqlJoin": "Vložit SQL Join",
|
||||
"command.query.rollbackTransaction": "Vrátit transakci",
|
||||
"command.query.rollbackTransactionToolbar": "Vrátit",
|
||||
"command.query.toggleAutoExecute": "Přepnout automatické spuštění",
|
||||
"command.query.toggleFixedConnection": "Přepnout pevné připojení",
|
||||
"command.query.toggleVisibleResultTabs": "Přepnout zobrazení záložek výsledků",
|
||||
"command.tableData": "Data tabulky",
|
||||
"command.tableData.save": "Uložit",
|
||||
"command.tableEditor": "Editor tabulek",
|
||||
"command.tableEditor.reset": "Resetovat změny",
|
||||
"command.tableEditor.save": "Uložit",
|
||||
"command.tabs.addToFavorites": "Přidat aktuální kartu do oblíbených",
|
||||
"command.tabs.closeAll": "Zavřít všechny karty",
|
||||
"command.tabs.closeTab": "Zavřít kartu",
|
||||
@@ -87,25 +122,32 @@
|
||||
"command.tabs.nextTab": "Další karta",
|
||||
"command.tabs.previousTab": "Předchozí karta",
|
||||
"command.tabs.reopenClosedTab": "Znovu otevřít zavřenou kartu",
|
||||
"common.addNew": "Přidat nový",
|
||||
"common.advanced": "Pokročilé",
|
||||
"common.archive": "Archivovat (JSONL)",
|
||||
"common.cancel": "Zrušit",
|
||||
"common.close": "Zavřít",
|
||||
"common.column": "Sloupec",
|
||||
"common.compare": "Porovnat databáze",
|
||||
"common.connection": "Připojení",
|
||||
"common.connectionOnCloud": "Připojení na cloudu",
|
||||
"common.connections": "Připojení",
|
||||
"common.createNew": "Vytvořit",
|
||||
"common.data": "Data",
|
||||
"common.database": "Databáze",
|
||||
"common.databaseChat": "Databázový chat",
|
||||
"common.datagrid.deepRefresh": "Obnovit se strukturou",
|
||||
"common.delete": "Smazat",
|
||||
"common.description": "Popis",
|
||||
"common.erDiagram": "ER Diagram",
|
||||
"common.execute": "Spustit",
|
||||
"common.export": "Export",
|
||||
"common.exportDatabase": "Exportovat databázi",
|
||||
"common.featurePremium": "Tato funkce je k dispozici pouze v DbGate Premium",
|
||||
"common.general": "Obecné",
|
||||
"common.import": "Import",
|
||||
"common.kill": "Ukončit",
|
||||
"common.name": "Název",
|
||||
"common.notSelectedOptional": "(nezvoleno - volitelné)",
|
||||
"common.parameters": "Parametry",
|
||||
"common.perspective": "Perspektiva",
|
||||
@@ -113,19 +155,25 @@
|
||||
"common.queryDesigner": "Návrhář dotazů",
|
||||
"common.queryEditor": "Editor SQL dotazů",
|
||||
"common.refresh": "Obnovit",
|
||||
"common.remove": "Odstranit",
|
||||
"common.save": "Uložit",
|
||||
"common.saveAndNext": "Uložit a další",
|
||||
"common.saveToArchive": "Uložit do archívu",
|
||||
"common.schema": "Schéma",
|
||||
"common.searchBy": "Hledat podle:",
|
||||
"common.sqlGenerator": "SQL Generátor",
|
||||
"common.table": "Tabulka",
|
||||
"common.testingConnection": "Testování připojení",
|
||||
"connection.accessKeyId": "ID přístupového klíče",
|
||||
"connection.allowedDatabases": "Povolené databáze, jedna na řádek",
|
||||
"connection.allowedDatabasesRegex": "Regulární výraz pro povolené databáze",
|
||||
"connection.askPassword": "Neukládat, ptát se na heslo",
|
||||
"connection.askUser": "Neukládat, ptát se na přihlašovací jméno a heslo",
|
||||
"connection.authentication": "Autentizace",
|
||||
"connection.autoDetectNatMap": "Automatická detekce NAT mapy (použijte pro Redis Cluster v Docker síti)",
|
||||
"connection.chooseType": "Vyberte typ",
|
||||
"connection.clientLibraryPath": "Cesta ke klientské knihovně",
|
||||
"connection.closeConfirm": "Uzavření připojení uzavře {count} otevřených karet, pokračovat?",
|
||||
"connection.clusterNodes": "Uzly clusteru",
|
||||
"connection.color": "Barva",
|
||||
"connection.connect": "Připojit",
|
||||
@@ -140,6 +188,7 @@
|
||||
"connection.databaseUrl": "URL databáze",
|
||||
"connection.defaultDatabase": "Výchozí databáze",
|
||||
"connection.delete": "Odstranit",
|
||||
"connection.deleteConfirm": "Opravdu smazat připojení {name}?",
|
||||
"connection.disconnect": "Odpojit",
|
||||
"connection.displayName": "Zobrazený název",
|
||||
"connection.dockerWarning": "V Dockeru localhost a 127.0.0.1 nefungují, použijte místo toho dockerhost",
|
||||
@@ -147,6 +196,7 @@
|
||||
"connection.edit": "Upravit",
|
||||
"connection.endpointKey": "Klíč",
|
||||
"connection.engine": "Typ databáze",
|
||||
"connection.engineDriverNotFound": "Ovladač databáze {engine} nebyl nalezen, zkontrolujte nainstalované pluginy a změňte typ databáze v dialogu úpravy připojení",
|
||||
"connection.fillDetails": "Vyplňte detaily připojení k databázi",
|
||||
"connection.isReadOnly": "Je pouze pro čtení",
|
||||
"connection.keySeparator": "Oddělovač klíčů",
|
||||
@@ -167,6 +217,7 @@
|
||||
"connection.server": "Server",
|
||||
"connection.serverSummary": "Shrnutí serveru",
|
||||
"connection.serviceName": "Název služby",
|
||||
"connection.singleDatabase": "Používat pouze databázi {defaultDatabase}",
|
||||
"connection.socketPath": "Cesta k socketu",
|
||||
"connection.sshTunnel.agentFound": "SSH Agent nalezen",
|
||||
"connection.sshTunnel.agentNotFound": "SSH Agent nenalezen",
|
||||
@@ -197,23 +248,29 @@
|
||||
"dataGrid.referencesTables": "Reference na tabulky",
|
||||
"dataGrid.searchReferences": "Hledat reference",
|
||||
"database.backup": "Záloha #",
|
||||
"database.chooseArchiveFolderForDataDeployer": "Vybrat archivní složku pro data deployer",
|
||||
"database.closeConfirm": "Uzavření připojení uzavře {count} otevřených karet, pokračovat?",
|
||||
"database.compare": "Porovnat",
|
||||
"database.compareWithCurrentDb": "Porovnat s {name}",
|
||||
"database.copyDatabaseName": "Kopírovat název databáze",
|
||||
"database.createDatabaseBackup": "Vytvořit zálohu databáze",
|
||||
"database.createNewApplication": "Vytvořit novou aplikaci",
|
||||
"database.dataDeployer": "Nasazovač dat",
|
||||
"database.dataDeployer": "Data Deployer",
|
||||
"database.databaseChat": "Databázový chat",
|
||||
"database.databaseProfiler": "Databázový profilovač",
|
||||
"database.designPerspectiveQuery": "Návrh perspektivního dotazu",
|
||||
"database.designQuery": "Návrh dotazu",
|
||||
"database.diagram": "Diagram #",
|
||||
"database.disconnect": "Odpojit",
|
||||
"database.dropAllObjectsConfirm": "Toto vygeneruje skript, po spuštění tohoto skriptu budou všechny objekty v {name} odstraněny. Pokračovat?",
|
||||
"database.dropConfirm": "Opravdu odstranit databázi {name}? Všechny otevřené relace s touto databází budou násilně uzavřeny.",
|
||||
"database.dropDatabase": "Odstranit databázi",
|
||||
"database.editApplications": "Upravit aplikaci",
|
||||
"database.export": "Export",
|
||||
"database.exportDbModel": "Export DB model",
|
||||
"database.generateScript": "Vygenerovat skript",
|
||||
"database.import": "Import",
|
||||
"database.newCollection": "Nová {collectionLabel}",
|
||||
"database.newQuery": "Nový dotaz",
|
||||
"database.newTable": "Nová tabulka",
|
||||
"database.perspective": "Perspektiva #",
|
||||
@@ -227,6 +284,10 @@
|
||||
"database.shellTitle": "Shell #",
|
||||
"database.showDiagram": "Zobrazit diagram",
|
||||
"database.sqlGenerator": "SQL generátor",
|
||||
"datagrid.closeTabs.close": "Zavřít karty",
|
||||
"datagrid.closeTabs.header": "Potvrdit zavření karet",
|
||||
"datagrid.closeTabs.modifiedFiles": "Následující soubory jsou změněny, opravdu zavřít karty? Po zavření je můžete znovu otevřít v historii",
|
||||
"datagrid.columnNameFilter": "Filtr názvu sloupce",
|
||||
"datagrid.copyAdvanced": "Pokročilé kopírování",
|
||||
"datagrid.macros.calculation": "Výpočet",
|
||||
"datagrid.macros.calculationDescription": "Vlastní výraz. Použijte řádek.název_sloupce pro přístup k hodnotám sloupců, value pro původní hodnotu",
|
||||
@@ -293,6 +354,7 @@
|
||||
"error.selectedNotCloudConnection": "Vybrané připojení není z DbGate cloudu",
|
||||
"export.currentArchive": "Aktuální archiv",
|
||||
"export.exportAdvanced": "Pokročilý export...",
|
||||
"export.result": "Exportovat výsledek",
|
||||
"file.allSupported": "Všechny podporované soubory",
|
||||
"file.diagramFiles": "Soubory diagramů",
|
||||
"file.duckdb": "Databáze DuckDB",
|
||||
@@ -370,6 +432,18 @@
|
||||
"filter.today": "Dnes",
|
||||
"filter.tomorrow": "Zítra",
|
||||
"filter.yesterday": "Včera",
|
||||
"foreignKey.baseColumns": "Základní sloupce",
|
||||
"foreignKey.refColumns": "Odkazované sloupce",
|
||||
"foreignKey.refTableName": "Odkazovaná tabulka",
|
||||
"foreignKeyEditor.addColumn": "Přidat sloupec",
|
||||
"foreignKeyEditor.addForeignKey": "Přidat cizí klíč",
|
||||
"foreignKeyEditor.baseColumn": "Základní sloupec - ",
|
||||
"foreignKeyEditor.editForeignKey": "Upravit cizí klíč",
|
||||
"foreignKeyEditor.onDeleteAction": "Akce při mazání",
|
||||
"foreignKeyEditor.onUpdateAction": "Akce při aktualizaci",
|
||||
"foreignKeyEditor.refColumn": "Referenční sloupec - ",
|
||||
"foreignKeyEditor.referencedTable": "Odkazovaná tabulka",
|
||||
"foreignKeyEditor.tableNotSet": "(tabulka není nastavena)",
|
||||
"importExport.createZipFileInArchive": "Vytvořit ZIP soubor v archivu",
|
||||
"importExport.exportToZipArchive": "Exportovat do ZIP archivu",
|
||||
"importExport.exportToZipFile": "Exportovat do ZIP souboru",
|
||||
@@ -377,6 +451,9 @@
|
||||
"importExport.importFromZipFile": "Importovat z ZIP souboru (v archivní složce)",
|
||||
"importExport.sourceFiles": "Zdrojové soubory",
|
||||
"importExport.tablesViewsCollections": "Tabulky / pohledy / kolekce",
|
||||
"indexEditor.filteredIndexCondition": "Podmínka filtrovaného indexu",
|
||||
"indexEditor.indexName": "Název indexu",
|
||||
"indexEditor.isUnique": "Je jedinečný index",
|
||||
"newObject.compareDescription": "Porovnat schémata databází",
|
||||
"newObject.compareDisabled": "Porovnání databází není pro aktuální databázi k dispozici.",
|
||||
"newObject.connectionLocal": "Připojení k databázi je uloženo lokálně",
|
||||
@@ -396,7 +473,14 @@
|
||||
"newObject.sqlGeneratorDisabled": "SQL generátor není pro aktuální databázi k dispozici",
|
||||
"newObject.tableDescription": "Vytvořit tabulku v aktuální databázi",
|
||||
"newObject.tableDisabled": "Vytvoření tabulky není pro aktuální databázi k dispozici",
|
||||
"query.limitRows": "Omezit na {queryRowsLimit} řádků",
|
||||
"query.named": ":proměnná",
|
||||
"query.noParameters": "(žádné parametry)",
|
||||
"query.positional": "? (poziční)",
|
||||
"query.unlimitedRows": "Neomezený počet řádků",
|
||||
"query.variable": "#proměnná",
|
||||
"schema.add": "Přidat nové schéma",
|
||||
"schema.allSchemas": "Všechna schémata ({count})",
|
||||
"schema.createSchema": "Vytvořit schéma",
|
||||
"schema.delete": "Odstranit schéma",
|
||||
"schema.resetToDefault": "Resetovat na výchozí",
|
||||
@@ -407,6 +491,7 @@
|
||||
"serverSummaryTab.processes": "Procesy",
|
||||
"serverSummaryTab.variables": "Proměnné",
|
||||
"settings.appearance": "Vzhled aplikace",
|
||||
"settings.appearance.afterInstalling": "Po instalaci pluginu témat (zkuste vyhledat \"theme\" v dostupných rozšířeních) zde budou k dispozici nová témata.",
|
||||
"settings.appearance.customSize": "Vlastní velikost",
|
||||
"settings.appearance.editorTheme": "Téma",
|
||||
"settings.appearance.editorTheme.default": "(použít výchozí téma)",
|
||||
@@ -417,6 +502,7 @@
|
||||
"settings.behaviour": "Chování",
|
||||
"settings.behaviour.jsonPreviewWrap": "Zalomit JSON v náhledu",
|
||||
"settings.behaviour.openDetailOnArrows": "Otevřít detail při navigaci klávesnicí",
|
||||
"settings.behaviour.singleClickPreview": "Když jedním kliknutím nebo výběrem souboru v zobrazení \"Tabulky, Pohledy, Funkce\", je zobrazen v režimu náhledu a znovu používá existující kartu (karta náhledu). To je užitečné, pokud rychle procházíte tabulky a nechcete, aby každá navštívená tabulka měla svou vlastní kartu. Když začnete upravovat tabulku nebo použijete dvojklik pro otevření tabulky ze zobrazení \"Tabulky\", nová karta je věnována této tabulce.",
|
||||
"settings.behaviour.useTabPreviewMode": "Použít režim náhledu na kartě",
|
||||
"settings.confirmations": "Potvrzení",
|
||||
"settings.confirmations.skipConfirm.collectionDataSave": "Přeskočit potvrzení při ukládání údajů kolekce (NoSQL)",
|
||||
@@ -499,6 +585,7 @@
|
||||
"sqlObject.columnComment": "Komentář sloupce",
|
||||
"sqlObject.columnDataType": "Datový typ sloupce",
|
||||
"sqlObject.columnName": "Název sloupce",
|
||||
"sqlObject.databaseEmpty": "Databáze {database} je prázdná nebo struktura není načtena, stiskněte tlačítko Obnovit pro znovunačtení struktury",
|
||||
"sqlObject.loadingStructure": "Načítání struktury databáze",
|
||||
"sqlObject.schemaName": "Schéma",
|
||||
"sqlObject.search.placeholder": "Hledat v tabulkách, pohledech, procedurách",
|
||||
@@ -512,6 +599,9 @@
|
||||
"summaryProcesses.actions": "Akce",
|
||||
"summaryProcesses.client": "Klient",
|
||||
"summaryProcesses.connectionId": "ID připojení",
|
||||
"summaryProcesses.killConfirm": "Jste si jisti, že chcete ukončit proces {processId}?",
|
||||
"summaryProcesses.killError": "Chyba při ukončování procesu {processId}: {errorMessage}",
|
||||
"summaryProcesses.killSuccess": "Proces {processId} byl úspěšně ukončen",
|
||||
"summaryProcesses.namespace": "Namespace",
|
||||
"summaryProcesses.operation": "Operace",
|
||||
"summaryProcesses.processId": "ID procesu",
|
||||
@@ -522,6 +612,48 @@
|
||||
"summaryVariables.variable": "Proměnná",
|
||||
"tab.administration": "Administrace",
|
||||
"tableData.viewColumns": "Zobrazit sloupce",
|
||||
"tableEdit.addConstraintLabel": "Přidat {constraintLabel}",
|
||||
"tableEdit.editConstraintLabel": "Upravit {constraintLabel}",
|
||||
"tableEdit.unique": "jedinečné",
|
||||
"tableEditor": "Editor tabulek",
|
||||
"tableEditor.addColumn": "Přidat sloupec",
|
||||
"tableEditor.addForeignKey": "Přidat cizí klíč",
|
||||
"tableEditor.addIndex": "Přidat index",
|
||||
"tableEditor.addPrimaryKey": "Přidat primární klíč",
|
||||
"tableEditor.addUnique": "Přidat jedinečný",
|
||||
"tableEditor.columnComment": "Komentář",
|
||||
"tableEditor.columns": "Sloupce",
|
||||
"tableEditor.computedExpression": "Vypočítaný výraz",
|
||||
"tableEditor.constraintName": "Název omezení",
|
||||
"tableEditor.copydefinitions": "Kopírovat definice",
|
||||
"tableEditor.copynames": "Kopírovat názvy",
|
||||
"tableEditor.dataType": "Datový typ",
|
||||
"tableEditor.defaultValue": "Výchozí hodnota",
|
||||
"tableEditor.dependencies": "Závislosti",
|
||||
"tableEditor.foreignKeys": "Cizí klíče ({foreignKeyCount})",
|
||||
"tableEditor.indexes": "Indexy ({indexCount})",
|
||||
"tableEditor.isPersisted": "Je persistentní",
|
||||
"tableEditor.isSparse": "Je řídký",
|
||||
"tableEditor.isUnsigned": "Bez znaménka",
|
||||
"tableEditor.isZeroFill": "Doplňování nul",
|
||||
"tableEditor.no": "NE",
|
||||
"tableEditor.noConstraintDefined": "Žádné {constraintLabel} nejsou definovány",
|
||||
"tableEditor.nocolumnsdefined": "Žádné sloupce nejsou definovány",
|
||||
"tableEditor.noforeignkeydefined": "Žádný cizí klíč není definován",
|
||||
"tableEditor.noindexdefined": "Žádný index není definován",
|
||||
"tableEditor.notnull": "NOT NULL",
|
||||
"tableEditor.nouniquedefined": "Žádný jedinečný klíč není definován",
|
||||
"tableEditor.null": "NULL",
|
||||
"tableEditor.nullability": "Možnost NULL",
|
||||
"tableEditor.primaryKey": "primární klíč",
|
||||
"tableEditor.remove": "Odstranit",
|
||||
"tableEditor.tablename": "Název tabulky",
|
||||
"tableEditor.tableproperties": "Vlastnosti tabulky",
|
||||
"tableEditor.unique": "Jedinečný",
|
||||
"tableEditor.uniqueConstraints": "Omezení jedinečnosti ({constraintCount})",
|
||||
"tableEditor.yes": "ANO",
|
||||
"tableStructure.alter": "Upravit tabulku",
|
||||
"tableStructure.create": "Vytvořit tabulku",
|
||||
"widget.databaseContent": "Obsah databáze",
|
||||
"widget.databases": "Databáze",
|
||||
"widget.keys": "Klíče",
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
{
|
||||
"app.databaseName": "Database name",
|
||||
"app.loading_plugin": "Loading plugin {plugin} ...",
|
||||
"app.preparingPlugins": "Preparing plugins ...",
|
||||
"app.starting": "Starting DbGate",
|
||||
"authToken": "Auth token",
|
||||
"chart.detect": "Detect chart",
|
||||
"chart.open": "Open chart",
|
||||
"clipboard.SQLInsert": "SQL INSERTs",
|
||||
"clipboard.SQLUpdate": "SQL UPDATEs",
|
||||
"clipboard.copyCSV": "Copy as CSV",
|
||||
@@ -27,6 +30,20 @@
|
||||
"column.renameColumn": "Rename column",
|
||||
"column.search": "Search columns",
|
||||
"column.variable": "Variable columns (like MongoDB)",
|
||||
"columnEditor.addColumn": "Add column {columnNumber}",
|
||||
"columnEditor.autoIncrement": "Is Autoincrement",
|
||||
"columnEditor.columnComment": "Comment",
|
||||
"columnEditor.columnName": "Column name",
|
||||
"columnEditor.computedExpression": "Computed expression",
|
||||
"columnEditor.defaultValue": "Default value. Please use valid SQL expression, eg. 'Hello World' for string value, '' for empty string",
|
||||
"columnEditor.editColumn": "Edit column",
|
||||
"columnEditor.isPrimaryKey": "Is Primary Key",
|
||||
"columnEditor.isSparse": "Sparse",
|
||||
"columnEditor.isUnsigned": "Unsigned",
|
||||
"columnEditor.isZerofill": "Zero fill",
|
||||
"columnsConstraintEditor.addNewColumn": "Add new column",
|
||||
"columnsConstraintEditor.chooseColumn": "Choose column",
|
||||
"columnsConstraintEditor.selectColumn": "Select column",
|
||||
"command.datagrid": "Data grid",
|
||||
"command.datagrid.addJsonDocument": "Add JSON document",
|
||||
"command.datagrid.addNewColumn": "Add new column",
|
||||
@@ -77,8 +94,26 @@
|
||||
"command.new.duckdbDatabase": "New DuckDB database",
|
||||
"command.new.sqliteDatabase": "New SQLite database",
|
||||
"command.openQuery": "Open query",
|
||||
"command.query": "Query",
|
||||
"command.query.AiAssistant": "AI Assistant",
|
||||
"command.query.autocommitOffSwitch": "Auto commit: OFF",
|
||||
"command.query.autocommitOnSwitch": "Auto commit: ON",
|
||||
"command.query.beginTransaction": "Begin transaction",
|
||||
"command.query.commitTransaction": "Commit transaction",
|
||||
"command.query.commitTransactionToolbar": "Commit",
|
||||
"command.query.executeCurrent": "Execute current",
|
||||
"command.query.formatCode": "Format code",
|
||||
"command.query.insertSqlJoin": "Insert SQL Join",
|
||||
"command.query.rollbackTransaction": "Rollback transaction",
|
||||
"command.query.rollbackTransactionToolbar": "Rollback",
|
||||
"command.query.toggleAutoExecute": "Toggle auto execute",
|
||||
"command.query.toggleFixedConnection": "Toggle fixed connection",
|
||||
"command.query.toggleVisibleResultTabs": "Toggle visible result tabs",
|
||||
"command.tableData": "Table data",
|
||||
"command.tableData.save": "Save",
|
||||
"command.tableEditor": "Table editor",
|
||||
"command.tableEditor.reset": "Reset changes",
|
||||
"command.tableEditor.save": "Save",
|
||||
"command.tabs.addToFavorites": "Add current tab to favorites",
|
||||
"command.tabs.closeAll": "Close all tabs",
|
||||
"command.tabs.closeTab": "Close tab",
|
||||
@@ -87,25 +122,32 @@
|
||||
"command.tabs.nextTab": "Next tab",
|
||||
"command.tabs.previousTab": "Previous tab",
|
||||
"command.tabs.reopenClosedTab": "Reopen closed tab",
|
||||
"common.addNew": "Add new",
|
||||
"common.advanced": "Advanced",
|
||||
"common.archive": "Archive (JSONL)",
|
||||
"common.cancel": "Cancel",
|
||||
"common.close": "Close",
|
||||
"common.column": "Column ",
|
||||
"common.compare": "Compare database",
|
||||
"common.connection": "Connection",
|
||||
"common.connectionOnCloud": "Connection on Cloud",
|
||||
"common.connections": "Connections",
|
||||
"common.createNew": "Create new",
|
||||
"common.data": "Data",
|
||||
"common.database": "Database",
|
||||
"common.databaseChat": "Database Chat",
|
||||
"common.datagrid.deepRefresh": "Refresh with structure",
|
||||
"common.delete": "Delete",
|
||||
"common.description": "Description",
|
||||
"common.erDiagram": "ER Diagram",
|
||||
"common.execute": "Execute",
|
||||
"common.export": "Export",
|
||||
"common.exportDatabase": "Export database",
|
||||
"common.featurePremium": "This feature is available only in DbGate Premium",
|
||||
"common.general": "General",
|
||||
"common.import": "Import",
|
||||
"common.kill": "Kill",
|
||||
"common.name": "Name",
|
||||
"common.notSelectedOptional": "(not selected - optional)",
|
||||
"common.parameters": "Parameters",
|
||||
"common.perspective": "Perspective",
|
||||
@@ -113,19 +155,25 @@
|
||||
"common.queryDesigner": "Query Designer",
|
||||
"common.queryEditor": "SQL query editor",
|
||||
"common.refresh": "Refresh",
|
||||
"common.remove": "Remove",
|
||||
"common.save": "Save",
|
||||
"common.saveAndNext": "Save and next",
|
||||
"common.saveToArchive": "Save to archive",
|
||||
"common.schema": "Schema",
|
||||
"common.searchBy": "Search by:",
|
||||
"common.sqlGenerator": "SQL Generator",
|
||||
"common.table": "Table",
|
||||
"common.testingConnection": "Testing connection",
|
||||
"connection.accessKeyId": "Access Key ID",
|
||||
"connection.allowedDatabases": "Allowed databases, one per line",
|
||||
"connection.allowedDatabasesRegex": "Allowed databases regular expression",
|
||||
"connection.askPassword": "Don't save, ask for password",
|
||||
"connection.askUser": "Don't save, ask for login and password",
|
||||
"connection.authentication": "Authentication",
|
||||
"connection.autoDetectNatMap": "Auto detect NAT map (use for Redis Cluster in Docker network)",
|
||||
"connection.chooseType": "Choose type",
|
||||
"connection.clientLibraryPath": "Client library path",
|
||||
"connection.closeConfirm": "Closing connection will close {count} opened tabs, continue?",
|
||||
"connection.clusterNodes": "Cluster nodes",
|
||||
"connection.color": "Color",
|
||||
"connection.connect": "Connect",
|
||||
@@ -140,6 +188,7 @@
|
||||
"connection.databaseUrl": "Database URL",
|
||||
"connection.defaultDatabase": "Default database",
|
||||
"connection.delete": "Delete",
|
||||
"connection.deleteConfirm": "Really delete connection {name}?",
|
||||
"connection.disconnect": "Disconnect",
|
||||
"connection.displayName": "Display name",
|
||||
"connection.dockerWarning": "Under docker, localhost and 127.0.0.1 will not work, use dockerhost instead",
|
||||
@@ -147,6 +196,7 @@
|
||||
"connection.edit": "Edit",
|
||||
"connection.endpointKey": "Key",
|
||||
"connection.engine": "Database engine",
|
||||
"connection.engineDriverNotFound": "Engine driver {engine} not found, review installed plugins and change engine in edit connection dialog",
|
||||
"connection.fillDetails": "Fill database connection details",
|
||||
"connection.isReadOnly": "Is read only",
|
||||
"connection.keySeparator": "Key separator",
|
||||
@@ -167,6 +217,7 @@
|
||||
"connection.server": "Server",
|
||||
"connection.serverSummary": "Server summary",
|
||||
"connection.serviceName": "Service name",
|
||||
"connection.singleDatabase": "Use only database {defaultDatabase}",
|
||||
"connection.socketPath": "Socket path",
|
||||
"connection.sshTunnel.agentFound": "SSH Agent found",
|
||||
"connection.sshTunnel.agentNotFound": "SSH Agent not found",
|
||||
@@ -197,7 +248,10 @@
|
||||
"dataGrid.referencesTables": "References tables",
|
||||
"dataGrid.searchReferences": "Search references",
|
||||
"database.backup": "Backup #",
|
||||
"database.chooseArchiveFolderForDataDeployer": "Choose archive folder for data deployer",
|
||||
"database.closeConfirm": "Closing connection will close {count} opened tabs, continue?",
|
||||
"database.compare": "Compare",
|
||||
"database.compareWithCurrentDb": "Compare with {name}",
|
||||
"database.copyDatabaseName": "Copy database name",
|
||||
"database.createDatabaseBackup": "Create database backup",
|
||||
"database.createNewApplication": "Create new application",
|
||||
@@ -208,12 +262,15 @@
|
||||
"database.designQuery": "Design query",
|
||||
"database.diagram": "Diagram #",
|
||||
"database.disconnect": "Disconnect",
|
||||
"database.dropAllObjectsConfirm": "This will generate script, after executing this script all objects in {name} will be dropped. Continue?",
|
||||
"database.dropConfirm": "Really drop database {name}? All opened sessions with this database will be forcefully closed.",
|
||||
"database.dropDatabase": "Drop database",
|
||||
"database.editApplications": "Edit application",
|
||||
"database.export": "Export",
|
||||
"database.exportDbModel": "Export DB model",
|
||||
"database.generateScript": "Generate script",
|
||||
"database.import": "Import",
|
||||
"database.newCollection": "New {collectionLabel}",
|
||||
"database.newQuery": "New query",
|
||||
"database.newTable": "New table",
|
||||
"database.perspective": "Perspective #",
|
||||
@@ -227,6 +284,10 @@
|
||||
"database.shellTitle": "Shell #",
|
||||
"database.showDiagram": "Show diagram",
|
||||
"database.sqlGenerator": "SQL Generator",
|
||||
"datagrid.closeTabs.close": "Close tabs",
|
||||
"datagrid.closeTabs.header": "Confirm close tabs",
|
||||
"datagrid.closeTabs.modifiedFiles": "Following files are modified, really close tabs? After closing, you could reopen them in history",
|
||||
"datagrid.columnNameFilter": "Column name filter",
|
||||
"datagrid.copyAdvanced": "Copy advanced",
|
||||
"datagrid.macros.calculation": "Calculation",
|
||||
"datagrid.macros.calculationDescription": "Custom expression. Use row.column_name for accessing column values, value for original value",
|
||||
@@ -293,6 +354,7 @@
|
||||
"error.selectedNotCloudConnection": "Selected connection is not from DbGate cloud",
|
||||
"export.currentArchive": "Current archive",
|
||||
"export.exportAdvanced": "Export advanced...",
|
||||
"export.result": "Export result",
|
||||
"file.allSupported": "All supported files",
|
||||
"file.diagramFiles": "Diagram files",
|
||||
"file.duckdb": "DuckDB database",
|
||||
@@ -370,6 +432,18 @@
|
||||
"filter.today": "Today",
|
||||
"filter.tomorrow": "Tomorrow",
|
||||
"filter.yesterday": "Yesterday",
|
||||
"foreignKey.baseColumns": "Base columns",
|
||||
"foreignKey.refColumns": "Referenced columns",
|
||||
"foreignKey.refTableName": "Referenced table",
|
||||
"foreignKeyEditor.addColumn": "Add column",
|
||||
"foreignKeyEditor.addForeignKey": "Add foreign key",
|
||||
"foreignKeyEditor.baseColumn": "Base column - ",
|
||||
"foreignKeyEditor.editForeignKey": "Edit foreign key",
|
||||
"foreignKeyEditor.onDeleteAction": "On delete action",
|
||||
"foreignKeyEditor.onUpdateAction": "On update action",
|
||||
"foreignKeyEditor.refColumn": "Ref column - ",
|
||||
"foreignKeyEditor.referencedTable": "Referenced table",
|
||||
"foreignKeyEditor.tableNotSet": "(table not set)",
|
||||
"importExport.createZipFileInArchive": "Create ZIP file in archive",
|
||||
"importExport.exportToZipArchive": "Output ZIP archive",
|
||||
"importExport.exportToZipFile": "Export to ZIP file",
|
||||
@@ -377,6 +451,9 @@
|
||||
"importExport.importFromZipFile": "Import from ZIP file (in archive folder)",
|
||||
"importExport.sourceFiles": "Source files",
|
||||
"importExport.tablesViewsCollections": "Tables / views / collections",
|
||||
"indexEditor.filteredIndexCondition": "Filtered index condition",
|
||||
"indexEditor.indexName": "Index name",
|
||||
"indexEditor.isUnique": "Is unique index",
|
||||
"newObject.compareDescription": "Compare database schemas",
|
||||
"newObject.compareDisabled": "Database comparison is not available for current database",
|
||||
"newObject.connectionLocal": "Database connection stored locally",
|
||||
@@ -396,7 +473,14 @@
|
||||
"newObject.sqlGeneratorDisabled": "SQL Generator is not available for current database",
|
||||
"newObject.tableDescription": "Create table in the current database",
|
||||
"newObject.tableDisabled": "Table creation is not available for current database",
|
||||
"query.limitRows": "Limit {queryRowsLimit} rows",
|
||||
"query.named": ":variable",
|
||||
"query.noParameters": "(no parameters)",
|
||||
"query.positional": "? (positional)",
|
||||
"query.unlimitedRows": "Unlimited rows",
|
||||
"query.variable": "#variable",
|
||||
"schema.add": "Add new schema",
|
||||
"schema.allSchemas": "All schemas ({count})",
|
||||
"schema.createSchema": "Create schema",
|
||||
"schema.delete": "Delete schema",
|
||||
"schema.resetToDefault": "Reset to default",
|
||||
@@ -407,6 +491,7 @@
|
||||
"serverSummaryTab.processes": "Processes",
|
||||
"serverSummaryTab.variables": "Variables",
|
||||
"settings.appearance": "Application theme",
|
||||
"settings.appearance.afterInstalling": "After installing theme plugin (try search \"theme\" in available extensions) new themes will be available here.",
|
||||
"settings.appearance.customSize": "Custom size",
|
||||
"settings.appearance.editorTheme": "Theme",
|
||||
"settings.appearance.editorTheme.default": "(use theme default)",
|
||||
@@ -417,6 +502,7 @@
|
||||
"settings.behaviour": "Behaviour",
|
||||
"settings.behaviour.jsonPreviewWrap": "Wrap JSON in preview",
|
||||
"settings.behaviour.openDetailOnArrows": "Open detail on keyboard navigation",
|
||||
"settings.behaviour.singleClickPreview": "When you single-click or select a file in the \"Tables, Views, Functions\" view, it is shown in a preview mode and reuses an existing tab (preview tab). This is useful if you are quickly browsing tables and don\\'t want every visited table to have its own tab. When you start editing the table or use double-click to open the table from the \"Tables\" view, a new tab is dedicated to that table.",
|
||||
"settings.behaviour.useTabPreviewMode": "Use tab preview mode",
|
||||
"settings.confirmations": "Confirmations",
|
||||
"settings.confirmations.skipConfirm.collectionDataSave": "Skip confirmation when saving collection data (NoSQL)",
|
||||
@@ -499,6 +585,7 @@
|
||||
"sqlObject.columnComment": "Column comment",
|
||||
"sqlObject.columnDataType": "Column data type",
|
||||
"sqlObject.columnName": "Column name",
|
||||
"sqlObject.databaseEmpty": "Database {database} is empty or structure is not loaded, press Refresh button to reload structure",
|
||||
"sqlObject.loadingStructure": "Loading database structure",
|
||||
"sqlObject.schemaName": "Schema",
|
||||
"sqlObject.search.placeholder": "Search in tables, views, procedures",
|
||||
@@ -512,6 +599,9 @@
|
||||
"summaryProcesses.actions": "Actions",
|
||||
"summaryProcesses.client": "Client",
|
||||
"summaryProcesses.connectionId": "Connection ID",
|
||||
"summaryProcesses.killConfirm": "Are you sure you want to kill process {processId}?",
|
||||
"summaryProcesses.killError": "Error while killing process {processId}: {errorMessage}",
|
||||
"summaryProcesses.killSuccess": "Process {processId} killed successfully",
|
||||
"summaryProcesses.namespace": "Namespace",
|
||||
"summaryProcesses.operation": "Operation",
|
||||
"summaryProcesses.processId": "Process ID",
|
||||
@@ -522,6 +612,48 @@
|
||||
"summaryVariables.variable": "Variable",
|
||||
"tab.administration": "Administration",
|
||||
"tableData.viewColumns": "View columns",
|
||||
"tableEdit.addConstraintLabel": "Add {constraintLabel}",
|
||||
"tableEdit.editConstraintLabel": "Edit {constraintLabel}",
|
||||
"tableEdit.unique": "unique",
|
||||
"tableEditor": "Table editor",
|
||||
"tableEditor.addColumn": "Add column",
|
||||
"tableEditor.addForeignKey": "Add foreign key",
|
||||
"tableEditor.addIndex": "Add index",
|
||||
"tableEditor.addPrimaryKey": "Add primary key",
|
||||
"tableEditor.addUnique": "Add unique",
|
||||
"tableEditor.columnComment": "Comment",
|
||||
"tableEditor.columns": "Columns",
|
||||
"tableEditor.computedExpression": "Computed Expression",
|
||||
"tableEditor.constraintName": "Constraint name",
|
||||
"tableEditor.copydefinitions": "Copy definitions",
|
||||
"tableEditor.copynames": "Copy names",
|
||||
"tableEditor.dataType": "Data type",
|
||||
"tableEditor.defaultValue": "Default value",
|
||||
"tableEditor.dependencies": "Dependencies",
|
||||
"tableEditor.foreignKeys": "Foreign keys ({foreignKeyCount})",
|
||||
"tableEditor.indexes": "Indexes ({indexCount})",
|
||||
"tableEditor.isPersisted": "Is Persisted",
|
||||
"tableEditor.isSparse": "Is Sparse",
|
||||
"tableEditor.isUnsigned": "Unsigned",
|
||||
"tableEditor.isZeroFill": "Zero fill",
|
||||
"tableEditor.no": "NO",
|
||||
"tableEditor.noConstraintDefined": "No {constraintLabel} defined",
|
||||
"tableEditor.nocolumnsdefined": "No columns defined",
|
||||
"tableEditor.noforeignkeydefined": "No foreign key defined",
|
||||
"tableEditor.noindexdefined": "No index defined",
|
||||
"tableEditor.notnull": "NOT NULL",
|
||||
"tableEditor.nouniquedefined": "No unique defined",
|
||||
"tableEditor.null": "NULL",
|
||||
"tableEditor.nullability": "Nullability",
|
||||
"tableEditor.primaryKey": "primary key",
|
||||
"tableEditor.remove": "Remove",
|
||||
"tableEditor.tablename": "Table name",
|
||||
"tableEditor.tableproperties": "Table properties",
|
||||
"tableEditor.unique": "Unique",
|
||||
"tableEditor.uniqueConstraints": "Unique constraints ({constraintCount})",
|
||||
"tableEditor.yes": "YES",
|
||||
"tableStructure.alter": "Alter table",
|
||||
"tableStructure.create": "Create table",
|
||||
"widget.databaseContent": "Database content",
|
||||
"widget.databases": "Databases",
|
||||
"widget.keys": "Keys",
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
{
|
||||
"app.databaseName": "Názov databázy",
|
||||
"app.loading_plugin": "Načítavam plugin {plugin} ...",
|
||||
"app.preparingPlugins": "Príprava pluginov...",
|
||||
"app.starting": "Spúšťam DbGate",
|
||||
"authToken": "Autentifikačný token",
|
||||
"chart.detect": "Rozpoznať graf",
|
||||
"chart.open": "Otvoriť graf",
|
||||
"clipboard.SQLInsert": "SQL INSERT príkazy",
|
||||
"clipboard.SQLUpdate": "SQL UPDATE príkazy",
|
||||
"clipboard.copyCSV": "Kopírovať ako CSV",
|
||||
@@ -27,6 +30,20 @@
|
||||
"column.renameColumn": "Premenovať stĺpec",
|
||||
"column.search": "Hľadať stĺpce",
|
||||
"column.variable": "Premenlivé stĺpce (ako MongoDB)",
|
||||
"columnEditor.addColumn": "Pridať stĺpec {columnNumber}",
|
||||
"columnEditor.autoIncrement": "Autoinkrement",
|
||||
"columnEditor.columnComment": "Komentár",
|
||||
"columnEditor.columnName": "Názov stĺpca",
|
||||
"columnEditor.computedExpression": "Vypočítaný výraz",
|
||||
"columnEditor.defaultValue": "Predvolená hodnota. Použite platný SQL výraz, napr. 'Hello World' pre reťazec, ' ' pre prázdny reťazec",
|
||||
"columnEditor.editColumn": "Upraviť stĺpec",
|
||||
"columnEditor.isPrimaryKey": "Je primárny kľúč",
|
||||
"columnEditor.isSparse": "Riedky",
|
||||
"columnEditor.isUnsigned": "Bez znamienka",
|
||||
"columnEditor.isZerofill": "Výplň nulami",
|
||||
"columnsConstraintEditor.addNewColumn": "Pridať nový stĺpec",
|
||||
"columnsConstraintEditor.chooseColumn": "Vybrať stĺpec",
|
||||
"columnsConstraintEditor.selectColumn": "Vybrať stĺpec",
|
||||
"command.datagrid": "Dátová mriežka",
|
||||
"command.datagrid.addJsonDocument": "Pridať JSON dokument",
|
||||
"command.datagrid.addNewColumn": "Pridať nový stĺpec",
|
||||
@@ -77,8 +94,26 @@
|
||||
"command.new.duckdbDatabase": "Nová DuckDB databáza",
|
||||
"command.new.sqliteDatabase": "Nová SQLite databáza",
|
||||
"command.openQuery": "Otvoriť dotaz",
|
||||
"command.query": "Dotaz",
|
||||
"command.query.AiAssistant": "AI Asistent",
|
||||
"command.query.autocommitOffSwitch": "Automatické potvrdenie: VYPNUTÉ",
|
||||
"command.query.autocommitOnSwitch": "Automatické potvrdenie: ZAPNUTÉ",
|
||||
"command.query.beginTransaction": "Začať transakciu",
|
||||
"command.query.commitTransaction": "Potvrdiť transakciu",
|
||||
"command.query.commitTransactionToolbar": "Potvrdiť",
|
||||
"command.query.executeCurrent": "Spustiť aktuálny",
|
||||
"command.query.formatCode": "Formátovať kód",
|
||||
"command.query.insertSqlJoin": "Vložiť SQL Join",
|
||||
"command.query.rollbackTransaction": "Vrátiť transakciu",
|
||||
"command.query.rollbackTransactionToolbar": "Vrátiť",
|
||||
"command.query.toggleAutoExecute": "Prepnúť automatické vykonávanie",
|
||||
"command.query.toggleFixedConnection": "Prepnúť pevné pripojenie",
|
||||
"command.query.toggleVisibleResultTabs": "Prepnúť viditeľné výsledkové karty",
|
||||
"command.tableData": "Dáta tabuľky",
|
||||
"command.tableData.save": "Uložiť",
|
||||
"command.tableEditor": "Editor tabuliek",
|
||||
"command.tableEditor.reset": "Resetovať zmeny",
|
||||
"command.tableEditor.save": "Uložiť",
|
||||
"command.tabs.addToFavorites": "Pridať aktuálnu kartu do obľúbených",
|
||||
"command.tabs.closeAll": "Zavrieť všetky karty",
|
||||
"command.tabs.closeTab": "Zavrieť kartu",
|
||||
@@ -87,25 +122,32 @@
|
||||
"command.tabs.nextTab": "Ďalšia karta",
|
||||
"command.tabs.previousTab": "Predchádzajúca karta",
|
||||
"command.tabs.reopenClosedTab": "Znovu otvoriť zatvorenú kartu",
|
||||
"common.addNew": "Pridať nový",
|
||||
"common.advanced": "Pokročilé",
|
||||
"common.archive": "Archivovať (JSONL)",
|
||||
"common.cancel": "Zrušiť",
|
||||
"common.close": "Zavrieť",
|
||||
"common.column": "Stĺpec ",
|
||||
"common.compare": "Porovnať databázy",
|
||||
"common.connection": "Pripojenie",
|
||||
"common.connectionOnCloud": "Pripojenie na cloude",
|
||||
"common.connections": "Pripojenia",
|
||||
"common.createNew": "Vytvoriť",
|
||||
"common.data": "Dáta",
|
||||
"common.database": "Databáza",
|
||||
"common.databaseChat": "Chat s databázou",
|
||||
"common.datagrid.deepRefresh": "Obnoviť so štruktúrou",
|
||||
"common.delete": "Odstrániť",
|
||||
"common.description": "Popis",
|
||||
"common.erDiagram": "ER Diagram",
|
||||
"common.execute": "Spustiť",
|
||||
"common.export": "Exportovať",
|
||||
"common.exportDatabase": "Exportovať databázu",
|
||||
"common.featurePremium": "Táto funkcia je k dispozícii iba v DbGate Premium",
|
||||
"common.general": "Všeobecné",
|
||||
"common.import": "Importovať",
|
||||
"common.kill": "Ukončiť",
|
||||
"common.name": "Názov",
|
||||
"common.notSelectedOptional": "(nezvolené - voliteľné)",
|
||||
"common.parameters": "Parametre",
|
||||
"common.perspective": "Perspektíva",
|
||||
@@ -113,19 +155,25 @@
|
||||
"common.queryDesigner": "Návrhár dotazov",
|
||||
"common.queryEditor": "Editor SQL dotazov",
|
||||
"common.refresh": "Obnoviť",
|
||||
"common.remove": "Odstrániť",
|
||||
"common.save": "Uložiť",
|
||||
"common.saveAndNext": "Uložiť a pokračovať",
|
||||
"common.saveToArchive": "Uložiť do archívu",
|
||||
"common.schema": "Schéma",
|
||||
"common.searchBy": "Hľadať podľa:",
|
||||
"common.sqlGenerator": "SQL Generátor",
|
||||
"common.table": "Tabuľka",
|
||||
"common.testingConnection": "Testovanie pripojenia",
|
||||
"connection.accessKeyId": "ID prístupového kľúča",
|
||||
"connection.allowedDatabases": "Povolené databázy, jedna na riadok",
|
||||
"connection.allowedDatabasesRegex": "Regulárny výraz pre povolené databázy",
|
||||
"connection.askPassword": "Neukladať, pýtať sa na heslo",
|
||||
"connection.askUser": "Neukladať, pýtať sa na prihlasovacie údaje a heslo",
|
||||
"connection.authentication": "Autentizácia",
|
||||
"connection.autoDetectNatMap": "Automatická detekcia NAT mapy (použite pre Redis Cluster v Docker sieti)",
|
||||
"connection.chooseType": "Vyberte typ",
|
||||
"connection.clientLibraryPath": "Cesta ku klientskej knižnici",
|
||||
"connection.closeConfirm": "Zatvorenie pripojenia zatvorí {count} otvorených kariet, pokračovať?",
|
||||
"connection.clusterNodes": "Uzly klastra",
|
||||
"connection.color": "Farba",
|
||||
"connection.connect": "Pripojiť",
|
||||
@@ -140,6 +188,7 @@
|
||||
"connection.databaseUrl": "URL databázy",
|
||||
"connection.defaultDatabase": "Predvolená databáza",
|
||||
"connection.delete": "Odstrániť",
|
||||
"connection.deleteConfirm": "Naozaj odstrániť pripojenie {name}?",
|
||||
"connection.disconnect": "Odpojiť",
|
||||
"connection.displayName": "Zobrazovaný názov",
|
||||
"connection.dockerWarning": "V Dockeri localhost a 127.0.0.1 nefungujú, použite namiesto toho dockerhost",
|
||||
@@ -147,6 +196,7 @@
|
||||
"connection.edit": "Upraviť",
|
||||
"connection.endpointKey": "Kľúč",
|
||||
"connection.engine": "Typ databázy",
|
||||
"connection.engineDriverNotFound": "Driver databázy {engine} nebol nájdený, skontrolujte nainštalované pluginy a zmeňte typ databázy v dialógu úpravy pripojenia",
|
||||
"connection.fillDetails": "Vyplňte údaje o pripojení k databáze",
|
||||
"connection.isReadOnly": "Je iba na čítanie",
|
||||
"connection.keySeparator": "Oddeľovač kľúčov",
|
||||
@@ -167,6 +217,7 @@
|
||||
"connection.server": "Server",
|
||||
"connection.serverSummary": "Zhrnutie servera",
|
||||
"connection.serviceName": "Názov služby",
|
||||
"connection.singleDatabase": "Používať iba databázu {defaultDatabase}",
|
||||
"connection.socketPath": "Cesta k socketu",
|
||||
"connection.sshTunnel.agentFound": "SSH Agent nájdený",
|
||||
"connection.sshTunnel.agentNotFound": "SSH Agent nenájdený",
|
||||
@@ -197,23 +248,29 @@
|
||||
"dataGrid.referencesTables": "Referencie na tabuľky",
|
||||
"dataGrid.searchReferences": "Vyhľadať referencie",
|
||||
"database.backup": "Záloha #",
|
||||
"database.chooseArchiveFolderForDataDeployer": "Vybrať archívnu zložku pre data deployer",
|
||||
"database.closeConfirm": "Zatvorenie pripojenia zatvorí {count} otvorených kariet, pokračovať?",
|
||||
"database.compare": "Porovnať",
|
||||
"database.compareWithCurrentDb": "Porovnať s {name}",
|
||||
"database.copyDatabaseName": "Kopírovať názov databázy",
|
||||
"database.createDatabaseBackup": "Vytvoriť zálohu databázy",
|
||||
"database.createNewApplication": "Vytvoriť novú aplikáciu",
|
||||
"database.dataDeployer": "Nasadzovač dát",
|
||||
"database.dataDeployer": "Data deployer",
|
||||
"database.databaseChat": "Databázový chat",
|
||||
"database.databaseProfiler": "Databázový profilovač",
|
||||
"database.designPerspectiveQuery": "Návrh perspektívneho dotazu",
|
||||
"database.designQuery": "Návrh dotazu",
|
||||
"database.diagram": "Diagram #",
|
||||
"database.disconnect": "Odpojiť",
|
||||
"database.dropAllObjectsConfirm": "Toto vygeneruje skript, po spustení tohto skriptu budú všetky objekty v {name} odstránené. Pokračovať?",
|
||||
"database.dropConfirm": "Naozaj odstrániť databázu {name}? Všetky otvorené relácie s touto databázou budú zatvorené.",
|
||||
"database.dropDatabase": "Odstrániť databázu",
|
||||
"database.editApplications": "Upraviť aplikáciu",
|
||||
"database.export": "Exportovať",
|
||||
"database.exportDbModel": "Exportovať DB model",
|
||||
"database.generateScript": "Generovať skript",
|
||||
"database.import": "Importovať",
|
||||
"database.newCollection": "Nová {collectionLabel}",
|
||||
"database.newQuery": "Nový dotaz",
|
||||
"database.newTable": "Nová tabuľka",
|
||||
"database.perspective": "Perspektíva #",
|
||||
@@ -227,6 +284,10 @@
|
||||
"database.shellTitle": "Shell #",
|
||||
"database.showDiagram": "Zobraziť",
|
||||
"database.sqlGenerator": "SQL generátor",
|
||||
"datagrid.closeTabs.close": "Zavrieť karty",
|
||||
"datagrid.closeTabs.header": "Potvrdiť zatvorenie kariet",
|
||||
"datagrid.closeTabs.modifiedFiles": "Nasledujúce súbory sú upravené, naozaj zavrieť karty? Po zatvorení ich môžete znovu otvoriť v histórii",
|
||||
"datagrid.columnNameFilter": "Filter názvu stĺpca",
|
||||
"datagrid.copyAdvanced": "Pokročilé kopírovanie",
|
||||
"datagrid.macros.calculation": "Výpočet",
|
||||
"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",
|
||||
@@ -293,6 +354,7 @@
|
||||
"error.selectedNotCloudConnection": "Vybrané pripojenie nie je z DbGate cloudu",
|
||||
"export.currentArchive": "Aktuálny archív",
|
||||
"export.exportAdvanced": "Pokročilý export...",
|
||||
"export.result": "Exportovať výsledok",
|
||||
"file.allSupported": "Všetky podporované súbory",
|
||||
"file.diagramFiles": "Súbory diagramov",
|
||||
"file.duckdb": "Databáza DuckDB",
|
||||
@@ -370,6 +432,18 @@
|
||||
"filter.today": "Dnes",
|
||||
"filter.tomorrow": "Zajtra",
|
||||
"filter.yesterday": "Včera",
|
||||
"foreignKey.baseColumns": "Základné stĺpce",
|
||||
"foreignKey.refColumns": "Referencované stĺpce",
|
||||
"foreignKey.refTableName": "Referencovaná tabuľka",
|
||||
"foreignKeyEditor.addColumn": "Pridať stĺpec",
|
||||
"foreignKeyEditor.addForeignKey": "Pridať cudzí kľúč",
|
||||
"foreignKeyEditor.baseColumn": "Základný stĺpec - ",
|
||||
"foreignKeyEditor.editForeignKey": "Upraviť cudzí kľúč",
|
||||
"foreignKeyEditor.onDeleteAction": "Akcia pri odstránení",
|
||||
"foreignKeyEditor.onUpdateAction": "Akcia pri aktualizácii",
|
||||
"foreignKeyEditor.refColumn": "Referencovaný stĺpec - ",
|
||||
"foreignKeyEditor.referencedTable": "Referencovaná tabuľka - ",
|
||||
"foreignKeyEditor.tableNotSet": "(tabuľka nie je nastavená)",
|
||||
"importExport.createZipFileInArchive": "Vytvoriť ZIP súbor v archíve",
|
||||
"importExport.exportToZipArchive": "Exportovať do ZIP archívu",
|
||||
"importExport.exportToZipFile": "Exportovať do ZIP súboru",
|
||||
@@ -377,6 +451,9 @@
|
||||
"importExport.importFromZipFile": "Importovať zo ZIP súboru (v archívnej zložke)",
|
||||
"importExport.sourceFiles": "Zdrojové súbory",
|
||||
"importExport.tablesViewsCollections": "Tabuľky / pohľady / kolekcie",
|
||||
"indexEditor.filteredIndexCondition": "Podmienka filtrovaného indexu",
|
||||
"indexEditor.indexName": "Názov indexu",
|
||||
"indexEditor.isUnique": "Je jedinečný index",
|
||||
"newObject.compareDescription": "Porovnať schémy databáz",
|
||||
"newObject.compareDisabled": "Porovnávanie databáz nie je k dispozícii pre aktuálnu databázu",
|
||||
"newObject.connectionLocal": "Pripojenie databázy uložené lokálne",
|
||||
@@ -396,7 +473,14 @@
|
||||
"newObject.sqlGeneratorDisabled": "SQL Generátor nie je k dispozícii pre aktuálnu databázu",
|
||||
"newObject.tableDescription": "Vytvoriť tabuľku v aktuálnej databáze",
|
||||
"newObject.tableDisabled": "Vytvorenie tabuľky nie je k dispozícii pre aktuálnu databázu",
|
||||
"query.limitRows": "Obmedziť na {queryRowsLimit} riadkov",
|
||||
"query.named": ":premenná",
|
||||
"query.noParameters": "(žiadne parametre)",
|
||||
"query.positional": "? (pozíciový)",
|
||||
"query.unlimitedRows": "Neobmedzené riadky",
|
||||
"query.variable": "#premenná",
|
||||
"schema.add": "Pridať novú schému",
|
||||
"schema.allSchemas": "Všetky schémy ({count})",
|
||||
"schema.createSchema": "Vytvoriť schému",
|
||||
"schema.delete": "Odstrániť schému",
|
||||
"schema.resetToDefault": "Resetovať na predvolené",
|
||||
@@ -407,6 +491,7 @@
|
||||
"serverSummaryTab.processes": "Procesy",
|
||||
"serverSummaryTab.variables": "Premenné",
|
||||
"settings.appearance": "Vzhľad aplikácie",
|
||||
"settings.appearance.afterInstalling": "Po nainštalovaní (skúste vyhľadať \"themes\" v dostupných rozšíreniach) budú nové témy k dispozícii tu.",
|
||||
"settings.appearance.customSize": "Vlastná veľkosť",
|
||||
"settings.appearance.editorTheme": "Téma",
|
||||
"settings.appearance.editorTheme.default": "(použiť predvolenú tému)",
|
||||
@@ -417,6 +502,7 @@
|
||||
"settings.behaviour": "Správanie",
|
||||
"settings.behaviour.jsonPreviewWrap": "Zalomiť JSON v náhľade",
|
||||
"settings.behaviour.openDetailOnArrows": "Otvoriť detail pri navigácii klávesnicou",
|
||||
"settings.behaviour.singleClickPreview": "Pri jednoduchom kliknutí alebo výbere súboru v zobrazení \"Tabuľky, pohľady, funkcie\" sa zobrazí v režime náhľadu a znovu použije existujúcu kartu (karta náhľadu). Toto je užitočné, ak rýchlo prehliadate tabuľky a nechcete, aby každá navštívená tabuľka mala svoju vlastnú kartu. Keď začnete upravovať tabuľku alebo použijete dvojklik na otvorenie tabuľky zo zobrazenia \"Tabuľky\", nová karta bude venovaná tejto tabuľke.",
|
||||
"settings.behaviour.useTabPreviewMode": "Použiť režim náhľadu na karte",
|
||||
"settings.confirmations": "Potvrdenia",
|
||||
"settings.confirmations.skipConfirm.collectionDataSave": "Preskočiť potvrdenie pri ukladaní údajov kolekcie (NoSQL)",
|
||||
@@ -499,6 +585,7 @@
|
||||
"sqlObject.columnComment": "Komentár stĺpca",
|
||||
"sqlObject.columnDataType": "Dátový typ stĺpca",
|
||||
"sqlObject.columnName": "Názov stĺpca",
|
||||
"sqlObject.databaseEmpty": "Databáza {database} je prázdna alebo štruktúra nie je načítaná, stlačte tlačidlo Obnoviť pre opätovné načítanie štruktúry",
|
||||
"sqlObject.loadingStructure": "Načítavanie štruktúry databázy",
|
||||
"sqlObject.schemaName": "Schéma",
|
||||
"sqlObject.search.placeholder": "Hľadať v tabuľkách, pohľadoch, procedúrach",
|
||||
@@ -512,6 +599,9 @@
|
||||
"summaryProcesses.actions": "Akcie",
|
||||
"summaryProcesses.client": "Klient",
|
||||
"summaryProcesses.connectionId": "ID pripojenia",
|
||||
"summaryProcesses.killConfirm": "Ste si istí, že chcete ukončiť proces {processId}?",
|
||||
"summaryProcesses.killError": "Chyba pri ukončovaní procesu {processId}: {errorMessage}",
|
||||
"summaryProcesses.killSuccess": "Proces {processId} bol úspešne ukončený",
|
||||
"summaryProcesses.namespace": "Namespace",
|
||||
"summaryProcesses.operation": "Operácia",
|
||||
"summaryProcesses.processId": "ID procesu",
|
||||
@@ -522,6 +612,48 @@
|
||||
"summaryVariables.variable": "Premenná",
|
||||
"tab.administration": "Administrácia",
|
||||
"tableData.viewColumns": "Zobraziť stĺpce",
|
||||
"tableEdit.addConstraintLabel": "Pridať {constraintLabel}",
|
||||
"tableEdit.editConstraintLabel": "Upraviť {constraintLabel}",
|
||||
"tableEdit.unique": "jedinečné",
|
||||
"tableEditor": "Editor tabuliek",
|
||||
"tableEditor.addColumn": "Pridať stĺpec",
|
||||
"tableEditor.addForeignKey": "Pridať cudzí kľúč",
|
||||
"tableEditor.addIndex": "Pridať index",
|
||||
"tableEditor.addPrimaryKey": "Pridať primárny kľúč",
|
||||
"tableEditor.addUnique": "Pridať obmedzenie jedinečnosti",
|
||||
"tableEditor.columnComment": "Komentár",
|
||||
"tableEditor.columns": "Stĺpce",
|
||||
"tableEditor.computedExpression": "Vypočítaný výraz",
|
||||
"tableEditor.constraintName": "Názov obmedzenia",
|
||||
"tableEditor.copydefinitions": "Kopírovať definície",
|
||||
"tableEditor.copynames": "Kopírovať názvy",
|
||||
"tableEditor.dataType": "Dátový typ",
|
||||
"tableEditor.defaultValue": "Predvolená hodnota",
|
||||
"tableEditor.dependencies": "Závislosti",
|
||||
"tableEditor.foreignKeys": "Cudzie kľúče ({foreignKeyCount})",
|
||||
"tableEditor.indexes": "Indexy ({indexCount})",
|
||||
"tableEditor.isPersisted": "Je perzistentný",
|
||||
"tableEditor.isSparse": "Je riedky",
|
||||
"tableEditor.isUnsigned": "Bez znamienka",
|
||||
"tableEditor.isZeroFill": "Je vyplnený nulami",
|
||||
"tableEditor.no": "NIE",
|
||||
"tableEditor.noConstraintDefined": "Nie je definovaný žiaden {constraintLabel}",
|
||||
"tableEditor.nocolumnsdefined": "Žiadne stĺpce nie sú definované",
|
||||
"tableEditor.noforeignkeydefined": "Nie je definovaný žiadny cudzí kľúč",
|
||||
"tableEditor.noindexdefined": "Nie je definovaný žiadny index",
|
||||
"tableEditor.notnull": "NOT NULL",
|
||||
"tableEditor.nouniquedefined": "Nie je definované žiadne obmedzenie jedinečnosti",
|
||||
"tableEditor.null": "NULL",
|
||||
"tableEditor.nullability": "Možnosť NULL",
|
||||
"tableEditor.primaryKey": "primárny kľúč",
|
||||
"tableEditor.remove": "Odstrániť",
|
||||
"tableEditor.tablename": "Názov tabuľky",
|
||||
"tableEditor.tableproperties": "Vlastnosti tabuľky",
|
||||
"tableEditor.unique": "Jedinečné",
|
||||
"tableEditor.uniqueConstraints": "Obmedzenia jedinečnosti ({constraintCount})",
|
||||
"tableEditor.yes": "ÁNO",
|
||||
"tableStructure.alter": "Úprava tabuľky",
|
||||
"tableStructure.create": "Vytvoriť tabuľku",
|
||||
"widget.databaseContent": "Obsah databázy",
|
||||
"widget.databases": "Databázy",
|
||||
"widget.keys": "Kľúče",
|
||||
|
||||
Reference in New Issue
Block a user