- {mode == 'export' ? 'Export' : 'Import'} connections & settings
+ {mode == 'export' ? 'Export' : 'Import'} {_t('importExport.connectionsSettings', { defaultMessage: 'connections & settings' })}
handleCheckAll(true)}>{_t('common.checkAll', { defaultMessage: 'Check all' })}
|
@@ -180,16 +180,16 @@
@@ -199,10 +199,10 @@
stickyHeader
columns={[
{ header: 'ID', fieldName: 'id', sortable: true, filterable: true },
- { header: 'Display name', fieldName: 'displayName', sortable: true, filterable: true },
- { header: 'Engine', fieldName: 'engine', sortable: true, filterable: true },
- { header: 'Server', fieldName: 'server', sortable: true, filterable: true },
- { header: 'User', fieldName: 'user', sortable: true, filterable: true },
+ { header: _t('importExport.displayName', { defaultMessage: 'Display name' }), fieldName: 'displayName', sortable: true, filterable: true },
+ { header: _t('importExport.engine', { defaultMessage: 'Engine' }), fieldName: 'engine', sortable: true, filterable: true },
+ { header: _t('importExport.server', { defaultMessage: 'Server' }), fieldName: 'server', sortable: true, filterable: true },
+ { header: _t('importExport.user', { defaultMessage: 'User' }), fieldName: 'user', sortable: true, filterable: true },
]}
clickable
rows={connections}
@@ -225,8 +225,8 @@
stickyHeader
columns={[
{ header: 'ID', fieldName: 'id', sortable: true, filterable: true },
- { header: 'Login', fieldName: 'login', sortable: true, filterable: true },
- { header: 'E-mail', fieldName: 'email', sortable: true, filterable: true },
+ { header: _t('importExport.login', { defaultMessage: 'Login' }), fieldName: 'login', sortable: true, filterable: true },
+ { header: _t('importExport.email', { defaultMessage: 'E-mail' }), fieldName: 'email', sortable: true, filterable: true },
]}
clickable
rows={users}
@@ -249,7 +249,7 @@
stickyHeader
columns={[
{ header: 'ID', fieldName: 'id', sortable: true, filterable: true },
- { header: 'Name', fieldName: 'name', sortable: true, filterable: true },
+ { header: _t('importExport.name', { defaultMessage: 'Name' }), fieldName: 'name', sortable: true, filterable: true },
]}
clickable
rows={roles}
@@ -272,8 +272,8 @@
stickyHeader
columns={[
{ header: 'ID', fieldName: 'id', sortable: true, filterable: true },
- { header: 'Name', fieldName: 'name', sortable: true, filterable: true },
- { header: 'Type', fieldName: 'type', sortable: true, filterable: true },
+ { header: _t('importExport.name', { defaultMessage: 'Name' }), fieldName: 'name', sortable: true, filterable: true },
+ { header: _t('importExport.type', { defaultMessage: 'Type' }), fieldName: 'type', sortable: true, filterable: true },
]}
clickable
rows={authMethods}
@@ -296,9 +296,9 @@
stickyHeader
columns={[
{ header: 'ID', fieldName: 'id', sortable: true, filterable: true },
- { header: 'Group', fieldName: 'group', sortable: true, filterable: true },
- { header: 'Key', fieldName: 'key', sortable: true, filterable: true },
- { header: 'Value', fieldName: 'value', sortable: true, filterable: true },
+ { header: _t('importExport.group', { defaultMessage: 'Group' }), fieldName: 'group', sortable: true, filterable: true },
+ { header: _t('importExport.key', { defaultMessage: 'Key' }), fieldName: 'key', sortable: true, filterable: true },
+ { header: _t('importExport.value', { defaultMessage: 'Value' }), fieldName: 'value', sortable: true, filterable: true },
]}
clickable
rows={config}
@@ -340,7 +340,7 @@
>
{/if}
Close {_t('common.close', { defaultMessage: 'Close' })}
diff --git a/packages/web/src/modals/FavoriteModal.svelte b/packages/web/src/modals/FavoriteModal.svelte
index a065cd8e2..2d77b22ac 100644
--- a/packages/web/src/modals/FavoriteModal.svelte
+++ b/packages/web/src/modals/FavoriteModal.svelte
@@ -16,6 +16,7 @@
import FormSubmit from '../forms/FormSubmit.svelte';
import FormButton from '../forms/FormButton.svelte';
import { apiCall } from '../utility/api';
+ import { _t } from '../translations';
export let editingData;
export let savingTab;
@@ -113,28 +114,28 @@
- {editingData ? 'Edit favorite' : 'Share / add to favorites'}
+ {editingData ? _t('favorite.editFavorite', { defaultMessage: 'Edit favorite' }) : _t('favorite.shareAddToFavorites', { defaultMessage: 'Share / add to favorites' })}
-
-
+
+
-
+
{#if !!savingTab && !electron && canWriteFavorite}
-
+
{/if}
{#if !values.shareAsLink && canWriteFavorite}
-
-
+
+
{/if}
{#if !!savingTab && !!savedFile}
{/if}
@@ -142,12 +143,12 @@
{#if !values.shareAsLink && canWriteFavorite}
-
+
{/if}
{#if values.shareAsLink || !canWriteFavorite}
-
+
{/if}
-
+
diff --git a/packages/web/src/modals/FilterMultipleValuesModal.svelte b/packages/web/src/modals/FilterMultipleValuesModal.svelte
index 96ca5306b..49b87c8ed 100644
--- a/packages/web/src/modals/FilterMultipleValuesModal.svelte
+++ b/packages/web/src/modals/FilterMultipleValuesModal.svelte
@@ -3,6 +3,7 @@
import FormStyledButton from '../buttons/FormStyledButton.svelte';
import ModalBase from './ModalBase.svelte';
import { closeCurrentModal } from './modalTools';
+ import { _t } from '../translations';
export let onFilter;
@@ -16,35 +17,35 @@
- Filter multiple values
+ {_t('filterMultipleValues.filterMultipleValues', { defaultMessage: 'Filter multiple values' })}
-
-
+
+
diff --git a/packages/web/src/modals/GenerateSqlFromDataModal.svelte b/packages/web/src/modals/GenerateSqlFromDataModal.svelte
index 4760a3605..447ae6a84 100644
--- a/packages/web/src/modals/GenerateSqlFromDataModal.svelte
+++ b/packages/web/src/modals/GenerateSqlFromDataModal.svelte
@@ -9,6 +9,7 @@
import newQuery from '../query/newQuery';
import SqlEditor from '../query/SqlEditor.svelte';
import keycodes from '../utility/keycodes';
+ import { _t } from '../translations';
import ModalBase from './ModalBase.svelte';
import { closeCurrentModal } from './modalTools';
@@ -77,24 +78,23 @@
- Generate SQL from data
+ {_t('generateSqlFromData.generateSqlFromData', { defaultMessage: 'Generate SQL from data' })}
-
Choose query type
-
+
{_t('generateSqlFromData.chooseQueryType', { defaultMessage: 'Choose query type' })}
({ name }))}
bind:selectedIndex={queryTypeIndex}
bind:domTable={domQueryType}
focusOnCreate
selectable
- columns={[{ fieldName: 'name', header: 'Query type' }]}
+ columns={[{ fieldName: 'name', header: _t('generateSqlFromData.queryType', { defaultMessage: 'Query type' }) }]}
/>
-
Value columns
+
{_t('generateSqlFromData.valueColumns', { defaultMessage: 'Value columns' })}
{
newQuery({ initialData: sqlPreview });
closeCurrentModal();
}}
/>
-
+
diff --git a/packages/web/src/modals/InputTextModal.svelte b/packages/web/src/modals/InputTextModal.svelte
index 22dbd1545..1045434f7 100644
--- a/packages/web/src/modals/InputTextModal.svelte
+++ b/packages/web/src/modals/InputTextModal.svelte
@@ -29,7 +29,7 @@
- handleSubmit(e.detail)} data-testid="InputTextModal_ok" />
+ handleSubmit(e.detail)} data-testid="InputTextModal_ok" />
diff --git a/packages/web/src/modals/InsertJoinModal.svelte b/packages/web/src/modals/InsertJoinModal.svelte
index e1cd01777..b84628778 100644
--- a/packages/web/src/modals/InsertJoinModal.svelte
+++ b/packages/web/src/modals/InsertJoinModal.svelte
@@ -9,6 +9,8 @@
import ModalBase from './ModalBase.svelte';
import { closeCurrentModal } from './modalTools';
+ import { _t } from '../translations';
+ import _ from 'lodash';
export let sql;
export let onInsert;
@@ -104,12 +106,11 @@
- Insert join
+ {_t('insertJoin.insertJoin', { defaultMessage: 'Insert join' })}
-
Existing table
-
+
{_t('insertJoin.existingTable', { defaultMessage: 'Existing table' })}
-
New table
+
{_t('insertJoin.newTable', { defaultMessage: 'New table' })}
-
Join
+
{_t('insertJoin.join', { defaultMessage: 'Join' })}
({ name }))}
@@ -150,10 +151,10 @@
bind:domTable={domJoin}
selectable
on:keydown={joinKeyDown}
- columns={[{ fieldName: 'name', header: 'Join type' }]}
+ columns={[{ fieldName: 'name', header: _t('insertJoin.joinType', { defaultMessage: 'Join type' }) }]}
/>
- Alias
+ {_t('insertJoin.alias', { defaultMessage: 'Alias' })}
{
@@ -171,13 +172,13 @@
{
closeCurrentModal();
onInsert(sqlPreview);
}}
/>
-
+
diff --git a/packages/web/src/modals/LicenseLimitMessageModal.svelte b/packages/web/src/modals/LicenseLimitMessageModal.svelte
index ca59a0c54..69011b324 100644
--- a/packages/web/src/modals/LicenseLimitMessageModal.svelte
+++ b/packages/web/src/modals/LicenseLimitMessageModal.svelte
@@ -5,6 +5,7 @@
import FontIcon from '../icons/FontIcon.svelte';
import { isProApp } from '../utility/proTools';
import { openWebLink } from '../utility/simpleTools';
+ import { _t } from '../translations';
import ModalBase from './ModalBase.svelte';
import { closeCurrentModal } from './modalTools';
@@ -15,7 +16,7 @@
- License limit error
+ {_t('licenseLimit.licenseLimitError', { defaultMessage: 'License limit error' })}
@@ -23,15 +24,15 @@
- Cloud operation ended with error:
+ {_t('licenseLimit.cloudOperationEndedWithError', { defaultMessage: 'Cloud operation ended with error:' })}
{message}
- This is a limitation of the free version of DbGate. To continue using cloud operations, please {#if !isProApp()}download
- and{/if} purchase DbGate Premium.
+ {_t('licenseLimit.limitationMessage', { defaultMessage: 'This is a limitation of the free version of DbGate. To continue using cloud operations, please' })} {#if !isProApp()} {_t('licenseLimit.download', { defaultMessage: 'download and' })}
+ {/if} {_t('licenseLimit.purchase', { defaultMessage: 'purchase DbGate Premium.' })}
-
Free version limit:
+
{_t('licenseLimit.freeVersionLimit', { defaultMessage: 'Free version limit:' })}
{#each licenseLimits || [] as limit}
{limit}
@@ -41,16 +42,16 @@
-
+
{#if !isProApp()}
openWebLink('https://www.dbgate.io/download/')}
skipWidth
/>
{/if}
openWebLink('https://www.dbgate.io/purchase/premium/')}
skipWidth
/>
diff --git a/packages/web/src/modals/NewCollectionModal.svelte b/packages/web/src/modals/NewCollectionModal.svelte
index 16f1c9028..3c3fcfd1f 100644
--- a/packages/web/src/modals/NewCollectionModal.svelte
+++ b/packages/web/src/modals/NewCollectionModal.svelte
@@ -30,9 +30,9 @@
const { errorMessage } = resp || {};
if (errorMessage) {
- showModal(ErrorMessageModal, { title: 'Error when executing operation', message: errorMessage });
+ showModal(ErrorMessageModal, { title: _t('error.executingOperation', { defaultMessage: 'Error when executing operation' }), message: errorMessage });
} else {
- showSnackbarSuccess('Saved to database');
+ showSnackbarSuccess(_t('common.savedToDatabase', { defaultMessage: 'Saved to database' }));
apiCall('database-connections/sync-model', dbid);
closeCurrentModal();
}
@@ -51,7 +51,7 @@
- handleSubmit(e.detail)} disabled={isSaving} />
+ handleSubmit(e.detail)} disabled={isSaving} />
diff --git a/packages/web/src/modals/QueryParametersModal.svelte b/packages/web/src/modals/QueryParametersModal.svelte
index 53447b493..c028d1d2d 100644
--- a/packages/web/src/modals/QueryParametersModal.svelte
+++ b/packages/web/src/modals/QueryParametersModal.svelte
@@ -5,6 +5,7 @@
import FormSubmit from '../forms/FormSubmit.svelte';
import FormTextField from '../forms/FormTextField.svelte';
import { apiCall } from '../utility/api';
+ import { _t } from '../translations';
import getElectron from '../utility/getElectron';
import ModalBase from './ModalBase.svelte';
@@ -26,7 +27,7 @@
- Edit query parameters
+ {_t('queryParameters.editQueryParameters', { defaultMessage: 'Edit query parameters' })}
{#each parameterNames as parameterName, index}
@@ -34,11 +35,11 @@
{/each}
- String values must be 'quoted'. You can use valid SQL expressions.
+ {_t('queryParameters.stringValuesMustBeQuoted', { defaultMessage: "String values must be 'quoted'. You can use valid SQL expressions." })}
-
-
+
+
diff --git a/packages/web/src/modals/RunScriptModal.svelte b/packages/web/src/modals/RunScriptModal.svelte
index 6ea9b7e14..2a2bd5482 100644
--- a/packages/web/src/modals/RunScriptModal.svelte
+++ b/packages/web/src/modals/RunScriptModal.svelte
@@ -10,6 +10,7 @@
import { showSnackbarError } from '../utility/snackbar';
import ModalBase from './ModalBase.svelte';
import { closeCurrentModal } from './modalTools';
+ import { _t } from '../translations';
export let script;
export let header;
@@ -77,14 +78,14 @@
{#if isRunning}
-
+
{:else}
-
+
{/if}
{#if onOpenResult && !isRunning}
{
closeCurrentModal();
onOpenResult();
diff --git a/packages/web/src/modals/SaveArchiveModal.svelte b/packages/web/src/modals/SaveArchiveModal.svelte
index 4288a9b6a..bcc54afc2 100644
--- a/packages/web/src/modals/SaveArchiveModal.svelte
+++ b/packages/web/src/modals/SaveArchiveModal.svelte
@@ -24,10 +24,10 @@
- Save to archive
+ {_t('archive.saveToArchive', { defaultMessage: 'Save to archive' })}
-
-
+
+
diff --git a/packages/web/src/modals/SaveFileModal.svelte b/packages/web/src/modals/SaveFileModal.svelte
index 6dcf13c4b..b65124f79 100644
--- a/packages/web/src/modals/SaveFileModal.svelte
+++ b/packages/web/src/modals/SaveFileModal.svelte
@@ -125,7 +125,7 @@
{#if $cloudSigninTokenHolder && !$values['saveToTeamFolder']}
{/if}
{#if $configValue?.storageDatabase}
-
+
{/if}
@@ -148,12 +148,12 @@
{#if electron}
{
const file = await electron.showSaveDialog({
filters: [
- { name: `${fileExtension.toUpperCase()} files`, extensions: [fileExtension] },
- { name: `All files`, extensions: ['*'] },
+ { name: _t('common.fileType', { defaultMessage: '{extension} files', values: {extension: fileExtension.toUpperCase()} }), extensions: [fileExtension] },
+ { name: _t('common.allFiles', { defaultMessage: 'All files' }), extensions: ['*'] },
],
defaultPath: filePath || `${name}.${fileExtension}`,
properties: ['showOverwriteConfirmation'],
diff --git a/packages/web/src/modals/SetFilterModal.svelte b/packages/web/src/modals/SetFilterModal.svelte
index 38e224852..28cb43d61 100644
--- a/packages/web/src/modals/SetFilterModal.svelte
+++ b/packages/web/src/modals/SetFilterModal.svelte
@@ -84,7 +84,7 @@
-
+
diff --git a/packages/web/src/modals/ShowSqlModal.svelte b/packages/web/src/modals/ShowSqlModal.svelte
index 78fd71dfd..c457326b1 100644
--- a/packages/web/src/modals/ShowSqlModal.svelte
+++ b/packages/web/src/modals/ShowSqlModal.svelte
@@ -14,7 +14,7 @@
- SQL Script
+ {_t('script.sqlScript', { defaultMessage: 'SQL Script' })}
@@ -29,7 +29,7 @@
/>
{
newQuery({
initialData: sql,
diff --git a/packages/web/src/modals/SqlGeneratorModal.svelte b/packages/web/src/modals/SqlGeneratorModal.svelte
index 4305a1b79..40249ca8a 100644
--- a/packages/web/src/modals/SqlGeneratorModal.svelte
+++ b/packages/web/src/modals/SqlGeneratorModal.svelte
@@ -32,6 +32,7 @@
import LoadingInfo from '../elements/LoadingInfo.svelte';
import { getObjectTypeFieldLabel } from '../utility/common';
import { apiCall } from '../utility/api';
+ import { _t } from '../translations';
export let conid;
export let database;
@@ -113,7 +114,7 @@
function editSql() {
openNewTab(
{
- title: 'Query #',
+ title: _t('query.queryNumber', { defaultMessage: 'Query #' }),
icon: 'img sql-file',
tabComponent: 'QueryTab',
focused: true,
@@ -133,7 +134,7 @@
- SQL Generator
+ {_t('sqlGenerator.sqlGenerator', { defaultMessage: 'SQL Generator' })}
{database}
@@ -146,9 +147,9 @@
-
Choose objects
+
{_t('sqlGenerator.chooseObjects', { defaultMessage: 'Choose objects' })}
-
+
@@ -174,54 +175,53 @@
{:else}
{#if truncated}
-
+
{/if}
{#if busy}
-
+
{/if}
{/if}
-
Generator settings
+
{_t('sqlGenerator.generatorSettings', { defaultMessage: 'Generator settings' })}
- Tables
-
+ {_t('sqlGenerator.tables', { defaultMessage: 'Tables' })}
+
{#if values.dropTables}
-
+
{/if}
-
+
-
-
-
-
+
+
+
+
-
+
{#if values.insert}
-
-
-
+
+
+
{/if}
-
-
+
{#each ['View', 'Matview', 'Procedure', 'Function', 'Trigger', 'SchedulerEvent'] as objtype}
{getObjectTypeFieldLabel(objtype + 's')}
-
-
+
+
{#if values[`drop${objtype}s`]}
-
+
{/if}
{/each}
@@ -241,8 +241,8 @@
- Edit SQL
- Close
+ {_t('sqlGenerator.editSql', { defaultMessage: 'Edit SQL' })}
+ {_t('common.close', { defaultMessage: 'Close' })}
diff --git a/packages/web/src/modals/SwitchDatabaseModal.svelte b/packages/web/src/modals/SwitchDatabaseModal.svelte
index 33662e717..3f40ff4d1 100644
--- a/packages/web/src/modals/SwitchDatabaseModal.svelte
+++ b/packages/web/src/modals/SwitchDatabaseModal.svelte
@@ -19,6 +19,7 @@
import FormConnectionSelect from '../impexp/FormConnectionSelect.svelte';
import FormDatabaseSelect from '../impexp/FormDatabaseSelect.svelte';
import { changeTab } from '../utility/common';
+ import { _t } from '../translations';
export let editingData;
export let callingTab;
@@ -46,15 +47,15 @@
- Switch database
+ {_t('switchDatabase.switchDatabase', { defaultMessage: 'Switch database' })}
-
-
+
+
-
-
+
+
diff --git a/packages/web/src/modals/ValueLookupModal.svelte b/packages/web/src/modals/ValueLookupModal.svelte
index 7b3701ac6..602c730f0 100644
--- a/packages/web/src/modals/ValueLookupModal.svelte
+++ b/packages/web/src/modals/ValueLookupModal.svelte
@@ -141,7 +141,7 @@
{#if multiselect}
{
closeCurrentModal();
onConfirm(checkedKeys);
diff --git a/packages/web/src/perspectives/CustomJoinModal.svelte b/packages/web/src/perspectives/CustomJoinModal.svelte
index c8009acca..7f4c8d490 100644
--- a/packages/web/src/perspectives/CustomJoinModal.svelte
+++ b/packages/web/src/perspectives/CustomJoinModal.svelte
@@ -20,6 +20,7 @@
import type { ChangePerspectiveConfigFunc, PerspectiveConfig, PerspectiveCustomJoinConfig } from 'dbgate-datalib';
import uuidv1 from 'uuid/v1';
import TextField from '../forms/TextField.svelte';
+ import { _t } from '../translations';
export let conid;
export let database;
@@ -90,7 +91,7 @@
$: connections = useConnectionList();
$: connectionOptions = [
- { value: null, label: 'The same as root' },
+ { value: null, label: _t('customJoin.theSameAsRoot', { defaultMessage: 'The same as root' }) },
..._.sortBy(
($connections || [])
// .filter(x => !x.unsaved)
@@ -107,7 +108,7 @@
$: databases = useDatabaseList({ conid: conidOverride || conid });
$: databaseOptions = [
- { value: null, label: 'The same as root' },
+ { value: null, label: _t('customJoin.theSameAsRoot', { defaultMessage: 'The same as root' }) },
..._.sortBy(
($databases || []).map(db => ({
value: db.name,
@@ -147,11 +148,11 @@
- Define custom join
+ {_t('customJoin.defineCustomJoin', { defaultMessage: 'Define custom join' })}