mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-17 23:45:59 +00:00
translation-connections,sqlObject,column,filter
This commit is contained in:
committed by
SPRINX0\prochazka
parent
8663ab2d28
commit
0e211dc91b
@@ -279,7 +279,7 @@
|
|||||||
showModal(InputTextModal, {
|
showModal(InputTextModal, {
|
||||||
header: _t('connection.createDatabase', { defaultMessage: 'Create database' }),
|
header: _t('connection.createDatabase', { defaultMessage: 'Create database' }),
|
||||||
value: 'newdb',
|
value: 'newdb',
|
||||||
label: _t('connection.databaseName', { defaultMessage: 'Database name' }),
|
label: _t('connection.database', { defaultMessage: 'Database name' }),
|
||||||
onConfirm: name =>
|
onConfirm: name =>
|
||||||
apiCall('server-connections/create-database', {
|
apiCall('server-connections/create-database', {
|
||||||
conid: data._id,
|
conid: data._id,
|
||||||
|
|||||||
@@ -161,8 +161,8 @@ registerCommand({
|
|||||||
onClick: () => {
|
onClick: () => {
|
||||||
showModal(InputTextModal, {
|
showModal(InputTextModal, {
|
||||||
value: '',
|
value: '',
|
||||||
label: 'New connection folder name',
|
label: _t('connection.createNewFolderName', { defaultMessage: 'New connection folder name' }),
|
||||||
header: 'Create connection folder',
|
header: _t('connection.createNewFolder', { defaultMessage: 'Create connection folder' }),
|
||||||
onConfirm: async folder => {
|
onConfirm: async folder => {
|
||||||
emptyConnectionGroupNames.update(names => {
|
emptyConnectionGroupNames.update(names => {
|
||||||
if (!folder) return names;
|
if (!folder) return names;
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
import SelectField from '../forms/SelectField.svelte';
|
import SelectField from '../forms/SelectField.svelte';
|
||||||
import ColumnEditorModal from '../tableeditor/ColumnEditorModal.svelte';
|
import ColumnEditorModal from '../tableeditor/ColumnEditorModal.svelte';
|
||||||
import { tick } from 'svelte';
|
import { tick } from 'svelte';
|
||||||
|
import { _t } from '../translations';
|
||||||
|
|
||||||
export let managerSize;
|
export let managerSize;
|
||||||
export let display: GridDisplay;
|
export let display: GridDisplay;
|
||||||
@@ -154,8 +155,8 @@
|
|||||||
class="colmode"
|
class="colmode"
|
||||||
value={isDynamicStructure ? 'variable' : 'fixed'}
|
value={isDynamicStructure ? 'variable' : 'fixed'}
|
||||||
options={[
|
options={[
|
||||||
{ label: 'Fixed columns (like SQL)', value: 'fixed' },
|
{ label: _t('column.fixed', {defaultMessage: 'Fixed columns (like SQL)'}), value: 'fixed' },
|
||||||
{ label: 'Variable columns (like MongoDB)', value: 'variable' },
|
{ label: _t('column.variable', {defaultMessage: 'Variable columns (like MongoDB)'}) , value: 'variable' },
|
||||||
]}
|
]}
|
||||||
on:change={e => {
|
on:change={e => {
|
||||||
dispatchChangeSet({
|
dispatchChangeSet({
|
||||||
@@ -175,7 +176,7 @@
|
|||||||
{/if}
|
{/if}
|
||||||
<SearchBoxWrapper>
|
<SearchBoxWrapper>
|
||||||
<SearchInput
|
<SearchInput
|
||||||
placeholder="Search columns"
|
placeholder={_t('column.search', {defaultMessage: 'Search columns'})}
|
||||||
value={currentFilter}
|
value={currentFilter}
|
||||||
onChange={value => display.setSearchInColumns(value)}
|
onChange={value => display.setSearchInColumns(value)}
|
||||||
data-testid="ColumnManager_searchColumns"
|
data-testid="ColumnManager_searchColumns"
|
||||||
@@ -186,8 +187,8 @@
|
|||||||
on:click={() => {
|
on:click={() => {
|
||||||
showModal(InputTextModal, {
|
showModal(InputTextModal, {
|
||||||
value: '',
|
value: '',
|
||||||
label: 'Column name',
|
label: _t('column.name', {defaultMessage: 'Column name'}),
|
||||||
header: 'Add new column',
|
header: _t('column.addNew', {defaultMessage: 'Add new column'}),
|
||||||
onConfirm: name => {
|
onConfirm: name => {
|
||||||
display.addDynamicColumn(name);
|
display.addDynamicColumn(name);
|
||||||
tick().then(() => {
|
tick().then(() => {
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
import FontIcon from '../icons/FontIcon.svelte';
|
import FontIcon from '../icons/FontIcon.svelte';
|
||||||
import DictionaryLookupModal from '../modals/DictionaryLookupModal.svelte';
|
import DictionaryLookupModal from '../modals/DictionaryLookupModal.svelte';
|
||||||
import ValueLookupModal from '../modals/ValueLookupModal.svelte';
|
import ValueLookupModal from '../modals/ValueLookupModal.svelte';
|
||||||
|
import { _t } from '../translations';
|
||||||
|
|
||||||
export let isReadOnly = false;
|
export let isReadOnly = false;
|
||||||
export let filterBehaviour;
|
export let filterBehaviour;
|
||||||
@@ -64,43 +65,43 @@
|
|||||||
|
|
||||||
function createMenu() {
|
function createMenu() {
|
||||||
const res = [
|
const res = [
|
||||||
{ onClick: () => setFilter(''), text: 'Clear Filter' },
|
{ onClick: () => setFilter(''), text: _t('filter.clear', { defaultMessage: 'Clear Filter' }) },
|
||||||
{ onClick: () => filterMultipleValues(), text: 'Filter multiple values' },
|
{ onClick: () => filterMultipleValues(), text: _t('filter.multipleValues', { defaultMessage: 'Filter multiple values' }) },
|
||||||
];
|
];
|
||||||
|
|
||||||
if (filterBehaviour.supportEquals) {
|
if (filterBehaviour.supportEquals) {
|
||||||
res.push(
|
res.push(
|
||||||
{ onClick: () => openFilterWindow('='), text: 'Equals...' },
|
{ onClick: () => openFilterWindow('='), text: _t('filter.equals', { defaultMessage: 'Equals...' }) },
|
||||||
{ onClick: () => openFilterWindow('<>'), text: 'Does Not Equal...' }
|
{ onClick: () => openFilterWindow('<>'), text: _t('filter.doesNotEqual', { defaultMessage: 'Does Not Equal...' }) }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (filterBehaviour.supportExistsTesting) {
|
if (filterBehaviour.supportExistsTesting) {
|
||||||
res.push(
|
res.push(
|
||||||
{ onClick: () => setFilter('EXISTS'), text: 'Field exists' },
|
{ onClick: () => setFilter('EXISTS'), text: _t('filter.fieldExists', { defaultMessage: 'Field exists' }) },
|
||||||
{ onClick: () => setFilter('NOT EXISTS'), text: 'Field does not exist' }
|
{ onClick: () => setFilter('NOT EXISTS'), text: _t('filter.fieldDoesNotExist', { defaultMessage: 'Field does not exist' }) }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (filterBehaviour.supportNotEmptyArrayTesting) {
|
if (filterBehaviour.supportNotEmptyArrayTesting) {
|
||||||
res.push({ onClick: () => setFilter('NOT EMPTY ARRAY'), text: 'Array is not empty' });
|
res.push({ onClick: () => setFilter('NOT EMPTY ARRAY'), text: _t('filter.arrayIsNotEmpty', { defaultMessage: 'Array is not empty' }) });
|
||||||
}
|
}
|
||||||
|
|
||||||
if (filterBehaviour.supportEmptyArrayTesting) {
|
if (filterBehaviour.supportEmptyArrayTesting) {
|
||||||
res.push({ onClick: () => setFilter('EMPTY ARRAY'), text: 'Array is empty' });
|
res.push({ onClick: () => setFilter('EMPTY ARRAY'), text: _t('filter.arrayIsEmpty', { defaultMessage: 'Array is empty' }) });
|
||||||
}
|
}
|
||||||
|
|
||||||
if (filterBehaviour.supportNullTesting) {
|
if (filterBehaviour.supportNullTesting) {
|
||||||
res.push(
|
res.push(
|
||||||
{ onClick: () => setFilter('NULL'), text: 'Is Null' },
|
{ onClick: () => setFilter('NULL'), text: _t('filter.isNull', { defaultMessage: 'Is Null' }) },
|
||||||
{ onClick: () => setFilter('NOT NULL'), text: 'Is Not Null' }
|
{ onClick: () => setFilter('NOT NULL'), text: _t('filter.isNotNull', { defaultMessage: 'Is Not Null' }) }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (filterBehaviour.supportEmpty) {
|
if (filterBehaviour.supportEmpty) {
|
||||||
res.push(
|
res.push(
|
||||||
{ onClick: () => setFilter('EMPTY, NULL'), text: 'Is Empty Or Null' },
|
{ onClick: () => setFilter('EMPTY, NULL'), text: _t('filter.isEmptyOrNull', { defaultMessage: 'Is Empty Or Null' }) },
|
||||||
{ onClick: () => setFilter('NOT EMPTY NOT NULL'), text: 'Has Not Empty Value' }
|
{ onClick: () => setFilter('NOT EMPTY NOT NULL'), text: _t('filter.hasNotEmptyValue', { defaultMessage: 'Has Not Empty Value' }) }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -108,10 +109,10 @@
|
|||||||
res.push(
|
res.push(
|
||||||
{ divider: true },
|
{ divider: true },
|
||||||
|
|
||||||
{ onClick: () => openFilterWindow('>'), text: 'Greater Than...' },
|
{ onClick: () => openFilterWindow('>'), text: _t('filter.greaterThan', { defaultMessage: 'Greater Than...' }) },
|
||||||
{ onClick: () => openFilterWindow('>='), text: 'Greater Than Or Equal To...' },
|
{ onClick: () => openFilterWindow('>='), text: _t('filter.greaterThanOrEqualTo', { defaultMessage: 'Greater Than Or Equal To...' }) },
|
||||||
{ onClick: () => openFilterWindow('<'), text: 'Less Than...' },
|
{ onClick: () => openFilterWindow('<'), text: _t('filter.lessThan', { defaultMessage: 'Less Than...' }) },
|
||||||
{ onClick: () => openFilterWindow('<='), text: 'Less Than Or Equal To...' }
|
{ onClick: () => openFilterWindow('<='), text: _t('filter.lessThanOrEqualTo', { defaultMessage: 'Less Than Or Equal To...' }) }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -119,26 +120,26 @@
|
|||||||
res.push(
|
res.push(
|
||||||
{ divider: true },
|
{ divider: true },
|
||||||
|
|
||||||
{ onClick: () => openFilterWindow('+'), text: 'Contains...' },
|
{ onClick: () => openFilterWindow('+'), text: _t('filter.contains', { defaultMessage: 'Contains...' }) },
|
||||||
{ onClick: () => openFilterWindow('~'), text: 'Does Not Contain...' },
|
{ onClick: () => openFilterWindow('~'), text: _t('filter.doesNotContain', { defaultMessage: 'Does Not Contain...' }) },
|
||||||
{ onClick: () => openFilterWindow('^'), text: 'Begins With...' },
|
{ onClick: () => openFilterWindow('^'), text: _t('filter.beginsWith', { defaultMessage: 'Begins With...' }) },
|
||||||
{ onClick: () => openFilterWindow('!^'), text: 'Does Not Begin With...' },
|
{ onClick: () => openFilterWindow('!^'), text: _t('filter.doesNotBeginWith', { defaultMessage: 'Does Not Begin With...' }) },
|
||||||
{ onClick: () => openFilterWindow('$'), text: 'Ends With...' },
|
{ onClick: () => openFilterWindow('$'), text: _t('filter.endsWith', { defaultMessage: 'Ends With...' }) },
|
||||||
{ onClick: () => openFilterWindow('!$'), text: 'Does Not End With...' }
|
{ onClick: () => openFilterWindow('!$'), text: _t('filter.doesNotEndWith', { defaultMessage: 'Does Not End With...' }) }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (filterBehaviour.supportBooleanValues) {
|
if (filterBehaviour.supportBooleanValues) {
|
||||||
res.push(
|
res.push(
|
||||||
{ onClick: () => setFilter('TRUE'), text: 'Is True' },
|
{ onClick: () => setFilter('TRUE'), text: _t('filter.isTrue', { defaultMessage: 'Is True' }) },
|
||||||
{ onClick: () => setFilter('FALSE'), text: 'Is False' }
|
{ onClick: () => setFilter('FALSE'), text: _t('filter.isFalse', { defaultMessage: 'Is False' }) }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (filterBehaviour.supportBooleanOrNull) {
|
if (filterBehaviour.supportBooleanOrNull) {
|
||||||
res.push(
|
res.push(
|
||||||
{ onClick: () => setFilter('TRUE, NULL'), text: 'Is True or NULL' },
|
{ onClick: () => setFilter('TRUE, NULL'), text: _t('filter.isTrueOrNull', { defaultMessage: 'Is True or NULL' }) },
|
||||||
{ onClick: () => setFilter('FALSE, NULL'), text: 'Is False or NULL' }
|
{ onClick: () => setFilter('FALSE, NULL'), text: _t('filter.isFalseOrNull', { defaultMessage: 'Is False or NULL' }) }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -146,44 +147,44 @@
|
|||||||
res.push(
|
res.push(
|
||||||
{ divider: true },
|
{ divider: true },
|
||||||
|
|
||||||
{ onClick: () => setFilter('TOMORROW'), text: 'Tomorrow' },
|
{ onClick: () => setFilter('TOMORROW'), text: _t('filter.tomorrow', { defaultMessage: 'Tomorrow' }) },
|
||||||
{ onClick: () => setFilter('TODAY'), text: 'Today' },
|
{ onClick: () => setFilter('TODAY'), text: _t('filter.today', { defaultMessage: 'Today' }) },
|
||||||
{ onClick: () => setFilter('YESTERDAY'), text: 'Yesterday' },
|
{ onClick: () => setFilter('YESTERDAY'), text: _t('filter.yesterday', { defaultMessage: 'Yesterday' }) },
|
||||||
|
|
||||||
{ divider: true },
|
{ divider: true },
|
||||||
|
|
||||||
{ onClick: () => setFilter('NEXT WEEK'), text: 'Next Week' },
|
{ onClick: () => setFilter('NEXT WEEK'), text: _t('filter.nextWeek', { defaultMessage: 'Next Week' }) },
|
||||||
{ onClick: () => setFilter('THIS WEEK'), text: 'This Week' },
|
{ onClick: () => setFilter('THIS WEEK'), text: _t('filter.thisWeek', { defaultMessage: 'This Week' }) },
|
||||||
{ onClick: () => setFilter('LAST WEEK'), text: 'Last Week' },
|
{ onClick: () => setFilter('LAST WEEK'), text: _t('filter.lastWeek', { defaultMessage: 'Last Week' }) },
|
||||||
|
|
||||||
{ divider: true },
|
{ divider: true },
|
||||||
|
|
||||||
{ onClick: () => setFilter('NEXT MONTH'), text: 'Next Month' },
|
{ onClick: () => setFilter('NEXT MONTH'), text: _t('filter.nextMonth', { defaultMessage: 'Next Month' }) },
|
||||||
{ onClick: () => setFilter('THIS MONTH'), text: 'This Month' },
|
{ onClick: () => setFilter('THIS MONTH'), text: _t('filter.thisMonth', { defaultMessage: 'This Month' }) },
|
||||||
{ onClick: () => setFilter('LAST MONTH'), text: 'Last Month' },
|
{ onClick: () => setFilter('LAST MONTH'), text: _t('filter.lastMonth', { defaultMessage: 'Last Month' }) },
|
||||||
|
|
||||||
{ divider: true },
|
{ divider: true },
|
||||||
|
|
||||||
{ onClick: () => setFilter('NEXT YEAR'), text: 'Next Year' },
|
{ onClick: () => setFilter('NEXT YEAR'), text: _t('filter.nextYear', { defaultMessage: 'Next Year' }) },
|
||||||
{ onClick: () => setFilter('THIS YEAR'), text: 'This Year' },
|
{ onClick: () => setFilter('THIS YEAR'), text: _t('filter.thisYear', { defaultMessage: 'This Year' }) },
|
||||||
{ onClick: () => setFilter('LAST YEAR'), text: 'Last Year' }
|
{ onClick: () => setFilter('LAST YEAR'), text: _t('filter.lastYear', { defaultMessage: 'Last Year' }) }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (filterBehaviour.supportDatetimeComparison) {
|
if (filterBehaviour.supportDatetimeComparison) {
|
||||||
res.push(
|
res.push(
|
||||||
{ divider: true },
|
{ divider: true },
|
||||||
{ onClick: () => openFilterWindow('<='), text: 'Before...' },
|
{ onClick: () => openFilterWindow('<='), text: _t('filter.before', { defaultMessage: 'Before...' }) },
|
||||||
{ onClick: () => openFilterWindow('>='), text: 'After...' },
|
{ onClick: () => openFilterWindow('>='), text: _t('filter.after', { defaultMessage: 'After...' }) },
|
||||||
{ onClick: () => openFilterWindow('>=;<='), text: 'Between...' }
|
{ onClick: () => openFilterWindow('>=;<='), text: _t('filter.between', { defaultMessage: 'Between...' }) }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (filterBehaviour.supportSqlCondition) {
|
if (filterBehaviour.supportSqlCondition) {
|
||||||
res.push(
|
res.push(
|
||||||
{ divider: true },
|
{ divider: true },
|
||||||
{ onClick: () => openFilterWindow('sql'), text: 'SQL condition ...' },
|
{ onClick: () => openFilterWindow('sql'), text: _t('filter.sqlCondition', { defaultMessage: 'SQL condition ...' }) },
|
||||||
{ onClick: () => openFilterWindow('sqlRight'), text: 'SQL condition - right side ...' }
|
{ onClick: () => openFilterWindow('sqlRight'), text: _t('filter.sqlConditionRight', { defaultMessage: 'SQL condition - right side ...' }) }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
import FormTextField from '../forms/FormTextField.svelte';
|
import FormTextField from '../forms/FormTextField.svelte';
|
||||||
import ModalBase from './ModalBase.svelte';
|
import ModalBase from './ModalBase.svelte';
|
||||||
import { closeCurrentModal } from './modalTools';
|
import { closeCurrentModal } from './modalTools';
|
||||||
|
import { _t } from '../translations';
|
||||||
|
|
||||||
export let header;
|
export let header;
|
||||||
export let value;
|
export let value;
|
||||||
@@ -29,7 +30,7 @@
|
|||||||
|
|
||||||
<svelte:fragment slot="footer">
|
<svelte:fragment slot="footer">
|
||||||
<FormSubmit value="OK" on:click={e => handleSubmit(e.detail)} data-testid="InputTextModal_ok" />
|
<FormSubmit value="OK" on:click={e => handleSubmit(e.detail)} data-testid="InputTextModal_ok" />
|
||||||
<FormStyledButton type="button" value="Cancel" on:click={closeCurrentModal} data-testid="InputTextModal_cancel" />
|
<FormStyledButton type="button" value={_t('common.cancel', { defaultMessage: 'Cancel' })} on:click={closeCurrentModal} data-testid="InputTextModal_cancel" />
|
||||||
</svelte:fragment>
|
</svelte:fragment>
|
||||||
</ModalBase>
|
</ModalBase>
|
||||||
</FormProvider>
|
</FormProvider>
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
import { closeCurrentModal } from './modalTools';
|
import { closeCurrentModal } from './modalTools';
|
||||||
import FormRadioGroupItem from '../forms/FormRadioGroupItem.svelte';
|
import FormRadioGroupItem from '../forms/FormRadioGroupItem.svelte';
|
||||||
import FormValues from '../forms/FormValues.svelte';
|
import FormValues from '../forms/FormValues.svelte';
|
||||||
|
import { _t } from '../translations';
|
||||||
|
|
||||||
export let condition1;
|
export let condition1;
|
||||||
export let onFilter;
|
export let onFilter;
|
||||||
@@ -44,10 +45,10 @@
|
|||||||
|
|
||||||
<FormProvider initialValues={{ condition1, condition2: '=', joinOperator: ' ' }} template={FormFieldTemplateLarge}>
|
<FormProvider initialValues={{ condition1, condition2: '=', joinOperator: ' ' }} template={FormFieldTemplateLarge}>
|
||||||
<ModalBase {...$$restProps}>
|
<ModalBase {...$$restProps}>
|
||||||
<div slot="header">Set filter</div>
|
<div slot="header">{_t('filter.setFilter', {defaultMessage: 'Set filter'})}</div>
|
||||||
|
|
||||||
<div class="largeFormMarker">
|
<div class="largeFormMarker">
|
||||||
<div class="row">Show rows where</div>
|
<div class="row">{_t('filter.showRowsWhere', {defaultMessage: 'Show rows where'})}</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-6 mr-1">
|
<div class="col-6 mr-1">
|
||||||
<SetFilterModal_Select {filterBehaviour} name="condition1" />
|
<SetFilterModal_Select {filterBehaviour} name="condition1" />
|
||||||
@@ -62,9 +63,9 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<FormRadioGroupItem name="joinOperator" value=" " text="And" />
|
<FormRadioGroupItem name="joinOperator" value=" " text={_t('filter.and', {defaultMessage: 'And'})} />
|
||||||
{#if !filterBehaviour.disableOr}
|
{#if !filterBehaviour.disableOr}
|
||||||
<FormRadioGroupItem name="joinOperator" value="," text="Or" />
|
<FormRadioGroupItem name="joinOperator" value="," text={_t('filter.or', {defaultMessage: 'Or'})} />
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -84,7 +85,7 @@
|
|||||||
|
|
||||||
<div slot="footer">
|
<div slot="footer">
|
||||||
<FormSubmit value="OK" on:click={handleOk} />
|
<FormSubmit value="OK" on:click={handleOk} />
|
||||||
<FormButton type="button" value="Close" on:click={closeCurrentModal} />
|
<FormButton type="button" value={_t('common.close', {defaultMessage: 'Close'})} on:click={closeCurrentModal} />
|
||||||
</div>
|
</div>
|
||||||
</ModalBase>
|
</ModalBase>
|
||||||
</FormProvider>
|
</FormProvider>
|
||||||
|
|||||||
@@ -1,56 +1,57 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
import _ from 'lodash';
|
||||||
import FormSelectFieldRaw from '../forms/FormSelectFieldRaw.svelte';
|
import FormSelectFieldRaw from '../forms/FormSelectFieldRaw.svelte';
|
||||||
|
import { _t } from '../translations';
|
||||||
export let name;
|
export let name;
|
||||||
export let filterBehaviour;
|
export let filterBehaviour;
|
||||||
|
|
||||||
function getOptions() {
|
function getOptions() {
|
||||||
const res = [];
|
const res = [];
|
||||||
if (filterBehaviour.supportEquals) {
|
if (filterBehaviour.supportEquals) {
|
||||||
res.push({ value: '=', label: 'equals' }, { value: '<>', label: 'does not equal' });
|
res.push({ value: '=', label: _t('filter.modal.equals', {defaultMessage: 'equals'}) }, { value: '<>', label: _t('filter.modal.doesNotEqual', {defaultMessage: 'does not equal'}) });
|
||||||
}
|
};
|
||||||
|
|
||||||
if (filterBehaviour.supportStringInclusion) {
|
if (filterBehaviour.supportStringInclusion) {
|
||||||
res.push(
|
res.push(
|
||||||
{ value: '+', label: 'contains' },
|
{ value: '+', label: _t('filter.modal.contains', {defaultMessage: 'contains'}) },
|
||||||
{ value: '~', label: 'does not contain' },
|
{ value: '~', label: _t('filter.modal.doesNotContain', {defaultMessage: 'does not contain'}) },
|
||||||
{ value: '^', label: 'begins with' },
|
{ value: '^', label: _t('filter.modal.beginsWith', {defaultMessage: 'begins with'}) },
|
||||||
{ value: '!^', label: 'does not begin with' },
|
{ value: '!^', label: _t('filter.modal.doesNotBeginWith', {defaultMessage: 'does not begin with'}) },
|
||||||
{ value: '$', label: 'ends with' },
|
{ value: '$', label: _t('filter.modal.endsWith', {defaultMessage: 'ends with'}) },
|
||||||
{ value: '!$', label: 'does not end with' }
|
{ value: '!$', label: _t('filter.modal.doesNotEndWith', {defaultMessage: 'does not end with'}) }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (filterBehaviour.supportNumberLikeComparison) {
|
if (filterBehaviour.supportNumberLikeComparison) {
|
||||||
res.push(
|
res.push(
|
||||||
{ value: '<', label: 'is smaller' },
|
{ value: '<', label: _t('filter.isSmaller', {defaultMessage: 'is smaller'}) },
|
||||||
{ value: '>', label: 'is greater' },
|
{ value: '>', label: _t('filter.isGreater', {defaultMessage: 'is greater'}) },
|
||||||
{ value: '<=', label: 'is smaller or equal' },
|
{ value: '<=', label: _t('filter.isSmallerOrEqual', {defaultMessage: 'is smaller or equal'}) },
|
||||||
{ value: '>=', label: 'is greater or equal' }
|
{ value: '>=', label: _t('filter.isGreaterOrEqual', {defaultMessage: 'is greater or equal'}) }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (filterBehaviour.supportDatetimeComparison) {
|
if (filterBehaviour.supportDatetimeComparison) {
|
||||||
res.push(
|
res.push(
|
||||||
{ value: '<', label: 'is before' },
|
{ value: '<', label: _t('filter.isBefore', {defaultMessage: 'is before'}) },
|
||||||
{ value: '>', label: 'is after' },
|
{ value: '>', label: _t('filter.isAfter', {defaultMessage: 'is after'}) },
|
||||||
{ value: '<=', label: 'is before or equal' },
|
{ value: '<=', label: _t('filter.isBeforeOrEqual', {defaultMessage: 'is before or equal'}) },
|
||||||
{ value: '>=', label: 'is after or equal' }
|
{ value: '>=', label: _t('filter.isAfterOrEqual', {defaultMessage: 'is after or equal'}) }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (filterBehaviour.supportNullTesting) {
|
if (filterBehaviour.supportNullTesting) {
|
||||||
res.push({ value: 'NULL', label: 'is NULL' }, { value: 'NOT NULL', label: 'is not NULL' });
|
res.push({ value: 'NULL', label: _t('filter.modal.isNull', {defaultMessage: 'is NULL'}) }, { value: 'NOT NULL', label: _t('filter.modal.isNotNull', {defaultMessage: 'is not NULL'}) });
|
||||||
}
|
}
|
||||||
|
|
||||||
if (filterBehaviour.supportExistsTesting) {
|
if (filterBehaviour.supportExistsTesting) {
|
||||||
res.push({ value: 'EXISTS', label: 'field exists' }, { value: 'NOT EXISTS', label: 'field does not exist' });
|
res.push({ value: 'EXISTS', label: _t('filter.modal.fieldExists', {defaultMessage: 'field exists'}) }, { value: 'NOT EXISTS', label: _t('filter.modal.fieldDoesNotExist', {defaultMessage: 'field does not exist'}) });
|
||||||
}
|
}
|
||||||
|
|
||||||
if (filterBehaviour.supportSqlCondition) {
|
if (filterBehaviour.supportSqlCondition) {
|
||||||
res.push(
|
res.push(
|
||||||
{ value: 'sql', label: 'SQL condition' },
|
{ value: 'sql', label: _t('filter.modal.sqlCondition', {defaultMessage: 'SQL condition'}) },
|
||||||
{ value: 'sqlRight', label: 'SQL condition - right side only' }
|
{ value: 'sqlRight', label: _t('filter.modal.sqlConditionRight', {defaultMessage: 'SQL condition - right side only'}) }
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
import { getFormContext } from '../forms/FormProviderCore.svelte';
|
import { getFormContext } from '../forms/FormProviderCore.svelte';
|
||||||
import FormTextAreaField from '../forms/FormTextAreaField.svelte';
|
import FormTextAreaField from '../forms/FormTextAreaField.svelte';
|
||||||
import FormArgumentList from '../forms/FormArgumentList.svelte';
|
import FormArgumentList from '../forms/FormArgumentList.svelte';
|
||||||
|
import { _t } from '../translations';
|
||||||
|
|
||||||
const { values } = getFormContext();
|
const { values } = getFormContext();
|
||||||
|
|
||||||
@@ -16,8 +17,8 @@
|
|||||||
$: advancedFields = driver?.getAdvancedConnectionFields ? driver?.getAdvancedConnectionFields() : null;
|
$: advancedFields = driver?.getAdvancedConnectionFields ? driver?.getAdvancedConnectionFields() : null;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<FormTextAreaField label="Allowed databases, one per line" name="allowedDatabases" disabled={isConnected} rows={8} />
|
<FormTextAreaField label={_t('connection.allowedDatabases', { defaultMessage: 'Allowed databases, one per line' })} name="allowedDatabases" disabled={isConnected} rows={8} />
|
||||||
<FormTextField label="Allowed databases regular expression" name="allowedDatabasesRegex" disabled={isConnected} />
|
<FormTextField label={_t('connection.allowedDatabasesRegex', { defaultMessage: 'Allowed databases regular expression' })} name="allowedDatabasesRegex" disabled={isConnected} />
|
||||||
|
|
||||||
{#if advancedFields}
|
{#if advancedFields}
|
||||||
<FormArgumentList args={advancedFields} />
|
<FormArgumentList args={advancedFields} />
|
||||||
|
|||||||
@@ -87,13 +87,13 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<FormSelectField
|
<FormSelectField
|
||||||
label="Connection type"
|
label={_t('connection.type', { defaultMessage: 'Connection type' })}
|
||||||
name="engine"
|
name="engine"
|
||||||
isNative
|
isNative
|
||||||
disabled={isConnected}
|
disabled={isConnected}
|
||||||
data-testid="ConnectionDriverFields_connectionType"
|
data-testid="ConnectionDriverFields_connectionType"
|
||||||
options={[
|
options={[
|
||||||
{ label: '(select connection type)', value: '' },
|
{ label: _t('connection.selectType', { defaultMessage: '(select connection type)' })},
|
||||||
..._.sortBy(
|
..._.sortBy(
|
||||||
$extensions.drivers
|
$extensions.drivers
|
||||||
// .filter(driver => !driver.isElectronOnly || electron)
|
// .filter(driver => !driver.isElectronOnly || electron)
|
||||||
@@ -109,7 +109,7 @@
|
|||||||
{#if $authTypes && driver?.showConnectionField('authType', $values, showConnectionFieldArgs) && driver?.authTypeFirst}
|
{#if $authTypes && driver?.showConnectionField('authType', $values, showConnectionFieldArgs) && driver?.authTypeFirst}
|
||||||
{#key $authTypes}
|
{#key $authTypes}
|
||||||
<FormSelectField
|
<FormSelectField
|
||||||
label={driver?.authTypeLabel ?? 'Authentication'}
|
label={driver?.authTypeLabel ?? _t('connection.authentication', { defaultMessage: 'Authentication' })}
|
||||||
data-testid="ConnectionDriverFields_authType"
|
data-testid="ConnectionDriverFields_authType"
|
||||||
name="authType"
|
name="authType"
|
||||||
isNative
|
isNative
|
||||||
@@ -125,7 +125,7 @@
|
|||||||
|
|
||||||
{#if driver?.showConnectionField('clusterNodes', $values, showConnectionFieldArgs)}
|
{#if driver?.showConnectionField('clusterNodes', $values, showConnectionFieldArgs)}
|
||||||
<FormClusterNodesField
|
<FormClusterNodesField
|
||||||
label="Cluster nodes"
|
label={_t('connection.clusterNodes', { defaultMessage: 'Cluster nodes' })}
|
||||||
name="clusterNodes"
|
name="clusterNodes"
|
||||||
disabled={isConnected || disabledFields.includes('clusterNodes')}
|
disabled={isConnected || disabledFields.includes('clusterNodes')}
|
||||||
data-testid="ConnectionDriverFields_clusterNodes"
|
data-testid="ConnectionDriverFields_clusterNodes"
|
||||||
@@ -134,7 +134,7 @@
|
|||||||
|
|
||||||
{#if driver?.showConnectionField('autoDetectNatMap', $values, showConnectionFieldArgs)}
|
{#if driver?.showConnectionField('autoDetectNatMap', $values, showConnectionFieldArgs)}
|
||||||
<FormCheckboxField
|
<FormCheckboxField
|
||||||
label="Auto detect NAT map (use for Redis Cluster in Docker network)"
|
label={_t('connection.autoDetectNatMap', { defaultMessage: 'Auto detect NAT map (use for Redis Cluster in Docker network)' })}
|
||||||
name="autoDetectNatMap"
|
name="autoDetectNatMap"
|
||||||
disabled={isConnected}
|
disabled={isConnected}
|
||||||
data-testid="ConnectionDriverFields_autoDetectNatMap"
|
data-testid="ConnectionDriverFields_autoDetectNatMap"
|
||||||
@@ -144,13 +144,13 @@
|
|||||||
{#if driver?.showConnectionField('databaseFile', $values, showConnectionFieldArgs)}
|
{#if driver?.showConnectionField('databaseFile', $values, showConnectionFieldArgs)}
|
||||||
{#if electron && !driver?.dialect?.useServerDatabaseFile}
|
{#if electron && !driver?.dialect?.useServerDatabaseFile}
|
||||||
<FormElectronFileSelector
|
<FormElectronFileSelector
|
||||||
label="Database file"
|
label={_t('connection.databaseFile', { defaultMessage: 'Database file' })}
|
||||||
name="databaseFile"
|
name="databaseFile"
|
||||||
disabled={isConnected || disabledFields.includes('databaseFile')}
|
disabled={isConnected || disabledFields.includes('databaseFile')}
|
||||||
/>
|
/>
|
||||||
{:else}
|
{:else}
|
||||||
<FormTextField
|
<FormTextField
|
||||||
label="Database file (path on server)"
|
label={_t('connection.databaseFilePath', { defaultMessage: 'Database file (path on server)' })}
|
||||||
name="databaseFile"
|
name="databaseFile"
|
||||||
disabled={isConnected || disabledFields.includes('databaseFile')}
|
disabled={isConnected || disabledFields.includes('databaseFile')}
|
||||||
/>
|
/>
|
||||||
@@ -164,8 +164,8 @@
|
|||||||
name="useDatabaseUrl"
|
name="useDatabaseUrl"
|
||||||
matchValueToOption={(value, option) => !!option.value == !!value}
|
matchValueToOption={(value, option) => !!option.value == !!value}
|
||||||
options={[
|
options={[
|
||||||
{ label: 'Fill database connection details', value: '', default: true },
|
{ label: _t('connection.fillDetails', { defaultMessage: 'Fill database connection details' }), value: '', default: true },
|
||||||
{ label: 'Use database URL', value: '1' },
|
{ label: _t('connection.useUrl', { defaultMessage: 'Use database URL' }), value: '1' },
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -173,7 +173,7 @@
|
|||||||
|
|
||||||
{#if driver?.showConnectionField('databaseUrl', $values, showConnectionFieldArgs)}
|
{#if driver?.showConnectionField('databaseUrl', $values, showConnectionFieldArgs)}
|
||||||
<FormTextField
|
<FormTextField
|
||||||
label="Database URL"
|
label={_t('connection.databaseUrl', { defaultMessage: 'Database URL' })}
|
||||||
name="databaseUrl"
|
name="databaseUrl"
|
||||||
data-testid="ConnectionDriverFields_databaseUrl"
|
data-testid="ConnectionDriverFields_databaseUrl"
|
||||||
placeholder={driver?.databaseUrlPlaceholder}
|
placeholder={driver?.databaseUrlPlaceholder}
|
||||||
@@ -183,7 +183,7 @@
|
|||||||
|
|
||||||
{#if driver?.showConnectionField('localDataCenter', $values, showConnectionFieldArgs)}
|
{#if driver?.showConnectionField('localDataCenter', $values, showConnectionFieldArgs)}
|
||||||
<FormTextField
|
<FormTextField
|
||||||
label="Local DataCenter"
|
label={_t('connection.localDataCenter', { defaultMessage: 'Local DataCenter' })}
|
||||||
name="localDataCenter"
|
name="localDataCenter"
|
||||||
data-testid="ConnectionDriverFields_localDataCenter"
|
data-testid="ConnectionDriverFields_localDataCenter"
|
||||||
placeholder={driver?.defaultLocalDataCenter}
|
placeholder={driver?.defaultLocalDataCenter}
|
||||||
@@ -203,7 +203,7 @@
|
|||||||
{#if $authTypes && driver?.showConnectionField('authType', $values, showConnectionFieldArgs) && !driver?.authTypeFirst}
|
{#if $authTypes && driver?.showConnectionField('authType', $values, showConnectionFieldArgs) && !driver?.authTypeFirst}
|
||||||
{#key $authTypes}
|
{#key $authTypes}
|
||||||
<FormSelectField
|
<FormSelectField
|
||||||
label={driver?.authTypeLabel ?? 'Authentication'}
|
label={driver?.authTypeLabel ?? _t('connection.authentication', { defaultMessage: 'Authentication' })}
|
||||||
data-testid="ConnectionDriverFields_authType"
|
data-testid="ConnectionDriverFields_authType"
|
||||||
name="authType"
|
name="authType"
|
||||||
isNative
|
isNative
|
||||||
@@ -219,7 +219,7 @@
|
|||||||
|
|
||||||
{#if driver?.showConnectionField('endpoint', $values, showConnectionFieldArgs)}
|
{#if driver?.showConnectionField('endpoint', $values, showConnectionFieldArgs)}
|
||||||
<FormTextField
|
<FormTextField
|
||||||
label="Endpoint"
|
label='Endpoint'
|
||||||
name="endpoint"
|
name="endpoint"
|
||||||
disabled={isConnected || disabledFields.includes('endpoint')}
|
disabled={isConnected || disabledFields.includes('endpoint')}
|
||||||
data-testid="ConnectionDriverFields_endpoint"
|
data-testid="ConnectionDriverFields_endpoint"
|
||||||
@@ -228,7 +228,7 @@
|
|||||||
|
|
||||||
{#if driver?.showConnectionField('endpointKey', $values, showConnectionFieldArgs)}
|
{#if driver?.showConnectionField('endpointKey', $values, showConnectionFieldArgs)}
|
||||||
<FormTextField
|
<FormTextField
|
||||||
label="Key"
|
label={_t('connection.endpointKey', { defaultMessage: 'Key' })}
|
||||||
name="endpointKey"
|
name="endpointKey"
|
||||||
disabled={isConnected || disabledFields.includes('endpointKey')}
|
disabled={isConnected || disabledFields.includes('endpointKey')}
|
||||||
data-testid="ConnectionDriverFields_endpointKey"
|
data-testid="ConnectionDriverFields_endpointKey"
|
||||||
@@ -237,7 +237,7 @@
|
|||||||
|
|
||||||
{#if driver?.showConnectionField('clientLibraryPath', $values, showConnectionFieldArgs)}
|
{#if driver?.showConnectionField('clientLibraryPath', $values, showConnectionFieldArgs)}
|
||||||
<FormTextField
|
<FormTextField
|
||||||
label="Client library path"
|
label={_t('connection.clientLibraryPath', { defaultMessage: 'Client library path' })}
|
||||||
name="clientLibraryPath"
|
name="clientLibraryPath"
|
||||||
disabled={isConnected || disabledFields.includes('clientLibraryPath')}
|
disabled={isConnected || disabledFields.includes('clientLibraryPath')}
|
||||||
data-testid="ConnectionDriverFields_clientLibraryPath"
|
data-testid="ConnectionDriverFields_clientLibraryPath"
|
||||||
@@ -248,7 +248,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-9 mr-1">
|
<div class="col-9 mr-1">
|
||||||
<FormTextField
|
<FormTextField
|
||||||
label="Server"
|
label={_t('connection.server', { defaultMessage: 'Server' })}
|
||||||
name="server"
|
name="server"
|
||||||
disabled={isConnected || disabledFields.includes('server')}
|
disabled={isConnected || disabledFields.includes('server')}
|
||||||
templateProps={{ noMargin: true }}
|
templateProps={{ noMargin: true }}
|
||||||
@@ -271,7 +271,7 @@
|
|||||||
{#if getCurrentConfig().isDocker}
|
{#if getCurrentConfig().isDocker}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<FontIcon icon="img warn" padRight />
|
<FontIcon icon="img warn" padRight />
|
||||||
Under docker, localhost and 127.0.0.1 will not work, use dockerhost instead
|
{ _t('connection.dockerWarning', { defaultMessage: 'Under docker, localhost and 127.0.0.1 will not work, use dockerhost instead' }) }
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
{/if}
|
{/if}
|
||||||
@@ -280,7 +280,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-9 mr-1">
|
<div class="col-9 mr-1">
|
||||||
<FormTextField
|
<FormTextField
|
||||||
label={$values.serviceNameType == 'sid' ? 'SID' : 'Service name'}
|
label={$values.serviceNameType == 'sid' ? 'SID' : _t('connection.serviceName', { defaultMessage: 'Service name' })}
|
||||||
name="serviceName"
|
name="serviceName"
|
||||||
disabled={isConnected}
|
disabled={isConnected}
|
||||||
templateProps={{ noMargin: true }}
|
templateProps={{ noMargin: true }}
|
||||||
@@ -289,14 +289,14 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-3">
|
<div class="col-3">
|
||||||
<FormSelectField
|
<FormSelectField
|
||||||
label="Choose type"
|
label={_t('connection.chooseType', { defaultMessage: 'Choose type' })}
|
||||||
isNative
|
isNative
|
||||||
name="serviceNameType"
|
name="serviceNameType"
|
||||||
defaultValue="serviceName"
|
defaultValue="serviceName"
|
||||||
disabled={isConnected}
|
disabled={isConnected}
|
||||||
templateProps={{ noMargin: true }}
|
templateProps={{ noMargin: true }}
|
||||||
options={[
|
options={[
|
||||||
{ value: 'serviceName', label: 'Service name' },
|
{ value: 'serviceName', label: _t('connection.serviceName', { defaultMessage: 'Service name' }) },
|
||||||
{ value: 'sid', label: 'SID' },
|
{ value: 'sid', label: 'SID' },
|
||||||
]}
|
]}
|
||||||
data-testid="ConnectionDriverFields_serviceNameType"
|
data-testid="ConnectionDriverFields_serviceNameType"
|
||||||
@@ -307,7 +307,7 @@
|
|||||||
|
|
||||||
{#if driver?.showConnectionField('socketPath', $values, showConnectionFieldArgs)}
|
{#if driver?.showConnectionField('socketPath', $values, showConnectionFieldArgs)}
|
||||||
<FormTextField
|
<FormTextField
|
||||||
label="Socket path"
|
label={_t('connection.socketPath', { defaultMessage: 'Socket path' })}
|
||||||
name="socketPath"
|
name="socketPath"
|
||||||
disabled={isConnected || disabledFields.includes('socketPath')}
|
disabled={isConnected || disabledFields.includes('socketPath')}
|
||||||
placeholder={driver?.defaultSocketPath}
|
placeholder={driver?.defaultSocketPath}
|
||||||
@@ -320,7 +320,7 @@
|
|||||||
{#if showUser}
|
{#if showUser}
|
||||||
<div class="col-6 mr-1">
|
<div class="col-6 mr-1">
|
||||||
<FormTextField
|
<FormTextField
|
||||||
label="User"
|
label={_t('connection.user', { defaultMessage: 'User' })}
|
||||||
name="user"
|
name="user"
|
||||||
disabled={isConnected || disabledFields.includes('user')}
|
disabled={isConnected || disabledFields.includes('user')}
|
||||||
templateProps={{ noMargin: true }}
|
templateProps={{ noMargin: true }}
|
||||||
@@ -331,7 +331,7 @@
|
|||||||
{#if showPassword}
|
{#if showPassword}
|
||||||
<div class="col-6 mr-1">
|
<div class="col-6 mr-1">
|
||||||
<FormPasswordField
|
<FormPasswordField
|
||||||
label="Password"
|
label={_t('connection.password', { defaultMessage: 'Password' })}
|
||||||
name="password"
|
name="password"
|
||||||
disabled={isConnected || disabledFields.includes('password')}
|
disabled={isConnected || disabledFields.includes('password')}
|
||||||
templateProps={{ noMargin: true }}
|
templateProps={{ noMargin: true }}
|
||||||
@@ -343,7 +343,7 @@
|
|||||||
{/if}
|
{/if}
|
||||||
{#if showUser && !showPassword}
|
{#if showUser && !showPassword}
|
||||||
<FormTextField
|
<FormTextField
|
||||||
label="User"
|
label={_t('connection.user', { defaultMessage: 'User' })}
|
||||||
name="user"
|
name="user"
|
||||||
disabled={isConnected || disabledFields.includes('user')}
|
disabled={isConnected || disabledFields.includes('user')}
|
||||||
data-testid="ConnectionDriverFields_user"
|
data-testid="ConnectionDriverFields_user"
|
||||||
@@ -351,7 +351,7 @@
|
|||||||
{/if}
|
{/if}
|
||||||
{#if !showUser && showPassword}
|
{#if !showUser && showPassword}
|
||||||
<FormPasswordField
|
<FormPasswordField
|
||||||
label="Password"
|
label={_t('connection.password', { defaultMessage: 'Password' })}
|
||||||
name="password"
|
name="password"
|
||||||
disabled={isConnected || disabledFields.includes('password')}
|
disabled={isConnected || disabledFields.includes('password')}
|
||||||
data-testid="ConnectionDriverFields_password"
|
data-testid="ConnectionDriverFields_password"
|
||||||
@@ -378,7 +378,7 @@
|
|||||||
{#if driver?.showConnectionField('accessKeyId', $values, showConnectionFieldArgs)}
|
{#if driver?.showConnectionField('accessKeyId', $values, showConnectionFieldArgs)}
|
||||||
<div class="col-6 mr-1">
|
<div class="col-6 mr-1">
|
||||||
<FormTextField
|
<FormTextField
|
||||||
label="Access Key ID"
|
label={_t('connection.accessKeyId', { defaultMessage: 'Access Key ID' })}
|
||||||
name="accessKeyId"
|
name="accessKeyId"
|
||||||
disabled={isConnected || disabledFields.includes('accessKeyId')}
|
disabled={isConnected || disabledFields.includes('accessKeyId')}
|
||||||
templateProps={{ noMargin: true }}
|
templateProps={{ noMargin: true }}
|
||||||
@@ -389,7 +389,7 @@
|
|||||||
{#if driver?.showConnectionField('secretAccessKey', $values, showConnectionFieldArgs)}
|
{#if driver?.showConnectionField('secretAccessKey', $values, showConnectionFieldArgs)}
|
||||||
<div class="col-6 mr-1">
|
<div class="col-6 mr-1">
|
||||||
<FormPasswordField
|
<FormPasswordField
|
||||||
label="Secret access key"
|
label={_t('connection.secretAccessKey', { defaultMessage: 'Secret access key' })}
|
||||||
name="secretAccessKey"
|
name="secretAccessKey"
|
||||||
disabled={isConnected || disabledFields.includes('secretAccessKey')}
|
disabled={isConnected || disabledFields.includes('secretAccessKey')}
|
||||||
templateProps={{ noMargin: true }}
|
templateProps={{ noMargin: true }}
|
||||||
@@ -401,16 +401,16 @@
|
|||||||
|
|
||||||
{#if !disabledFields.includes('password') && showPasswordMode}
|
{#if !disabledFields.includes('password') && showPasswordMode}
|
||||||
<FormSelectField
|
<FormSelectField
|
||||||
label="Password mode"
|
label={_t('connection.passwordMode', { defaultMessage: 'Password mode' })}
|
||||||
isNative
|
isNative
|
||||||
name="passwordMode"
|
name="passwordMode"
|
||||||
defaultValue="saveEncrypted"
|
defaultValue="saveEncrypted"
|
||||||
disabled={isConnected}
|
disabled={isConnected}
|
||||||
options={[
|
options={[
|
||||||
{ value: 'saveEncrypted', label: 'Save and encrypt' },
|
{ value: 'saveEncrypted', label: _t('connection.saveEncrypted', { defaultMessage: 'Save and encrypt' }) },
|
||||||
{ value: 'saveRaw', label: 'Save raw (UNSAFE!!)' },
|
{ value: 'saveRaw', label: _t('connection.saveRaw', { defaultMessage: 'Save raw (UNSAFE!!)' }) },
|
||||||
{ value: 'askPassword', label: "Don't save, ask for password" },
|
{ value: 'askPassword', label: _t('connection.askPassword', { defaultMessage: "Don't save, ask for password" }) },
|
||||||
{ value: 'askUser', label: "Don't save, ask for login and password" },
|
{ value: 'askUser', label: _t('connection.askUser', { defaultMessage: "Don't save, ask for login and password" }) },
|
||||||
]}
|
]}
|
||||||
data-testid="ConnectionDriverFields_passwordMode"
|
data-testid="ConnectionDriverFields_passwordMode"
|
||||||
/>
|
/>
|
||||||
@@ -418,7 +418,7 @@
|
|||||||
|
|
||||||
{#if driver?.showConnectionField('treeKeySeparator', $values, showConnectionFieldArgs)}
|
{#if driver?.showConnectionField('treeKeySeparator', $values, showConnectionFieldArgs)}
|
||||||
<FormTextField
|
<FormTextField
|
||||||
label="Key separator"
|
label={_t('connection.keySeparator', { defaultMessage: 'Key separator' })}
|
||||||
name="treeKeySeparator"
|
name="treeKeySeparator"
|
||||||
disabled={isConnected}
|
disabled={isConnected}
|
||||||
placeholder=":"
|
placeholder=":"
|
||||||
@@ -428,7 +428,7 @@
|
|||||||
|
|
||||||
{#if driver?.showConnectionField('windowsDomain', $values, showConnectionFieldArgs)}
|
{#if driver?.showConnectionField('windowsDomain', $values, showConnectionFieldArgs)}
|
||||||
<FormTextField
|
<FormTextField
|
||||||
label="Domain (specify to use NTLM authentication)"
|
label={_t('connection.windowsDomain', { defaultMessage: 'Domain (specify to use NTLM authentication)' })}
|
||||||
name="windowsDomain"
|
name="windowsDomain"
|
||||||
disabled={isConnected}
|
disabled={isConnected}
|
||||||
data-testid="ConnectionDriverFields_windowsDomain"
|
data-testid="ConnectionDriverFields_windowsDomain"
|
||||||
@@ -437,7 +437,7 @@
|
|||||||
|
|
||||||
{#if driver?.showConnectionField('isReadOnly', $values, showConnectionFieldArgs)}
|
{#if driver?.showConnectionField('isReadOnly', $values, showConnectionFieldArgs)}
|
||||||
<FormCheckboxField
|
<FormCheckboxField
|
||||||
label="Is read only"
|
label={_t('connection.isReadOnly', { defaultMessage: 'Is read only' })}
|
||||||
name="isReadOnly"
|
name="isReadOnly"
|
||||||
disabled={isConnected}
|
disabled={isConnected}
|
||||||
data-testid="ConnectionDriverFields_isReadOnly"
|
data-testid="ConnectionDriverFields_isReadOnly"
|
||||||
@@ -446,7 +446,7 @@
|
|||||||
|
|
||||||
{#if driver?.showConnectionField('trustServerCertificate', $values, showConnectionFieldArgs)}
|
{#if driver?.showConnectionField('trustServerCertificate', $values, showConnectionFieldArgs)}
|
||||||
<FormCheckboxField
|
<FormCheckboxField
|
||||||
label="Trust server certificate"
|
label={_t('connection.trustServerCertificate', { defaultMessage: 'Trust server certificate' })}
|
||||||
name="trustServerCertificate"
|
name="trustServerCertificate"
|
||||||
disabled={isConnected}
|
disabled={isConnected}
|
||||||
data-testid="ConnectionDriverFields_trustServerCertificate"
|
data-testid="ConnectionDriverFields_trustServerCertificate"
|
||||||
@@ -455,7 +455,7 @@
|
|||||||
|
|
||||||
{#if driver?.showConnectionField('defaultDatabase', $values, showConnectionFieldArgs)}
|
{#if driver?.showConnectionField('defaultDatabase', $values, showConnectionFieldArgs)}
|
||||||
<FormDropDownTextField
|
<FormDropDownTextField
|
||||||
label="Default database"
|
label={_t('connection.defaultDatabase', { defaultMessage: 'Default database' })}
|
||||||
name="defaultDatabase"
|
name="defaultDatabase"
|
||||||
disabled={isConnected}
|
disabled={isConnected}
|
||||||
data-testid="ConnectionDriverFields_defaultDatabase"
|
data-testid="ConnectionDriverFields_defaultDatabase"
|
||||||
@@ -466,7 +466,7 @@
|
|||||||
|
|
||||||
{#if defaultDatabase && driver?.showConnectionField('singleDatabase', $values, showConnectionFieldArgs)}
|
{#if defaultDatabase && driver?.showConnectionField('singleDatabase', $values, showConnectionFieldArgs)}
|
||||||
<FormCheckboxField
|
<FormCheckboxField
|
||||||
label={`Use only database ${defaultDatabase}`}
|
label={_t('connection.singleDatabase', { defaultMessage: `Use only database ${defaultDatabase}` })}
|
||||||
name="singleDatabase"
|
name="singleDatabase"
|
||||||
disabled={isConnected}
|
disabled={isConnected}
|
||||||
data-testid="ConnectionDriverFields_singleDatabase"
|
data-testid="ConnectionDriverFields_singleDatabase"
|
||||||
@@ -475,7 +475,7 @@
|
|||||||
|
|
||||||
{#if driver?.showConnectionField('useSeparateSchemas', $values, showConnectionFieldArgs)}
|
{#if driver?.showConnectionField('useSeparateSchemas', $values, showConnectionFieldArgs)}
|
||||||
<FormCheckboxField
|
<FormCheckboxField
|
||||||
label={`Use schemas separately (use this if you have many large schemas)`}
|
label={_t('connection.useSeparateSchemas', { defaultMessage: `Use schemas separately (use this if you have many large schemas)` })}
|
||||||
name="useSeparateSchemas"
|
name="useSeparateSchemas"
|
||||||
disabled={isConnected}
|
disabled={isConnected}
|
||||||
data-testid="ConnectionDriverFields_useSeparateSchemas"
|
data-testid="ConnectionDriverFields_useSeparateSchemas"
|
||||||
@@ -483,14 +483,14 @@
|
|||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
{#if driver?.showConnectionField('connectionDefinition', $values, showConnectionFieldArgs)}
|
{#if driver?.showConnectionField('connectionDefinition', $values, showConnectionFieldArgs)}
|
||||||
<FormFileInputField disabled={isConnected} label="Service account key JSON" name="connectionDefinition" />
|
<FormFileInputField disabled={isConnected} label={_t('connection.connectionDefinition', { defaultMessage: 'Service account key JSON' })} name="connectionDefinition" />
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
{#if driver}
|
{#if driver}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-6 mr-1">
|
<div class="col-6 mr-1">
|
||||||
<FormTextField
|
<FormTextField
|
||||||
label="Display name"
|
label={_t('connection.displayName', { defaultMessage: 'Display name' })}
|
||||||
name="displayName"
|
name="displayName"
|
||||||
templateProps={{ noMargin: true }}
|
templateProps={{ noMargin: true }}
|
||||||
disabled={isConnected}
|
disabled={isConnected}
|
||||||
@@ -501,7 +501,7 @@
|
|||||||
<div class="col-6 mr-1">
|
<div class="col-6 mr-1">
|
||||||
<FormColorField
|
<FormColorField
|
||||||
useSelector
|
useSelector
|
||||||
label="Color"
|
label={_t('connection.color', { defaultMessage: 'Color' })}
|
||||||
name="connectionColor"
|
name="connectionColor"
|
||||||
emptyLabel="(not selected)"
|
emptyLabel="(not selected)"
|
||||||
templateProps={{ noMargin: true }}
|
templateProps={{ noMargin: true }}
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
import { usePlatformInfo } from '../utility/metadataLoaders';
|
import { usePlatformInfo } from '../utility/metadataLoaders';
|
||||||
import FontIcon from '../icons/FontIcon.svelte';
|
import FontIcon from '../icons/FontIcon.svelte';
|
||||||
import { extensions, openedConnections, openedSingleDatabaseConnections } from '../stores';
|
import { extensions, openedConnections, openedSingleDatabaseConnections } from '../stores';
|
||||||
|
import { _t } from '../translations';
|
||||||
|
|
||||||
const { values, setFieldValue } = getFormContext();
|
const { values, setFieldValue } = getFormContext();
|
||||||
const electron = getElectron();
|
const electron = getElectron();
|
||||||
@@ -29,7 +30,7 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<FormCheckboxField
|
<FormCheckboxField
|
||||||
label="Use SSH tunnel"
|
label={_t('connection.sshTunnel.use', {defaultMessage: "Use SSH tunnel"})}
|
||||||
name="useSshTunnel"
|
name="useSshTunnel"
|
||||||
disabled={isConnected}
|
disabled={isConnected}
|
||||||
data-testid="ConnectionSshTunnelFields_useSshTunnel"
|
data-testid="ConnectionSshTunnelFields_useSshTunnel"
|
||||||
@@ -59,13 +60,13 @@
|
|||||||
<FormTextField label="Bastion host (Jump host)" name="sshBastionHost" disabled={isConnected || !useSshTunnel} />
|
<FormTextField label="Bastion host (Jump host)" name="sshBastionHost" disabled={isConnected || !useSshTunnel} />
|
||||||
|
|
||||||
<FormSelectField
|
<FormSelectField
|
||||||
label="SSH Authentication"
|
label={_t('connection.sshTunnel.authentication', {defaultMessage: "SSH Authentication"})}
|
||||||
name="sshMode"
|
name="sshMode"
|
||||||
isNative
|
isNative
|
||||||
defaultSelectValue="userPassword"
|
defaultSelectValue="userPassword"
|
||||||
disabled={isConnected || !useSshTunnel}
|
disabled={isConnected || !useSshTunnel}
|
||||||
options={[
|
options={[
|
||||||
{ value: 'userPassword', label: 'Username & password' },
|
{ value: 'userPassword', label: _t('connection.sshTunnel.authMethod.userPassword', {defaultMessage: "Username & password"}) },
|
||||||
{ value: 'agent', label: 'SSH agent' },
|
{ value: 'agent', label: 'SSH agent' },
|
||||||
{ value: 'keyFile', label: 'Key file' },
|
{ value: 'keyFile', label: 'Key file' },
|
||||||
]}
|
]}
|
||||||
@@ -94,7 +95,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
<FormPasswordField
|
<FormPasswordField
|
||||||
label="Password"
|
label={_t('connection.password', {defaultMessage: "Password"})}
|
||||||
name="sshPassword"
|
name="sshPassword"
|
||||||
disabled={isConnected || !useSshTunnel}
|
disabled={isConnected || !useSshTunnel}
|
||||||
templateProps={{ noMargin: true }}
|
templateProps={{ noMargin: true }}
|
||||||
@@ -109,7 +110,7 @@
|
|||||||
<div class="col-6 mr-1">
|
<div class="col-6 mr-1">
|
||||||
{#if electron}
|
{#if electron}
|
||||||
<FormElectronFileSelector
|
<FormElectronFileSelector
|
||||||
label="Private key file"
|
label={_t('connection.sshTunnel.privateKeyFile', {defaultMessage: "Private key file"})}
|
||||||
name="sshKeyfile"
|
name="sshKeyfile"
|
||||||
disabled={isConnected || !useSshTunnel}
|
disabled={isConnected || !useSshTunnel}
|
||||||
templateProps={{ noMargin: true }}
|
templateProps={{ noMargin: true }}
|
||||||
@@ -118,7 +119,7 @@
|
|||||||
/>
|
/>
|
||||||
{:else}
|
{:else}
|
||||||
<FormTextField
|
<FormTextField
|
||||||
label="Private key file (path on server)"
|
label={_t('connection.sshTunnel.privateKeyFilePath', {defaultMessage: "Private key file (path on server)"})}
|
||||||
name="sshKeyfile"
|
name="sshKeyfile"
|
||||||
disabled={isConnected || !useSshTunnel}
|
disabled={isConnected || !useSshTunnel}
|
||||||
templateProps={{ noMargin: true }}
|
templateProps={{ noMargin: true }}
|
||||||
@@ -129,7 +130,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="col-6">
|
<div class="col-6">
|
||||||
<FormPasswordField
|
<FormPasswordField
|
||||||
label="Key file passphrase"
|
label={_t('connection.sshTunnel.keyFilePassphrase', {defaultMessage: "Key file passphrase"})}
|
||||||
name="sshKeyfilePassword"
|
name="sshKeyfilePassword"
|
||||||
disabled={isConnected || !useSshTunnel}
|
disabled={isConnected || !useSshTunnel}
|
||||||
templateProps={{ noMargin: true }}
|
templateProps={{ noMargin: true }}
|
||||||
@@ -142,9 +143,9 @@
|
|||||||
{#if useSshTunnel && $values.sshMode == 'agent'}
|
{#if useSshTunnel && $values.sshMode == 'agent'}
|
||||||
<div class="ml-3 mb-3">
|
<div class="ml-3 mb-3">
|
||||||
{#if $platformInfo && $platformInfo.sshAuthSock}
|
{#if $platformInfo && $platformInfo.sshAuthSock}
|
||||||
<FontIcon icon="img ok" /> SSH Agent found
|
<FontIcon icon="img ok" /> {_t('connection.sshTunnel.agentFound', {defaultMessage: "SSH Agent found"})}
|
||||||
{:else}
|
{:else}
|
||||||
<FontIcon icon="img error" /> SSH Agent not found
|
<FontIcon icon="img error" /> {_t('connection.sshTunnel.agentNotFound', {defaultMessage: "SSH Agent not found"})}
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
import getElectron from '../utility/getElectron';
|
import getElectron from '../utility/getElectron';
|
||||||
import FormPasswordField from '../forms/FormPasswordField.svelte';
|
import FormPasswordField from '../forms/FormPasswordField.svelte';
|
||||||
import { openedConnections, openedSingleDatabaseConnections } from '../stores';
|
import { openedConnections, openedSingleDatabaseConnections } from '../stores';
|
||||||
|
import { _t } from '../translations';
|
||||||
|
|
||||||
const { values, setFieldValue } = getFormContext();
|
const { values, setFieldValue } = getFormContext();
|
||||||
const electron = getElectron();
|
const electron = getElectron();
|
||||||
@@ -15,21 +16,21 @@
|
|||||||
$: isConnected = $openedConnections.includes($values._id) || $openedSingleDatabaseConnections.includes($values._id);
|
$: isConnected = $openedConnections.includes($values._id) || $openedSingleDatabaseConnections.includes($values._id);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<FormCheckboxField label="Use SSL" name="useSsl" disabled={isConnected} />
|
<FormCheckboxField label={_t('connection.ssl.use', {defaultMessage: "Use SSL"})} name="useSsl" disabled={isConnected} />
|
||||||
<FormElectronFileSelector label="CA Cert (optional)" name="sslCaFile" disabled={isConnected || !useSsl || !electron} />
|
<FormElectronFileSelector label={_t('connection.ssl.caCert', {defaultMessage: "CA Cert (optional)"})} name="sslCaFile" disabled={isConnected || !useSsl || !electron} />
|
||||||
<FormElectronFileSelector
|
<FormElectronFileSelector
|
||||||
label="Certificate (optional)"
|
label={_t('connection.ssl.certificate', {defaultMessage: "Certificate (optional)"})}
|
||||||
name="sslCertFile"
|
name="sslCertFile"
|
||||||
disabled={isConnected || !useSsl || !electron}
|
disabled={isConnected || !useSsl || !electron}
|
||||||
/>
|
/>
|
||||||
<FormPasswordField
|
<FormPasswordField
|
||||||
label="Certificate key file password (optional)"
|
label={_t('connection.ssl.certificateKeyFilePassword', {defaultMessage: "Certificate key file password (optional)"})}
|
||||||
name="sslCertFilePassword"
|
name="sslCertFilePassword"
|
||||||
disabled={isConnected || !useSsl || !electron}
|
disabled={isConnected || !useSsl || !electron}
|
||||||
/>
|
/>
|
||||||
<FormElectronFileSelector
|
<FormElectronFileSelector
|
||||||
label="Key file (optional)"
|
label={_t('connection.ssl.keyFile', {defaultMessage: "Key file (optional)"})}
|
||||||
name="sslKeyFile"
|
name="sslKeyFile"
|
||||||
disabled={isConnected || !useSsl || !electron}
|
disabled={isConnected || !useSsl || !electron}
|
||||||
/>
|
/>
|
||||||
<FormCheckboxField label="Reject unauthorized" name="sslRejectUnauthorized" disabled={isConnected || !useSsl} />
|
<FormCheckboxField label={_t('connection.ssl.rejectUnauthorized', {defaultMessage: "Reject unauthorized"})} name="sslRejectUnauthorized" disabled={isConnected || !useSsl} />
|
||||||
|
|||||||
@@ -47,6 +47,7 @@
|
|||||||
getOpenDetailOnArrowsSettings,
|
getOpenDetailOnArrowsSettings,
|
||||||
} from '../settings/settingsTools';
|
} from '../settings/settingsTools';
|
||||||
import DropDownButton from '../buttons/DropDownButton.svelte';
|
import DropDownButton from '../buttons/DropDownButton.svelte';
|
||||||
|
import { _t } from '../translations';
|
||||||
|
|
||||||
const connections = useConnectionList();
|
const connections = useConnectionList();
|
||||||
const serverStatus = useServerStatus();
|
const serverStatus = useServerStatus();
|
||||||
@@ -58,7 +59,7 @@
|
|||||||
let domContainer = null;
|
let domContainer = null;
|
||||||
let domFilter = null;
|
let domFilter = null;
|
||||||
|
|
||||||
const RECENT_AND_UNSAVED_LABEL = 'Recent & unsaved';
|
const RECENT_AND_UNSAVED_LABEL = _t('connection.recentUnsaved', { defaultMessage: 'Recent & unsaved' });
|
||||||
|
|
||||||
function extractConnectionParent(data, openedConnections, openedSingleDatabaseConnections) {
|
function extractConnectionParent(data, openedConnections, openedSingleDatabaseConnections) {
|
||||||
if (data.parent) {
|
if (data.parent) {
|
||||||
@@ -193,12 +194,12 @@
|
|||||||
|
|
||||||
function createSearchMenu() {
|
function createSearchMenu() {
|
||||||
const res = [];
|
const res = [];
|
||||||
res.push({ label: 'Search by:', isBold: true, disabled: true });
|
res.push({ label: _t('common.searchBy', { defaultMessage: 'Search by:' }), isBold: true, disabled: true });
|
||||||
res.push({ label: 'Display name', switchValue: 'displayName' });
|
res.push({ label: _t('connection.displayName', { defaultMessage: 'Display name' }), switchValue: 'displayName' });
|
||||||
res.push({ label: 'Server', switchValue: 'server' });
|
res.push({ label: _t('connection.server', { defaultMessage: 'Server' }), switchValue: 'server' });
|
||||||
res.push({ label: 'User', switchValue: 'user' });
|
res.push({ label: _t('connection.user', { defaultMessage: 'User' }), switchValue: 'user' });
|
||||||
res.push({ label: 'Database engine', switchValue: 'engine' });
|
res.push({ label: _t('connection.engine', { defaultMessage: 'Database engine' }), switchValue: 'engine' });
|
||||||
res.push({ label: 'Database name', switchValue: 'database' });
|
res.push({ label: _t('connection.database', { defaultMessage: 'Database name' }), switchValue: 'database' });
|
||||||
return res.map(item => ({
|
return res.map(item => ({
|
||||||
...item,
|
...item,
|
||||||
switchStore: connectionAppObjectSearchSettings,
|
switchStore: connectionAppObjectSearchSettings,
|
||||||
@@ -209,7 +210,7 @@
|
|||||||
|
|
||||||
<SearchBoxWrapper>
|
<SearchBoxWrapper>
|
||||||
<SearchInput
|
<SearchInput
|
||||||
placeholder="Search connection or database"
|
placeholder= {_t('connection.search.placeholder', { defaultMessage: 'Search connection or database' })}
|
||||||
bind:value={filter}
|
bind:value={filter}
|
||||||
bind:this={domFilter}
|
bind:this={domFilter}
|
||||||
onFocusFilteredList={() => {
|
onFocusFilteredList={() => {
|
||||||
@@ -227,16 +228,16 @@
|
|||||||
{#if $commandsCustomized['new.connection']?.enabled}
|
{#if $commandsCustomized['new.connection']?.enabled}
|
||||||
<InlineButton
|
<InlineButton
|
||||||
on:click={() => runCommand('new.connection')}
|
on:click={() => runCommand('new.connection')}
|
||||||
title="Add new connection"
|
title={_t('connection.new.title', { defaultMessage: 'Add new connection' })}
|
||||||
data-testid="ConnectionList_buttonNewConnection"
|
data-testid="ConnectionList_buttonNewConnection"
|
||||||
>
|
>
|
||||||
<FontIcon icon="icon plus-thick" />
|
<FontIcon icon="icon plus-thick" />
|
||||||
</InlineButton>
|
</InlineButton>
|
||||||
<InlineButton on:click={() => runCommand('new.connection.folder')} title="Add new connection folder">
|
<InlineButton on:click={() => runCommand('new.connection.folder')} title={_t('connection.new.folder.title', { defaultMessage: 'Add new connection folder' })}>
|
||||||
<FontIcon icon="icon add-folder" />
|
<FontIcon icon="icon add-folder" />
|
||||||
</InlineButton>
|
</InlineButton>
|
||||||
{/if}
|
{/if}
|
||||||
<InlineButton on:click={handleRefreshConnections} title="Refresh connection list">
|
<InlineButton on:click={handleRefreshConnections} title={_t('connection.refresh.title', { defaultMessage: 'Refresh connection list' })}>
|
||||||
<FontIcon icon="icon refresh" />
|
<FontIcon icon="icon refresh" />
|
||||||
</InlineButton>
|
</InlineButton>
|
||||||
</SearchBoxWrapper>
|
</SearchBoxWrapper>
|
||||||
|
|||||||
@@ -56,6 +56,7 @@
|
|||||||
import FocusedConnectionInfoWidget from './FocusedConnectionInfoWidget.svelte';
|
import FocusedConnectionInfoWidget from './FocusedConnectionInfoWidget.svelte';
|
||||||
import SubProcedureParamList from '../appobj/SubProcedureParamList.svelte';
|
import SubProcedureParamList from '../appobj/SubProcedureParamList.svelte';
|
||||||
import SubProcedureLineList from '../appobj/SubProcedureLineList.svelte';
|
import SubProcedureLineList from '../appobj/SubProcedureLineList.svelte';
|
||||||
|
import { _t } from '../translations';
|
||||||
|
|
||||||
export let conid;
|
export let conid;
|
||||||
export let database;
|
export let database;
|
||||||
@@ -130,20 +131,20 @@
|
|||||||
|
|
||||||
function createSearchMenu() {
|
function createSearchMenu() {
|
||||||
const res = [];
|
const res = [];
|
||||||
res.push({ label: 'Search by:', isBold: true, disabled: true });
|
res.push({ label: _t('sqlObject.searchBy', { defaultMessage: 'Search by:' }), isBold: true, disabled: true });
|
||||||
if (driver?.databaseEngineTypes?.includes('document')) {
|
if (driver?.databaseEngineTypes?.includes('document')) {
|
||||||
res.push({ label: 'Collection name', switchValue: 'pureName' });
|
res.push({ label: _t('sqlObject.collectionName', { defaultMessage: 'Collection name' }), switchValue: 'pureName' });
|
||||||
}
|
}
|
||||||
if (driver?.databaseEngineTypes?.includes('sql')) {
|
if (driver?.databaseEngineTypes?.includes('sql')) {
|
||||||
res.push({ label: 'Table/view/procedure name', switchValue: 'pureName' });
|
res.push({ label: _t('sqlObject.tableViewProcedureName', { defaultMessage: 'Table/view/procedure name' }), switchValue: 'pureName' });
|
||||||
res.push({ label: 'Schema', switchValue: 'schemaName' });
|
res.push({ label: _t('sqlObject.schemaName', { defaultMessage: 'Schema' }), switchValue: 'schemaName' });
|
||||||
res.push({ label: 'Column name', switchValue: 'columnName' });
|
res.push({ label: _t('sqlObject.columnName', { defaultMessage: 'Column name' }), switchValue: 'columnName' });
|
||||||
res.push({ label: 'Column data type', switchValue: 'columnDataType' });
|
res.push({ label: _t('sqlObject.columnDataType', { defaultMessage: 'Column data type' }), switchValue: 'columnDataType' });
|
||||||
res.push({ label: 'Table comment', switchValue: 'tableComment' });
|
res.push({ label: _t('sqlObject.tableComment', { defaultMessage: 'Table comment' }), switchValue: 'tableComment' });
|
||||||
res.push({ label: 'Column comment', switchValue: 'columnComment' });
|
res.push({ label: _t('sqlObject.columnComment', { defaultMessage: 'Column comment' }), switchValue: 'columnComment' });
|
||||||
res.push({ label: 'View/procedure/trigger text', switchValue: 'sqlObjectText' });
|
res.push({ label: _t('sqlObject.viewProcedureTriggerText', { defaultMessage: 'View/procedure/trigger text' }), switchValue: 'sqlObjectText' });
|
||||||
res.push({ label: 'Table engine', switchValue: 'tableEngine' });
|
res.push({ label: _t('sqlObject.tableEngine', { defaultMessage: 'Table engine' }), switchValue: 'tableEngine' });
|
||||||
res.push({ label: 'Only tables with rows', switchValue: 'tablesWithRows' });
|
res.push({ label: _t('sqlObject.tablesWithRows', { defaultMessage: 'Only tables with rows' }), switchValue: 'tablesWithRows' });
|
||||||
}
|
}
|
||||||
return res.map(item => ({
|
return res.map(item => ({
|
||||||
...item,
|
...item,
|
||||||
@@ -175,7 +176,7 @@
|
|||||||
|
|
||||||
<WidgetsInnerContainer hideContent={differentFocusedDb}>
|
<WidgetsInnerContainer hideContent={differentFocusedDb}>
|
||||||
<ErrorInfo message={$status.message} icon="img error" />
|
<ErrorInfo message={$status.message} icon="img error" />
|
||||||
<InlineButton on:click={handleRefreshDatabase}>Refresh</InlineButton>
|
<InlineButton on:click={handleRefreshDatabase}>{_t('common.refresh', { defaultMessage: 'Refresh' })}</InlineButton>
|
||||||
</WidgetsInnerContainer>
|
</WidgetsInnerContainer>
|
||||||
{:else if objectList.length == 0 && $status && $status.name != 'pending' && $status.name != 'checkStructure' && $status.name != 'loadStructure' && $objects}
|
{:else if objectList.length == 0 && $status && $status.name != 'pending' && $status.name != 'checkStructure' && $status.name != 'loadStructure' && $objects}
|
||||||
<SchemaSelector
|
<SchemaSelector
|
||||||
@@ -192,14 +193,14 @@
|
|||||||
|
|
||||||
<WidgetsInnerContainer hideContent={differentFocusedDb}>
|
<WidgetsInnerContainer hideContent={differentFocusedDb}>
|
||||||
<ErrorInfo
|
<ErrorInfo
|
||||||
message={`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` })}
|
||||||
icon="img alert"
|
icon="img alert"
|
||||||
/>
|
/>
|
||||||
<div class="m-1" />
|
<div class="m-1" />
|
||||||
<InlineButton on:click={handleRefreshDatabase}>Refresh</InlineButton>
|
<InlineButton on:click={handleRefreshDatabase}>{_t('common.refresh', { defaultMessage: 'Refresh' })}</InlineButton>
|
||||||
{#if driver?.databaseEngineTypes?.includes('sql')}
|
{#if driver?.databaseEngineTypes?.includes('sql')}
|
||||||
<div class="m-1" />
|
<div class="m-1" />
|
||||||
<InlineButton on:click={() => runCommand('new.table')}>New table</InlineButton>
|
<InlineButton on:click={() => runCommand('new.table')}>{_t('database.newTable', { defaultMessage: 'New table' })}</InlineButton>
|
||||||
{/if}
|
{/if}
|
||||||
{#if driver?.databaseEngineTypes?.includes('document')}
|
{#if driver?.databaseEngineTypes?.includes('document')}
|
||||||
<div class="m-1" />
|
<div class="m-1" />
|
||||||
@@ -211,7 +212,7 @@
|
|||||||
{:else}
|
{:else}
|
||||||
<SearchBoxWrapper>
|
<SearchBoxWrapper>
|
||||||
<SearchInput
|
<SearchInput
|
||||||
placeholder="Search in tables, views, procedures"
|
placeholder={_t('sqlObject.search.placeholder', { defaultMessage: 'Search in tables, views, procedures' })}
|
||||||
bind:value={filter}
|
bind:value={filter}
|
||||||
bind:this={domFilter}
|
bind:this={domFilter}
|
||||||
onFocusFilteredList={() => {
|
onFocusFilteredList={() => {
|
||||||
@@ -259,7 +260,7 @@
|
|||||||
data-testid="SqlObjectList_container"
|
data-testid="SqlObjectList_container"
|
||||||
>
|
>
|
||||||
{#if ($status && ($status.name == 'pending' || $status.name == 'checkStructure' || $status.name == 'loadStructure') && $objects) || !$objects}
|
{#if ($status && ($status.name == 'pending' || $status.name == 'checkStructure' || $status.name == 'loadStructure') && $objects) || !$objects}
|
||||||
<LoadingInfo message={$status?.feedback?.analysingMessage || 'Loading database structure'} />
|
<LoadingInfo message={$status?.feedback?.analysingMessage || _t('sqlObject.loadingStructure', { defaultMessage: 'Loading database structure' })} />
|
||||||
{:else}
|
{:else}
|
||||||
<AppObjectListHandler
|
<AppObjectListHandler
|
||||||
bind:this={domListHandler}
|
bind:this={domListHandler}
|
||||||
|
|||||||
@@ -3,9 +3,14 @@
|
|||||||
"app.preparingPlugins": "Příprava pluginů...",
|
"app.preparingPlugins": "Příprava pluginů...",
|
||||||
"app.starting": "Spouštění DbGate",
|
"app.starting": "Spouštění DbGate",
|
||||||
"authToken": "Auth token",
|
"authToken": "Auth token",
|
||||||
|
"column.addNew": "Přidat nový sloupec",
|
||||||
"column.copyName": "Kopírovat název",
|
"column.copyName": "Kopírovat název",
|
||||||
"column.dropColumn": "Odstranit sloupec",
|
"column.dropColumn": "Odstranit sloupec",
|
||||||
|
"column.fixed": "Pevné sloupce (jako SQL)",
|
||||||
|
"column.name": "Název sloupce",
|
||||||
"column.renameColumn": "Přejmenovat sloupec",
|
"column.renameColumn": "Přejmenovat sloupec",
|
||||||
|
"column.search": "Hledat sloupce",
|
||||||
|
"column.variable": "Proměnné sloupce (jako MongoDB)",
|
||||||
"command.datagrid.addNewColumn": "Přidat nový sloupec",
|
"command.datagrid.addNewColumn": "Přidat nový sloupec",
|
||||||
"command.datagrid.addNewColumn.toolbar": "Nový sloupec",
|
"command.datagrid.addNewColumn.toolbar": "Nový sloupec",
|
||||||
"command.datagrid.cloneRows": "Klonovat řádky",
|
"command.datagrid.cloneRows": "Klonovat řádky",
|
||||||
@@ -41,6 +46,7 @@
|
|||||||
"command.tabs.previousTab": "Předchozí karta",
|
"command.tabs.previousTab": "Předchozí karta",
|
||||||
"command.tabs.reopenClosedTab": "Znovu otevřít zavřenou kartu",
|
"command.tabs.reopenClosedTab": "Znovu otevřít zavřenou kartu",
|
||||||
"common.archive": "Archivovat (JSONL)",
|
"common.archive": "Archivovat (JSONL)",
|
||||||
|
"common.cancel": "Zrušiť",
|
||||||
"common.close": "Zavřít",
|
"common.close": "Zavřít",
|
||||||
"common.connections": "Připojení",
|
"common.connections": "Připojení",
|
||||||
"common.database": "Databáze",
|
"common.database": "Databáze",
|
||||||
@@ -52,17 +58,76 @@
|
|||||||
"common.save": "Uložit",
|
"common.save": "Uložit",
|
||||||
"common.saveToArchive": "Uložit do archívu",
|
"common.saveToArchive": "Uložit do archívu",
|
||||||
"common.schema": "Schéma",
|
"common.schema": "Schéma",
|
||||||
|
"common.searchBy": "Hledat podle:",
|
||||||
|
"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.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.clusterNodes": "Uzly clusteru",
|
||||||
|
"connection.color": "Barva",
|
||||||
"connection.connect": "Připojit",
|
"connection.connect": "Připojit",
|
||||||
|
"connection.connectionDefinition": "JSON klíč servisního účtu",
|
||||||
|
"connection.copyToCloudFolder": "Kopírovat do cloud zložky",
|
||||||
"connection.createDatabase": "Vytvořit databázi",
|
"connection.createDatabase": "Vytvořit databázi",
|
||||||
"connection.databaseName": "Název databáze",
|
"connection.createNewFolder": "Vytvořit složku připojení",
|
||||||
|
"connection.createNewFolderName": "Název nové složky připojení",
|
||||||
|
"connection.database": "Název databáze",
|
||||||
|
"connection.databaseFile": "Soubor databáze",
|
||||||
|
"connection.databaseFilePath": "Soubor databáze (cesta na serveru)",
|
||||||
|
"connection.databaseUrl": "URL databáze",
|
||||||
|
"connection.defaultDatabase": "Výchozí databáze",
|
||||||
"connection.delete": "Odstranit",
|
"connection.delete": "Odstranit",
|
||||||
"connection.disconnect": "Odpojit",
|
"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",
|
||||||
"connection.duplicate": "Duplikovat",
|
"connection.duplicate": "Duplikovat",
|
||||||
"connection.edit": "Upravit",
|
"connection.edit": "Upravit",
|
||||||
|
"connection.endpointKey": "Klíč",
|
||||||
|
"connection.engine": "Typ databáze",
|
||||||
|
"connection.fillDetails": "Vyplňte detaily připojení k databázi",
|
||||||
|
"connection.isReadOnly": "Je pouze pro čtení",
|
||||||
|
"connection.keySeparator": "Oddělovač klíčů",
|
||||||
|
"connection.localDataCenter": "Lokální datové centrum",
|
||||||
|
"connection.new.folder.title": "Přidat novou složku připojení",
|
||||||
|
"connection.new.title": "Přidat nové připojení",
|
||||||
"connection.newQuery": "Nový dotaz (server)",
|
"connection.newQuery": "Nový dotaz (server)",
|
||||||
|
"connection.password": "Heslo",
|
||||||
|
"connection.passwordMode": "Režim hesla",
|
||||||
|
"connection.recentUnsaved": "Nedávné a neuložené",
|
||||||
"connection.refresh": "Obnovit",
|
"connection.refresh": "Obnovit",
|
||||||
|
"connection.refresh.title": "Obnovit seznam připojení",
|
||||||
|
"connection.saveEncrypted": "Uložit a zašifrovat",
|
||||||
|
"connection.saveRaw": "Uložit nezašifrované (NEBEZPEČNÉ!!)",
|
||||||
|
"connection.search.placeholder": "Hledat připojení nebo databázi",
|
||||||
|
"connection.secretAccessKey": "Tajný přístupový klíč",
|
||||||
|
"connection.selectType": "(vyberte typ připojení)",
|
||||||
|
"connection.server": "Server",
|
||||||
"connection.serverSummary": "Shrnutí serveru",
|
"connection.serverSummary": "Shrnutí serveru",
|
||||||
|
"connection.serviceName": "Název služby",
|
||||||
|
"connection.socketPath": "Cesta k socketu",
|
||||||
|
"connection.sshTunnel.agentFound": "SSH Agent nalezen",
|
||||||
|
"connection.sshTunnel.agentNotFound": "SSH Agent nenalezen",
|
||||||
|
"connection.sshTunnel.authMethod.userPassword": "Uživatelské jméno a heslo",
|
||||||
|
"connection.sshTunnel.authentication": "SSH autentizace",
|
||||||
|
"connection.sshTunnel.keyFilePassphrase": "Heslo k souboru s klíčem",
|
||||||
|
"connection.sshTunnel.privateKeyFile": "Soubor s privátním klíčem",
|
||||||
|
"connection.sshTunnel.privateKeyFilePath": "Soubor s privátním klíčem (cesta na serveru)",
|
||||||
|
"connection.sshTunnel.use": "Použít SSH tunel",
|
||||||
|
"connection.ssl.caCert": "CA certifikát (volitelné)",
|
||||||
|
"connection.ssl.certificate": "Certifikát (volitelné)",
|
||||||
|
"connection.ssl.certificateKeyFilePassword": "Heslo k souboru s klíčem certifikátu (volitelné)",
|
||||||
|
"connection.ssl.keyFile": "Soubor s klíčem (volitelné)",
|
||||||
|
"connection.ssl.rejectUnauthorized": "Odmítnout neautorizované",
|
||||||
|
"connection.ssl.use": "Použít SSL",
|
||||||
|
"connection.trustServerCertificate": "Důvěřovat certifikátu serveru",
|
||||||
|
"connection.type": "Typ připojení",
|
||||||
|
"connection.useUrl": "Použít URL databáze",
|
||||||
|
"connection.user": "Uživatel",
|
||||||
"connection.viewDetails": "Zobrazit detaily",
|
"connection.viewDetails": "Zobrazit detaily",
|
||||||
|
"connection.windowsDomain": "Doména (zadejte pro použití NTLM autentizace)",
|
||||||
"database.backup": "Záloha #",
|
"database.backup": "Záloha #",
|
||||||
"database.compare": "Porovnat",
|
"database.compare": "Porovnat",
|
||||||
"database.copyDatabaseName": "Kopírovat název databáze",
|
"database.copyDatabaseName": "Kopírovat název databáze",
|
||||||
@@ -105,6 +170,75 @@
|
|||||||
"file.queryDesignerFiles": "Soubory návrháře dotazů",
|
"file.queryDesignerFiles": "Soubory návrháře dotazů",
|
||||||
"file.sqlFiles": "Soubory SQL",
|
"file.sqlFiles": "Soubory SQL",
|
||||||
"file.sqliteDatabase": "Databáze SQLite",
|
"file.sqliteDatabase": "Databáze SQLite",
|
||||||
|
"filter.after": "Po...",
|
||||||
|
"filter.and": "A",
|
||||||
|
"filter.arrayIsEmpty": "Pole je prázdné",
|
||||||
|
"filter.arrayIsNotEmpty": "Pole není prázdné",
|
||||||
|
"filter.before": "Před...",
|
||||||
|
"filter.beginsWith": "Začíná na...",
|
||||||
|
"filter.between": "Mezi...",
|
||||||
|
"filter.clear": "Vymazat filtr",
|
||||||
|
"filter.contains": "Obsahuje...",
|
||||||
|
"filter.doesNotBeginWith": "Nezačíná na...",
|
||||||
|
"filter.doesNotContain": "Neobsahuje...",
|
||||||
|
"filter.doesNotEndWith": "Nekončí na...",
|
||||||
|
"filter.doesNotEqual": "Není rovno...",
|
||||||
|
"filter.endsWith": "Končí na...",
|
||||||
|
"filter.equals": "Rovná se...",
|
||||||
|
"filter.fieldDoesNotExist": "Pole neexistuje",
|
||||||
|
"filter.fieldExists": "Pole existuje",
|
||||||
|
"filter.greaterThan": "Větší než...",
|
||||||
|
"filter.greaterThanOrEqualTo": "Větší nebo rovno...",
|
||||||
|
"filter.hasNotEmptyValue": "Není prázdné",
|
||||||
|
"filter.isAfter": "je po",
|
||||||
|
"filter.isAfterOrEqual": "je po nebo rovno",
|
||||||
|
"filter.isBefore": "je před",
|
||||||
|
"filter.isBeforeOrEqual": "je před nebo rovno",
|
||||||
|
"filter.isEmptyOrNull": "Je prázdné nebo NULL",
|
||||||
|
"filter.isFalse": "Je false",
|
||||||
|
"filter.isFalseOrNull": "Je false nebo NULL",
|
||||||
|
"filter.isGreater": "je větší",
|
||||||
|
"filter.isGreaterOrEqual": "je větší nebo rovno",
|
||||||
|
"filter.isNotNull": "Není NULL",
|
||||||
|
"filter.isNull": "Je NULL",
|
||||||
|
"filter.isSmaller": "je menší",
|
||||||
|
"filter.isSmallerOrEqual": "je menší nebo rovno",
|
||||||
|
"filter.isTrue": "Je true",
|
||||||
|
"filter.isTrueOrNull": "Je true nebo NULL",
|
||||||
|
"filter.lastMonth": "Minulý měsíc",
|
||||||
|
"filter.lastWeek": "Minulý týden",
|
||||||
|
"filter.lastYear": "Minulý rok",
|
||||||
|
"filter.lessThan": "Menší než...",
|
||||||
|
"filter.lessThanOrEqualTo": "Menší nebo rovno...",
|
||||||
|
"filter.modal.beginsWith": "začíná na",
|
||||||
|
"filter.modal.contains": "obsahuje",
|
||||||
|
"filter.modal.doesNotBeginWith": "nezačíná na",
|
||||||
|
"filter.modal.doesNotContain": "neobsahuje",
|
||||||
|
"filter.modal.doesNotEndWith": "nekončí na",
|
||||||
|
"filter.modal.doesNotEqual": "nerovná se",
|
||||||
|
"filter.modal.endsWith": "končí na",
|
||||||
|
"filter.modal.equals": "rovná se",
|
||||||
|
"filter.modal.fieldDoesNotExist": "pole neexistuje",
|
||||||
|
"filter.modal.fieldExists": "pole existuje",
|
||||||
|
"filter.modal.isNotNull": "není NULL",
|
||||||
|
"filter.modal.isNull": "je NULL",
|
||||||
|
"filter.modal.sqlCondition": "SQL podmínka",
|
||||||
|
"filter.modal.sqlConditionRight": "SQL podmínka - pouze pravá strana",
|
||||||
|
"filter.multipleValues": "Filtrovat více hodnot",
|
||||||
|
"filter.nextMonth": "Příští měsíc",
|
||||||
|
"filter.nextWeek": "Příští týden",
|
||||||
|
"filter.nextYear": "Příští rok",
|
||||||
|
"filter.or": "Nebo",
|
||||||
|
"filter.setFilter": "Nastavit filtr",
|
||||||
|
"filter.showRowsWhere": "Zobrazit řádky kde",
|
||||||
|
"filter.sqlCondition": "SQL podmínka ...",
|
||||||
|
"filter.sqlConditionRight": "SQL podmínka - pravá strana ...",
|
||||||
|
"filter.thisMonth": "Tento měsíc",
|
||||||
|
"filter.thisWeek": "Tento týden",
|
||||||
|
"filter.thisYear": "Tento rok",
|
||||||
|
"filter.today": "Dnes",
|
||||||
|
"filter.tomorrow": "Zítra",
|
||||||
|
"filter.yesterday": "Včera",
|
||||||
"importExport.createZipFileInArchive": "Vytvořit ZIP soubor v archivu",
|
"importExport.createZipFileInArchive": "Vytvořit ZIP soubor v archivu",
|
||||||
"importExport.exportToZipArchive": "Exportovat do ZIP archivu",
|
"importExport.exportToZipArchive": "Exportovat do ZIP archivu",
|
||||||
"importExport.exportToZipFile": "Exportovat do ZIP souboru",
|
"importExport.exportToZipFile": "Exportovat do ZIP souboru",
|
||||||
@@ -211,6 +345,19 @@
|
|||||||
"settings.tabGroup.showServerName": "Zobrazit název serveru vedle názvu databáze v záhlaví skupiny karet",
|
"settings.tabGroup.showServerName": "Zobrazit název serveru vedle názvu databáze v záhlaví skupiny karet",
|
||||||
"settings.theme": "Vzhled",
|
"settings.theme": "Vzhled",
|
||||||
"settings.title": "Nastavení",
|
"settings.title": "Nastavení",
|
||||||
|
"sqlObject.collectionName": "Název kolekce",
|
||||||
|
"sqlObject.columnComment": "Komentář sloupce",
|
||||||
|
"sqlObject.columnDataType": "Datový typ sloupce",
|
||||||
|
"sqlObject.columnName": "Název sloupce",
|
||||||
|
"sqlObject.loadingStructure": "Načítání struktury databáze",
|
||||||
|
"sqlObject.schemaName": "Schéma",
|
||||||
|
"sqlObject.search.placeholder": "Hledat v tabulkách, pohledech, procedurách",
|
||||||
|
"sqlObject.searchBy": "Hledat podle:",
|
||||||
|
"sqlObject.tableComment": "Komentář tabulky",
|
||||||
|
"sqlObject.tableEngine": "Engine tabulky",
|
||||||
|
"sqlObject.tableViewProcedureName": "Název tabulky/pohledu/procedury",
|
||||||
|
"sqlObject.tablesWithRows": "Pouze tabulky s řádky",
|
||||||
|
"sqlObject.viewProcedureTriggerText": "Text pohledu/procedury/triggeru",
|
||||||
"summaryProcesses.actions": "Akce",
|
"summaryProcesses.actions": "Akce",
|
||||||
"summaryProcesses.client": "Klient",
|
"summaryProcesses.client": "Klient",
|
||||||
"summaryProcesses.connectionId": "ID připojení",
|
"summaryProcesses.connectionId": "ID připojení",
|
||||||
|
|||||||
@@ -3,9 +3,14 @@
|
|||||||
"app.preparingPlugins": "Preparing plugins ...",
|
"app.preparingPlugins": "Preparing plugins ...",
|
||||||
"app.starting": "Starting DbGate",
|
"app.starting": "Starting DbGate",
|
||||||
"authToken": "Auth token",
|
"authToken": "Auth token",
|
||||||
|
"column.addNew": "Add new column",
|
||||||
"column.copyName": "Copy name",
|
"column.copyName": "Copy name",
|
||||||
"column.dropColumn": "Drop column",
|
"column.dropColumn": "Drop column",
|
||||||
|
"column.fixed": "Fixed columns (like SQL)",
|
||||||
|
"column.name": "Column name",
|
||||||
"column.renameColumn": "Rename column",
|
"column.renameColumn": "Rename column",
|
||||||
|
"column.search": "Search columns",
|
||||||
|
"column.variable": "Variable columns (like MongoDB)",
|
||||||
"command.datagrid.addNewColumn": "Add new column",
|
"command.datagrid.addNewColumn": "Add new column",
|
||||||
"command.datagrid.addNewColumn.toolbar": "New column",
|
"command.datagrid.addNewColumn.toolbar": "New column",
|
||||||
"command.datagrid.cloneRows": "Clone rows",
|
"command.datagrid.cloneRows": "Clone rows",
|
||||||
@@ -41,6 +46,7 @@
|
|||||||
"command.tabs.previousTab": "Previous tab",
|
"command.tabs.previousTab": "Previous tab",
|
||||||
"command.tabs.reopenClosedTab": "Reopen closed tab",
|
"command.tabs.reopenClosedTab": "Reopen closed tab",
|
||||||
"common.archive": "Archive (JSONL)",
|
"common.archive": "Archive (JSONL)",
|
||||||
|
"common.cancel": "Cancel",
|
||||||
"common.close": "Close",
|
"common.close": "Close",
|
||||||
"common.connections": "Connections",
|
"common.connections": "Connections",
|
||||||
"common.database": "Database",
|
"common.database": "Database",
|
||||||
@@ -52,17 +58,76 @@
|
|||||||
"common.save": "Save",
|
"common.save": "Save",
|
||||||
"common.saveToArchive": "Save to archive",
|
"common.saveToArchive": "Save to archive",
|
||||||
"common.schema": "Schema",
|
"common.schema": "Schema",
|
||||||
|
"common.searchBy": "Search by:",
|
||||||
|
"connection.accessKeyId": "Access Key ID",
|
||||||
|
"connection.allowedDatabases": "Allowed databases, one per line",
|
||||||
|
"connection.allowedDatabasesRegex": "Allowed databases regular expression",
|
||||||
|
"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.clusterNodes": "Cluster nodes",
|
||||||
|
"connection.color": "Color",
|
||||||
"connection.connect": "Connect",
|
"connection.connect": "Connect",
|
||||||
|
"connection.connectionDefinition": "Service account key JSON",
|
||||||
|
"connection.copyToCloudFolder": "Copy to cloud folder",
|
||||||
"connection.createDatabase": "Create database",
|
"connection.createDatabase": "Create database",
|
||||||
"connection.databaseName": "Database name",
|
"connection.createNewFolder": "Create connection folder",
|
||||||
|
"connection.createNewFolderName": "New connection folder name",
|
||||||
|
"connection.database": "Database name",
|
||||||
|
"connection.databaseFile": "Database file",
|
||||||
|
"connection.databaseFilePath": "Database file (path on server)",
|
||||||
|
"connection.databaseUrl": "Database URL",
|
||||||
|
"connection.defaultDatabase": "Default database",
|
||||||
"connection.delete": "Delete",
|
"connection.delete": "Delete",
|
||||||
"connection.disconnect": "Disconnect",
|
"connection.disconnect": "Disconnect",
|
||||||
|
"connection.displayName": "Display name",
|
||||||
|
"connection.dockerWarning": "Under docker, localhost and 127.0.0.1 will not work, use dockerhost instead",
|
||||||
"connection.duplicate": "Duplicate",
|
"connection.duplicate": "Duplicate",
|
||||||
"connection.edit": "Edit",
|
"connection.edit": "Edit",
|
||||||
|
"connection.endpointKey": "Key",
|
||||||
|
"connection.engine": "Database engine",
|
||||||
|
"connection.fillDetails": "Fill database connection details",
|
||||||
|
"connection.isReadOnly": "Is read only",
|
||||||
|
"connection.keySeparator": "Key separator",
|
||||||
|
"connection.localDataCenter": "Local DataCenter",
|
||||||
|
"connection.new.folder.title": "Add new connection folder",
|
||||||
|
"connection.new.title": "Add new connection",
|
||||||
"connection.newQuery": "New Query (server)",
|
"connection.newQuery": "New Query (server)",
|
||||||
|
"connection.password": "Password",
|
||||||
|
"connection.passwordMode": "Password mode",
|
||||||
|
"connection.recentUnsaved": "Recent & unsaved",
|
||||||
"connection.refresh": "Refresh",
|
"connection.refresh": "Refresh",
|
||||||
|
"connection.refresh.title": "Refresh connection list",
|
||||||
|
"connection.saveEncrypted": "Save and encrypt",
|
||||||
|
"connection.saveRaw": "Save raw (UNSAFE!!)",
|
||||||
|
"connection.search.placeholder": "Search connection or database",
|
||||||
|
"connection.secretAccessKey": "Secret access key",
|
||||||
|
"connection.selectType": "(select connection type)",
|
||||||
|
"connection.server": "Server",
|
||||||
"connection.serverSummary": "Server summary",
|
"connection.serverSummary": "Server summary",
|
||||||
|
"connection.serviceName": "Service name",
|
||||||
|
"connection.socketPath": "Socket path",
|
||||||
|
"connection.sshTunnel.agentFound": "SSH Agent found",
|
||||||
|
"connection.sshTunnel.agentNotFound": "SSH Agent not found",
|
||||||
|
"connection.sshTunnel.authMethod.userPassword": "Username & password",
|
||||||
|
"connection.sshTunnel.authentication": "SSH Authentication",
|
||||||
|
"connection.sshTunnel.keyFilePassphrase": "Key file passphrase",
|
||||||
|
"connection.sshTunnel.privateKeyFile": "Private key file",
|
||||||
|
"connection.sshTunnel.privateKeyFilePath": "Private key file (path on server)",
|
||||||
|
"connection.sshTunnel.use": "Use SSH tunnel",
|
||||||
|
"connection.ssl.caCert": "CA Cert (optional)",
|
||||||
|
"connection.ssl.certificate": "Certificate (optional)",
|
||||||
|
"connection.ssl.certificateKeyFilePassword": "Certificate key file password (optional)",
|
||||||
|
"connection.ssl.keyFile": "Key file (optional)",
|
||||||
|
"connection.ssl.rejectUnauthorized": "Reject unauthorized",
|
||||||
|
"connection.ssl.use": "Use SSL",
|
||||||
|
"connection.trustServerCertificate": "Trust server certificate",
|
||||||
|
"connection.type": "Connection type",
|
||||||
|
"connection.useUrl": "Use database URL",
|
||||||
|
"connection.user": "User",
|
||||||
"connection.viewDetails": "View details",
|
"connection.viewDetails": "View details",
|
||||||
|
"connection.windowsDomain": "Domain (specify to use NTLM authentication)",
|
||||||
"database.backup": "Backup #",
|
"database.backup": "Backup #",
|
||||||
"database.compare": "Compare",
|
"database.compare": "Compare",
|
||||||
"database.copyDatabaseName": "Copy database name",
|
"database.copyDatabaseName": "Copy database name",
|
||||||
@@ -105,6 +170,75 @@
|
|||||||
"file.queryDesignerFiles": "Query designer files",
|
"file.queryDesignerFiles": "Query designer files",
|
||||||
"file.sqlFiles": "SQL files",
|
"file.sqlFiles": "SQL files",
|
||||||
"file.sqliteDatabase": "SQLite database",
|
"file.sqliteDatabase": "SQLite database",
|
||||||
|
"filter.after": "After...",
|
||||||
|
"filter.and": "And",
|
||||||
|
"filter.arrayIsEmpty": "Array is empty",
|
||||||
|
"filter.arrayIsNotEmpty": "Array is not empty",
|
||||||
|
"filter.before": "Before...",
|
||||||
|
"filter.beginsWith": "Begins With...",
|
||||||
|
"filter.between": "Between...",
|
||||||
|
"filter.clear": "Clear Filter",
|
||||||
|
"filter.contains": "Contains...",
|
||||||
|
"filter.doesNotBeginWith": "Does Not Begin With...",
|
||||||
|
"filter.doesNotContain": "Does Not Contain...",
|
||||||
|
"filter.doesNotEndWith": "Does Not End With...",
|
||||||
|
"filter.doesNotEqual": "Does Not Equal...",
|
||||||
|
"filter.endsWith": "Ends With...",
|
||||||
|
"filter.equals": "Equals...",
|
||||||
|
"filter.fieldDoesNotExist": "Field does not exist",
|
||||||
|
"filter.fieldExists": "Field exists",
|
||||||
|
"filter.greaterThan": "Greater Than...",
|
||||||
|
"filter.greaterThanOrEqualTo": "Greater Than Or Equal To...",
|
||||||
|
"filter.hasNotEmptyValue": "Has Not Empty Value",
|
||||||
|
"filter.isAfter": "is after",
|
||||||
|
"filter.isAfterOrEqual": "is after or equal",
|
||||||
|
"filter.isBefore": "is before",
|
||||||
|
"filter.isBeforeOrEqual": "is before or equal",
|
||||||
|
"filter.isEmptyOrNull": "Is Empty Or Null",
|
||||||
|
"filter.isFalse": "Is False",
|
||||||
|
"filter.isFalseOrNull": "Is False or NULL",
|
||||||
|
"filter.isGreater": "is greater",
|
||||||
|
"filter.isGreaterOrEqual": "is greater or equal",
|
||||||
|
"filter.isNotNull": "Is Not Null",
|
||||||
|
"filter.isNull": "Is Null",
|
||||||
|
"filter.isSmaller": "is smaller",
|
||||||
|
"filter.isSmallerOrEqual": "is smaller or equal",
|
||||||
|
"filter.isTrue": "Is True",
|
||||||
|
"filter.isTrueOrNull": "Is True or NULL",
|
||||||
|
"filter.lastMonth": "Last Month",
|
||||||
|
"filter.lastWeek": "Last Week",
|
||||||
|
"filter.lastYear": "Last Year",
|
||||||
|
"filter.lessThan": "Less Than...",
|
||||||
|
"filter.lessThanOrEqualTo": "Less Than Or Equal To...",
|
||||||
|
"filter.modal.beginsWith": "begins with",
|
||||||
|
"filter.modal.contains": "contains",
|
||||||
|
"filter.modal.doesNotBeginWith": "does not begin with",
|
||||||
|
"filter.modal.doesNotContain": "does not contain",
|
||||||
|
"filter.modal.doesNotEndWith": "does not end with",
|
||||||
|
"filter.modal.doesNotEqual": "does not equal",
|
||||||
|
"filter.modal.endsWith": "ends with",
|
||||||
|
"filter.modal.equals": "equals",
|
||||||
|
"filter.modal.fieldDoesNotExist": "field does not exist",
|
||||||
|
"filter.modal.fieldExists": "field exists",
|
||||||
|
"filter.modal.isNotNull": "is not NULL",
|
||||||
|
"filter.modal.isNull": "is NULL",
|
||||||
|
"filter.modal.sqlCondition": "SQL condition",
|
||||||
|
"filter.modal.sqlConditionRight": "SQL condition - right side only",
|
||||||
|
"filter.multipleValues": "Filter multiple values",
|
||||||
|
"filter.nextMonth": "Next Month",
|
||||||
|
"filter.nextWeek": "Next Week",
|
||||||
|
"filter.nextYear": "Next Year",
|
||||||
|
"filter.or": "Or",
|
||||||
|
"filter.setFilter": "Set filter",
|
||||||
|
"filter.showRowsWhere": "Show rows where",
|
||||||
|
"filter.sqlCondition": "SQL condition ...",
|
||||||
|
"filter.sqlConditionRight": "SQL condition - right side ...",
|
||||||
|
"filter.thisMonth": "This Month",
|
||||||
|
"filter.thisWeek": "This Week",
|
||||||
|
"filter.thisYear": "This Year",
|
||||||
|
"filter.today": "Today",
|
||||||
|
"filter.tomorrow": "Tomorrow",
|
||||||
|
"filter.yesterday": "Yesterday",
|
||||||
"importExport.createZipFileInArchive": "Create ZIP file in archive",
|
"importExport.createZipFileInArchive": "Create ZIP file in archive",
|
||||||
"importExport.exportToZipArchive": "Output ZIP archive",
|
"importExport.exportToZipArchive": "Output ZIP archive",
|
||||||
"importExport.exportToZipFile": "Export to ZIP file",
|
"importExport.exportToZipFile": "Export to ZIP file",
|
||||||
@@ -211,6 +345,19 @@
|
|||||||
"settings.tabGroup.showServerName": "Show server name alongside database name in title of the tab group",
|
"settings.tabGroup.showServerName": "Show server name alongside database name in title of the tab group",
|
||||||
"settings.theme": "Themes",
|
"settings.theme": "Themes",
|
||||||
"settings.title": "Settings",
|
"settings.title": "Settings",
|
||||||
|
"sqlObject.collectionName": "Collection name",
|
||||||
|
"sqlObject.columnComment": "Column comment",
|
||||||
|
"sqlObject.columnDataType": "Column data type",
|
||||||
|
"sqlObject.columnName": "Column name",
|
||||||
|
"sqlObject.loadingStructure": "Loading database structure",
|
||||||
|
"sqlObject.schemaName": "Schema",
|
||||||
|
"sqlObject.search.placeholder": "Search in tables, views, procedures",
|
||||||
|
"sqlObject.searchBy": "Search by:",
|
||||||
|
"sqlObject.tableComment": "Table comment",
|
||||||
|
"sqlObject.tableEngine": "Table engine",
|
||||||
|
"sqlObject.tableViewProcedureName": "Table/view/procedure name",
|
||||||
|
"sqlObject.tablesWithRows": "Only tables with rows",
|
||||||
|
"sqlObject.viewProcedureTriggerText": "View/procedure/trigger text",
|
||||||
"summaryProcesses.actions": "Actions",
|
"summaryProcesses.actions": "Actions",
|
||||||
"summaryProcesses.client": "Client",
|
"summaryProcesses.client": "Client",
|
||||||
"summaryProcesses.connectionId": "Connection ID",
|
"summaryProcesses.connectionId": "Connection ID",
|
||||||
|
|||||||
@@ -3,9 +3,14 @@
|
|||||||
"app.preparingPlugins": "Príprava pluginov...",
|
"app.preparingPlugins": "Príprava pluginov...",
|
||||||
"app.starting": "Spúšťam DbGate",
|
"app.starting": "Spúšťam DbGate",
|
||||||
"authToken": "Autentifikačný token",
|
"authToken": "Autentifikačný token",
|
||||||
|
"column.addNew": "Pridať nový stĺpec",
|
||||||
"column.copyName": "Kopírovať názov",
|
"column.copyName": "Kopírovať názov",
|
||||||
"column.dropColumn": "Odstrániť stĺpec",
|
"column.dropColumn": "Odstrániť stĺpec",
|
||||||
|
"column.fixed": "Pevné stĺpce (ako SQL)",
|
||||||
|
"column.name": "Názov stĺpca",
|
||||||
"column.renameColumn": "Premenovať stĺpec",
|
"column.renameColumn": "Premenovať stĺpec",
|
||||||
|
"column.search": "Hľadať stĺpce",
|
||||||
|
"column.variable": "Premenlivé stĺpce (ako MongoDB)",
|
||||||
"command.datagrid.addNewColumn": "Pridať nový stĺpec",
|
"command.datagrid.addNewColumn": "Pridať nový stĺpec",
|
||||||
"command.datagrid.addNewColumn.toolbar": "Nový stĺpec",
|
"command.datagrid.addNewColumn.toolbar": "Nový stĺpec",
|
||||||
"command.datagrid.cloneRows": "Klonovať riadky",
|
"command.datagrid.cloneRows": "Klonovať riadky",
|
||||||
@@ -41,6 +46,7 @@
|
|||||||
"command.tabs.previousTab": "Predchádzajúca karta",
|
"command.tabs.previousTab": "Predchádzajúca karta",
|
||||||
"command.tabs.reopenClosedTab": "Znovu otvoriť zatvorenú kartu",
|
"command.tabs.reopenClosedTab": "Znovu otvoriť zatvorenú kartu",
|
||||||
"common.archive": "Archivovať (JSONL)",
|
"common.archive": "Archivovať (JSONL)",
|
||||||
|
"common.cancel": "Zrušiť",
|
||||||
"common.close": "Zavrieť",
|
"common.close": "Zavrieť",
|
||||||
"common.connections": "Pripojenia",
|
"common.connections": "Pripojenia",
|
||||||
"common.database": "Databáza",
|
"common.database": "Databáza",
|
||||||
@@ -52,17 +58,76 @@
|
|||||||
"common.save": "Uložiť",
|
"common.save": "Uložiť",
|
||||||
"common.saveToArchive": "Uložiť do archívu",
|
"common.saveToArchive": "Uložiť do archívu",
|
||||||
"common.schema": "Schéma",
|
"common.schema": "Schéma",
|
||||||
|
"common.searchBy": "Hľadať podľa:",
|
||||||
|
"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.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.clusterNodes": "Uzly klastra",
|
||||||
|
"connection.color": "Farba",
|
||||||
"connection.connect": "Pripojiť",
|
"connection.connect": "Pripojiť",
|
||||||
|
"connection.connectionDefinition": "JSON kľúč servisného účtu",
|
||||||
|
"connection.copyToCloudFolder": "Kopírovať do cloud zložky",
|
||||||
"connection.createDatabase": "Vytvoriť databázu",
|
"connection.createDatabase": "Vytvoriť databázu",
|
||||||
"connection.databaseName": "Názov databázy",
|
"connection.createNewFolder": "Vytvoriť priečinok pripojení",
|
||||||
|
"connection.createNewFolderName": "Názov nového priečinka pripojení",
|
||||||
|
"connection.database": "Názov databázy",
|
||||||
|
"connection.databaseFile": "Súbor databázy",
|
||||||
|
"connection.databaseFilePath": "Súbor databázy (cesta na serveri)",
|
||||||
|
"connection.databaseUrl": "URL databázy",
|
||||||
|
"connection.defaultDatabase": "Predvolená databáza",
|
||||||
"connection.delete": "Odstrániť",
|
"connection.delete": "Odstrániť",
|
||||||
"connection.disconnect": "Odpojiť",
|
"connection.disconnect": "Odpojiť",
|
||||||
|
"connection.displayName": "Zobrazovaný názov",
|
||||||
|
"connection.dockerWarning": "V Dockeri localhost a 127.0.0.1 nefungujú, použite namiesto toho dockerhost",
|
||||||
"connection.duplicate": "Duplikovať",
|
"connection.duplicate": "Duplikovať",
|
||||||
"connection.edit": "Upraviť",
|
"connection.edit": "Upraviť",
|
||||||
|
"connection.endpointKey": "Kľúč",
|
||||||
|
"connection.engine": "Typ databázy",
|
||||||
|
"connection.fillDetails": "Vyplňte údaje o pripojení k databáze",
|
||||||
|
"connection.isReadOnly": "Je iba na čítanie",
|
||||||
|
"connection.keySeparator": "Oddeľovač kľúčov",
|
||||||
|
"connection.localDataCenter": "Lokálne dátové centrum",
|
||||||
|
"connection.new.folder.title": "Pridať nový priečinok pripojení",
|
||||||
|
"connection.new.title": "Pridať nové pripojenie",
|
||||||
"connection.newQuery": "Nový dotaz (server)",
|
"connection.newQuery": "Nový dotaz (server)",
|
||||||
|
"connection.password": "Heslo",
|
||||||
|
"connection.passwordMode": "Režim hesla",
|
||||||
|
"connection.recentUnsaved": "Nedávne a neuložené",
|
||||||
"connection.refresh": "Obnoviť",
|
"connection.refresh": "Obnoviť",
|
||||||
|
"connection.refresh.title": "Obnoviť zoznam pripojení",
|
||||||
|
"connection.saveEncrypted": "Uložiť a zašifrovať",
|
||||||
|
"connection.saveRaw": "Uložiť nezašifrované (NEBEZPEČNÉ!!)",
|
||||||
|
"connection.search.placeholder": "Vyhľadať pripojenie alebo databázu",
|
||||||
|
"connection.secretAccessKey": "Tajný prístupový kľúč",
|
||||||
|
"connection.selectType": "(vyberte typ pripojenia)",
|
||||||
|
"connection.server": "Server",
|
||||||
"connection.serverSummary": "Zhrnutie servera",
|
"connection.serverSummary": "Zhrnutie servera",
|
||||||
|
"connection.serviceName": "Názov služby",
|
||||||
|
"connection.socketPath": "Cesta k socketu",
|
||||||
|
"connection.sshTunnel.agentFound": "SSH Agent nájdený",
|
||||||
|
"connection.sshTunnel.agentNotFound": "SSH Agent nenájdený",
|
||||||
|
"connection.sshTunnel.authMethod.userPassword": "Používateľské meno a heslo",
|
||||||
|
"connection.sshTunnel.authentication": "SSH autentizácia",
|
||||||
|
"connection.sshTunnel.keyFilePassphrase": "Heslo k súboru s kľúčom",
|
||||||
|
"connection.sshTunnel.privateKeyFile": "Súbor s privátnym kľúčom",
|
||||||
|
"connection.sshTunnel.privateKeyFilePath": "Súbor s privátnym kľúčom (cesta na serveri)",
|
||||||
|
"connection.sshTunnel.use": "Použiť SSH tunel",
|
||||||
|
"connection.ssl.caCert": "CA certifikát (voliteľné)",
|
||||||
|
"connection.ssl.certificate": "Certifikát (voliteľné)",
|
||||||
|
"connection.ssl.certificateKeyFilePassword": "Heslo k súboru s kľúčom certifikátu (voliteľné)",
|
||||||
|
"connection.ssl.keyFile": "Súbor s kľúčom (voliteľné)",
|
||||||
|
"connection.ssl.rejectUnauthorized": "Odmietnuť neautorizované",
|
||||||
|
"connection.ssl.use": "Použiť SSL",
|
||||||
|
"connection.trustServerCertificate": "Dôverovať certifikátu servera",
|
||||||
|
"connection.type": "Typ pripojenia",
|
||||||
|
"connection.useUrl": "Použiť URL databázy",
|
||||||
|
"connection.user": "Používateľ",
|
||||||
"connection.viewDetails": "Zobraziť detaily",
|
"connection.viewDetails": "Zobraziť detaily",
|
||||||
|
"connection.windowsDomain": "Doména (zadajte pre použitie NTLM autentizácie)",
|
||||||
"database.backup": "Záloha #",
|
"database.backup": "Záloha #",
|
||||||
"database.compare": "Porovnať",
|
"database.compare": "Porovnať",
|
||||||
"database.copyDatabaseName": "Kopírovať názov databázy",
|
"database.copyDatabaseName": "Kopírovať názov databázy",
|
||||||
@@ -105,6 +170,75 @@
|
|||||||
"file.queryDesignerFiles": "Súbory návrhu dotazu",
|
"file.queryDesignerFiles": "Súbory návrhu dotazu",
|
||||||
"file.sqlFiles": "SQL súbory",
|
"file.sqlFiles": "SQL súbory",
|
||||||
"file.sqliteDatabase": "SQLite databáza",
|
"file.sqliteDatabase": "SQLite databáza",
|
||||||
|
"filter.after": "Po...",
|
||||||
|
"filter.and": "A",
|
||||||
|
"filter.arrayIsEmpty": "Pole je prázdne",
|
||||||
|
"filter.arrayIsNotEmpty": "Pole nie je prázdne",
|
||||||
|
"filter.before": "Pred...",
|
||||||
|
"filter.beginsWith": "Začína na...",
|
||||||
|
"filter.between": "Medzi...",
|
||||||
|
"filter.clear": "Vymazať filter",
|
||||||
|
"filter.contains": "Obsahuje...",
|
||||||
|
"filter.doesNotBeginWith": "Nezačína na...",
|
||||||
|
"filter.doesNotContain": "Neobsahuje...",
|
||||||
|
"filter.doesNotEndWith": "Nekončí na...",
|
||||||
|
"filter.doesNotEqual": "Nie je rovné...",
|
||||||
|
"filter.endsWith": "Končí na...",
|
||||||
|
"filter.equals": "Rovná sa...",
|
||||||
|
"filter.fieldDoesNotExist": "Pole neexistuje",
|
||||||
|
"filter.fieldExists": "Pole existuje",
|
||||||
|
"filter.greaterThan": "Väčší než...",
|
||||||
|
"filter.greaterThanOrEqualTo": "Väčší alebo rovný...",
|
||||||
|
"filter.hasNotEmptyValue": "Nie je prázdne",
|
||||||
|
"filter.isAfter": "je po",
|
||||||
|
"filter.isAfterOrEqual": "je po alebo rovné",
|
||||||
|
"filter.isBefore": "je pred",
|
||||||
|
"filter.isBeforeOrEqual": "je pred alebo rovné",
|
||||||
|
"filter.isEmptyOrNull": "Je prázdne alebo NULL",
|
||||||
|
"filter.isFalse": "Je false",
|
||||||
|
"filter.isFalseOrNull": "Je false alebo NULL",
|
||||||
|
"filter.isGreater": "je väčšie",
|
||||||
|
"filter.isGreaterOrEqual": "je väčšie alebo rovné",
|
||||||
|
"filter.isNotNull": "Nie je NULL",
|
||||||
|
"filter.isNull": "Je NULL",
|
||||||
|
"filter.isSmaller": "je menšie",
|
||||||
|
"filter.isSmallerOrEqual": "je menšie alebo rovné",
|
||||||
|
"filter.isTrue": "Je true",
|
||||||
|
"filter.isTrueOrNull": "Je true alebo NULL",
|
||||||
|
"filter.lastMonth": "Minulý mesiac",
|
||||||
|
"filter.lastWeek": "Minulý týždeň",
|
||||||
|
"filter.lastYear": "Minulý rok",
|
||||||
|
"filter.lessThan": "Menší než...",
|
||||||
|
"filter.lessThanOrEqualTo": "Menší alebo rovný...",
|
||||||
|
"filter.modal.beginsWith": "začína na",
|
||||||
|
"filter.modal.contains": "obsahuje",
|
||||||
|
"filter.modal.doesNotBeginWith": "nezačína na",
|
||||||
|
"filter.modal.doesNotContain": "neobsahuje",
|
||||||
|
"filter.modal.doesNotEndWith": "nekončí na",
|
||||||
|
"filter.modal.doesNotEqual": "nerovná sa",
|
||||||
|
"filter.modal.endsWith": "končí na",
|
||||||
|
"filter.modal.equals": "rovná sa",
|
||||||
|
"filter.modal.fieldDoesNotExist": "pole neexistuje",
|
||||||
|
"filter.modal.fieldExists": "pole existuje",
|
||||||
|
"filter.modal.isNotNull": "nie je NULL",
|
||||||
|
"filter.modal.isNull": "je NULL",
|
||||||
|
"filter.modal.sqlCondition": "SQL podmienka",
|
||||||
|
"filter.modal.sqlConditionRight": "SQL podmienka - len pravá strana",
|
||||||
|
"filter.multipleValues": "Filtrovať viacero hodnôt",
|
||||||
|
"filter.nextMonth": "Ďalší mesiac",
|
||||||
|
"filter.nextWeek": "Ďalší týždeň",
|
||||||
|
"filter.nextYear": "Ďalší rok",
|
||||||
|
"filter.or": "Alebo",
|
||||||
|
"filter.setFilter": "Nastaviť filter",
|
||||||
|
"filter.showRowsWhere": "Zobraziť riadky kde",
|
||||||
|
"filter.sqlCondition": "SQL podmienka...",
|
||||||
|
"filter.sqlConditionRight": "SQL podmienka - pravá strana...",
|
||||||
|
"filter.thisMonth": "Tento mesiac",
|
||||||
|
"filter.thisWeek": "Tento týždeň",
|
||||||
|
"filter.thisYear": "Tento rok",
|
||||||
|
"filter.today": "Dnes",
|
||||||
|
"filter.tomorrow": "Zajtra",
|
||||||
|
"filter.yesterday": "Včera",
|
||||||
"importExport.createZipFileInArchive": "Vytvoriť ZIP súbor v archíve",
|
"importExport.createZipFileInArchive": "Vytvoriť ZIP súbor v archíve",
|
||||||
"importExport.exportToZipArchive": "Exportovať do ZIP archívu",
|
"importExport.exportToZipArchive": "Exportovať do ZIP archívu",
|
||||||
"importExport.exportToZipFile": "Exportovať do ZIP súboru",
|
"importExport.exportToZipFile": "Exportovať do ZIP súboru",
|
||||||
@@ -211,6 +345,19 @@
|
|||||||
"settings.tabGroup.showServerName": "Zobraziť názov servera vedľa názvu databázy v názve skupiny kariet",
|
"settings.tabGroup.showServerName": "Zobraziť názov servera vedľa názvu databázy v názve skupiny kariet",
|
||||||
"settings.theme": "Vzhľad",
|
"settings.theme": "Vzhľad",
|
||||||
"settings.title": "Nastavenia",
|
"settings.title": "Nastavenia",
|
||||||
|
"sqlObject.collectionName": "Názov kolekcie",
|
||||||
|
"sqlObject.columnComment": "Komentár stĺpca",
|
||||||
|
"sqlObject.columnDataType": "Dátový typ stĺpca",
|
||||||
|
"sqlObject.columnName": "Názov stĺpca",
|
||||||
|
"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",
|
||||||
|
"sqlObject.searchBy": "Hľadať podľa:",
|
||||||
|
"sqlObject.tableComment": "Komentár tabuľky",
|
||||||
|
"sqlObject.tableEngine": "Engine tabuľky",
|
||||||
|
"sqlObject.tableViewProcedureName": "Názov tabuľky/pohľadu/procedúry",
|
||||||
|
"sqlObject.tablesWithRows": "Iba tabuľky s riadkami",
|
||||||
|
"sqlObject.viewProcedureTriggerText": "Text pohľadu/procedúry/triggera",
|
||||||
"summaryProcesses.actions": "Akcie",
|
"summaryProcesses.actions": "Akcie",
|
||||||
"summaryProcesses.client": "Klient",
|
"summaryProcesses.client": "Klient",
|
||||||
"summaryProcesses.connectionId": "ID pripojenia",
|
"summaryProcesses.connectionId": "ID pripojenia",
|
||||||
|
|||||||
Reference in New Issue
Block a user