refactor(translation): complete refactor of translations structure

This commit is contained in:
Fabio Di Stasio 2023-08-03 18:28:50 +02:00
parent c19bac2373
commit 1dd2147b68
85 changed files with 2435 additions and 2492 deletions

View File

@ -1,22 +1,22 @@
export const shortcutEvents: { [key: string]: { l18n: string; l18nParam?: string | number; context?: 'tab' }} = {
'run-or-reload': { l18n: 'message.runOrReload', context: 'tab' },
'open-new-tab': { l18n: 'message.openNewTab', context: 'tab' },
'close-tab': { l18n: 'message.closeTab', context: 'tab' },
'format-query': { l18n: 'message.formatQuery', context: 'tab' },
'kill-query': { l18n: 'message.killQuery', context: 'tab' },
'query-history': { l18n: 'message.queryHistory', context: 'tab' },
'clear-query': { l18n: 'message.clearQuery', context: 'tab' },
'next-tab': { l18n: 'message.nextTab' },
'prev-tab': { l18n: 'message.previousTab' },
'open-all-connections': { l18n: 'message.openAllConnections' },
'open-filter': { l18n: 'message.openFilter' },
'next-page': { l18n: 'message.nextResultsPage' },
'prev-page': { l18n: 'message.previousResultsPage' },
'toggle-console': { l18n: 'message.toggleConsole' },
'save-content': { l18n: 'message.saveContent' },
'create-connection': { l18n: 'message.createNewConnection' },
'open-settings': { l18n: 'message.openSettings' },
'open-scratchpad': { l18n: 'message.openScratchpad' }
'run-or-reload': { l18n: 'application.runOrReload', context: 'tab' },
'open-new-tab': { l18n: 'application.openNewTab', context: 'tab' },
'close-tab': { l18n: 'application.closeTab', context: 'tab' },
'format-query': { l18n: 'database.formatQuery', context: 'tab' },
'kill-query': { l18n: 'database.killQuery', context: 'tab' },
'query-history': { l18n: 'database.queryHistory', context: 'tab' },
'clear-query': { l18n: 'database.clearQuery', context: 'tab' },
'next-tab': { l18n: 'application.nextTab' },
'prev-tab': { l18n: 'application.previousTab' },
'open-all-connections': { l18n: 'application.openAllConnections' },
'open-filter': { l18n: 'application.openFilter' },
'next-page': { l18n: 'application.nextResultsPage' },
'prev-page': { l18n: 'application.previousResultsPage' },
'toggle-console': { l18n: 'application.toggleConsole' },
'save-content': { l18n: 'application.saveContent' },
'create-connection': { l18n: 'connection.createNewConnection' },
'open-settings': { l18n: 'application.openSettings' },
'open-scratchpad': { l18n: 'application.openScratchpad' }
};
interface ShortcutRecord {
@ -124,7 +124,7 @@ const shortcuts: ShortcutRecord[] = [
for (let i = 1; i <= 9; i++) {
shortcutEvents[`select-tab-${i}`] = {
l18n: 'message.selectTabNumber',
l18n: 'application.selectTabNumber',
l18nParam: i
};

View File

@ -95,22 +95,22 @@ onMounted(() => {
const InputMenu = Menu.buildFromTemplate([
{
label: t('word.cut'),
label: t('general.cut'),
role: 'cut'
},
{
label: t('word.copy'),
label: t('general.copy'),
role: 'copy'
},
{
label: t('word.paste'),
label: t('general.paste'),
role: 'paste'
},
{
type: 'separator'
},
{
label: t('message.selectAll'),
label: t('general.selectAll'),
role: 'selectAll'
}
]);

View File

@ -31,13 +31,13 @@
class="btn btn-primary mr-2"
@click.stop="confirmModal"
>
{{ confirmText || t('word.confirm') }}
{{ confirmText || t('general.confirm') }}
</button>
<button
class="btn btn-link"
@click="hideModal"
>
{{ cancelText || t('word.cancel') }}
{{ cancelText || t('general.cancel') }}
</button>
</div>
</div>

View File

@ -4,7 +4,7 @@
v-model="selectedGroup"
class="form-select"
:options="[{name: 'manual'}, ...fakerGroups]"
:option-label="(opt: any) => opt.name === 'manual' ? t('message.manualValue') : t(`faker.${opt.name}`)"
:option-label="(opt: any) => opt.name === 'manual' ? t('general.manualValue') : t(`faker.${opt.name}`)"
option-track-by="name"
:disabled="!isChecked"
:style="'flex-grow: 0;'"
@ -41,7 +41,7 @@
<BaseUploadInput
v-else-if="inputProps().type === 'file'"
:model-value="selectedValue"
:message="t('word.browse')"
:message="t('general.browse')"
@clear="clearValue"
@change="filesChange($event)"
/>

View File

@ -4,7 +4,7 @@
class="form-input"
type="text"
:value="pressedKeys"
:placeholder="t('message.registerAShortcut')"
:placeholder="t('application.registerAShortcut')"
@focus="isFocus = true"
@blur="isFocus = false"
@keydown.prevent.stop="onKey"
@ -49,7 +49,7 @@ const pressedKeys = computed(() => {
keys.push('Shift');
if (keyboardEvent.value.code) {
if (keys.length === 0 && (keyboardEvent.value.key.length === 1 || singleKeysToIgnore.includes(keyboardEvent.value.key)))
return t('message.invalidShortcutMessage');
return t('application.invalidShortcutMessage');
else if (!specialKeys.includes(keyboardEvent.value.key)) {
if (keyboardEvent.value.key === 'Dead') {
keys.push(keyboardEvent.value.code
@ -82,7 +82,7 @@ const pressedKeys = computed(() => {
}
}
else
return t('message.invalidShortcutMessage');
return t('application.invalidShortcutMessage');
}
}
@ -96,7 +96,7 @@ const onKey = (e: KeyboardEvent) => {
};
watch(pressedKeys, (value) => {
if (value !== t('message.invalidShortcutMessage'))
if (value !== t('application.invalidShortcutMessage'))
emit('update:modelValue', pressedKeys.value);
});

View File

@ -7,7 +7,7 @@
<div class="modal-title h6">
<div class="d-flex">
<i class="mdi mdi-24px mdi-apps mr-1" />
<span class="cut-text">{{ t('message.allConnections') }}</span>
<span class="cut-text">{{ t('connection.allConnections') }}</span>
</div>
</div>
<a class="btn btn-clear c-hand" @click.stop="closeModal" />
@ -21,7 +21,7 @@
v-model="searchTerm"
class="form-input"
type="text"
:placeholder="t('message.searchForConnections')"
:placeholder="t('connection.searchForConnections')"
@keypress.esc="searchTerm = ''"
>
<i v-if="!searchTerm" class="form-icon mdi mdi-magnify mdi-18px pr-4" />
@ -58,7 +58,7 @@
<div class="all-connections-buttons p-absolute d-flex" :style="'top: 0; right: 0;'">
<i
class="all-connections-delete mdi mdi-delete mdi-18px ml-2"
:title="t('word.delete')"
:title="t('general.delete')"
@click.stop="askToDelete(connection)"
/>
</div>
@ -130,12 +130,12 @@
>
<template #header>
<div class="d-flex">
<i class="mdi mdi-24px mdi-server-remove mr-1" /> {{ t('message.deleteConnection') }}
<i class="mdi mdi-24px mdi-server-remove mr-1" /> {{ t('connection.deleteConnection') }}
</div>
</template>
<template #body>
<div class="mb-2">
{{ t('message.deleteConfirm') }} <b>{{ selectedConnectionName }}</b>?
{{ t('general.deleteConfirm') }} <b>{{ selectedConnectionName }}</b>?
</div>
</template>
</ConfirmModal>

View File

@ -6,7 +6,7 @@
<div class="modal-header pl-2">
<div class="modal-title h6">
<div class="d-flex">
<i class="mdi mdi-24px mdi-key-variant mr-1" /> {{ t('word.credentials') }}
<i class="mdi mdi-24px mdi-key-variant mr-1" /> {{ t('connection.credentials') }}
</div>
</div>
<a class="btn btn-clear c-hand" @click.stop="closeModal" />
@ -16,7 +16,7 @@
<form class="form-horizontal">
<div class="form-group">
<div class="col-3">
<label class="form-label">{{ t('word.user') }}</label>
<label class="form-label">{{ t('connection.user') }}</label>
</div>
<div class="col-9">
<input
@ -29,7 +29,7 @@
</div>
<div class="form-group">
<div class="col-3">
<label class="form-label">{{ t('word.password') }}</label>
<label class="form-label">{{ t('connection.password') }}</label>
</div>
<div class="col-9">
<input
@ -44,10 +44,10 @@
</div>
<div class="modal-footer">
<button class="btn btn-primary mr-2" @click.stop="sendCredentials">
{{ t('word.send') }}
{{ t('general.send') }}
</button>
<button class="btn btn-link" @click.stop="closeModal">
{{ t('word.close') }}
{{ t('general.close') }}
</button>
</div>
</div>

View File

@ -1,7 +1,7 @@
<template>
<ConfirmModal
:confirm-text="t('word.run')"
:cancel-text="t('word.cancel')"
:confirm-text="t('general.run')"
:cancel-text="t('general.cancel')"
size="400"
@confirm="runRoutine"
@hide="closeModal"
@ -9,7 +9,7 @@
<template #header>
<div class="d-flex">
<i class="mdi mdi-24px mdi-play mr-1" />
<span class="cut-text">{{ t('word.parameters') }}: {{ localRoutine.name }}</span>
<span class="cut-text">{{ t('database.parameters') }}: {{ localRoutine.name }}</span>
</div>
</template>
<template #body>

View File

@ -7,7 +7,7 @@
<div class="modal-title h6">
<div class="d-flex">
<i class="mdi mdi-24px mdi-brush-variant mr-1" />
<span class="cut-text">{{ t('message.editConnectionAppearance') }}</span>
<span class="cut-text">{{ t('connection.editConnectionAppearance') }}</span>
</div>
</div>
<a class="btn btn-clear c-hand" @click.stop="closeModal" />
@ -17,7 +17,7 @@
<form class="form-horizontal">
<div class="form-group mb-4">
<div class="col-3">
<label class="form-label">{{ t('word.label') }}</label>
<label class="form-label">{{ t('application.label') }}</label>
</div>
<div class="col-9">
<input
@ -31,7 +31,7 @@
</div>
<div class="form-group">
<div class="col-3">
<label class="form-label">{{ t('word.icon') }}</label>
<label class="form-label">{{ t('application.icon') }}</label>
</div>
<div class="col-9 icons-wrapper">
<div
@ -49,10 +49,10 @@
</div>
<div class="modal-footer">
<button class="btn btn-primary mr-2" @click.stop="editFolderAppearance">
{{ t('word.update') }}
{{ t('application.update') }}
</button>
<button class="btn btn-link" @click.stop="closeModal">
{{ t('word.close') }}
{{ t('general.close') }}
</button>
</div>
</div>

View File

@ -1,18 +1,18 @@
<template>
<ConfirmModal
:confirm-text="t('word.discard')"
:cancel-text="t('word.stay')"
:confirm-text="t('general.discard')"
:cancel-text="t('general.stay')"
@confirm="emit('confirm')"
@hide="emit('close')"
>
<template #header>
<div class="d-flex">
<i class="mdi mdi-24px mdi-content-save-alert mr-1" /> {{ t('message.unsavedChanges') }}
<i class="mdi mdi-24px mdi-content-save-alert mr-1" /> {{ t('application.unsavedChanges') }}
</div>
</template>
<template #body>
<div>
{{ t('message.discardUnsavedChanges') }}
{{ t('application.discardUnsavedChanges') }}
</div>
</template>
</ConfirmModal>

View File

@ -7,7 +7,7 @@
<div class="modal-title h6">
<div class="d-flex">
<i class="mdi mdi-24px mdi-database-edit mr-1" />
<span class="cut-text">{{ t('message.editSchema') }}</span>
<span class="cut-text">{{ t('database.editSchema') }}</span>
</div>
</div>
<a class="btn btn-clear c-hand" @click.stop="closeModal" />
@ -17,7 +17,7 @@
<form class="form-horizontal">
<div class="form-group">
<div class="col-3">
<label class="form-label">{{ t('word.name') }}</label>
<label class="form-label">{{ t('general.name') }}</label>
</div>
<div class="col-9">
<input
@ -26,14 +26,14 @@
class="form-input"
type="text"
required
:placeholder="t('message.schemaName')"
:placeholder="t('database.schemaName')"
readonly
>
</div>
</div>
<div class="form-group">
<div class="col-3">
<label class="form-label">{{ t('word.collation') }}</label>
<label class="form-label">{{ t('database.collation') }}</label>
</div>
<div class="col-9">
<BaseSelect
@ -44,7 +44,7 @@
option-label="collation"
option-track-by="collation"
/>
<small>{{ t('message.serverDefault') }}: {{ defaultCollation }}</small>
<small>{{ t('database.serverDefault') }}: {{ defaultCollation }}</small>
</div>
</div>
</form>
@ -52,10 +52,10 @@
</div>
<div class="modal-footer">
<button class="btn btn-primary mr-2" @click.stop="updateSchema">
{{ t('word.update') }}
{{ t('application.update') }}
</button>
<button class="btn btn-link" @click.stop="closeModal">
{{ t('word.close') }}
{{ t('general.close') }}
</button>
</div>
</div>

View File

@ -7,7 +7,7 @@
<div class="modal-title h6">
<div class="d-flex">
<i class="mdi mdi-24px mdi-database-export mr-1" />
<span class="cut-text">{{ t('message.exportSchema') }}</span>
<span class="cut-text">{{ t('database.exportSchema') }}</span>
</div>
</div>
<a class="btn btn-clear c-hand" @click.stop="closeModal" />
@ -16,7 +16,7 @@
<div class="container">
<div class="columns">
<div class="col-3">
<label class="form-label">{{ t('message.directoryPath') }}</label>
<label class="form-label">{{ t('general.directoryPath') }}</label>
</div>
<div class="col-9">
<fieldset class="input-group">
@ -26,14 +26,14 @@
type="text"
required
readonly
:placeholder="t('message.schemaName')"
:placeholder="t('database.schemaName')"
>
<button
type="button"
class="btn btn-primary input-group-btn"
@click.prevent="openPathDialog"
>
{{ t('word.change') }}
{{ t('general.change') }}
</button>
</fieldset>
</div>
@ -51,14 +51,14 @@
<div class="column col-auto col-ml-auto ">
<button
class="btn btn-dark btn-sm"
:title="t('word.refresh')"
:title="t('general.refresh')"
@click="refresh"
>
<i class="mdi mdi-database-refresh" />
</button>
<button
class="btn btn-dark btn-sm mx-1"
:title="t('message.uncheckAllTables')"
:title="t('database.uncheckAllTables')"
:disabled="isRefreshing"
@click="uncheckAllTables"
>
@ -66,7 +66,7 @@
</button>
<button
class="btn btn-dark btn-sm"
:title="t('message.checkAllTables')"
:title="t('database.checkAllTables')"
:disabled="isRefreshing"
@click="checkAllTables"
>
@ -122,22 +122,22 @@
<div class="tr">
<div class="th" :style="'width: 50%;'">
<div class="table-column-title">
<span>{{ t('word.table') }}</span>
<span>{{ t('database.table') }}</span>
</div>
</div>
<div class="th text-center">
<div class="table-column-title">
<span>{{ t('word.structure') }}</span>
<span>{{ t('database.structure') }}</span>
</div>
</div>
<div class="th text-center">
<div class="table-column-title">
<span>{{ t('word.content') }}</span>
<span>{{ t('general.content') }}</span>
</div>
</div>
<div class="th text-center">
<div class="table-column-title">
<span>{{ t('word.drop') }}</span>
<span>{{ t('database.drop') }}</span>
</div>
</div>
</div>
@ -183,19 +183,19 @@
</div>
<div class="column col-4">
<h5 class="h5">
{{ t('word.options') }}
{{ t('general.options') }}
</h5>
<span class="h6">{{ t('word.includes') }}:</span>
<span class="h6">{{ t('general.includes') }}:</span>
<label
v-for="(_, key) in options.includes"
:key="key"
class="form-checkbox"
>
<input v-model="options.includes[key]" type="checkbox"><i class="form-icon" /> {{ t(`word.${key}`, 2) }}
<input v-model="options.includes[key]" type="checkbox"><i class="form-icon" /> {{ t(`database.${String(key).slice(0, -1)}`, 2) }}
</label>
<div v-if="clientCustoms.exportByChunks">
<div class="h6 mt-4 mb-2">
{{ t('message.newInsertStmtEvery') }}:
{{ t('database.newInsertStmtEvery') }}:
</div>
<div class="columns">
<div class="column col-6">
@ -209,21 +209,21 @@
<BaseSelect
v-model="options.sqlInsertDivider"
class="form-select"
:options="[{value: 'bytes', label: 'KiB'}, {value: 'rows', label: t('word.row', 2)}]"
:options="[{value: 'bytes', label: 'KiB'}, {value: 'rows', label: t('database.row', 2)}]"
/>
</div>
</div>
</div>
<div class="h6 mb-2 mt-4">
{{ t('message.outputFormat') }}:
{{ t('general.outputFormat') }}:
</div>
<div class="columns">
<div class="column h5 mb-4">
<BaseSelect
v-model="options.outputFormat"
class="form-select"
:options="[{value: 'sql', label: t('message.singleFile', {ext: '.sql'})}, {value: 'sql.zip', label: t('message.zipCompressedFile', {ext: '.sql'})}]"
:options="[{value: 'sql', label: t('general.singleFile', {ext: '.sql'})}, {value: 'sql.zip', label: t('general.zipCompressedFile', {ext: '.sql'})}]"
/>
</div>
</div>
@ -245,7 +245,7 @@
</div>
<div class="column col-auto px-0">
<button class="btn btn-link" @click.stop="closeModal">
{{ t('word.close') }}
{{ t('general.close') }}
</button>
<button
class="btn btn-primary mr-2"
@ -254,7 +254,7 @@
autofocus
@click.prevent="startExport"
>
{{ t('word.export') }}
{{ t('database.export') }}
</button>
</div>
</div>
@ -362,7 +362,7 @@ const startExport = async () => {
try {
const { status, response } = await Schema.export(params);
if (status === 'success')
progressStatus.value = response.cancelled ? t('word.aborted') : t('word.completed');
progressStatus.value = response.cancelled ? t('general.aborted') : t('general.completed');
else {
progressStatus.value = response;
addNotification({ status: 'error', message: response });
@ -379,13 +379,13 @@ const updateProgress = (event: Event, state: ExportState) => {
progressPercentage.value = Number((state.currentItemIndex / state.totalItems * 100).toFixed(1));
switch (state.op) {
case 'PROCESSING':
progressStatus.value = t('message.processingTableExport', { table: state.currentItem });
progressStatus.value = t('database.processingTableExport', { table: state.currentItem });
break;
case 'FETCH':
progressStatus.value = t('message.fetchingTableExport', { table: state.currentItem });
progressStatus.value = t('database.fetchingTableExport', { table: state.currentItem });
break;
case 'WRITE':
progressStatus.value = t('message.writingTableExport', { table: state.currentItem });
progressStatus.value = t('database.writingTableExport', { table: state.currentItem });
break;
}
};

View File

@ -7,7 +7,7 @@
<div class="modal-title h6">
<div class="d-flex">
<i class="mdi mdi-24px mdi-playlist-plus mr-1" />
<span class="cut-text">{{ t('message.insertRow', 2) }}</span>
<span class="cut-text">{{ t('database.insertRow', 2) }}</span>
</div>
</div>
<a class="btn btn-clear c-hand" @click.stop="closeModal" />
@ -39,7 +39,7 @@
<span class="input-group-addon field-type" :class="typeClass(field.type)">
{{ field.type }} {{ wrapNumber(fieldLength(field)) }}
</span>
<label class="form-checkbox ml-3" :title="t('word.insert')">
<label class="form-checkbox ml-3" :title="t('general.insert')">
<input
type="checkbox"
:checked="!fieldsToExclude.includes(field.name)"
@ -55,7 +55,7 @@
</div>
<div class="modal-footer columns">
<div class="column d-flex" :class="hasFakes ? 'col-4' : 'col-2'">
<div class="input-group tooltip tooltip-right" :data-tooltip="t('message.numberOfInserts')">
<div class="input-group tooltip tooltip-right" :data-tooltip="t('database.numberOfInserts')">
<input
v-model="nInserts"
type="number"
@ -70,7 +70,7 @@
<div
v-if="hasFakes"
class="tooltip tooltip-right ml-2"
:data-tooltip="t('message.fakeDataLanguage')"
:data-tooltip="t('database.fakeDataLanguage')"
>
<BaseSelect
v-model="fakerLocale"
@ -85,10 +85,10 @@
:class="{'loading': isInserting}"
@click.stop="insertRows"
>
{{ t('word.insert') }}
{{ t('general.insert') }}
</button>
<button class="btn btn-link" @click.stop="closeModal">
{{ t('word.close') }}
{{ t('general.close') }}
</button>
</div>
</div>

View File

@ -7,7 +7,7 @@
<div class="modal-title h6">
<div class="d-flex">
<i class="mdi mdi-24px mdi-folder-edit mr-1" />
<span class="cut-text">{{ t('message.editFolder') }}</span>
<span class="cut-text">{{ t('application.editFolder') }}</span>
</div>
</div>
<a class="btn btn-clear c-hand" @click.stop="closeModal" />
@ -17,7 +17,7 @@
<form class="form-horizontal">
<div class="form-group mb-4">
<div class="col-3">
<label class="form-label">{{ t('word.name') }}</label>
<label class="form-label">{{ t('general.name') }}</label>
</div>
<div class="col-9">
<input
@ -26,13 +26,13 @@
class="form-input"
type="text"
required
:placeholder="t('message.folderName')"
:placeholder="t('application.folderName')"
>
</div>
</div>
<div class="form-group">
<div class="col-3">
<label class="form-label">{{ t('word.color') }}</label>
<label class="form-label">{{ t('application.color') }}</label>
</div>
<div class="col-9 color-wrapper">
<div
@ -52,10 +52,10 @@
</div>
<div class="modal-footer">
<button class="btn btn-primary mr-2" @click.stop="editFolderAppearance">
{{ t('word.update') }}
{{ t('application.update') }}
</button>
<button class="btn btn-link" @click.stop="closeModal">
{{ t('word.close') }}
{{ t('general.close') }}
</button>
</div>
</div>

View File

@ -7,7 +7,7 @@
<div class="modal-title h6">
<div class="d-flex">
<i class="mdi mdi-24px mdi-history mr-1" />
<span class="cut-text">{{ t('word.history') }}: {{ connectionName }}</span>
<span class="cut-text">{{ t('general.history') }}: {{ connectionName }}</span>
</div>
</div>
<a class="btn btn-clear c-hand" @click.stop="closeModal" />
@ -22,7 +22,7 @@
v-model="searchTerm"
class="form-input"
type="text"
:placeholder="t('message.searchForQueries')"
:placeholder="t('database.searchForQueries')"
>
<i v-if="!searchTerm" class="form-icon mdi mdi-magnify mdi-18px pr-4" />
<i
@ -67,13 +67,13 @@
<small class="tile-subtitle">{{ query.schema }} · {{ formatDate(query.date) }}</small>
<div class="tile-history-buttons">
<button class="btn btn-link pl-1" @click.stop="$emit('select-query', query.sql)">
<i class="mdi mdi-open-in-app pr-1" /> {{ t('word.select') }}
<i class="mdi mdi-open-in-app pr-1" /> {{ t('general.select') }}
</button>
<button class="btn btn-link pl-1" @click="copyQuery(query.sql)">
<i class="mdi mdi-content-copy pr-1" /> {{ t('word.copy') }}
<i class="mdi mdi-content-copy pr-1" /> {{ t('general.copy') }}
</button>
<button class="btn btn-link pl-1" @click="deleteQuery(query)">
<i class="mdi mdi-delete-forever pr-1" /> {{ t('word.delete') }}
<i class="mdi mdi-delete-forever pr-1" /> {{ t('general.delete') }}
</button>
</div>
</div>
@ -88,7 +88,7 @@
<i class="mdi mdi-history mdi-48px" />
</div>
<p class="empty-title h5">
{{ t('message.thereIsNoQueriesYet') }}
{{ t('database.thereIsNoQueriesYet') }}
</p>
</div>
</div>

View File

@ -7,7 +7,7 @@
<div class="modal-title h6">
<div class="d-flex">
<i class="mdi mdi-24px mdi-database-import mr-1" />
<span class="cut-text">{{ t('message.importSchema') }}</span>
<span class="cut-text">{{ t('database.importSchema') }}</span>
</div>
</div>
<a class="btn btn-clear c-hand" @click.stop="closeModal" />
@ -15,7 +15,7 @@
<div class="modal-body pb-0">
{{ sqlFile }}
<div v-if="queryErrors.length > 0" class="mt-2">
<label>{{ t('message.importQueryErrors', queryErrors.length) }}</label>
<label>{{ t('database.importQueryErrors', queryErrors.length) }}</label>
<textarea
v-model="formattedQueryErrors"
class="form-input"
@ -28,7 +28,7 @@
<div class="column col modal-progress-wrapper text-left">
<div class="import-progress">
<span class="progress-status">
{{ progressPercentage }}% - {{ progressStatus }} - {{ t('message.executedQueries', queryCount) }}
{{ progressPercentage }}% - {{ progressStatus }} - {{ t('database.executedQueries', queryCount) }}
</span>
<progress
class="progress d-block"
@ -39,7 +39,7 @@
</div>
<div class="column col-auto px-0">
<button class="btn btn-link" @click.stop="closeModal">
{{ completed ? t('word.close') : t('word.cancel') }}
{{ completed ? t('general.close') : t('general.cancel') }}
</button>
</div>
</div>
@ -108,7 +108,7 @@ const startImport = async (file: string) => {
const { status, response } = await Schema.import(params);
if (status === 'success')
progressStatus.value = response.cancelled ? t('word.aborted') : t('word.completed');
progressStatus.value = response.cancelled ? t('general.aborted') : t('general.completed');
else {
progressStatus.value = response;
addNotification({ status: 'error', message: response });

View File

@ -7,7 +7,7 @@
<div class="modal-title h6">
<div class="d-flex">
<i class="mdi mdi-24px mdi-database-plus mr-1" />
<span class="cut-text">{{ t('message.createNewSchema') }}</span>
<span class="cut-text">{{ t('database.createNewSchema') }}</span>
</div>
</div>
<a class="btn btn-clear c-hand" @click.stop="closeModal" />
@ -17,7 +17,7 @@
<form class="form-horizontal" @submit.prevent="createSchema">
<div class="form-group">
<div class="col-3">
<label class="form-label">{{ t('word.name') }}</label>
<label class="form-label">{{ t('general.name') }}</label>
</div>
<div class="col-9">
<input
@ -26,13 +26,13 @@
class="form-input"
type="text"
required
:placeholder="t('message.schemaName')"
:placeholder="t('database.schemaName')"
>
</div>
</div>
<div v-if="customizations.collations" class="form-group">
<div class="col-3">
<label class="form-label">{{ t('word.collation') }}</label>
<label class="form-label">{{ t('database.collation') }}</label>
</div>
<div class="col-9">
<BaseSelect
@ -43,7 +43,7 @@
option-label="collation"
option-track-by="collation"
/>
<small>{{ t('message.serverDefault') }}: {{ defaultCollation }}</small>
<small>{{ t('database.serverDefault') }}: {{ defaultCollation }}</small>
</div>
</div>
</form>
@ -55,10 +55,10 @@
:class="{'loading': isLoading}"
@click.stop="createSchema"
>
{{ t('word.add') }}
{{ t('general.add') }}
</button>
<button class="btn btn-link" @click.stop="closeModal">
{{ t('word.close') }}
{{ t('general.close') }}
</button>
</div>
</div>

View File

@ -17,7 +17,7 @@
<div class="modal-title h6">
<div class="d-flex">
<i class="mdi mdi-24px mdi-memory mr-1" />
<span class="cut-text">{{ t('message.processesList') }}: {{ connectionName }}</span>
<span class="cut-text">{{ t('database.processesList') }}: {{ connectionName }}</span>
</div>
</div>
<a class="btn btn-clear c-hand" @click.stop="closeModal" />
@ -29,7 +29,7 @@
<button
class="btn btn-dark btn-sm mr-0 pr-1 d-flex"
:class="{'loading':isQuering}"
:title="`${t('word.refresh')}`"
:title="`${t('general.refresh')}`"
@click="getProcessesList"
>
<i v-if="!+autorefreshTimer" class="mdi mdi-24px mdi-refresh mr-1" />
@ -39,7 +39,7 @@
<i class="mdi mdi-24px mdi-menu-down" />
</div>
<div class="menu px-3">
<span>{{ t('word.autoRefresh') }}: <b>{{ +autorefreshTimer ? `${autorefreshTimer}s` : 'OFF' }}</b></span>
<span>{{ t('general.autoRefresh') }}: <b>{{ +autorefreshTimer ? `${autorefreshTimer}s` : 'OFF' }}</b></span>
<input
v-model="autorefreshTimer"
class="slider no-border"
@ -59,7 +59,7 @@
tabindex="0"
>
<i class="mdi mdi-24px mdi-file-export mr-1" />
<span>{{ t('word.export') }}</span>
<span>{{ t('database.export') }}</span>
<i class="mdi mdi-24px mdi-menu-down" />
</button>
<ul class="menu text-left">
@ -74,7 +74,7 @@
</div>
<div class="workspace-query-info">
<div v-if="sortedResults.length">
{{ t('word.processes') }}: <b>{{ sortedResults.length.toLocaleString() }}</b>
{{ t('database.processes') }}: <b>{{ sortedResults.length.toLocaleString() }}</b>
</div>
</div>
</div>

View File

@ -4,7 +4,7 @@
@close-context="closeContext"
>
<div v-if="props.selectedRow" class="context-element">
<span class="d-flex"><i class="mdi mdi-18px mdi-content-copy text-light pr-1" /> {{ t('word.copy') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-content-copy text-light pr-1" /> {{ t('general.copy') }}</span>
<i class="mdi mdi-18px mdi-chevron-right text-light pl-1" />
<div class="context-submenu">
<div
@ -13,7 +13,7 @@
@click="copyCell"
>
<span class="d-flex">
<i class="mdi mdi-18px mdi-numeric-0 mdi-rotate-90 text-light pr-1" /> {{ t('word.cell', 1) }}
<i class="mdi mdi-18px mdi-numeric-0 mdi-rotate-90 text-light pr-1" /> {{ t('database.cell', 1) }}
</span>
</div>
<div
@ -22,7 +22,7 @@
@click="copyRow"
>
<span class="d-flex">
<i class="mdi mdi-18px mdi-table-row text-light pr-1" /> {{ t('word.row', 1) }}
<i class="mdi mdi-18px mdi-table-row text-light pr-1" /> {{ t('database.row', 1) }}
</span>
</div>
</div>
@ -33,7 +33,7 @@
@click="killProcess"
>
<span class="d-flex">
<i class="mdi mdi-18px mdi-close-circle-outline text-light pr-1" /> {{ t('message.killProcess') }}
<i class="mdi mdi-18px mdi-close-circle-outline text-light pr-1" /> {{ t('database.killProcess') }}
</span>
</div>
</BaseContextMenu>

View File

@ -16,15 +16,15 @@
</div>
<ConfirmModal
v-if="isInfoModal"
:confirm-text="t('word.update')"
:cancel-text="t('word.close')"
:confirm-text="t('application.update')"
:cancel-text="t('general.close')"
size="medium"
:hide-footer="true"
@hide="hideInfoModal"
>
<template #header>
<div class="d-flex">
<i class="mdi mdi-24px mdi-information-outline mr-1" /> {{ t('message.processInfo') }}
<i class="mdi mdi-24px mdi-information-outline mr-1" /> {{ t('database.processInfo') }}
</div>
</template>
<template #body>

View File

@ -7,7 +7,7 @@
<div class="modal-title h6">
<div class="d-flex">
<i class="mdi mdi-24px mdi-cog mr-1" />
<span class="cut-text">{{ t('word.settings') }}</span>
<span class="cut-text">{{ t('application.settings') }}</span>
</div>
</div>
<a class="btn btn-clear c-hand" @click="closeModal" />
@ -21,21 +21,21 @@
:class="{'active': selectedTab === 'general'}"
@click="selectTab('general')"
>
<a class="tab-link">{{ t('word.general') }}</a>
<a class="tab-link">{{ t('application.general') }}</a>
</li>
<li
class="tab-item c-hand"
:class="{'active': selectedTab === 'themes'}"
@click="selectTab('themes')"
>
<a class="tab-link">{{ t('word.themes') }}</a>
<a class="tab-link">{{ t('application.themes') }}</a>
</li>
<li
class="tab-item c-hand"
:class="{'active': selectedTab === 'shortcuts'}"
@click="selectTab('shortcuts')"
>
<a class="tab-link">{{ t('word.shortcuts') }}</a>
<a class="tab-link">{{ t('application.shortcuts') }}</a>
</li>
<li
v-if="updateStatus !== 'disabled'"
@ -43,21 +43,21 @@
:class="{'active': selectedTab === 'update'}"
@click="selectTab('update')"
>
<a class="tab-link" :class="{'badge badge-update': hasUpdates}">{{ t('word.update') }}</a>
<a class="tab-link" :class="{'badge badge-update': hasUpdates}">{{ t('application.update') }}</a>
</li>
<li
class="tab-item c-hand"
:class="{'active': selectedTab === 'changelog'}"
@click="selectTab('changelog')"
>
<a class="tab-link">{{ t('word.changelog') }}</a>
<a class="tab-link">{{ t('application.changelog') }}</a>
</li>
<li
class="tab-item c-hand"
:class="{'active': selectedTab === 'about'}"
@click="selectTab('about')"
>
<a class="tab-link">{{ t('word.about') }}</a>
<a class="tab-link">{{ t('application.about') }}</a>
</li>
</ul>
</div>
@ -65,14 +65,14 @@
<div class="container">
<form class="form-horizontal columns">
<div class="column col-12 h6 text-uppercase mb-1">
{{ t('word.application') }}
{{ t('application.application') }}
</div>
<div class="column col-12 col-sm-12 mb-2 columns">
<div class="form-group column col-12">
<div class="col-5 col-sm-12">
<label class="form-label">
<i class="mdi mdi-18px mdi-translate mr-1" />
{{ t('word.language') }}
{{ t('application.language') }}
</label>
</div>
<div class="col-3 col-sm-12">
@ -87,15 +87,15 @@
</div>
<div class="col-4 col-sm-12 px-2 p-vcentered">
<small class="d-block" :style="'line-height: 1.1; font-size: 70%;'">
{{ t('message.missingOrIncompleteTranslation') }}<br>
<a class="text-bold c-hand" @click="openOutside('https://github.com/antares-sql/antares/wiki/Translate-Antares')">{{ t('message.findOutHowToContribute') }}</a>
{{ t('application.missingOrIncompleteTranslation') }}<br>
<a class="text-bold c-hand" @click="openOutside('https://github.com/antares-sql/antares/wiki/Translate-Antares')">{{ t('application.findOutHowToContribute') }}</a>
</small>
</div>
</div>
<div class="form-group column col-12">
<div class="col-5 col-sm-12">
<label class="form-label">
{{ t('message.dataTabPageSize') }}
{{ t('application.dataTabPageSize') }}
</label>
</div>
<div class="col-3 col-sm-12">
@ -110,7 +110,7 @@
<div class="form-group column col-12 mb-0">
<div class="col-5 col-sm-12">
<label class="form-label">
{{ t('message.restorePreviousSession') }}
{{ t('application.restorePreviousSession') }}
</label>
</div>
<div class="col-3 col-sm-12">
@ -123,7 +123,7 @@
<div class="form-group column col-12 mb-0">
<div class="col-5 col-sm-12">
<label class="form-label">
{{ t('message.showTableSize') }}
{{ t('application.showTableSize') }}
</label>
</div>
<div class="col-1 col-sm-12">
@ -134,14 +134,14 @@
</div>
<div class="col-6 col-sm-12 px-2 p-vcentered">
<small class="d-block" :style="'line-height: 1.1; font-size: 70%;'">
{{ t('message.showTableSizeDescription') }}
{{ t('application.showTableSizeDescription') }}
</small>
</div>
</div>
<div class="form-group column col-12 mb-0">
<div class="col-5 col-sm-12">
<label class="form-label">
{{ t('message.disableBlur') }}
{{ t('application.disableBlur') }}
</label>
</div>
<div class="col-3 col-sm-12">
@ -154,7 +154,7 @@
<div class="form-group column col-12 mb-0">
<div class="col-5 col-sm-12">
<label class="form-label">
{{ t('message.disableScratchpad') }}
{{ t('application.disableScratchpad') }}
</label>
</div>
<div class="col-3 col-sm-12">
@ -167,7 +167,7 @@
<div class="form-group column col-12">
<div class="col-5 col-sm-12">
<label class="form-label">
{{ t('message.notificationsTimeout') }}
{{ t('application.notificationsTimeout') }}
</label>
</div>
<div class="col-3 col-sm-12">
@ -179,19 +179,19 @@
min="1"
@focusout="checkNotificationsTimeout"
>
<span class="input-group-addon">{{ t('word.seconds') }}</span>
<span class="input-group-addon">{{ t('general.seconds') }}</span>
</div>
</div>
</div>
</div>
<div class="column col-12 h6 mt-4 text-uppercase mb-1">
{{ t('word.editor') }}
{{ t('application.editor') }}
</div>
<div class="column col-12 col-sm-12 columns">
<div class="form-group column col-12 mb-0">
<div class="col-5 col-sm-12">
<label class="form-label">
{{ t('word.autoCompletion') }}
{{ t('application.autoCompletion') }}
</label>
</div>
<div class="col-3 col-sm-12">
@ -204,7 +204,7 @@
<div class="form-group column col-12 mb-0">
<div class="col-5 col-sm-12">
<label class="form-label">
{{ t('message.wrapLongLines') }}
{{ t('application.wrapLongLines') }}
</label>
</div>
<div class="col-3 col-sm-12">
@ -217,7 +217,7 @@
<div class="form-group column col-12 mb-0">
<div class="col-5 col-sm-12">
<label class="form-label">
{{ t('message.executeSelectedQuery') }}
{{ t('database.executeSelectedQuery') }}
</label>
</div>
<div class="col-3 col-sm-12">
@ -229,13 +229,13 @@
</div>
</div>
<div class="column col-12 h6 mt-4 text-uppercase mb-1">
{{ t('word.resultsTable') }}
{{ t('database.resultsTable') }}
</div>
<div class="column col-12 col-sm-12 columns">
<div class="form-group column col-12">
<div class="col-5 col-sm-12">
<label class="form-label">
{{ t('message.defaultCopyType') }}
{{ t('application.defaultCopyType') }}
</label>
</div>
<div class="col-3 col-sm-12">
@ -258,7 +258,7 @@
<div class="container">
<div class="columns">
<div class="column col-12 h6 text-uppercase mb-2">
{{ t('message.applicationTheme') }}
{{ t('application.applicationTheme') }}
</div>
<div
class="column col-6 c-hand theme-block"
@ -269,7 +269,7 @@
<div class="theme-name text-light">
<i class="mdi mdi-moon-waning-crescent mdi-48px" />
<div class="h6 mt-4">
{{ t('word.dark') }}
{{ t('application.dark') }}
</div>
</div>
</div>
@ -282,7 +282,7 @@
<div class="theme-name text-dark">
<i class="mdi mdi-white-balance-sunny mdi-48px" />
<div class="h6 mt-4">
{{ t('word.light') }}
{{ t('application.light') }}
</div>
</div>
</div>
@ -290,7 +290,7 @@
<div class="columns mt-4">
<div class="column col-12 h6 text-uppercase mb-2 mt-4">
{{ t('message.editorTheme') }}
{{ t('application.editorTheme') }}
</div>
<div class="column col-5 h5 mb-4">
<BaseSelect
@ -378,16 +378,16 @@
<img :src="appLogo" width="128">
<h4>{{ appName }}</h4>
<p class="mb-2">
{{ t('word.version') }} {{ appVersion }}<br>
{{ t('general.version') }} {{ appVersion }}<br>
<a class="c-hand" @click="openOutside('https://github.com/antares-sql/antares')"><i class="mdi mdi-github d-inline" /> GitHub</a> <a class="c-hand" @click="openOutside('https://twitter.com/AntaresSQL')"><i class="mdi mdi-twitter d-inline" /> Twitter</a> <a class="c-hand" @click="openOutside('https://antares-sql.app/')"><i class="mdi mdi-web d-inline" /> Website</a><br>
<small>{{ t('word.author') }} <a class="c-hand" @click="openOutside('https://github.com/Fabio286')">{{ appAuthor }}</a></small><br>
<small>{{ t('general.author') }} <a class="c-hand" @click="openOutside('https://github.com/Fabio286')">{{ appAuthor }}</a></small><br>
</p>
<div class="mb-2">
<small class="d-block text-uppercase">{{ t('word.contributors') }}:</small>
<small class="d-block text-uppercase">{{ t('general.contributors') }}:</small>
<div class="d-block py-1">
<small v-for="(contributor, i) in otherContributors" :key="i">{{ i !== 0 ? ', ' : '' }}{{ contributor }}</small>
</div>
<small>{{ t('message.madeWithJS') }}</small>
<small>{{ t('application.madeWithJS') }}</small>
</div>
</div>
</div>
@ -500,7 +500,7 @@ const selectedTab: Ref<string> = ref('general');
const editorThemes = computed(() => [
{
group: t('word.light'),
group: t('application.light'),
themes: [
{ code: 'chrome', name: 'Chrome' },
{ code: 'clouds', name: 'Clouds' },
@ -520,7 +520,7 @@ const editorThemes = computed(() => [
]
},
{
group: t('word.dark'),
group: t('application.dark'),
themes: [
{ code: 'ambiance', name: 'Ambiance' },
{ code: 'chaos', name: 'Chaos' },
@ -557,8 +557,8 @@ const locales = computed(() => {
});
const copyTypes = computed(() => [
{ code: 'cell', name: t('word.cell') },
{ code: 'html', name: t('word.table') },
{ code: 'cell', name: t('database.cell') },
{ code: 'html', name: t('database.table') },
{ code: 'json', name: 'JSON' },
{ code: 'csv', name: 'CSV' },
{ code: 'sql', name: 'SQL insert' }

View File

@ -2,10 +2,10 @@
<div class="p-relative">
<div class="shortcuts-tools pb-2 px-2">
<button class="btn btn-dark btn-sm d-flex ml-2" @click="showAddModal">
<i class="mdi mdi-24px mdi-plus mr-1" /><span>{{ t('message.addShortcut') }}</span>
<i class="mdi mdi-24px mdi-plus mr-1" /><span>{{ t('application.addShortcut') }}</span>
</button>
<button class="btn btn-dark btn-sm d-flex ml-2" @click="isConfirmRestoreModal = true">
<i class="mdi mdi-24px mdi-undo mr-1" /><span>{{ t('message.restoreDefaults') }}</span>
<i class="mdi mdi-24px mdi-undo mr-1" /><span>{{ t('application.restoreDefaults') }}</span>
</button>
</div>
<div class="container workspace-query-results">
@ -14,12 +14,12 @@
<div class="tr text-uppercase">
<div class="th no-border">
<div>
{{ t('word.event') }}
{{ t('database.event') }}
</div>
</div>
<div class="th no-border" style="width: 100%;">
<div>
{{ t('word.key', 2) }}
{{ t('database.key', 2) }}
</div>
</div>
<div class="th no-border" />
@ -43,10 +43,10 @@
/>
<div class="td py-1 pr-2">
<button class="shortcut-button btn btn-link btn-sm d-flex p-0 px-1 mr-2" @click="showEditModal({...shortcut, index: i})">
<span>{{ t('word.edit') }}</span><i class="mdi mdi-pencil ml-1" />
<span>{{ t('general.edit') }}</span><i class="mdi mdi-pencil ml-1" />
</button>
<button class="shortcut-button btn btn-link btn-sm d-flex p-0 px-1" @click="showDeleteModal(shortcut)">
<span>{{ t('word.delete') }}</span><i class="mdi mdi-delete-outline ml-1" />
<span>{{ t('general.delete') }}</span><i class="mdi mdi-delete-outline ml-1" />
</button>
</div>
</div>
@ -58,20 +58,20 @@
<ConfirmModal
v-if="isConfirmAddModal"
:disable-autofocus="true"
:confirm-text="t('word.save')"
:confirm-text="t('general.save')"
:close-on-confirm="false"
@confirm="addShortcut"
@hide="closeAddModal"
>
<template #header>
<div class="d-flex">
<i class="mdi mdi-24px mdi-plus mr-1" /> {{ t('message.addShortcut') }}
<i class="mdi mdi-24px mdi-plus mr-1" /> {{ t('application.addShortcut') }}
</div>
</template>
<template #body>
<div class="mb-2">
<div class="form-group">
<label class="form-label">{{ t('word.event') }}</label>
<label class="form-label">{{ t('database.event') }}</label>
<BaseSelect
v-model="shortcutToAdd.event"
class="form-select"
@ -81,31 +81,31 @@
</div>
<div class="mb-2">
<div class="form-group">
<label class="form-label">{{ t('word.key', 2) }}</label>
<label class="form-label">{{ t('database.key', 2) }}</label>
<KeyPressDetector v-model="typedShortcut" />
</div>
</div>
<small v-if="doesShortcutExists" class="text-warning">{{ t('message.shortcutAlreadyExists') }}</small>
<small v-if="doesShortcutExists" class="text-warning">{{ t('application.shortcutAlreadyExists') }}</small>
</template>
</ConfirmModal>
<ConfirmModal
v-if="isConfirmEditModal"
:disable-autofocus="true"
:confirm-text="t('word.save')"
:confirm-text="t('general.save')"
:close-on-confirm="false"
@confirm="editShortcut"
@hide="closeEditModal"
>
<template #header>
<div class="d-flex">
<i class="mdi mdi-24px mdi-plus mr-1" /> {{ t('message.editShortcut') }}
<i class="mdi mdi-24px mdi-plus mr-1" /> {{ t('application.editShortcut') }}
</div>
</template>
<template #body>
<div class="mb-2">
<div class="form-group">
<label class="form-label">{{ t('word.event') }}</label>
<label class="form-label">{{ t('database.event') }}</label>
<BaseSelect
v-model="shortcutToEdit.event"
class="form-select"
@ -116,11 +116,11 @@
</div>
<div class="mb-2">
<div class="form-group">
<label class="form-label">{{ t('word.key', 2) }}</label>
<label class="form-label">{{ t('database.key', 2) }}</label>
<KeyPressDetector v-model="shortcutToEdit.keys[0]" />
</div>
</div>
<small v-if="doesShortcutExists" class="text-warning">{{ t('message.shortcutAlreadyExists') }}</small>
<small v-if="doesShortcutExists" class="text-warning">{{ t('application.shortcutAlreadyExists') }}</small>
</template>
</ConfirmModal>
@ -132,12 +132,12 @@
>
<template #header>
<div class="d-flex">
<i class="mdi mdi-24px mdi-delete mr-1" /> {{ t('message.deleteShortcut') }}
<i class="mdi mdi-24px mdi-delete mr-1" /> {{ t('application.deleteShortcut') }}
</div>
</template>
<template #body>
<div class="mb-2">
{{ t('message.deleteConfirm') }} <b>{{ t(shortcutEvents[shortcutToDelete.event].l18n, {param: shortcutEvents[shortcutToDelete.event].l18nParam}) }} (<span v-html="parseKeys(shortcutToDelete.keys)" />)</b>?
{{ t('general.deleteConfirm') }} <b>{{ t(shortcutEvents[shortcutToDelete.event].l18n, {param: shortcutEvents[shortcutToDelete.event].l18nParam}) }} (<span v-html="parseKeys(shortcutToDelete.keys)" />)</b>?
</div>
</template>
</ConfirmModal>
@ -150,12 +150,12 @@
>
<template #header>
<div class="d-flex">
<i class="mdi mdi-24px mdi-undo mr-1" /> {{ t('message.restoreDefaults') }}
<i class="mdi mdi-24px mdi-undo mr-1" /> {{ t('application.restoreDefaults') }}
</div>
</template>
<template #body>
<div class="mb-2">
{{ t('message.restoreDefaultsQuestion') }}
{{ t('application.restoreDefaultsQuestion') }}
</div>
</template>
</ConfirmModal>

View File

@ -26,27 +26,27 @@
:class="{'loading': updateStatus === 'checking'}"
@click="checkForUpdates"
>
{{ t('message.checkForUpdates') }}
{{ t('application.checkForUpdates') }}
</button>
<button
v-else-if="updateStatus === 'downloaded'"
class="btn btn-primary"
@click="restartToUpdate"
>
{{ t('message.restartToInstall') }}
{{ t('application.restartToInstall') }}
</button>
<button
v-else-if="updateStatus === 'link'"
class="btn btn-primary"
@click="openOutside('https://antares-sql.app/download.html')"
>
{{ t('message.goToDownloadPage') }}
{{ t('application.goToDownloadPage') }}
</button>
</div>
<div class="form-group mt-4">
<label class="form-switch d-inline-block" @click.prevent="toggleAllowPrerelease">
<input type="checkbox" :checked="allowPrerelease">
<i class="form-icon" /> {{ t('message.includeBetaUpdates') }}
<i class="form-icon" /> {{ t('application.includeBetaUpdates') }}
</label>
</div>
</div>
@ -76,19 +76,19 @@ const { changeAllowPrerelease } = settingsStore;
const updateMessage = computed(() => {
switch (updateStatus.value) {
case 'noupdate':
return t('message.noUpdatesAvailable');
return t('application.noUpdatesAvailable');
case 'checking':
return t('message.checkingForUpdate');
return t('application.checkingForUpdate');
case 'nocheck':
return t('message.checkFailure');
return t('application.checkFailure');
case 'available':
return t('message.updateAvailable');
return t('application.updateAvailable');
case 'downloading':
return t('message.downloadingUpdate');
return t('application.downloadingUpdate');
case 'downloaded':
return t('message.updateDownloaded');
return t('application.updateDownloaded');
case 'link':
return t('message.updateAvailable');
return t('application.updateAvailable');
default:
return updateStatus.value;
}

View File

@ -8,20 +8,20 @@
class="context-element"
@click="disconnect"
>
<span class="d-flex"><i class="mdi mdi-18px mdi-power text-light pr-1" /> {{ t('word.disconnect') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-power text-light pr-1" /> {{ t('connection.disconnect') }}</span>
</div>
<div
v-if="!contextConnection.isFolder"
class="context-element"
@click="duplicateConnection"
>
<span class="d-flex"><i class="mdi mdi-18px mdi-content-duplicate text-light pr-1" /> {{ t('word.duplicate') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-content-duplicate text-light pr-1" /> {{ t('general.duplicate') }}</span>
</div>
<div class="context-element" @click.stop="showAppearanceModal">
<span class="d-flex"><i class="mdi mdi-18px mdi-brush-variant text-light pr-1" /> {{ t('word.appearance') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-brush-variant text-light pr-1" /> {{ t('application.appearance') }}</span>
</div>
<div class="context-element" @click="showConfirmModal">
<span class="d-flex"><i class="mdi mdi-18px mdi-delete text-light pr-1" /> {{ t('word.delete') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-delete text-light pr-1" /> {{ t('general.delete') }}</span>
</div>
<ConfirmModal
@ -31,12 +31,12 @@
>
<template #header>
<div class="d-flex">
<i class="mdi mdi-24px mr-1" :class="[contextConnection.isFolder ? 'mdi-folder-remove' : 'mdi-server-remove']" /> {{ t(contextConnection.isFolder ? 'message.deleteFolder' : 'message.deleteConnection') }}
<i class="mdi mdi-24px mr-1" :class="[contextConnection.isFolder ? 'mdi-folder-remove' : 'mdi-server-remove']" /> {{ t(contextConnection.isFolder ? 'application.deleteFolder' : 'connection.deleteConnection') }}
</div>
</template>
<template #body>
<div class="mb-2">
{{ t('message.deleteConfirm') }} <b>{{ connectionName }}</b>?
{{ t('general.deleteConfirm') }} <b>{{ connectionName }}</b>?
</div>
</template>
</ConfirmModal>
@ -96,7 +96,7 @@ const isConfirmModal = ref(false);
const isFolderEdit = ref(false);
const isConnectionEdit = ref(false);
const connectionName = computed(() => props.contextConnection.name || getConnectionName(props.contextConnection.uid) || t('word.folder', 1));
const connectionName = computed(() => props.contextConnection.name || getConnectionName(props.contextConnection.uid) || t('general.folder', 1));
const isConnected = computed(() => getWorkspace(props.contextConnection.uid)?.connectionStatus === 'connected');
const confirmDeleteConnection = () => {

View File

@ -12,7 +12,7 @@
</li>
<li v-if="connectionInfos && connectionInfos.readonly" class="footer-element">
<i class="mdi mdi-18px mdi-lock mr-1" />
<small>{{ t('message.readOnlyMode') }}</small>
<small>{{ t('connection.readOnlyMode') }}</small>
</li>
<li v-if="connectionInfos && connectionInfos.ssl" class="footer-element">
<i class="mdi mdi-18px mdi-shield-key mr-1" />
@ -33,22 +33,22 @@
@click="toggleConsole()"
>
<i class="mdi mdi-18px mdi-console-line mr-1" />
<small>{{ t('word.console') }}</small>
<small>{{ t('application.console') }}</small>
</li>
<li class="footer-element footer-link" @click="openOutside('https://www.paypal.com/paypalme/fabiodistasio')">
<i class="mdi mdi-18px mdi-coffee mr-1" />
<small>{{ t('word.donate') }}</small>
<small>{{ t('general.donate') }}</small>
</li>
<li
class="footer-element footer-link"
:title="t('message.reportABug')"
:title="t('application.reportABug')"
@click="openOutside('https://github.com/antares-sql/antares/issues')"
>
<i class="mdi mdi-18px mdi-bug" />
</li>
<li
class="footer-element footer-link"
:title="t('word.about')"
:title="t('application.about')"
@click="showSettingModal('about')"
>
<i class="mdi mdi-18px mdi-information-outline" />

View File

@ -1,14 +1,14 @@
<template>
<ConfirmModal
:confirm-text="t('word.update')"
:cancel-text="t('word.close')"
:confirm-text="t('application.update')"
:cancel-text="t('general.close')"
size="large"
:hide-footer="true"
@hide="hideScratchpad"
>
<template #header>
<div class="d-flex">
<i class="mdi mdi-24px mdi-notebook-edit-outline mr-1" /> {{ t('word.scratchpad') }}
<i class="mdi mdi-24px mdi-notebook-edit-outline mr-1" /> {{ t('application.scratchpad') }}
</div>
</template>
<template #body>
@ -22,7 +22,7 @@
:show-line-numbers="false"
/>
</div>
<small class="text-gray">{{ t('message.markdownSupported') }}</small>
<small class="text-gray">{{ t('application.markdownSupported') }}</small>
</div>
</template>
</ConfirmModal>

View File

@ -22,7 +22,7 @@
v-tooltip="{
strategy: 'fixed',
placement: 'right',
content: t('message.allConnections')
content: t('connection.allConnections')
}"
class="settingbar-element btn btn-link"
@click="emit('show-connections-modal')"
@ -35,7 +35,7 @@
v-tooltip="{
strategy: 'fixed',
placement: 'right',
content: t('message.addConnection')
content: t('connection.addConnection')
}"
class="settingbar-element btn btn-link"
:class="{ 'selected': 'NEW' === selectedWorkspace }"
@ -55,7 +55,7 @@
v-tooltip="{
strategy: 'fixed',
placement: 'right',
content: t('word.scratchpad')
content: t('application.scratchpad')
}"
class="settingbar-element btn btn-link"
@click="showScratchpad"
@ -66,7 +66,7 @@
v-tooltip="{
strategy: 'fixed',
placement: 'right',
content: t('word.settings')
content: t('application.settings')
}"
class="settingbar-element btn btn-link"
@click="showSettingModal('general')"

View File

@ -63,7 +63,7 @@ const isLinux = process.platform === 'linux';
const windowTitle = computed(() => {
if (!selectedWorkspace.value) return '';
if (selectedWorkspace.value === 'NEW') return t('message.createNewConnection');
if (selectedWorkspace.value === 'NEW') return t('connection.createNewConnection');
const connectionName = getConnectionName(selectedWorkspace.value);
const workspace = getWorkspace(selectedWorkspace.value);

View File

@ -45,7 +45,7 @@
<span>{{ cutText(element.content || 'Query', 20, true) }} #{{ element.index }}</span>
<span
class="btn btn-clear"
:title="t('word.close')"
:title="t('general.close')"
@mousedown.left.stop
@click.stop="closeTab(element)"
/>
@ -58,11 +58,11 @@
@dblclick="openAsPermanentTab(element)"
>
<i class="mdi mdi-18px mr-1" :class="element.elementType === 'view' ? 'mdi-table-eye' : 'mdi-table'" />
<span :title="`${t('word.data').toUpperCase()}: ${t(`word.${element.elementType}`)}`">
<span :title="`${t('general.data').toUpperCase()}: ${t(`database.${element.elementType}`)}`">
<span class=" text-italic">{{ cutText(element.elementName, 20, true) }}</span>
<span
class="btn btn-clear"
:title="t('word.close')"
:title="t('general.close')"
@mousedown.left.stop
@click.stop="closeTab(element)"
/>
@ -71,11 +71,11 @@
<a v-else-if="element.type === 'data'" class="tab-link">
<i class="mdi mdi-18px mr-1" :class="element.elementType === 'view' ? 'mdi-table-eye' : 'mdi-table'" />
<span :title="`${t('word.data').toUpperCase()}: ${t(`word.${element.elementType}`)}`">
<span :title="`${t('general.data').toUpperCase()}: ${t(`database.${element.elementType}`)}`">
{{ cutText(element.elementName, 20, true) }}
<span
class="btn btn-clear"
:title="t('word.close')"
:title="t('general.close')"
@mousedown.left.stop
@click.stop="closeTab(element)"
/>
@ -88,11 +88,11 @@
:class="{'badge': element.isChanged}"
>
<i class="mdi mdi-shape-square-plus mdi-18px mr-1" />
<span :title="`${t('word.new').toUpperCase()}: ${t(`word.${element.elementType}`)}`">
{{ t('message.newTable') }}
<span :title="`${t('general.new').toUpperCase()}: ${t(`database.${element.elementType}`)}`">
{{ t('database.newTable') }}
<span
class="btn btn-clear"
:title="t('word.close')"
:title="t('general.close')"
@mousedown.left.stop
@click.stop="closeTab(element)"
/>
@ -105,11 +105,11 @@
:class="{'badge': element.isChanged}"
>
<i class="mdi mdi-wrench-cog mdi-18px mr-1" />
<span :title="`${t('word.settings').toUpperCase()}: ${t(`word.${element.elementType}`)}`">
<span :title="`${t('application.settings').toUpperCase()}: ${t(`database.${element.elementType}`)}`">
{{ cutText(element.elementName, 20, true) }}
<span
class="btn btn-clear"
:title="t('word.close')"
:title="t('general.close')"
@mousedown.left.stop
@click.stop="closeTab(element)"
/>
@ -122,11 +122,11 @@
:class="{'badge': element.isChanged}"
>
<i class="mdi mdi-wrench-cog mdi-18px mr-1" />
<span :title="`${t('word.settings').toUpperCase()}: ${t(`word.view`)}`">
<span :title="`${t('application.settings').toUpperCase()}: ${t(`database.view`)}`">
{{ cutText(element.elementName, 20, true) }}
<span
class="btn btn-clear"
:title="t('word.close')"
:title="t('general.close')"
@mousedown.left.stop
@click.stop="closeTab(element)"
/>
@ -139,11 +139,11 @@
:class="{'badge': element.isChanged}"
>
<i class="mdi mdi-shape-square-plus mdi-18px mr-1" />
<span :title="`${t('word.new').toUpperCase()}: ${t(`word.${element.elementType}`)}`">
{{ t('message.newView') }}
<span :title="`${t('general.new').toUpperCase()}: ${t(`database.${element.elementType}`)}`">
{{ t('database.newView') }}
<span
class="btn btn-clear"
:title="t('word.close')"
:title="t('general.close')"
@mousedown.left.stop
@click.stop="closeTab(element)"
/>
@ -156,11 +156,11 @@
:class="{'badge': element.isChanged}"
>
<i class="mdi mdi-shape-square-plus mdi-18px mr-1" />
<span :title="`${t('word.new').toUpperCase()}: ${t(`word.${element.elementType}`)}`">
{{ t('message.newTrigger') }}
<span :title="`${t('general.new').toUpperCase()}: ${t(`database.${element.elementType}`)}`">
{{ t('database.newTrigger') }}
<span
class="btn btn-clear"
:title="t('word.close')"
:title="t('general.close')"
@mousedown.left.stop
@click.stop="closeTab(element)"
/>
@ -173,11 +173,11 @@
:class="{'badge': element.isChanged}"
>
<i class="mdi mdi-shape-square-plus mdi-18px mr-1" />
<span :title="`${t('word.new').toUpperCase()}: ${t(`word.${element.elementType}`)}`">
{{ t('message.newRoutine') }}
<span :title="`${t('general.new').toUpperCase()}: ${t(`database.${element.elementType}`)}`">
{{ t('database.newRoutine') }}
<span
class="btn btn-clear"
:title="t('word.close')"
:title="t('general.close')"
@mousedown.left.stop
@click.stop="closeTab(element)"
/>
@ -190,11 +190,11 @@
:class="{'badge': element.isChanged}"
>
<i class="mdi mdi-shape-square-plus mdi-18px mr-1" />
<span :title="`${t('word.new').toUpperCase()}: ${t(`word.${element.elementType}`)}`">
{{ t('message.newFunction') }}
<span :title="`${t('general.new').toUpperCase()}: ${t(`database.${element.elementType}`)}`">
{{ t('database.newFunction') }}
<span
class="btn btn-clear"
:title="t('word.close')"
:title="t('general.close')"
@mousedown.left.stop
@click.stop="closeTab(element)"
/>
@ -207,11 +207,11 @@
:class="{'badge': element.isChanged}"
>
<i class="mdi mdi-shape-square-plus mdi-18px mr-1" />
<span :title="`${t('word.new').toUpperCase()}: ${t(`word.${element.elementType}`)}`">
{{ t('message.newTriggerFunction') }}
<span :title="`${t('general.new').toUpperCase()}: ${t(`database.${element.elementType}`)}`">
{{ t('database.newTriggerFunction') }}
<span
class="btn btn-clear"
:title="t('word.close')"
:title="t('general.close')"
@mousedown.left.stop
@click.stop="closeTab(element)"
/>
@ -224,11 +224,11 @@
:class="{'badge': element.isChanged}"
>
<i class="mdi mdi-shape-square-plus mdi-18px mr-1" />
<span :title="`${t('word.new').toUpperCase()}: ${t(`word.${element.elementType}`)}`">
{{ t('message.newScheduler') }}
<span :title="`${t('general.new').toUpperCase()}: ${t(`database.${element.elementType}`)}`">
{{ t('database.newScheduler') }}
<span
class="btn btn-clear"
:title="t('word.close')"
:title="t('general.close')"
@mousedown.left.stop
@click.stop="closeTab(element)"
/>
@ -242,11 +242,11 @@
@dblclick="openAsPermanentTab(element)"
>
<i class="mdi mdi-18px mdi-wrench-cog mr-1" />
<span :title="`${t('word.settings').toUpperCase()}: ${t(`word.${element.elementType}`)}`">
<span :title="`${t('application.settings').toUpperCase()}: ${t(`database.${element.elementType}`)}`">
<span class=" text-italic">{{ cutText(element.elementName, 20, true) }}</span>
<span
class="btn btn-clear"
:title="t('word.close')"
:title="t('general.close')"
@mousedown.left.stop
@click.stop="closeTab(element)"
/>
@ -259,11 +259,11 @@
:class="{'badge': element.isChanged}"
>
<i class="mdi mdi-18px mdi-wrench-cog mr-1" />
<span :title="`${t('word.settings').toUpperCase()}: ${t(`word.${element.elementType}`)}`">
<span :title="`${t('application.settings').toUpperCase()}: ${t(`database.${element.elementType}`)}`">
{{ cutText(element.elementName, 20, true) }}
<span
class="btn btn-clear"
:title="t('word.close')"
:title="t('general.close')"
@mousedown.left.stop
@click.stop="closeTab(element)"
/>
@ -279,7 +279,7 @@
<a
class="tab-link workspace-tools-link dropdown-toggle"
tabindex="0"
:title="t('word.tools')"
:title="t('general.tools')"
>
<i class="mdi mdi-24px mdi-tools" />
</a>
@ -287,13 +287,13 @@
<li class="menu-item">
<a class="c-hand p-vcentered" @click="showProcessesModal">
<i class="mdi mdi-memory mr-1 tool-icon" />
<span>{{ t('message.processesList') }}</span>
<span>{{ t('database.processesList') }}</span>
</a>
</li>
<li class="menu-item">
<a class="c-hand p-vcentered" @click="toggleConsole">
<i class="mdi mdi-console-line mr-1 tool-icon" />
<span>{{ t('word.console') }}</span>
<span>{{ t('application.console') }}</span>
</a>
</li>
<li
@ -303,7 +303,7 @@
>
<a class="c-hand p-vcentered disabled">
<i class="mdi mdi-shape mr-1 tool-icon" />
<span>{{ t('word.variables') }}</span>
<span>{{ t('database.variables') }}</span>
</a>
</li>
<li
@ -313,7 +313,7 @@
>
<a class="c-hand p-vcentered disabled">
<i class="mdi mdi-account-group mr-1 tool-icon" />
<span>{{ t('message.manageUsers') }}</span>
<span>{{ t('database.manageUsers') }}</span>
</a>
</li>
</ul>
@ -323,7 +323,7 @@
<li class="tab-item">
<a
class="tab-add"
:title="t('message.openNewTab')"
:title="t('application.openNewTab')"
@click="addQueryTab"
>
<i class="mdi mdi-24px mdi-plus" />

View File

@ -8,7 +8,7 @@
:class="{'active': selectedTab === 'general'}"
@click="selectTab('general')"
>
<a class="tab-link">{{ t('word.general') }}</a>
<a class="tab-link">{{ t('application.general') }}</a>
</li>
<li
v-if="clientCustomizations.sslConnection"
@ -16,7 +16,7 @@
:class="{'active': selectedTab === 'ssl'}"
@click="selectTab('ssl')"
>
<a class="tab-link">{{ t('word.ssl') }}</a>
<a class="tab-link">{{ t('connection.ssl') }}</a>
</li>
<li
v-if="clientCustomizations.sshConnection"
@ -24,7 +24,7 @@
:class="{'active': selectedTab === 'ssh'}"
@click="selectTab('ssh')"
>
<a class="tab-link">{{ t('word.sshTunnel') }}</a>
<a class="tab-link">{{ t('connection.sshTunnel') }}</a>
</li>
</ul>
</div>
@ -34,7 +34,7 @@
<fieldset class="m-0" :disabled="isBusy">
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.connectionName') }}</label>
<label class="form-label cut-text">{{ t('connection.connectionName') }}</label>
</div>
<div class="column col-8 col-sm-12">
<input
@ -47,7 +47,7 @@
</div>
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.client') }}</label>
<label class="form-label cut-text">{{ t('connection.client') }}</label>
</div>
<div class="column col-8 col-sm-12">
<BaseSelect
@ -61,7 +61,7 @@
</div>
<div v-if="connection.client === 'pg'" class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.connectionString') }}</label>
<label class="form-label cut-text">{{ t('connection.connectionString') }}</label>
</div>
<div class="column col-8 col-sm-12">
<input
@ -74,7 +74,7 @@
</div>
<div v-if="!clientCustomizations.fileConnection" class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.hostName') }}/IP</label>
<label class="form-label cut-text">{{ t('connection.hostName') }}/IP</label>
</div>
<div class="column col-8 col-sm-12">
<input
@ -86,12 +86,12 @@
</div>
<div v-if="clientCustomizations.fileConnection" class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.database') }}</label>
<label class="form-label cut-text">{{ t('database.database') }}</label>
</div>
<div class="column col-8 col-sm-12">
<BaseUploadInput
:model-value="connection.databasePath"
:message="t('word.browse')"
:message="t('general.browse')"
@clear="pathClear('databasePath')"
@change="pathSelection($event, 'databasePath')"
/>
@ -99,7 +99,7 @@
</div>
<div v-if="!clientCustomizations.fileConnection" class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.port') }}</label>
<label class="form-label cut-text">{{ t('connection.port') }}</label>
</div>
<div class="column col-8 col-sm-12">
<input
@ -113,7 +113,7 @@
</div>
<div v-if="clientCustomizations.database" class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.database') }}</label>
<label class="form-label cut-text">{{ t('database.database') }}</label>
</div>
<div class="column col-8 col-sm-12">
<input
@ -126,7 +126,7 @@
</div>
<div v-if="!clientCustomizations.fileConnection" class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.user') }}</label>
<label class="form-label cut-text">{{ t('connection.user') }}</label>
</div>
<div class="column col-8 col-sm-12">
<input
@ -139,7 +139,7 @@
</div>
<div v-if="!clientCustomizations.fileConnection" class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.password') }}</label>
<label class="form-label cut-text">{{ t('connection.password') }}</label>
</div>
<div class="column col-8 col-sm-12">
<input
@ -152,14 +152,14 @@
</div>
<div v-if="clientCustomizations.connectionSchema" class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.schema') }}</label>
<label class="form-label cut-text">{{ t('database.schema') }}</label>
</div>
<div class="column col-8 col-sm-12">
<input
v-model="connection.schema"
class="form-input"
type="text"
:placeholder="t('word.all')"
:placeholder="t('general.all')"
>
</div>
</div>
@ -167,7 +167,7 @@
<div class="column col-4 col-sm-12" />
<div class="column col-8 col-sm-12">
<label class="form-checkbox form-inline">
<input v-model="connection.readonly" type="checkbox"><i class="form-icon" /> {{ t('message.readOnlyMode') }}
<input v-model="connection.readonly" type="checkbox"><i class="form-icon" /> {{ t('connection.readOnlyMode') }}
</label>
</div>
</div>
@ -175,7 +175,7 @@
<div class="column col-4 col-sm-12" />
<div class="column col-8 col-sm-12">
<label class="form-checkbox form-inline">
<input v-model="connection.ask" type="checkbox"><i class="form-icon" /> {{ t('message.askCredentials') }}
<input v-model="connection.ask" type="checkbox"><i class="form-icon" /> {{ t('connection.askCredentials') }}
</label>
</div>
</div>
@ -189,7 +189,7 @@
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">
{{ t('message.enableSsl') }}
{{ t('connection.enableSsl') }}
</label>
</div>
<div class="column col-8 col-sm-12">
@ -202,12 +202,12 @@
<fieldset class="m-0" :disabled="isBusy || !connection.ssl">
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.privateKey') }}</label>
<label class="form-label cut-text">{{ t('connection.privateKey') }}</label>
</div>
<div class="column col-8 col-sm-12">
<BaseUploadInput
:model-value="connection.key"
:message="t('word.browse')"
:message="t('general.browse')"
@clear="pathClear('key')"
@change="pathSelection($event, 'key')"
/>
@ -215,12 +215,12 @@
</div>
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.certificate') }}</label>
<label class="form-label cut-text">{{ t('connection.certificate') }}</label>
</div>
<div class="column col-8 col-sm-12">
<BaseUploadInput
:model-value="connection.cert"
:message="t('word.browse')"
:message="t('general.browse')"
@clear="pathClear('cert')"
@change="pathSelection($event, 'cert')"
/>
@ -228,12 +228,12 @@
</div>
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.caCertificate') }}</label>
<label class="form-label cut-text">{{ t('connection.caCertificate') }}</label>
</div>
<div class="column col-8 col-sm-12">
<BaseUploadInput
:model-value="connection.ca"
:message="t('word.browse')"
:message="t('general.browse')"
@clear="pathClear('ca')"
@change="pathSelection($event, 'ca')"
/>
@ -241,7 +241,7 @@
</div>
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.ciphers') }}</label>
<label class="form-label cut-text">{{ t('connection.ciphers') }}</label>
</div>
<div class="column col-8 col-sm-12">
<input
@ -256,7 +256,7 @@
<div class="column col-4 col-sm-12" />
<div class="column col-8 col-sm-12">
<label class="form-checkbox form-inline">
<input v-model="connection.untrustedConnection" type="checkbox"><i class="form-icon" /> {{ t('message.untrustedConnection') }}
<input v-model="connection.untrustedConnection" type="checkbox"><i class="form-icon" /> {{ t('connection.untrustedConnection') }}
</label>
</div>
</div>
@ -270,7 +270,7 @@
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">
{{ t('message.enableSsh') }}
{{ t('connection.enableSsh') }}
</label>
</div>
<div class="column col-8 col-sm-12">
@ -283,7 +283,7 @@
<fieldset class="m-0" :disabled="isBusy || !connection.ssh">
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.hostName') }}/IP</label>
<label class="form-label cut-text">{{ t('connection.hostName') }}/IP</label>
</div>
<div class="column col-8 col-sm-12">
<input
@ -295,7 +295,7 @@
</div>
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.user') }}</label>
<label class="form-label cut-text">{{ t('connection.user') }}</label>
</div>
<div class="column col-8 col-sm-12">
<input
@ -307,7 +307,7 @@
</div>
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.password') }}</label>
<label class="form-label cut-text">{{ t('connection.password') }}</label>
</div>
<div class="column col-8 col-sm-12">
<input
@ -319,7 +319,7 @@
</div>
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.port') }}</label>
<label class="form-label cut-text">{{ t('connection.port') }}</label>
</div>
<div class="column col-8 col-sm-12">
<input
@ -333,12 +333,12 @@
</div>
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.privateKey') }}</label>
<label class="form-label cut-text">{{ t('connection.privateKey') }}</label>
</div>
<div class="column col-8 col-sm-12">
<BaseUploadInput
:model-value="connection.sshKey"
:message="t('word.browse')"
:message="t('general.browse')"
@clear="pathClear('sshKey')"
@change="pathSelection($event, 'sshKey')"
/>
@ -346,7 +346,7 @@
</div>
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.passphrase') }}</label>
<label class="form-label cut-text">{{ t('connection.passphrase') }}</label>
</div>
<div class="column col-8 col-sm-12">
<input
@ -369,7 +369,7 @@
@click="startTest"
>
<i class="mdi mdi-24px mdi-lightning-bolt mr-1" />
{{ t('message.testConnection') }}
{{ t('connection.testConnection') }}
</button>
<button
id="connection-save"
@ -378,7 +378,7 @@
@click="saveConnection"
>
<i class="mdi mdi-24px mdi-content-save mr-1" />
{{ t('word.save') }}
{{ t('general.save') }}
</button>
</div>
</div>
@ -484,7 +484,7 @@ const startTest = async () => {
if (res.status === 'error')
addNotification({ status: 'error', message: res.response.message || res.response.toString() });
else
addNotification({ status: 'success', message: t('message.connectionSuccessfullyMade') });
addNotification({ status: 'success', message: t('connection.connectionSuccessfullyMade') });
}
catch (err) {
addNotification({ status: 'error', message: err.stack });
@ -508,7 +508,7 @@ const continueTest = async (credentials: { user: string; password: string }) =>
if (res.status === 'error')
addNotification({ status: 'error', message: res.response.message || res.response.toString() });
else
addNotification({ status: 'success', message: t('message.connectionSuccessfullyMade') });
addNotification({ status: 'success', message: t('connection.connectionSuccessfullyMade') });
}
}
catch (err) {

View File

@ -8,7 +8,7 @@
:class="{'active': selectedTab === 'general'}"
@click="selectTab('general')"
>
<a class="tab-link">{{ t('word.general') }}</a>
<a class="tab-link">{{ t('application.general') }}</a>
</li>
<li
v-if="clientCustomizations.sslConnection"
@ -16,7 +16,7 @@
:class="{'active': selectedTab === 'ssl'}"
@click="selectTab('ssl')"
>
<a class="tab-link">{{ t('word.ssl') }}</a>
<a class="tab-link">{{ t('connection.ssl') }}</a>
</li>
<li
v-if="clientCustomizations.sshConnection"
@ -24,7 +24,7 @@
:class="{'active': selectedTab === 'ssh'}"
@click="selectTab('ssh')"
>
<a class="tab-link">{{ t('word.sshTunnel') }}</a>
<a class="tab-link">{{ t('connection.sshTunnel') }}</a>
</li>
</ul>
</div>
@ -34,7 +34,7 @@
<fieldset class="m-0" :disabled="isBusy">
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.connectionName') }}</label>
<label class="form-label cut-text">{{ t('connection.connectionName') }}</label>
</div>
<div class="column col-8 col-sm-12">
<input
@ -47,7 +47,7 @@
</div>
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.client') }}</label>
<label class="form-label cut-text">{{ t('connection.client') }}</label>
</div>
<div class="column col-8 col-sm-12">
<BaseSelect
@ -63,7 +63,7 @@
</div>
<div v-if="localConnection.client === 'pg'" class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.connectionString') }}</label>
<label class="form-label cut-text">{{ t('connection.connectionString') }}</label>
</div>
<div class="column col-8 col-sm-12">
<input
@ -76,7 +76,7 @@
</div>
<div v-if="!clientCustomizations.fileConnection" class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.hostName') }}/IP</label>
<label class="form-label cut-text">{{ t('connection.hostName') }}/IP</label>
</div>
<div class="column col-8 col-sm-12">
<input
@ -88,12 +88,12 @@
</div>
<div v-if="clientCustomizations.fileConnection" class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.database') }}</label>
<label class="form-label cut-text">{{ t('database.database') }}</label>
</div>
<div class="column col-8 col-sm-12">
<BaseUploadInput
:model-value="localConnection.databasePath"
:message="t('word.browse')"
:message="t('general.browse')"
@clear="pathClear('databasePath')"
@change="pathSelection($event, 'databasePath')"
/>
@ -101,7 +101,7 @@
</div>
<div v-if="!clientCustomizations.fileConnection" class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.port') }}</label>
<label class="form-label cut-text">{{ t('connection.port') }}</label>
</div>
<div class="column col-8 col-sm-12">
<input
@ -115,7 +115,7 @@
</div>
<div v-if="clientCustomizations.database" class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.database') }}</label>
<label class="form-label cut-text">{{ t('database.database') }}</label>
</div>
<div class="column col-8 col-sm-12">
<input
@ -128,7 +128,7 @@
</div>
<div v-if="!clientCustomizations.fileConnection" class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.user') }}</label>
<label class="form-label cut-text">{{ t('connection.user') }}</label>
</div>
<div class="column col-8 col-sm-12">
<input
@ -141,7 +141,7 @@
</div>
<div v-if="!clientCustomizations.fileConnection" class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.password') }}</label>
<label class="form-label cut-text">{{ t('connection.password') }}</label>
</div>
<div class="column col-8 col-sm-12">
<input
@ -154,14 +154,14 @@
</div>
<div v-if="clientCustomizations.connectionSchema" class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.schema') }}</label>
<label class="form-label cut-text">{{ t('database.schema') }}</label>
</div>
<div class="column col-8 col-sm-12">
<input
v-model="localConnection.schema"
class="form-input"
type="text"
:placeholder="t('word.all')"
:placeholder="t('general.all')"
>
</div>
</div>
@ -169,7 +169,7 @@
<div class="column col-4 col-sm-12" />
<div class="column col-8 col-sm-12">
<label class="form-checkbox form-inline">
<input v-model="localConnection.readonly" type="checkbox"><i class="form-icon" /> {{ t('message.readOnlyMode') }}
<input v-model="localConnection.readonly" type="checkbox"><i class="form-icon" /> {{ t('connection.readOnlyMode') }}
</label>
</div>
</div>
@ -177,7 +177,7 @@
<div class="column col-4 col-sm-12" />
<div class="column col-8 col-sm-12">
<label class="form-checkbox form-inline">
<input v-model="localConnection.ask" type="checkbox"><i class="form-icon" /> {{ t('message.askCredentials') }}
<input v-model="localConnection.ask" type="checkbox"><i class="form-icon" /> {{ t('connection.askCredentials') }}
</label>
</div>
</div>
@ -191,7 +191,7 @@
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">
{{ t('message.enableSsl') }}
{{ t('connection.enableSsl') }}
</label>
</div>
<div class="column col-8 col-sm-12">
@ -204,12 +204,12 @@
<fieldset class="m-0" :disabled="isBusy || !localConnection.ssl">
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.privateKey') }}</label>
<label class="form-label cut-text">{{ t('connection.privateKey') }}</label>
</div>
<div class="column col-8 col-sm-12">
<BaseUploadInput
:model-value="localConnection.key"
:message="t('word.browse')"
:message="t('general.browse')"
@clear="pathClear('key')"
@change="pathSelection($event, 'key')"
/>
@ -217,12 +217,12 @@
</div>
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.certificate') }}</label>
<label class="form-label cut-text">{{ t('connection.certificate') }}</label>
</div>
<div class="column col-8 col-sm-12">
<BaseUploadInput
:model-value="localConnection.cert"
:message="t('word.browse')"
:message="t('general.browse')"
@clear="pathClear('cert')"
@change="pathSelection($event, 'cert')"
/>
@ -230,12 +230,12 @@
</div>
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.caCertificate') }}</label>
<label class="form-label cut-text">{{ t('connection.caCertificate') }}</label>
</div>
<div class="column col-8 col-sm-12">
<BaseUploadInput
:model-value="localConnection.ca"
:message="t('word.browse')"
:message="t('general.browse')"
@clear="pathClear('ca')"
@change="pathSelection($event, 'ca')"
/>
@ -243,7 +243,7 @@
</div>
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.ciphers') }}</label>
<label class="form-label cut-text">{{ t('connection.ciphers') }}</label>
</div>
<div class="column col-8 col-sm-12">
<input
@ -258,7 +258,7 @@
<div class="column col-4 col-sm-12" />
<div class="column col-8 col-sm-12">
<label class="form-checkbox form-inline">
<input v-model="localConnection.untrustedConnection" type="checkbox"><i class="form-icon" /> {{ t('message.untrustedConnection') }}
<input v-model="localConnection.untrustedConnection" type="checkbox"><i class="form-icon" /> {{ t('connection.untrustedConnection') }}
</label>
</div>
</div>
@ -272,7 +272,7 @@
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">
{{ t('message.enableSsh') }}
{{ t('connection.enableSsh') }}
</label>
</div>
<div class="column col-8 col-sm-12">
@ -285,7 +285,7 @@
<fieldset class="m-0" :disabled="isBusy || !localConnection.ssh">
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.hostName') }}/IP</label>
<label class="form-label cut-text">{{ t('connection.hostName') }}/IP</label>
</div>
<div class="column col-8 col-sm-12">
<input
@ -297,7 +297,7 @@
</div>
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.user') }}</label>
<label class="form-label cut-text">{{ t('connection.user') }}</label>
</div>
<div class="column col-8 col-sm-12">
<input
@ -309,7 +309,7 @@
</div>
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.password') }}</label>
<label class="form-label cut-text">{{ t('connection.password') }}</label>
</div>
<div class="column col-8 col-sm-12">
<input
@ -321,7 +321,7 @@
</div>
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.port') }}</label>
<label class="form-label cut-text">{{ t('connection.port') }}</label>
</div>
<div class="column col-8 col-sm-12">
<input
@ -335,12 +335,12 @@
</div>
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.privateKey') }}</label>
<label class="form-label cut-text">{{ t('connection.privateKey') }}</label>
</div>
<div class="column col-8 col-sm-12">
<BaseUploadInput
:model-value="localConnection.sshKey"
:message="t('word.browse')"
:message="t('general.browse')"
@clear="pathClear('sshKey')"
@change="pathSelection($event, 'sshKey')"
/>
@ -348,7 +348,7 @@
</div>
<div class="form-group columns">
<div class="column col-4 col-sm-12">
<label class="form-label cut-text">{{ t('word.passphrase') }}</label>
<label class="form-label cut-text">{{ t('connection.passphrase') }}</label>
</div>
<div class="column col-8 col-sm-12">
<input
@ -371,7 +371,7 @@
@click="startTest"
>
<i class="mdi mdi-24px mdi-lightning-bolt mr-1" />
{{ t('message.testConnection') }}
{{ t('connection.testConnection') }}
</button>
<button
id="connection-save"
@ -380,7 +380,7 @@
@click="saveConnection"
>
<i class="mdi mdi-24px mdi-content-save mr-1" />
{{ t('word.save') }}
{{ t('general.save') }}
</button>
<button
id="connection-connect"
@ -390,7 +390,7 @@
@click="startConnection"
>
<i class="mdi mdi-24px mdi-connection mr-1" />
{{ t('word.connect') }}
{{ t('connection.connect') }}
</button>
</div>
</div>
@ -479,7 +479,7 @@ const startTest = async () => {
if (res.status === 'error')
addNotification({ status: 'error', message: res.response.message || res.response.toString() });
else
addNotification({ status: 'success', message: t('message.connectionSuccessfullyMade') });
addNotification({ status: 'success', message: t('connection.connectionSuccessfullyMade') });
}
catch (err) {
addNotification({ status: 'error', message: err.stack });
@ -503,7 +503,7 @@ const continueTest = async (credentials: {user: string; password: string }) => {
if (res.status === 'error')
addNotification({ status: 'error', message: res.response.message || res.response.toString() });
else
addNotification({ status: 'success', message: t('message.connectionSuccessfullyMade') });
addNotification({ status: 'success', message: t('connection.connectionSuccessfullyMade') });
}
}
catch (err) {

View File

@ -4,12 +4,12 @@
<img :src="logos[applicationTheme]" width="200">
</div>
<p class="h6 empty-subtitle">
{{ t('message.noOpenTabs') }}
{{ t('application.noOpenTabs') }}
</p>
<div class="empty-action">
<button class="btn btn-primary d-flex" @click="emit('new-tab')">
<i class="mdi mdi-24px mdi-tab-plus mr-2" />
{{ t('message.openNewTab') }}
{{ t('application.openNewTab') }}
</button>
</div>
</div>

View File

@ -13,7 +13,7 @@
<div
v-if="customizations.database"
class="workspace-explorebar-database-switch"
:title="t('message.switchDatabase')"
:title="t('database.switchDatabase')"
>
<BaseSelect
v-model="selectedDatabase"
@ -26,18 +26,18 @@
<i
v-if="customizations.schemas"
class="mdi mdi-18px mdi-database-plus c-hand mr-2"
:title="t('message.createNewSchema')"
:title="t('database.createNewSchema')"
@click="showNewDBModal"
/>
<i
class="mdi mdi-18px mdi-refresh c-hand mr-2"
:class="{'rotate':isRefreshing}"
:title="t('word.refresh')"
:title="t('general.refresh')"
@click="refresh"
/>
<i
class="mdi mdi-18px mdi-power c-hand"
:title="t('word.disconnect')"
:title="t('connection.disconnect')"
@click="disconnectWorkspace(connection.uid)"
/>
</span>
@ -46,7 +46,7 @@
<div v-if="workspace.connectionStatus === 'connected'" class="input-group has-icon-right">
<div
class="input-group-addon px-1 py-0 p-vcentered c-hand"
:title="t('message.switchSearchMethod')"
:title="t('application.switchSearchMethod')"
@click="toggleSearchMethod"
>
<i class="mdi mdi-18px" :class="[searchMethod === 'elements' ? 'mdi-shape' : 'mdi-database']" />
@ -56,7 +56,7 @@
v-model="searchTerm"
class="form-input input-sm"
type="text"
:placeholder="searchMethod === 'elements' ? t('message.searchForElements') : t('message.searchForSchemas')"
:placeholder="searchMethod === 'elements' ? t('database.searchForElements') : t('database.searchForSchemas')"
>
<i v-if="!searchTerm" class="form-icon mdi mdi-magnify mdi-18px" />
<i

View File

@ -8,7 +8,7 @@
class="context-element"
@click="runElementCheck"
>
<span class="d-flex"><i class="mdi mdi-18px mdi-play text-light pr-1" /> {{ t('word.run') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-play text-light pr-1" /> {{ t('general.run') }}</span>
</div>
<div
v-if="selectedMisc.type === 'trigger' && customizations.triggerEnableDisable"
@ -16,10 +16,10 @@
@click="toggleTrigger"
>
<span v-if="!selectedMisc.enabled" class="d-flex">
<i class="mdi mdi-18px mdi-play text-light pr-1" /> {{ t('word.enable') }}
<i class="mdi mdi-18px mdi-play text-light pr-1" /> {{ t('general.enable') }}
</span>
<span v-else class="d-flex">
<i class="mdi mdi-18px mdi-pause text-light pr-1" /> {{ t('word.disable') }}
<i class="mdi mdi-18px mdi-pause text-light pr-1" /> {{ t('general.disable') }}
</span>
</div>
<div
@ -28,14 +28,14 @@
@click="toggleScheduler"
>
<span v-if="!selectedMisc.enabled" class="d-flex">
<i class="mdi mdi-18px mdi-play text-light pr-1" /> {{ t('word.enable') }}
<i class="mdi mdi-18px mdi-play text-light pr-1" /> {{ t('general.enable') }}
</span>
<span v-else class="d-flex">
<i class="mdi mdi-18px mdi-pause text-light pr-1" /> {{ t('word.disable') }}
<i class="mdi mdi-18px mdi-pause text-light pr-1" /> {{ t('general.disable') }}
</span>
</div>
<div class="context-element" @click="showDeleteModal">
<span class="d-flex"><i class="mdi mdi-18px mdi-table-remove text-light pr-1" /> {{ t('word.delete') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-table-remove text-light pr-1" /> {{ t('general.delete') }}</span>
</div>
<ConfirmModal
v-if="isDeleteModal"
@ -50,7 +50,7 @@
</template>
<template #body>
<div class="mb-2">
{{ t('message.deleteConfirm') }} "<b>{{ selectedMisc.name }}</b>"?
{{ t('general.deleteConfirm') }} "<b>{{ selectedMisc.name }}</b>"?
</div>
</template>
</ConfirmModal>
@ -117,14 +117,14 @@ const customizations = computed(() => {
const deleteMessage = computed(() => {
switch (props.selectedMisc.type) {
case 'trigger':
return t('message.deleteTrigger');
return t('database.deleteTrigger');
case 'procedure':
return t('message.deleteRoutine');
return t('database.deleteRoutine');
case 'function':
case 'triggerFunction':
return t('message.deleteFunction');
return t('database.deleteFunction');
case 'scheduler':
return t('message.deleteScheduler');
return t('database.deleteScheduler');
default:
return '';
}

View File

@ -8,35 +8,35 @@
class="context-element"
@click="emit('open-create-trigger-tab')"
>
<span class="d-flex"><i class="mdi mdi-18px mdi-table-cog text-light pr-1" /> {{ t('message.createNewTrigger') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-table-cog text-light pr-1" /> {{ t('database.createNewTrigger') }}</span>
</div>
<div
v-if="['procedure', 'routine'].includes(props.selectedMisc)"
class="context-element"
@click="emit('open-create-routine-tab')"
>
<span class="d-flex"><i class="mdi mdi-18px mdi-sync-circle text-light pr-1" /> {{ t('message.createNewRoutine') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-sync-circle text-light pr-1" /> {{ t('database.createNewRoutine') }}</span>
</div>
<div
v-if="props.selectedMisc === 'function'"
class="context-element"
@click="emit('open-create-function-tab')"
>
<span class="d-flex"><i class="mdi mdi-18px mdi-arrow-right-bold-box text-light pr-1" /> {{ t('message.createNewFunction') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-arrow-right-bold-box text-light pr-1" /> {{ t('database.createNewFunction') }}</span>
</div>
<div
v-if="props.selectedMisc === 'triggerFunction'"
class="context-element"
@click="emit('open-create-trigger-function-tab')"
>
<span class="d-flex"><i class="mdi mdi-18px mdi-cog-clockwise text-light pr-1" /> {{ t('message.createNewFunction') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-cog-clockwise text-light pr-1" /> {{ t('database.createNewFunction') }}</span>
</div>
<div
v-if="props.selectedMisc === 'scheduler'"
class="context-element"
@click="emit('open-create-scheduler-tab')"
>
<span class="d-flex"><i class="mdi mdi-18px mdi-calendar-clock text-light pr-1" /> {{ t('message.createNewScheduler') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-calendar-clock text-light pr-1" /> {{ t('database.createNewScheduler') }}</span>
</div>
</BaseContextMenu>
</template>

View File

@ -60,7 +60,7 @@
@contextmenu.prevent="showMiscFolderContext($event, 'trigger')"
>
<i class="misc-icon mdi mdi-18px mdi-folder-cog mr-1" />
{{ t('word.trigger', 2) }}
{{ t('database.trigger', 2) }}
</summary>
<div class="accordion-body">
<div>
@ -82,7 +82,7 @@
<div
v-if="trigger.enabled === false"
class="tooltip tooltip-left disabled-indicator"
:data-tooltip="t('word.disabled')"
:data-tooltip="t('general.disabled')"
>
<i class="table-icon mdi mdi-pause mdi-18px mr-1" />
</div>
@ -101,7 +101,7 @@
@contextmenu.prevent="showMiscFolderContext($event, 'routine')"
>
<i class="misc-icon mdi mdi-18px mdi-folder-sync mr-1" />
{{ t('word.storedRoutine', 2) }}
{{ t('database.storedRoutine', 2) }}
</summary>
<div class="accordion-body">
<div>
@ -134,7 +134,7 @@
@contextmenu.prevent="showMiscFolderContext($event, 'triggerFunction')"
>
<i class="misc-icon mdi mdi-18px mdi-folder-refresh mr-1" />
{{ t('word.triggerFunction', 2) }}
{{ t('database.triggerFunction', 2) }}
</summary>
<div class="accordion-body">
<div>
@ -167,7 +167,7 @@
@contextmenu.prevent="showMiscFolderContext($event, 'function')"
>
<i class="misc-icon mdi mdi-18px mdi-folder-move mr-1" />
{{ t('word.function', 2) }}
{{ t('database.function', 2) }}
</summary>
<div class="accordion-body">
<div>
@ -200,7 +200,7 @@
@contextmenu.prevent="showMiscFolderContext($event, 'scheduler')"
>
<i class="misc-icon mdi mdi-18px mdi-folder-clock mr-1" />
{{ t('word.scheduler', 2) }}
{{ t('database.scheduler', 2) }}
</summary>
<div class="accordion-body">
<div>
@ -222,7 +222,7 @@
<div
v-if="scheduler.enabled === false"
class="tooltip tooltip-left disabled-indicator"
:data-tooltip="t('word.disabled')"
:data-tooltip="t('general.disabled')"
>
<i class="table-icon mdi mdi-pause mdi-18px mr-1" />
</div>

View File

@ -4,7 +4,7 @@
@close-context="closeContext"
>
<div class="context-element">
<span class="d-flex"><i class="mdi mdi-18px mdi-plus text-light pr-1" /> {{ t('word.add') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-plus text-light pr-1" /> {{ t('general.add') }}</span>
<i class="mdi mdi-18px mdi-chevron-right text-light pl-1" />
<div class="context-submenu">
<div
@ -12,49 +12,49 @@
class="context-element"
@click="openCreateTableTab"
>
<span class="d-flex"><i class="mdi mdi-18px mdi-table text-light pr-1" /> {{ t('word.table') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-table text-light pr-1" /> {{ t('database.table') }}</span>
</div>
<div
v-if="workspace.customizations.viewAdd"
class="context-element"
@click="openCreateViewTab"
>
<span class="d-flex"><i class="mdi mdi-18px mdi-table-eye text-light pr-1" /> {{ t('word.view') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-table-eye text-light pr-1" /> {{ t('database.view') }}</span>
</div>
<div
v-if="workspace.customizations.triggerAdd"
class="context-element"
@click="openCreateTriggerTab"
>
<span class="d-flex"><i class="mdi mdi-18px mdi-table-cog text-light pr-1" /> {{ t('word.trigger', 1) }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-table-cog text-light pr-1" /> {{ t('database.trigger', 1) }}</span>
</div>
<div
v-if="workspace.customizations.routineAdd"
class="context-element"
@click="openCreateRoutineTab"
>
<span class="d-flex"><i class="mdi mdi-18px mdi-sync-circle pr-1" /> {{ t('word.storedRoutine', 1) }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-sync-circle pr-1" /> {{ t('database.storedRoutine', 1) }}</span>
</div>
<div
v-if="workspace.customizations.functionAdd"
class="context-element"
@click="openCreateFunctionTab"
>
<span class="d-flex"><i class="mdi mdi-18px mdi-arrow-right-bold-box pr-1" /> {{ t('word.function', 1) }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-arrow-right-bold-box pr-1" /> {{ t('database.function', 1) }}</span>
</div>
<div
v-if="workspace.customizations.triggerFunctionAdd"
class="context-element"
@click="openCreateTriggerFunctionTab"
>
<span class="d-flex"><i class="mdi mdi-18px mdi-cog-clockwise pr-1" /> {{ t('word.triggerFunction', 1) }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-cog-clockwise pr-1" /> {{ t('database.triggerFunction', 1) }}</span>
</div>
<div
v-if="workspace.customizations.schedulerAdd"
class="context-element"
@click="openCreateSchedulerTab"
>
<span class="d-flex"><i class="mdi mdi-18px mdi-calendar-clock text-light pr-1" /> {{ t('word.scheduler', 1) }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-calendar-clock text-light pr-1" /> {{ t('database.scheduler', 1) }}</span>
</div>
</div>
</div>
@ -63,28 +63,28 @@
class="context-element"
@click="showExportSchemaModal"
>
<span class="d-flex"><i class="mdi mdi-18px mdi-database-export text-light pr-1" /> {{ t('word.export') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-database-export text-light pr-1" /> {{ t('database.export') }}</span>
</div>
<div
v-if="workspace.customizations.schemaImport"
class="context-element"
@click="initImport"
>
<span class="d-flex"><i class="mdi mdi-18px mdi-database-import text-light pr-1" /> {{ t('word.import') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-database-import text-light pr-1" /> {{ t('database.import') }}</span>
</div>
<div
v-if="workspace.customizations.schemaEdit"
class="context-element"
@click="showEditModal"
>
<span class="d-flex"><i class="mdi mdi-18px mdi-database-edit text-light pr-1" /> {{ t('word.edit') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-database-edit text-light pr-1" /> {{ t('database.editSchema') }}</span>
</div>
<div
v-if="workspace.customizations.schemaDrop"
class="context-element"
@click="showDeleteModal"
>
<span class="d-flex"><i class="mdi mdi-18px mdi-database-remove text-light pr-1" /> {{ t('word.delete') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-database-remove text-light pr-1" /> {{ t('database.deleteSchema') }}</span>
</div>
<ConfirmModal
@ -95,12 +95,12 @@
<template #header>
<div class="d-flex">
<i class="mdi mdi-24px mdi-database-remove mr-1" />
<span class="cut-text">{{ t('message.deleteSchema') }}</span>
<span class="cut-text">{{ t('database.deleteSchema') }}</span>
</div>
</template>
<template #body>
<div class="mb-2">
{{ t('message.deleteConfirm') }} "<b>{{ selectedSchema }}</b>"?
{{ t('general.deleteConfirm') }} "<b>{{ selectedSchema }}</b>"?
</div>
</template>
</ConfirmModal>

View File

@ -8,31 +8,31 @@
class="context-element"
@click="openTableSettingTab"
>
<span class="d-flex"><i class="mdi mdi-18px mdi-wrench-cog text-light pr-1" /> {{ t('word.settings') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-wrench-cog text-light pr-1" /> {{ t('application.settings') }}</span>
</div>
<div
v-if="selectedTable && selectedTable.type === 'view' && customizations.viewSettings"
class="context-element"
@click="openViewSettingTab"
>
<span class="d-flex"><i class="mdi mdi-18px mdi-wrench-cog text-light pr-1" /> {{ t('word.settings') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-wrench-cog text-light pr-1" /> {{ t('application.settings') }}</span>
</div>
<div
v-if="selectedTable && selectedTable.type === 'table' && customizations.tableDuplicate"
class="context-element"
@click="duplicateTable"
>
<span class="d-flex"><i class="mdi mdi-18px mdi-table-multiple text-light pr-1" /> {{ t('message.duplicateTable') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-table-multiple text-light pr-1" /> {{ t('database.duplicateTable') }}</span>
</div>
<div
v-if="selectedTable && selectedTable.type === 'table'"
class="context-element"
@click="showEmptyModal"
>
<span class="d-flex"><i class="mdi mdi-18px mdi-table-off text-light pr-1" /> {{ t('message.emptyTable') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-table-off text-light pr-1" /> {{ t('database.emptyTable') }}</span>
</div>
<div class="context-element" @click="showDeleteModal">
<span class="d-flex"><i class="mdi mdi-18px mdi-table-remove text-light pr-1" /> {{ t('word.delete') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-table-remove text-light pr-1" /> {{ t('database.deleteTable') }}</span>
</div>
<ConfirmModal
@ -42,16 +42,16 @@
>
<template #header>
<div class="d-flex">
<i class="mdi mdi-24px mdi-table-off mr-1" /> <span class="cut-text">{{ t('message.emptyTable') }}</span>
<i class="mdi mdi-24px mdi-table-off mr-1" /> <span class="cut-text">{{ t('database.emptyTable') }}</span>
</div>
</template>
<template #body>
<div class="mb-2">
{{ t('message.emptyConfirm') }} "<b>{{ selectedTable.name }}</b>"?
{{ t('database.emptyConfirm') }} "<b>{{ selectedTable.name }}</b>"?
</div>
<div v-if="customizations.tableTruncateDisableFKCheck">
<label class="form-checkbox form-inline">
<input v-model="forceTruncate" type="checkbox"><i class="form-icon" /> {{ t('message.disableFKChecks') }}
<input v-model="forceTruncate" type="checkbox"><i class="form-icon" /> {{ t('database.disableFKChecks') }}
</label>
</div>
</template>
@ -64,12 +64,12 @@
<template #header>
<div class="d-flex">
<i class="mdi mdi-24px mdi-table-remove mr-1" />
<span class="cut-text">{{ selectedTable.type === 'table' ? t('message.deleteTable') : t('message.deleteView') }}</span>
<span class="cut-text">{{ selectedTable.type === 'table' ? t('database.deleteTable') : t('database.deleteView') }}</span>
</div>
</template>
<template #body>
<div class="mb-2">
{{ t('message.deleteConfirm') }} "<b>{{ selectedTable.name }}</b>"?
{{ t('general.deleteConfirm') }} "<b>{{ selectedTable.name }}</b>"?
</div>
</template>
</ConfirmModal>

View File

@ -13,7 +13,7 @@
:style="{height: localHeight ? localHeight+'px' : ''}"
>
<div class="query-console-header">
<div>{{ t('word.console') }}</div>
<div>{{ t('application.console') }}</div>
<button class="btn btn-clear mr-1" @click="resizeConsole(0)" />
</div>
<div ref="queryConsoleBody" class="query-console-body">
@ -35,7 +35,7 @@
@close-context="isContext = false"
>
<div class="context-element" @click="copyQuery">
<span class="d-flex"><i class="mdi mdi-18px mdi-content-copy text-light pr-1" /> {{ t('word.copy') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-content-copy text-light pr-1" /> {{ t('general.copy') }}</span>
</div>
</BaseContextMenu>
</template>

View File

@ -10,27 +10,27 @@
@click="saveChanges"
>
<i class="mdi mdi-24px mdi-content-save mr-1" />
<span>{{ t('word.save') }}</span>
<span>{{ t('general.save') }}</span>
</button>
<button
:disabled="!isChanged"
class="btn btn-link btn-sm mr-0"
:title="t('message.clearChanges')"
:title="t('database.clearChanges')"
@click="clearChanges"
>
<i class="mdi mdi-24px mdi-delete-sweep mr-1" />
<span>{{ t('word.clear') }}</span>
<span>{{ t('general.clear') }}</span>
</button>
<div class="divider-vert py-3" />
<button class="btn btn-dark btn-sm" @click="showParamsModal">
<i class="mdi mdi-24px mdi-dots-horizontal mr-1" />
<span>{{ t('word.parameters') }}</span>
<span>{{ t('database.parameters') }}</span>
</button>
</div>
<div class="workspace-query-info">
<div class="d-flex" :title="t('word.schema')">
<div class="d-flex" :title="t('database.schema')">
<i class="mdi mdi-18px mdi-database mr-1" /><b>{{ schema }}</b>
</div>
</div>
@ -41,7 +41,7 @@
<div class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('word.name') }}
{{ t('general.name') }}
</label>
<input
ref="firstInput"
@ -54,7 +54,7 @@
<div v-if="customizations.languages" class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('word.language') }}
{{ t('application.language') }}
</label>
<BaseSelect
v-model="localFunction.language"
@ -66,11 +66,11 @@
<div v-if="customizations.definer" class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('word.definer') }}
{{ t('database.definer') }}
</label>
<BaseSelect
v-model="localFunction.definer"
:options="[{value: '', name:t('message.currentUser')}, ...workspace.users]"
:options="[{value: '', name:t('database.currentUser')}, ...workspace.users]"
:option-label="(user: any) => user.value === '' ? user.name : `${user.name}@${user.host}`"
:option-track-by="(user: any) => user.value === '' ? '' : `\`${user.name}\`@\`${user.host}\``"
class="form-select"
@ -80,7 +80,7 @@
<div class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('word.returns') }}
{{ t('database.returns') }}
</label>
<div class="input-group">
<BaseSelect
@ -100,7 +100,7 @@
class="form-input"
type="number"
min="0"
:placeholder="t('word.length')"
:placeholder="t('database.length')"
>
</div>
</div>
@ -108,7 +108,7 @@
<div v-if="customizations.comment" class="column">
<div class="form-group">
<label class="form-label">
{{ t('word.comment') }}
{{ t('database.comment') }}
</label>
<input
v-model="localFunction.comment"
@ -120,7 +120,7 @@
<div class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('message.sqlSecurity') }}
{{ t('database.sqlSecurity') }}
</label>
<BaseSelect
v-model="localFunction.security"
@ -132,7 +132,7 @@
<div v-if="customizations.functionDataAccess" class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('message.dataAccess') }}
{{ t('database.dataAccess') }}
</label>
<BaseSelect
v-model="localFunction.dataAccess"
@ -145,7 +145,7 @@
<div class="form-group">
<label class="form-label d-invisible">.</label>
<label class="form-checkbox form-inline">
<input v-model="localFunction.deterministic" type="checkbox"><i class="form-icon" /> {{ t('word.deterministic') }}
<input v-model="localFunction.deterministic" type="checkbox"><i class="form-icon" /> {{ t('database.deterministic') }}
</label>
</div>
</div>
@ -153,7 +153,7 @@
</div>
<div class="workspace-query-results column col-12 mt-2 p-relative">
<BaseLoader v-if="isLoading" />
<label class="form-label ml-2">{{ t('message.functionBody') }}</label>
<label class="form-label ml-2">{{ t('database.functionBody') }}</label>
<QueryEditor
v-show="isSelected"
ref="queryEditor"

View File

@ -10,27 +10,27 @@
@click="saveChanges"
>
<i class="mdi mdi-24px mdi-content-save mr-1" />
<span>{{ t('word.save') }}</span>
<span>{{ t('general.save') }}</span>
</button>
<button
:disabled="!isChanged"
class="btn btn-link btn-sm mr-0"
:title="t('message.clearChanges')"
:title="t('database.clearChanges')"
@click="clearChanges"
>
<i class="mdi mdi-24px mdi-delete-sweep mr-1" />
<span>{{ t('word.clear') }}</span>
<span>{{ t('general.clear') }}</span>
</button>
<div class="divider-vert py-3" />
<button class="btn btn-dark btn-sm" @click="showParamsModal">
<i class="mdi mdi-24px mdi-dots-horizontal mr-1" />
<span>{{ t('word.parameters') }}</span>
<span>{{ t('database.parameters') }}</span>
</button>
</div>
<div class="workspace-query-info">
<div class="d-flex" :title="t('word.schema')">
<div class="d-flex" :title="t('database.schema')">
<i class="mdi mdi-18px mdi-database mr-1" /><b>{{ schema }}</b>
</div>
</div>
@ -41,7 +41,7 @@
<div class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('word.name') }}
{{ t('general.name') }}
</label>
<input
ref="firstInput"
@ -54,7 +54,7 @@
<div v-if="customizations.languages" class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('word.language') }}
{{ t('application.language') }}
</label>
<BaseSelect
v-model="localRoutine.language"
@ -66,11 +66,11 @@
<div v-if="customizations.definer" class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('word.definer') }}
{{ t('database.definer') }}
</label>
<BaseSelect
v-model="localRoutine.definer"
:options="[{value: '', name:t('message.currentUser')}, ...workspace.users]"
:options="[{value: '', name:t('database.currentUser')}, ...workspace.users]"
:option-label="(user: any) => user.value === '' ? user.name : `${user.name}@${user.host}`"
:option-track-by="(user: any) => user.value === '' ? '' : `\`${user.name}\`@\`${user.host}\``"
class="form-select"
@ -80,7 +80,7 @@
<div v-if="customizations.comment" class="column">
<div class="form-group">
<label class="form-label">
{{ t('word.comment') }}
{{ t('database.comment') }}
</label>
<input
v-model="localRoutine.comment"
@ -92,7 +92,7 @@
<div class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('message.sqlSecurity') }}
{{ t('database.sqlSecurity') }}
</label>
<BaseSelect
v-model="localRoutine.security"
@ -104,7 +104,7 @@
<div v-if="customizations.procedureDataAccess" class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('message.dataAccess') }}
{{ t('database.dataAccess') }}
</label>
<BaseSelect
v-model="localRoutine.dataAccess"
@ -117,7 +117,7 @@
<div class="form-group">
<label class="form-label d-invisible">.</label>
<label class="form-checkbox form-inline">
<input v-model="localRoutine.deterministic" type="checkbox"><i class="form-icon" /> {{ t('word.deterministic') }}
<input v-model="localRoutine.deterministic" type="checkbox"><i class="form-icon" /> {{ t('database.deterministic') }}
</label>
</div>
</div>
@ -125,7 +125,7 @@
</div>
<div class="workspace-query-results column col-12 mt-2 p-relative">
<BaseLoader v-if="isLoading" />
<label class="form-label ml-2">{{ t('message.routineBody') }}</label>
<label class="form-label ml-2">{{ t('database.routineBody') }}</label>
<QueryEditor
v-show="isSelected"
ref="queryEditor"

View File

@ -10,26 +10,26 @@
@click="saveChanges"
>
<i class="mdi mdi-24px mdi-content-save mr-1" />
<span>{{ t('word.save') }}</span>
<span>{{ t('general.save') }}</span>
</button>
<button
:disabled="!isChanged"
class="btn btn-link btn-sm mr-0"
:title="t('message.clearChanges')"
:title="t('database.clearChanges')"
@click="clearChanges"
>
<i class="mdi mdi-24px mdi-delete-sweep mr-1" />
<span>{{ t('word.clear') }}</span>
<span>{{ t('general.clear') }}</span>
</button>
<div class="divider-vert py-3" />
<button class="btn btn-dark btn-sm" @click="showTimingModal">
<i class="mdi mdi-24px mdi-timer mr-1" />
<span>{{ t('word.timing') }}</span>
<span>{{ t('database.timing') }}</span>
</button>
</div>
<div class="workspace-query-info">
<div class="d-flex" :title="t('word.schema')">
<div class="d-flex" :title="t('database.schema')">
<i class="mdi mdi-18px mdi-database mr-1" /><b>{{ schema }}</b>
</div>
</div>
@ -39,7 +39,7 @@
<div class="columns">
<div class="column col-auto">
<div class="form-group">
<label class="form-label">{{ t('word.name') }}</label>
<label class="form-label">{{ t('general.name') }}</label>
<input
ref="firstInput"
v-model="localScheduler.name"
@ -50,11 +50,11 @@
</div>
<div class="column col-auto">
<div class="form-group">
<label class="form-label">{{ t('word.definer') }}</label>
<label class="form-label">{{ t('database.definer') }}</label>
<BaseSelect
v-model="localScheduler.definer"
:options="users"
:option-label="(user: any) => user.value === '' ? t('message.currentUser') : `${user.name}@${user.host}`"
:option-label="(user: any) => user.value === '' ? t('database.currentUser') : `${user.name}@${user.host}`"
:option-track-by="(user: any) => user.value === '' ? '' : `\`${user.name}\`@\`${user.host}\``"
class="form-select"
/>
@ -62,7 +62,7 @@
</div>
<div class="column">
<div class="form-group">
<label class="form-label">{{ t('word.comment') }}</label>
<label class="form-label">{{ t('database.comment') }}</label>
<input
v-model="localScheduler.comment"
class="form-input"
@ -72,7 +72,7 @@
</div>
<div class="column">
<div class="form-group">
<label class="form-label mr-2">{{ t('word.state') }}</label>
<label class="form-label mr-2">{{ t('database.state') }}</label>
<label class="form-radio form-inline">
<input
v-model="localScheduler.state"
@ -103,7 +103,7 @@
</div>
<div class="workspace-query-results column col-12 mt-2 p-relative">
<BaseLoader v-if="isLoading" />
<label class="form-label ml-2">{{ t('message.schedulerBody') }}</label>
<label class="form-label ml-2">{{ t('database.schedulerBody') }}</label>
<QueryEditor
v-show="isSelected"
ref="queryEditor"

View File

@ -10,16 +10,16 @@
@click="saveChanges"
>
<i class="mdi mdi-24px mdi-content-save mr-1" />
<span>{{ t('word.save') }}</span>
<span>{{ t('general.save') }}</span>
</button>
<button
:disabled="!isChanged || isSaving"
class="btn btn-link btn-sm mr-0"
:title="t('message.clearChanges')"
:title="t('database.clearChanges')"
@click="clearChanges"
>
<i class="mdi mdi-24px mdi-delete-sweep mr-1" />
<span>{{ t('word.clear') }}</span>
<span>{{ t('general.clear') }}</span>
</button>
<div class="divider-vert py-3" />
@ -27,20 +27,20 @@
<button
:disabled="isSaving"
class="btn btn-dark btn-sm"
:title="t('message.addNewField')"
:title="t('database.addNewField')"
@click="addField"
>
<i class="mdi mdi-24px mdi-playlist-plus mr-1" />
<span>{{ t('word.add') }}</span>
<span>{{ t('general.add') }}</span>
</button>
<button
:disabled="isSaving || !localFields.length"
class="btn btn-dark btn-sm"
:title="t('message.manageIndexes')"
:title="t('database.manageIndexes')"
@click="showIntdexesModal"
>
<i class="mdi mdi-24px mdi-key mdi-rotate-45 mr-1" />
<span>{{ t('word.indexes') }}</span>
<span>{{ t('database.indexes') }}</span>
</button>
<button
class="btn btn-dark btn-sm"
@ -48,11 +48,11 @@
@click="showForeignModal"
>
<i class="mdi mdi-24px mdi-key-link mr-1" />
<span>{{ t('word.foreignKeys') }}</span>
<span>{{ t('database.foreignKeys') }}</span>
</button>
</div>
<div class="workspace-query-info">
<div class="d-flex" :title="t('word.schema')">
<div class="d-flex" :title="t('database.schema')">
<i class="mdi mdi-18px mdi-database mr-1" /><b>{{ schema }}</b>
</div>
</div>
@ -62,7 +62,7 @@
<div class="columns mb-4">
<div class="column col-auto">
<div class="form-group">
<label class="form-label">{{ t('word.name') }}</label>
<label class="form-label">{{ t('general.name') }}</label>
<input
ref="firstInput"
v-model="localOptions.name"
@ -73,7 +73,7 @@
</div>
<div v-if="workspace.customizations.comment" class="column">
<div class="form-group">
<label class="form-label">{{ t('word.comment') }}</label>
<label class="form-label">{{ t('database.comment') }}</label>
<input
v-model="localOptions.comment"
class="form-input"
@ -85,7 +85,7 @@
<div v-if="workspace.customizations.collations" class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('word.collation') }}
{{ t('database.collation') }}
</label>
<BaseSelect
v-model="localOptions.collation"
@ -100,7 +100,7 @@
<div v-if="workspace.customizations.engines" class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('word.engine') }}
{{ t('database.engine') }}
</label>
<BaseSelect
v-model="localOptions.engine"
@ -315,7 +315,7 @@ const addField = () => {
const uid = uidGen();
localFields.value.push({
_antares_id: uid,
name: `${t('word.field', 1)}_${uid.substring(0, 4)}`,
name: `${t('database.field', 1)}_${uid.substring(0, 4)}`,
key: '',
// eslint-disable-next-line @typescript-eslint/no-explicit-any
type: (workspace.value.dataTypes[0] as any).types[0].name,

View File

@ -1,12 +1,12 @@
<template>
<div class="column col-12 empty">
<p class="h6 empty-subtitle">
{{ t('message.thereAreNoTableFields') }}
{{ t('database.thereAreNoTableFields') }}
</p>
<div class="empty-action">
<button class="btn btn-gray d-flex" @click="emit('new-field')">
<i class="mdi mdi-24px mdi-playlist-plus mr-2" />
{{ t('message.addNewField') }}
{{ t('database.addNewField') }}
</button>
</div>
</div>

View File

@ -10,20 +10,20 @@
@click="saveChanges"
>
<i class="mdi mdi-24px mdi-content-save mr-1" />
<span>{{ t('word.save') }}</span>
<span>{{ t('general.save') }}</span>
</button>
<button
:disabled="!isChanged"
class="btn btn-link btn-sm mr-0"
:title="t('message.clearChanges')"
:title="t('database.clearChanges')"
@click="clearChanges"
>
<i class="mdi mdi-24px mdi-delete-sweep mr-1" />
<span>{{ t('word.clear') }}</span>
<span>{{ t('general.clear') }}</span>
</button>
</div>
<div class="workspace-query-info">
<div class="d-flex" :title="t('word.schema')">
<div class="d-flex" :title="t('database.schema')">
<i class="mdi mdi-18px mdi-database mr-1" /><b>{{ schema }}</b>
</div>
</div>
@ -33,7 +33,7 @@
<div class="columns">
<div class="column col-auto">
<div class="form-group">
<label class="form-label">{{ t('word.name') }}</label>
<label class="form-label">{{ t('general.name') }}</label>
<input
ref="firstInput"
v-model="localTrigger.name"
@ -44,11 +44,11 @@
</div>
<div v-if="customizations.definer" class="column col-auto">
<div class="form-group">
<label class="form-label">{{ t('word.definer') }}</label>
<label class="form-label">{{ t('database.definer') }}</label>
<BaseSelect
v-model="localTrigger.definer"
:options="users"
:option-label="(user: any) => user.value === '' ? t('message.currentUser') : `${user.name}@${user.host}`"
:option-label="(user: any) => user.value === '' ? t('database.currentUser') : `${user.name}@${user.host}`"
:option-track-by="(user: any) => user.value === '' ? '' : `\`${user.name}\`@\`${user.host}\``"
class="form-select"
/>
@ -57,7 +57,7 @@
<fieldset class="column columns mb-0" :disabled="customizations.triggerOnlyRename">
<div class="column col-auto">
<div class="form-group">
<label class="form-label">{{ t('word.table') }}</label>
<label class="form-label">{{ t('database.table') }}</label>
<BaseSelect
v-model="localTrigger.table"
:options="schemaTables"
@ -69,7 +69,7 @@
</div>
<div class="column col-auto">
<div class="form-group">
<label class="form-label">{{ t('word.event') }}</label>
<label class="form-label">{{ t('database.event') }}</label>
<div class="input-group">
<BaseSelect
v-model="localTrigger.activation"
@ -100,7 +100,7 @@
</div>
<div class="workspace-query-results column col-12 mt-2 p-relative">
<BaseLoader v-if="isLoading" />
<label class="form-label ml-2">{{ t('message.triggerStatement') }}</label>
<label class="form-label ml-2">{{ t('database.triggerStatement') }}</label>
<QueryEditor
v-show="isSelected"
ref="queryEditor"

View File

@ -10,16 +10,16 @@
@click="saveChanges"
>
<i class="mdi mdi-24px mdi-content-save mr-1" />
<span>{{ t('word.save') }}</span>
<span>{{ t('general.save') }}</span>
</button>
<button
:disabled="!isChanged"
class="btn btn-link btn-sm mr-0"
:title="t('message.clearChanges')"
:title="t('database.clearChanges')"
@click="clearChanges"
>
<i class="mdi mdi-24px mdi-delete-sweep mr-1" />
<span>{{ t('word.clear') }}</span>
<span>{{ t('general.clear') }}</span>
</button>
</div>
</div>
@ -29,7 +29,7 @@
<div class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('word.name') }}
{{ t('general.name') }}
</label>
<input
ref="firstInput"
@ -42,7 +42,7 @@
<div v-if="customizations.triggerFunctionlanguages" class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('word.language') }}
{{ t('application.language') }}
</label>
<BaseSelect
v-model="localFunction.language"
@ -54,12 +54,12 @@
<div v-if="customizations.definer" class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('word.definer') }}
{{ t('database.definer') }}
</label>
<BaseSelect
v-model="localFunction.definer"
:options="workspace.users"
:option-label="(user: any) => user.value === '' ? t('message.currentUser') : `${user.name}@${user.host}`"
:option-label="(user: any) => user.value === '' ? t('database.currentUser') : `${user.name}@${user.host}`"
:option-track-by="(user: any) => user.value === '' ? '' : `\`${user.name}\`@\`${user.host}\``"
class="form-select"
/>
@ -67,7 +67,7 @@
</div>
<div v-if="customizations.comment" class="form-group">
<label class="form-label">
{{ t('word.comment') }}
{{ t('database.comment') }}
</label>
<input
v-model="localFunction.comment"
@ -79,7 +79,7 @@
</div>
<div class="workspace-query-results column col-12 mt-2 p-relative">
<BaseLoader v-if="isLoading" />
<label class="form-label ml-2">{{ t('message.functionBody') }}</label>
<label class="form-label ml-2">{{ t('database.functionBody') }}</label>
<QueryEditor
v-show="isSelected"
ref="queryEditor"

View File

@ -10,20 +10,20 @@
@click="saveChanges"
>
<i class="mdi mdi-24px mdi-content-save mr-1" />
<span>{{ t('word.save') }}</span>
<span>{{ t('general.save') }}</span>
</button>
<button
:disabled="!isChanged"
class="btn btn-link btn-sm mr-0"
:title="t('message.clearChanges')"
:title="t('database.clearChanges')"
@click="clearChanges"
>
<i class="mdi mdi-24px mdi-delete-sweep mr-1" />
<span>{{ t('word.clear') }}</span>
<span>{{ t('general.clear') }}</span>
</button>
</div>
<div class="workspace-query-info">
<div class="d-flex" :title="t('word.schema')">
<div class="d-flex" :title="t('database.schema')">
<i class="mdi mdi-18px mdi-database mr-1" /><b>{{ schema }}</b>
</div>
</div>
@ -33,7 +33,7 @@
<div class="columns">
<div class="column col-auto">
<div class="form-group">
<label class="form-label">{{ t('word.name') }}</label>
<label class="form-label">{{ t('general.name') }}</label>
<input
ref="firstInput"
v-model="localView.name"
@ -44,11 +44,11 @@
</div>
<div class="column col-auto">
<div v-if="workspace.customizations.definer" class="form-group">
<label class="form-label">{{ t('word.definer') }}</label>
<label class="form-label">{{ t('database.definer') }}</label>
<BaseSelect
v-model="localView.definer"
:options="users"
:option-label="(user: any) => user.value === '' ? t('message.currentUser') : `${user.name}@${user.host}`"
:option-label="(user: any) => user.value === '' ? t('database.currentUser') : `${user.name}@${user.host}`"
:option-track-by="(user: any) => user.value === '' ? '' : `\`${user.name}\`@\`${user.host}\``"
class="form-select"
/>
@ -56,7 +56,7 @@
</div>
<div class="column col-auto mr-2">
<div v-if="workspace.customizations.viewSqlSecurity" class="form-group">
<label class="form-label">{{ t('message.sqlSecurity') }}</label>
<label class="form-label">{{ t('database.sqlSecurity') }}</label>
<BaseSelect
v-model="localView.security"
:options="['DEFINER', 'INVOKER']"
@ -66,7 +66,7 @@
</div>
<div class="column col-auto mr-2">
<div v-if="workspace.customizations.viewAlgorithm" class="form-group">
<label class="form-label">{{ t('word.algorithm') }}</label>
<label class="form-label">{{ t('database.algorithm') }}</label>
<BaseSelect
v-model="localView.algorithm"
:options="['UNDEFINED', 'MERGE', 'TEMPTABLE']"
@ -76,7 +76,7 @@
</div>
<div v-if="workspace.customizations.viewUpdateOption" class="column col-auto mr-2">
<div class="form-group">
<label class="form-label">{{ t('message.updateOption') }}</label>
<label class="form-label">{{ t('database.updateOption') }}</label>
<BaseSelect
v-model="localView.updateOption"
:option-track-by="(user: any) => user.value"
@ -89,7 +89,7 @@
</div>
<div class="workspace-query-results column col-12 mt-2 p-relative">
<BaseLoader v-if="isLoading" />
<label class="form-label ml-2">{{ t('message.selectStatement') }}</label>
<label class="form-label ml-2">{{ t('database.selectStatement') }}</label>
<QueryEditor
v-show="isSelected"
ref="queryEditor"

View File

@ -10,16 +10,16 @@
@click="saveChanges"
>
<i class="mdi mdi-24px mdi-content-save mr-1" />
<span>{{ t('word.save') }}</span>
<span>{{ t('general.save') }}</span>
</button>
<button
:disabled="!isChanged"
class="btn btn-link btn-sm mr-0"
:title="t('message.clearChanges')"
:title="t('database.clearChanges')"
@click="clearChanges"
>
<i class="mdi mdi-24px mdi-delete-sweep mr-1" />
<span>{{ t('word.clear') }}</span>
<span>{{ t('general.clear') }}</span>
</button>
<div class="divider-vert py-3" />
@ -30,15 +30,15 @@
@click="runFunctionCheck"
>
<i class="mdi mdi-24px mdi-play mr-1" />
<span>{{ t('word.run') }}</span>
<span>{{ t('general.run') }}</span>
</button>
<button class="btn btn-dark btn-sm" @click="showParamsModal">
<i class="mdi mdi-24px mdi-dots-horizontal mr-1" />
<span>{{ t('word.parameters') }}</span>
<span>{{ t('database.parameters') }}</span>
</button>
</div>
<div class="workspace-query-info">
<div class="d-flex" :title="t('word.schema')">
<div class="d-flex" :title="t('database.schema')">
<i class="mdi mdi-18px mdi-database mr-1" /><b>{{ schema }}</b>
</div>
</div>
@ -49,7 +49,7 @@
<div class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('word.name') }}
{{ t('general.name') }}
</label>
<input
ref="firstInput"
@ -63,7 +63,7 @@
<div v-if="customizations.languages" class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('word.language') }}
{{ t('application.language') }}
</label>
<BaseSelect
v-model="localFunction.language"
@ -75,11 +75,11 @@
<div v-if="customizations.definer" class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('word.definer') }}
{{ t('database.definer') }}
</label>
<BaseSelect
v-model="localFunction.definer"
:options="[{value: '', name:t('message.currentUser')}, ...workspace.users]"
:options="[{value: '', name:t('database.currentUser')}, ...workspace.users]"
:option-label="(user: any) => user.value === '' ? user.name : `${user.name}@${user.host}`"
:option-track-by="(user: any) => user.value === '' ? '' : `\`${user.name}\`@\`${user.host}\``"
class="form-select"
@ -89,7 +89,7 @@
<div class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('word.returns') }}
{{ t('database.returns') }}
</label>
<div class="input-group">
<BaseSelect
@ -109,7 +109,7 @@
class="form-input"
type="number"
min="0"
:placeholder="t('word.length')"
:placeholder="t('database.length')"
>
</div>
</div>
@ -117,7 +117,7 @@
<div v-if="customizations.comment" class="column">
<div class="form-group">
<label class="form-label">
{{ t('word.comment') }}
{{ t('database.comment') }}
</label>
<input
v-model="localFunction.comment"
@ -129,7 +129,7 @@
<div class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('message.sqlSecurity') }}
{{ t('database.sqlSecurity') }}
</label>
<BaseSelect
v-model="localFunction.security"
@ -141,7 +141,7 @@
<div v-if="customizations.functionDataAccess" class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('message.dataAccess') }}
{{ t('database.dataAccess') }}
</label>
<BaseSelect
v-model="localFunction.dataAccess"
@ -154,7 +154,7 @@
<div class="form-group">
<label class="form-label d-invisible">.</label>
<label class="form-checkbox form-inline">
<input v-model="localFunction.deterministic" type="checkbox"><i class="form-icon" /> {{ t('word.deterministic') }}
<input v-model="localFunction.deterministic" type="checkbox"><i class="form-icon" /> {{ t('database.deterministic') }}
</label>
</div>
</div>
@ -162,7 +162,7 @@
</div>
<div class="workspace-query-results column col-12 mt-2 p-relative">
<BaseLoader v-if="isLoading" />
<label class="form-label ml-2">{{ t('message.functionBody') }}</label>
<label class="form-label ml-2">{{ t('database.functionBody') }}</label>
<QueryEditor
v-show="isSelected"
ref="queryEditor"

View File

@ -1,6 +1,6 @@
<template>
<ConfirmModal
:confirm-text="t('word.confirm')"
:confirm-text="t('general.confirm')"
size="medium"
class="options-modal"
@confirm="confirmParametersChange"
@ -9,7 +9,7 @@
<template #header>
<div class="d-flex">
<i class="mdi mdi-24px mdi-dots-horizontal mr-1" />
<span class="cut-text">{{ t('word.parameters') }} "{{ func }}"</span>
<span class="cut-text">{{ t('database.parameters') }} "{{ func }}"</span>
</div>
</template>
<template #body>
@ -20,16 +20,16 @@
<div class="d-flex">
<button class="btn btn-dark btn-sm d-flex" @click="addParameter">
<i class="mdi mdi-24px mdi-plus mr-1" />
<span>{{ t('word.add') }}</span>
<span>{{ t('general.add') }}</span>
</button>
<button
class="btn btn-dark btn-sm d-flex ml-2 mr-0"
:title="t('message.clearChanges')"
:title="t('database.clearChanges')"
:disabled="!isChanged"
@click.prevent="clearChanges"
>
<i class="mdi mdi-24px mdi-delete-sweep mr-1" />
<span>{{ t('word.clear') }}</span>
<span>{{ t('general.clear') }}</span>
</button>
</div>
</div>
@ -55,7 +55,7 @@
<div class="tile-action">
<button
class="btn btn-link remove-field p-0 mr-2"
:title="t('word.delete')"
:title="t('general.delete')"
@click.prevent="removeParameter(param._antares_id)"
>
<i class="mdi mdi-close" />
@ -74,7 +74,7 @@
>
<div class="form-group">
<label class="form-label col-3">
{{ t('word.name') }}
{{ t('general.name') }}
</label>
<div class="column">
<input
@ -86,7 +86,7 @@
</div>
<div class="form-group">
<label class="form-label col-3">
{{ t('word.type') }}
{{ t('database.type') }}
</label>
<div class="column">
<BaseSelect
@ -102,7 +102,7 @@
</div>
<div v-if="customizations.parametersLength" class="form-group">
<label class="form-label col-3">
{{ t('word.length') }}
{{ t('database.length') }}
</label>
<div class="column">
<input
@ -115,7 +115,7 @@
</div>
<div v-if="customizations.functionContext" class="form-group">
<label class="form-label col-3">
{{ t('word.context') }}
{{ t('database.context') }}
</label>
<div class="column">
<label class="form-radio">
@ -150,11 +150,11 @@
<i class="mdi mdi-dots-horizontal mdi-48px" />
</div>
<p class="empty-title h5">
{{ t('message.thereAreNoParameters') }}
{{ t('database.thereAreNoParameters') }}
</p>
<div class="empty-action">
<button class="btn btn-primary" @click="addParameter">
{{ t('message.createNewParameter') }}
{{ t('database.createNewParameter') }}
</button>
</div>
</div>

View File

@ -10,16 +10,16 @@
@click="saveChanges"
>
<i class="mdi mdi-24px mdi-content-save mr-1" />
<span>{{ t('word.save') }}</span>
<span>{{ t('general.save') }}</span>
</button>
<button
:disabled="!isChanged"
class="btn btn-link btn-sm mr-0"
:title="t('message.clearChanges')"
:title="t('database.clearChanges')"
@click="clearChanges"
>
<i class="mdi mdi-24px mdi-delete-sweep mr-1" />
<span>{{ t('word.clear') }}</span>
<span>{{ t('general.clear') }}</span>
</button>
<div class="divider-vert py-3" />
@ -30,15 +30,15 @@
@click="runRoutineCheck"
>
<i class="mdi mdi-24px mdi-play mr-1" />
<span>{{ t('word.run') }}</span>
<span>{{ t('general.run') }}</span>
</button>
<button class="btn btn-dark btn-sm" @click="showParamsModal">
<i class="mdi mdi-24px mdi-dots-horizontal mr-1" />
<span>{{ t('word.parameters') }}</span>
<span>{{ t('database.parameters') }}</span>
</button>
</div>
<div class="workspace-query-info">
<div class="d-flex" :title="t('word.schema')">
<div class="d-flex" :title="t('database.schema')">
<i class="mdi mdi-18px mdi-database mr-1" /><b>{{ schema }}</b>
</div>
</div>
@ -49,7 +49,7 @@
<div class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('word.name') }}
{{ t('general.name') }}
</label>
<input
ref="firstInput"
@ -63,7 +63,7 @@
<div v-if="customizations.languages" class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('word.language') }}
{{ t('application.language') }}
</label>
<BaseSelect
v-model="localRoutine.language"
@ -75,11 +75,11 @@
<div v-if="customizations.definer" class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('word.definer') }}
{{ t('database.definer') }}
</label>
<BaseSelect
v-model="localRoutine.definer"
:options="[{value: '', name: t('message.currentUser')}, ...workspace.users]"
:options="[{value: '', name: t('database.currentUser')}, ...workspace.users]"
:option-label="(user: any) => user.value === '' ? user.name : `${user.name}@${user.host}`"
:option-track-by="(user: any) => user.value === '' ? '' : `\`${user.name}\`@\`${user.host}\``"
class="form-select"
@ -89,7 +89,7 @@
<div v-if="customizations.comment" class="column">
<div class="form-group">
<label class="form-label">
{{ t('word.comment') }}
{{ t('database.comment') }}
</label>
<input
v-model="localRoutine.comment"
@ -101,7 +101,7 @@
<div class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('message.sqlSecurity') }}
{{ t('database.sqlSecurity') }}
</label>
<BaseSelect
v-model="localRoutine.security"
@ -113,7 +113,7 @@
<div v-if="customizations.procedureDataAccess" class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('message.dataAccess') }}
{{ t('database.dataAccess') }}
</label>
<BaseSelect
v-model="localRoutine.dataAccess"
@ -126,7 +126,7 @@
<div class="form-group">
<label class="form-label d-invisible">.</label>
<label class="form-checkbox form-inline">
<input v-model="localRoutine.deterministic" type="checkbox"><i class="form-icon" /> {{ t('word.deterministic') }}
<input v-model="localRoutine.deterministic" type="checkbox"><i class="form-icon" /> {{ t('database.deterministic') }}
</label>
</div>
</div>
@ -134,7 +134,7 @@
</div>
<div class="workspace-query-results column col-12 mt-2 p-relative">
<BaseLoader v-if="isLoading" />
<label class="form-label ml-2">{{ t('message.routineBody') }}</label>
<label class="form-label ml-2">{{ t('database.routineBody') }}</label>
<QueryEditor
v-show="isSelected"
ref="queryEditor"

View File

@ -1,6 +1,6 @@
<template>
<ConfirmModal
:confirm-text="t('word.confirm')"
:confirm-text="t('general.confirm')"
size="medium"
class="options-modal"
@confirm="confirmParametersChange"
@ -9,7 +9,7 @@
<template #header>
<div class="d-flex">
<i class="mdi mdi-24px mdi-dots-horizontal mr-1" />
<span class="cut-text">{{ t('word.parameters') }} "{{ routine }}"</span>
<span class="cut-text">{{ t('database.parameters') }} "{{ routine }}"</span>
</div>
</template>
<template #body>
@ -20,16 +20,16 @@
<div class="d-flex">
<button class="btn btn-dark btn-sm d-flex" @click="addParameter">
<i class="mdi mdi-24px mdi-plus mr-1" />
<span>{{ t('word.add') }}</span>
<span>{{ t('general.add') }}</span>
</button>
<button
class="btn btn-dark btn-sm d-flex ml-2 mr-0"
:title="t('message.clearChanges')"
:title="t('database.clearChanges')"
:disabled="!isChanged"
@click.prevent="clearChanges"
>
<i class="mdi mdi-24px mdi-delete-sweep mr-1" />
<span>{{ t('word.clear') }}</span>
<span>{{ t('general.clear') }}</span>
</button>
</div>
</div>
@ -55,7 +55,7 @@
<div class="tile-action">
<button
class="btn btn-link remove-field p-0 mr-2"
:title="t('word.delete')"
:title="t('general.delete')"
@click.prevent="removeParameter(param._antares_id)"
>
<i class="mdi mdi-close" />
@ -74,7 +74,7 @@
>
<div class="form-group">
<label class="form-label col-3">
{{ t('word.name') }}
{{ t('general.name') }}
</label>
<div class="column">
<input
@ -86,7 +86,7 @@
</div>
<div class="form-group">
<label class="form-label col-3">
{{ t('word.type') }}
{{ t('database.type') }}
</label>
<div class="column">
<BaseSelect
@ -102,7 +102,7 @@
</div>
<div v-if="customizations.parametersLength" class="form-group">
<label class="form-label col-3">
{{ t('word.length') }}
{{ t('database.length') }}
</label>
<div class="column">
<input
@ -115,7 +115,7 @@
</div>
<div v-if="customizations.procedureContext" class="form-group">
<label class="form-label col-3">
{{ t('word.context') }}
{{ t('database.context') }}
</label>
<div class="column">
<label
@ -138,11 +138,11 @@
<i class="mdi mdi-dots-horizontal mdi-48px" />
</div>
<p class="empty-title h5">
{{ t('message.thereAreNoParameters') }}
{{ t('database.thereAreNoParameters') }}
</p>
<div class="empty-action">
<button class="btn btn-primary" @click="addParameter">
{{ t('message.createNewParameter') }}
{{ t('database.createNewParameter') }}
</button>
</div>
</div>

View File

@ -10,26 +10,26 @@
@click="saveChanges"
>
<i class="mdi mdi-24px mdi-content-save mr-1" />
<span>{{ t('word.save') }}</span>
<span>{{ t('general.save') }}</span>
</button>
<button
:disabled="!isChanged"
class="btn btn-link btn-sm mr-0"
:title="t('message.clearChanges')"
:title="t('database.clearChanges')"
@click="clearChanges"
>
<i class="mdi mdi-24px mdi-delete-sweep mr-1" />
<span>{{ t('word.clear') }}</span>
<span>{{ t('general.clear') }}</span>
</button>
<div class="divider-vert py-3" />
<button class="btn btn-dark btn-sm" @click="showTimingModal">
<i class="mdi mdi-24px mdi-timer mr-1" />
<span>{{ t('word.timing') }}</span>
<span>{{ t('database.timing') }}</span>
</button>
</div>
<div class="workspace-query-info">
<div class="d-flex" :title="t('word.schema')">
<div class="d-flex" :title="t('database.schema')">
<i class="mdi mdi-18px mdi-database mr-1" /><b>{{ schema }}</b>
</div>
</div>
@ -39,7 +39,7 @@
<div class="columns">
<div class="column col-auto">
<div class="form-group">
<label class="form-label">{{ t('word.name') }}</label>
<label class="form-label">{{ t('general.name') }}</label>
<input
v-model="localScheduler.name"
class="form-input"
@ -49,11 +49,11 @@
</div>
<div class="column col-auto">
<div class="form-group">
<label class="form-label">{{ t('word.definer') }}</label>
<label class="form-label">{{ t('database.definer') }}</label>
<BaseSelect
v-model="localScheduler.definer"
:options="users"
:option-label="(user: any) => user.value === '' ? t('message.currentUser') : `${user.name}@${user.host}`"
:option-label="(user: any) => user.value === '' ? t('database.currentUser') : `${user.name}@${user.host}`"
:option-track-by="(user: any) => user.value === '' ? '' : `\`${user.name}\`@\`${user.host}\``"
class="form-select"
/>
@ -61,7 +61,7 @@
</div>
<div class="column">
<div class="form-group">
<label class="form-label">{{ t('word.comment') }}</label>
<label class="form-label">{{ t('database.comment') }}</label>
<input
v-model="localScheduler.comment"
class="form-input"
@ -71,7 +71,7 @@
</div>
<div class="column">
<div class="form-group">
<label class="form-label mr-2">{{ t('word.state') }}</label>
<label class="form-label mr-2">{{ t('database.state') }}</label>
<label class="form-radio form-inline">
<input
v-model="localScheduler.state"
@ -102,7 +102,7 @@
</div>
<div class="workspace-query-results column col-12 mt-2 p-relative">
<BaseLoader v-if="isLoading" />
<label class="form-label ml-2">{{ t('message.schedulerBody') }}</label>
<label class="form-label ml-2">{{ t('database.schedulerBody') }}</label>
<QueryEditor
v-show="isSelected"
ref="queryEditor"

View File

@ -1,6 +1,6 @@
<template>
<ConfirmModal
:confirm-text="t('word.confirm')"
:confirm-text="t('general.confirm')"
size="400"
:disable-autofocus="true"
@confirm="confirmOptionsChange"
@ -9,14 +9,14 @@
<template #header>
<div class="d-flex">
<i class="mdi mdi-24px mdi-timer mr-1" />
<span class="cut-text">{{ t('word.timing') }} "{{ localOptions.name }}"</span>
<span class="cut-text">{{ t('database.timing') }} "{{ localOptions.name }}"</span>
</div>
</template>
<template #body>
<form class="form-horizontal">
<div class="form-group">
<label class="form-label col-4">
{{ t('word.execution') }}
{{ t('database.execution') }}
</label>
<div class="column">
<BaseSelect
@ -62,7 +62,7 @@
</div>
<div class="form-group">
<label class="form-label col-4">
{{ t('word.starts') }}
{{ t('database.starts') }}
</label>
<div class="column">
<div class="input-group">
@ -83,7 +83,7 @@
</div>
<div class="form-group">
<label class="form-label col-4">
{{ t('word.ends') }}
{{ t('database.ends') }}
</label>
<div class="column">
<div class="input-group">
@ -125,7 +125,7 @@
<div class="col-4" />
<div class="column">
<label class="form-checkbox form-inline mt-2">
<input v-model="optionsProxy.preserve" type="checkbox"><i class="form-icon" /> {{ t('message.preserveOnCompletion') }}
<input v-model="optionsProxy.preserve" type="checkbox"><i class="form-icon" /> {{ t('database.preserveOnCompletion') }}
</label>
</div>
</div>

View File

@ -10,16 +10,16 @@
@click="saveChanges"
>
<i class="mdi mdi-24px mdi-content-save mr-1" />
<span>{{ t('word.save') }}</span>
<span>{{ t('general.save') }}</span>
</button>
<button
:disabled="!isChanged || isSaving"
class="btn btn-link btn-sm mr-0"
:title="t('message.clearChanges')"
:title="t('database.clearChanges')"
@click="clearChanges"
>
<i class="mdi mdi-24px mdi-delete-sweep mr-1" />
<span>{{ t('word.clear') }}</span>
<span>{{ t('general.clear') }}</span>
</button>
<div class="divider-vert py-3" />
@ -27,20 +27,20 @@
<button
:disabled="isSaving"
class="btn btn-dark btn-sm"
:title="t('message.addNewField')"
:title="t('database.addNewField')"
@click="addField"
>
<i class="mdi mdi-24px mdi-playlist-plus mr-1" />
<span>{{ t('word.add') }}</span>
<span>{{ t('general.add') }}</span>
</button>
<button
:disabled="isSaving"
class="btn btn-dark btn-sm"
:title="t('message.manageIndexes')"
:title="t('database.manageIndexes')"
@click="showIntdexesModal"
>
<i class="mdi mdi-24px mdi-key mdi-rotate-45 mr-1" />
<span>{{ t('word.indexes') }}</span>
<span>{{ t('database.indexes') }}</span>
</button>
<button
class="btn btn-dark btn-sm mr-0"
@ -48,7 +48,7 @@
@click="showForeignModal"
>
<i class="mdi mdi-24px mdi-key-link mr-1" />
<span>{{ t('word.foreignKeys') }}</span>
<span>{{ t('database.foreignKeys') }}</span>
</button>
<div class="divider-vert py-3" />
@ -60,11 +60,11 @@
@click="showDdlModal"
>
<i class="mdi mdi-24px mdi-code-tags mr-1" />
<span>{{ t('word.ddl') }}</span>
<span>{{ t('database.ddl') }}</span>
</button>
</div>
<div class="workspace-query-info">
<div class="d-flex" :title="t('word.schema')">
<div class="d-flex" :title="t('database.schema')">
<i class="mdi mdi-18px mdi-database mr-1" /><b>{{ schema }}</b>
</div>
</div>
@ -74,7 +74,7 @@
<div class="columns mb-4">
<div class="column col-auto">
<div class="form-group">
<label class="form-label">{{ t('word.name') }}</label>
<label class="form-label">{{ t('general.name') }}</label>
<input
v-model="localOptions.name"
class="form-input"
@ -84,7 +84,7 @@
</div>
<div v-if="workspace.customizations.comment" class="column">
<div class="form-group">
<label class="form-label">{{ t('word.comment') }}</label>
<label class="form-label">{{ t('database.comment') }}</label>
<input
v-model="localOptions.comment"
class="form-input"
@ -96,7 +96,7 @@
<div v-if="workspace.customizations.autoIncrement" class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('word.autoIncrement') }}
{{ t('database.autoIncrement') }}
</label>
<input
ref="firstInput"
@ -110,7 +110,7 @@
<div v-if="workspace.customizations.collations" class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('word.collation') }}
{{ t('database.collation') }}
</label>
<BaseSelect
v-model="localOptions.collation"
@ -125,7 +125,7 @@
<div v-if="workspace.customizations.engines" class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('word.engine') }}
{{ t('database.engine') }}
</label>
<BaseSelect
v-model="localOptions.engine"
@ -559,7 +559,7 @@ const addField = () => {
const uid = uidGen();
localFields.value.push({
_antares_id: uid,
name: `${t('word.field', 1)}_${uid.substring(0, 4)}`,
name: `${t('database.field', 1)}_${uid.substring(0, 4)}`,
key: '',
// eslint-disable-next-line @typescript-eslint/no-explicit-any
type: (workspace.value.dataTypes[0] as any).types[0].name,

View File

@ -4,7 +4,7 @@
@close-context="closeContext"
>
<div class="context-element">
<span class="d-flex"><i class="mdi mdi-18px mdi-key-plus text-light pr-1" /> {{ t('message.createNewIndex') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-key-plus text-light pr-1" /> {{ t('database.createNewIndex') }}</span>
<i class="mdi mdi-18px mdi-chevron-right text-light pl-1" />
<div class="context-submenu">
<div
@ -19,7 +19,7 @@
</div>
</div>
<div v-if="indexes.length" class="context-element">
<span class="d-flex"><i class="mdi mdi-18px mdi-key-arrow-right text-light pr-1" /> {{ t('message.addToIndex') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-key-arrow-right text-light pr-1" /> {{ t('database.addToIndex') }}</span>
<i class="mdi mdi-18px mdi-chevron-right text-light pl-1" />
<div class="context-submenu">
<div
@ -34,10 +34,10 @@
</div>
</div>
<div class="context-element" @click="duplicateField">
<span class="d-flex"><i class="mdi mdi-18px mdi-content-duplicate text-light pr-1" /> {{ t('word.duplicate') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-content-duplicate text-light pr-1" /> {{ t('general.duplicate') }}</span>
</div>
<div class="context-element" @click="deleteField">
<span class="d-flex"><i class="mdi mdi-18px mdi-delete text-light pr-1" /> {{ t('message.deleteField') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-delete text-light pr-1" /> {{ t('database.deleteField') }}</span>
</div>
</BaseContextMenu>
</template>

View File

@ -1,16 +1,16 @@
<template>
<ConfirmModal
:confirm-text="t('word.confirm')"
:confirm-text="t('general.confirm')"
size="large"
class="options-modal"
:cancel-text="t('word.close')"
:cancel-text="t('general.close')"
:hide-footer="true"
@hide="$emit('hide')"
>
<template #header>
<div class="d-flex">
<i class="mdi mdi-24px mdi-code-tags mr-1" />
<span class="cut-text">{{ t('word.ddl') }} "{{ table }}"</span>
<span class="cut-text">{{ t('database.ddl') }} "{{ table }}"</span>
</div>
</template>
<template #body>

View File

@ -21,81 +21,81 @@
<div class="tr">
<div class="th">
<div class="text-right">
{{ t('word.order') }}
{{ t('database.order') }}
</div>
</div>
<div class="th">
<div class="table-column-title">
{{ t('word.key', 2) }}
{{ t('database.key', 2) }}
</div>
</div>
<div class="th">
<div class="column-resizable min-100">
<div class="table-column-title">
{{ t('word.name') }}
{{ t('general.name') }}
</div>
</div>
</div>
<div class="th">
<div class="column-resizable min-100">
<div class="table-column-title">
{{ t('word.type') }}
{{ t('database.type') }}
</div>
</div>
</div>
<div v-if="customizations.tableArray" class="th">
<div class="column-resizable">
<div class="table-column-title">
{{ t('word.array') }}
{{ t('database.array') }}
</div>
</div>
</div>
<div class="th">
<div class="column-resizable">
<div class="table-column-title">
{{ t('word.length') }}
{{ t('database.length') }}
</div>
</div>
</div>
<div v-if="customizations.unsigned" class="th">
<div class="column-resizable">
<div class="table-column-title">
{{ t('word.unsigned') }}
{{ t('database.unsigned') }}
</div>
</div>
</div>
<div v-if="customizations.nullable" class="th">
<div class="column-resizable">
<div class="table-column-title">
{{ t('message.allowNull') }}
{{ t('database.allowNull') }}
</div>
</div>
</div>
<div v-if="customizations.zerofill" class="th">
<div class="column-resizable">
<div class="table-column-title">
{{ t('message.zeroFill') }}
{{ t('database.zeroFill') }}
</div>
</div>
</div>
<div class="th">
<div class="column-resizable">
<div class="table-column-title">
{{ t('word.default') }}
{{ t('database.default') }}
</div>
</div>
</div>
<div v-if="customizations.comment" class="th">
<div class="column-resizable">
<div class="table-column-title">
{{ t('word.comment') }}
{{ t('database.comment') }}
</div>
</div>
</div>
<div v-if="customizations.collation" class="th">
<div class="column-resizable min-100">
<div class="table-column-title">
{{ t('word.collation') }}
{{ t('database.collation') }}
</div>
</div>
</div>

View File

@ -1,6 +1,6 @@
<template>
<ConfirmModal
:confirm-text="t('word.confirm')"
:confirm-text="t('general.confirm')"
size="medium"
class="options-modal"
@confirm="confirmForeignsChange"
@ -9,7 +9,7 @@
<template #header>
<div class="d-flex">
<i class="mdi mdi-24px mdi-key-link mr-1" />
<span class="cut-text">{{ t('word.foreignKeys') }} "{{ table }}"</span>
<span class="cut-text">{{ t('database.foreignKeys') }} "{{ table }}"</span>
</div>
</template>
<template #body>
@ -20,16 +20,16 @@
<div class="d-flex">
<button class="btn btn-dark btn-sm d-flex" @click="addForeign">
<i class="mdi mdi-24px mdi-link-plus mr-1" />
<span>{{ t('word.add') }}</span>
<span>{{ t('general.add') }}</span>
</button>
<button
class="btn btn-dark btn-sm d-flex ml-2 mr-0"
:title="t('message.clearChanges')"
:title="t('database.clearChanges')"
:disabled="!isChanged"
@click.prevent="clearChanges"
>
<i class="mdi mdi-24px mdi-delete-sweep mr-1" />
<span>{{ t('word.clear') }}</span>
<span>{{ t('general.clear') }}</span>
</button>
</div>
</div>
@ -67,7 +67,7 @@
<div class="tile-action">
<button
class="btn btn-link remove-field p-0 mr-2"
:title="t('word.delete')"
:title="t('general.delete')"
@click.prevent="removeIndex(foreign._antares_id)"
>
<i class="mdi mdi-close" />
@ -86,7 +86,7 @@
>
<div class="form-group">
<label class="form-label col-3">
{{ t('word.name') }}
{{ t('general.name') }}
</label>
<div class="column">
<input
@ -98,7 +98,7 @@
</div>
<div class="form-group mb-4">
<label class="form-label col-3">
{{ t('word.field', 1) }}
{{ t('database.field', 1) }}
</label>
<div class="fields-list column pt-1">
<label
@ -114,7 +114,7 @@
</div>
<div class="form-group">
<label class="form-label col-3">
{{ t('message.referenceTable') }}
{{ t('database.referenceTable') }}
</label>
<div class="column">
<BaseSelect
@ -129,7 +129,7 @@
</div>
<div class="form-group mb-4">
<label class="form-label col-3">
{{ t('message.referenceField') }}
{{ t('database.referenceField') }}
</label>
<div class="fields-list column pt-1">
<label
@ -145,7 +145,7 @@
</div>
<div class="form-group">
<label class="form-label col-3">
{{ t('message.onUpdate') }}
{{ t('database.onUpdate') }}
</label>
<div class="column">
<BaseSelect
@ -157,7 +157,7 @@
</div>
<div class="form-group">
<label class="form-label col-3">
{{ t('message.onDelete') }}
{{ t('database.onDelete') }}
</label>
<div class="column">
<BaseSelect
@ -174,11 +174,11 @@
<i class="mdi mdi-key-link mdi-48px" />
</div>
<p class="empty-title h5">
{{ t('message.thereAreNoForeign') }}
{{ t('database.thereAreNoForeign') }}
</p>
<div class="empty-action">
<button class="btn btn-primary" @click="addForeign">
{{ t('message.createNewForeign') }}
{{ t('database.createNewForeign') }}
</button>
</div>
</div>

View File

@ -1,6 +1,6 @@
<template>
<ConfirmModal
:confirm-text="t('word.confirm')"
:confirm-text="t('general.confirm')"
size="medium"
class="options-modal"
@confirm="confirmIndexesChange"
@ -9,7 +9,7 @@
<template #header>
<div class="d-flex">
<i class="mdi mdi-24px mdi-key mdi-rotate-45 mr-1" />
<span class="cut-text">{{ t('word.indexes') }} "{{ table }}"</span>
<span class="cut-text">{{ t('database.indexes') }} "{{ table }}"</span>
</div>
</template>
<template #body>
@ -20,16 +20,16 @@
<div class="d-flex">
<button class="btn btn-dark btn-sm d-flex" @click="addIndex">
<i class="mdi mdi-24px mdi-key-plus mr-1" />
<span>{{ t('word.add') }}</span>
<span>{{ t('general.add') }}</span>
</button>
<button
class="btn btn-dark btn-sm d-flex ml-2 mr-0"
:title="t('message.clearChanges')"
:title="t('database.clearChanges')"
:disabled="!isChanged"
@click.prevent="clearChanges"
>
<i class="mdi mdi-24px mdi-delete-sweep mr-1" />
<span>{{ t('word.clear') }}</span>
<span>{{ t('general.clear') }}</span>
</button>
</div>
</div>
@ -50,12 +50,12 @@
<div class="tile-title">
{{ index.name }}
</div>
<small class="tile-subtitle text-gray">{{ index.type }} · {{ index.fields.length }} {{ t('word.field', index.fields.length) }}</small>
<small class="tile-subtitle text-gray">{{ index.type }} · {{ index.fields.length }} {{ t('database.field', index.fields.length) }}</small>
</div>
<div class="tile-action">
<button
class="btn btn-link remove-field p-0 mr-2"
:title="t('word.delete')"
:title="t('general.delete')"
@click.prevent="removeIndex(index._antares_id)"
>
<i class="mdi mdi-close" />
@ -74,7 +74,7 @@
>
<div class="form-group">
<label class="form-label col-3">
{{ t('word.name') }}
{{ t('general.name') }}
</label>
<div class="column">
<input
@ -86,7 +86,7 @@
</div>
<div class="form-group">
<label class="form-label col-3">
{{ t('word.type') }}
{{ t('database.type') }}
</label>
<div class="column">
<BaseSelect
@ -99,7 +99,7 @@
</div>
<div class="form-group">
<label class="form-label col-3">
{{ t('word.field', fields.length) }}
{{ t('database.field', fields.length) }}
</label>
<div class="fields-list column pt-1">
<label
@ -119,11 +119,11 @@
<i class="mdi mdi-key-outline mdi-48px" />
</div>
<p class="empty-title h5">
{{ t('message.thereAreNoIndexes') }}
{{ t('database.thereAreNoIndexes') }}
</p>
<div class="empty-action">
<button class="btn btn-primary" @click="addIndex">
{{ t('message.createNewIndex') }}
{{ t('database.createNewIndex') }}
</button>
</div>
</div>

View File

@ -220,7 +220,7 @@
</div>
<ConfirmModal
v-if="isDefaultModal"
:confirm-text="t('word.confirm')"
:confirm-text="t('general.confirm')"
size="400"
@confirm="editOFF"
@hide="hideDefaultModal"
@ -228,7 +228,7 @@
<template #header>
<div class="d-flex">
<i class="mdi mdi-24px mdi-playlist-edit mr-1" />
<span class="cut-text">{{ t('word.default') }} "{{ row.name }}"</span>
<span class="cut-text">{{ t('database.default') }} "{{ row.name }}"</span>
</div>
</template>
<template #body>
@ -251,7 +251,7 @@
value="custom"
type="radio"
name="default"
><i class="form-icon" /> {{ t('message.customValue') }}
><i class="form-icon" /> {{ t('database.customValue') }}
</label>
<div class="column">
<input
@ -292,7 +292,7 @@
type="radio"
name="default"
value="expression"
><i class="form-icon" /> {{ t('word.expression') }}
><i class="form-icon" /> {{ t('database.expression') }}
</label>
<div class="column">
<input
@ -307,7 +307,7 @@
<div v-if="customizations.onUpdate">
<div class="form-group">
<label class="form-label col-4">
{{ t('message.onUpdate') }}
{{ t('database.onUpdate') }}
</label>
<div class="column">
<input

View File

@ -10,20 +10,20 @@
@click="saveChanges"
>
<i class="mdi mdi-24px mdi-content-save mr-1" />
<span>{{ t('word.save') }}</span>
<span>{{ t('general.save') }}</span>
</button>
<button
:disabled="!isChanged"
class="btn btn-link btn-sm mr-0"
:title="t('message.clearChanges')"
:title="t('database.clearChanges')"
@click="clearChanges"
>
<i class="mdi mdi-24px mdi-delete-sweep mr-1" />
<span>{{ t('word.clear') }}</span>
<span>{{ t('general.clear') }}</span>
</button>
</div>
<div class="workspace-query-info">
<div class="d-flex" :title="t('word.schema')">
<div class="d-flex" :title="t('database.schema')">
<i class="mdi mdi-18px mdi-database mr-1" /><b>{{ schema }}</b>
</div>
</div>
@ -33,7 +33,7 @@
<div class="columns">
<div class="column col-auto">
<div class="form-group">
<label class="form-label">{{ t('word.name') }}</label>
<label class="form-label">{{ t('general.name') }}</label>
<input
v-model="localTrigger.name"
class="form-input"
@ -43,11 +43,11 @@
</div>
<div v-if="customizations.definer" class="column col-auto">
<div class="form-group">
<label class="form-label">{{ t('word.definer') }}</label>
<label class="form-label">{{ t('database.definer') }}</label>
<BaseSelect
v-model="localTrigger.definer"
:options="users"
:option-label="(user: any) => user.value === '' ? t('message.currentUser') : `${user.name}@${user.host}`"
:option-label="(user: any) => user.value === '' ? t('database.currentUser') : `${user.name}@${user.host}`"
:option-track-by="(user: any) => user.value === '' ? '' : `\`${user.name}\`@\`${user.host}\``"
class="form-select"
/>
@ -56,7 +56,7 @@
<fieldset class="column columns mb-0" :disabled="customizations.triggerOnlyRename">
<div class="column col-auto">
<div class="form-group">
<label class="form-label">{{ t('word.table') }}</label>
<label class="form-label">{{ t('database.table') }}</label>
<BaseSelect
v-model="localTrigger.table"
:options="schemaTables"
@ -68,7 +68,7 @@
</div>
<div class="column col-auto">
<div class="form-group">
<label class="form-label">{{ t('word.event') }}</label>
<label class="form-label">{{ t('database.event') }}</label>
<div class="input-group">
<BaseSelect
v-model="localTrigger.activation"
@ -100,7 +100,7 @@
</div>
<div class="workspace-query-results column col-12 mt-2 p-relative">
<BaseLoader v-if="isLoading" />
<label class="form-label ml-2">{{ t('message.triggerStatement') }}</label>
<label class="form-label ml-2">{{ t('database.triggerStatement') }}</label>
<QueryEditor
v-show="isSelected"
ref="queryEditor"

View File

@ -10,16 +10,16 @@
@click="saveChanges"
>
<i class="mdi mdi-24px mdi-content-save mr-1" />
<span>{{ t('word.save') }}</span>
<span>{{ t('general.save') }}</span>
</button>
<button
:disabled="!isChanged"
class="btn btn-link btn-sm mr-0"
:title="t('message.clearChanges')"
:title="t('database.clearChanges')"
@click="clearChanges"
>
<i class="mdi mdi-24px mdi-delete-sweep mr-1" />
<span>{{ t('word.clear') }}</span>
<span>{{ t('general.clear') }}</span>
</button>
</div>
</div>
@ -29,7 +29,7 @@
<div v-if="customizations.triggerFunctionlanguages" class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('word.language') }}
{{ t('application.language') }}
</label>
<BaseSelect
v-model="localFunction.language"
@ -41,12 +41,12 @@
<div v-if="customizations.definer" class="column col-auto">
<div class="form-group">
<label class="form-label">
{{ t('word.definer') }}
{{ t('database.definer') }}
</label>
<BaseSelect
v-model="localFunction.definer"
:options="workspace.users"
:option-label="(user: any) => user.value === '' ? t('message.currentUser') : `${user.name}@${user.host}`"
:option-label="(user: any) => user.value === '' ? t('database.currentUser') : `${user.name}@${user.host}`"
:option-track-by="(user: any) => user.value === '' ? '' : `\`${user.name}\`@\`${user.host}\``"
class="form-select"
/>
@ -54,7 +54,7 @@
</div>
<div v-if="customizations.comment" class="form-group">
<label class="form-label">
{{ t('word.comment') }}
{{ t('database.comment') }}
</label>
<input
v-model="localFunction.comment"
@ -66,7 +66,7 @@
</div>
<div class="workspace-query-results column col-12 mt-2 p-relative">
<BaseLoader v-if="isLoading" />
<label class="form-label ml-2">{{ t('message.functionBody') }}</label>
<label class="form-label ml-2">{{ t('database.functionBody') }}</label>
<QueryEditor
v-show="isSelected"
ref="queryEditor"

View File

@ -10,20 +10,20 @@
@click="saveChanges"
>
<i class="mdi mdi-24px mdi-content-save mr-1" />
<span>{{ t('word.save') }}</span>
<span>{{ t('general.save') }}</span>
</button>
<button
:disabled="!isChanged"
class="btn btn-link btn-sm mr-0"
:title="t('message.clearChanges')"
:title="t('database.clearChanges')"
@click="clearChanges"
>
<i class="mdi mdi-24px mdi-delete-sweep mr-1" />
<span>{{ t('word.clear') }}</span>
<span>{{ t('general.clear') }}</span>
</button>
</div>
<div class="workspace-query-info">
<div class="d-flex" :title="t('word.schema')">
<div class="d-flex" :title="t('database.schema')">
<i class="mdi mdi-18px mdi-database mr-1" /><b>{{ schema }}</b>
</div>
</div>
@ -33,7 +33,7 @@
<div class="columns">
<div class="column col-auto">
<div class="form-group">
<label class="form-label">{{ t('word.name') }}</label>
<label class="form-label">{{ t('general.name') }}</label>
<input
v-model="localView.name"
class="form-input"
@ -43,11 +43,11 @@
</div>
<div class="column col-auto">
<div v-if="workspace.customizations.definer" class="form-group">
<label class="form-label">{{ t('word.definer') }}</label>
<label class="form-label">{{ t('database.definer') }}</label>
<BaseSelect
v-model="localView.definer"
:options="users"
:option-label="(user: any) => user.value === '' ? t('message.currentUser') : `${user.name}@${user.host}`"
:option-label="(user: any) => user.value === '' ? t('database.currentUser') : `${user.name}@${user.host}`"
:option-track-by="(user: any) => user.value === '' ? '' : `\`${user.name}\`@\`${user.host}\``"
class="form-select"
/>
@ -55,7 +55,7 @@
</div>
<div class="column col-auto mr-2">
<div v-if="workspace.customizations.viewSqlSecurity" class="form-group">
<label class="form-label">{{ t('message.sqlSecurity') }}</label>
<label class="form-label">{{ t('database.sqlSecurity') }}</label>
<BaseSelect
v-model="localView.security"
:options="['DEFINER', 'INVOKER']"
@ -65,7 +65,7 @@
</div>
<div class="column col-auto mr-2">
<div v-if="workspace.customizations.viewAlgorithm" class="form-group">
<label class="form-label">{{ t('word.algorithm') }}</label>
<label class="form-label">{{ t('database.algorithm') }}</label>
<BaseSelect
v-model="localView.algorithm"
:options="['UNDEFINED', 'MERGE', 'TEMPTABLE']"
@ -75,7 +75,7 @@
</div>
<div v-if="workspace.customizations.viewUpdateOption" class="column col-auto mr-2">
<div class="form-group">
<label class="form-label">{{ t('message.updateOption') }}</label>
<label class="form-label">{{ t('database.updateOption') }}</label>
<BaseSelect
v-model="localView.updateOption"
:option-track-by="(user: any) => user.value"
@ -88,7 +88,7 @@
</div>
<div class="workspace-query-results column col-12 mt-2 p-relative">
<BaseLoader v-if="isLoading" />
<label class="form-label ml-2">{{ t('message.selectStatement') }}</label>
<label class="form-label ml-2">{{ t('database.selectStatement') }}</label>
<QueryEditor
v-show="isSelected"
ref="queryEditor"

View File

@ -24,11 +24,11 @@
v-if="showCancel && isQuering"
class="btn btn-primary btn-sm cancellable"
:disabled="!query"
:title="t('word.cancel')"
:title="t('general.cancel')"
@click="killTabQuery()"
>
<i class="mdi mdi-24px mdi-window-close" />
<span class="d-invisible pr-1">{{ t('word.run') }}</span>
<span class="d-invisible pr-1">{{ t('general.run') }}</span>
</button>
<button
v-else
@ -38,7 +38,7 @@
@click="runQuery(query)"
>
<i class="mdi mdi-24px mdi-play pr-1" />
<span>{{ t('word.run') }}</span>
<span>{{ t('general.run') }}</span>
</button>
</div>
<button
@ -48,7 +48,7 @@
@click="commitTab()"
>
<i class="mdi mdi-24px mdi-cube-send pr-1" />
<span>{{ t('word.commit') }}</span>
<span>{{ t('database.commit') }}</span>
</button>
<button
v-if="!autocommit"
@ -57,7 +57,7 @@
@click="rollbackTab()"
>
<i class="mdi mdi-24px mdi-undo-variant pr-1" />
<span>{{ t('word.rollback') }}</span>
<span>{{ t('database.rollback') }}</span>
</button>
<button
class="btn btn-link btn-sm mr-0"
@ -65,7 +65,7 @@
@click="clear()"
>
<i class="mdi mdi-24px mdi-delete-sweep pr-1" />
<span>{{ t('word.clear') }}</span>
<span>{{ t('general.clear') }}</span>
</button>
<div class="divider-vert py-3" />
@ -76,7 +76,7 @@
@click="beautify()"
>
<i class="mdi mdi-24px mdi-brush pr-1" />
<span>{{ t('word.format') }}</span>
<span>{{ t('general.format') }}</span>
</button>
<button
class="btn btn-dark btn-sm"
@ -84,7 +84,7 @@
@click="openHistoryModal()"
>
<i class="mdi mdi-24px mdi-history pr-1" />
<span>{{ t('word.history') }}</span>
<span>{{ t('general.history') }}</span>
</button>
<div class="dropdown table-dropdown pr-2">
<button
@ -93,7 +93,7 @@
tabindex="0"
>
<i class="mdi mdi-24px mdi-file-export mr-1" />
<span>{{ t('word.export') }}</span>
<span>{{ t('database.export') }}</span>
<i class="mdi mdi-24px mdi-menu-down" />
</button>
<ul class="menu text-left">
@ -104,18 +104,18 @@
<a class="c-hand" @click="downloadTable('csv')">CSV</a>
</li>
<li class="menu-item">
<a class="c-hand" @click="downloadTable('php')">{{ t('message.phpArray') }}</a>
<a class="c-hand" @click="downloadTable('php')">{{ t('application.phpArray') }}</a>
</li>
<li class="menu-item">
<a class="c-hand" @click="downloadTable('sql')">SQL INSERT</a>
</li>
</ul>
</div>
<div class="input-group pr-2" :title="t('message.commitMode')">
<div class="input-group pr-2" :title="t('database.commitMode')">
<i class="input-group-addon addon-sm mdi mdi-24px mdi-source-commit p-0" />
<BaseSelect
v-model="autocommit"
:options="[{value: true, label: t('message.autoCommit')}, {value: false, label: t('message.manualCommit')}]"
:options="[{value: true, label: t('database.autoCommit')}, {value: false, label: t('database.manualCommit')}]"
:option-label="(opt: any) => opt.label"
:option-track-by="(opt: any) => opt.value"
class="form-select select-sm text-bold"
@ -126,30 +126,30 @@
<div
v-if="results.length"
class="d-flex"
:title="t('message.queryDuration')"
:title="t('database.queryDuration')"
>
<i class="mdi mdi-timer-sand mdi-rotate-180 pr-1" /> <b>{{ durationsCount / 1000 }}s</b>
</div>
<div
v-if="resultsCount"
class="d-flex"
:title="t('word.results')"
:title="t('general.results')"
>
<i class="mdi mdi-equal pr-1" /> <b>{{ resultsCount.toLocaleString() }}</b>
</div>
<div
v-if="hasAffected"
class="d-flex"
:title="t('message.affectedRows')"
:title="t('database.affectedRows')"
>
<i class="mdi mdi-target pr-1" /> <b>{{ affectedCount }}</b>
</div>
<div class="input-group" :title="t('word.schema')">
<div class="input-group" :title="t('database.schema')">
<i class="input-group-addon addon-sm mdi mdi-24px mdi-database" />
<BaseSelect
v-model="selectedSchema"
:options="[{value: null, label: t('message.noSchema')}, ...databaseSchemas.map(el => ({label: el, value: el}))]"
:options="[{value: null, label: t('database.noSchema')}, ...databaseSchemas.map(el => ({label: el, value: el}))]"
class="form-select select-sm text-bold"
/>
</div>
@ -468,7 +468,7 @@ const commitTab = async () => {
await Schema.commitTab(params);
setUnsavedChanges({ uid: props.connection.uid, tUid: props.tabUid, isChanged: false });
addNotification({ status: 'success', message: t('message.actionSuccessful', { action: 'COMMIT' }) });
addNotification({ status: 'success', message: t('general.actionSuccessful', { action: 'COMMIT' }) });
}
catch (err) {
addNotification({ status: 'error', message: err.stack });
@ -487,7 +487,7 @@ const rollbackTab = async () => {
await Schema.rollbackTab(params);
setUnsavedChanges({ uid: props.connection.uid, tUid: props.tabUid, isChanged: false });
addNotification({ status: 'success', message: t('message.actionSuccessful', { action: 'ROLLBACK' }) });
addNotification({ status: 'success', message: t('general.actionSuccessful', { action: 'ROLLBACK' }) });
}
catch (err) {
addNotification({ status: 'error', message: err.stack });

View File

@ -102,12 +102,12 @@
<template #header>
<div class="d-flex">
<i class="mdi mdi-24px mdi-delete mr-1" />
<span class="cut-text">{{ t('message.deleteRows', selectedRows.length) }}</span>
<span class="cut-text">{{ t('database.deleteRows', selectedRows.length) }}</span>
</div>
</template>
<template #body>
<div class="mb-2">
{{ t('message.confirmToDeleteRows', selectedRows.length) }}
{{ t('database.confirmToDeleteRows', selectedRows.length) }}
</div>
</template>
</ConfirmModal>
@ -120,12 +120,12 @@
<template #header>
<div class="d-flex">
<i class="mdi mdi-24px mdi-file-export mr-1" />
<span class="cut-text">{{ t('message.sqlExportOptions') }}</span>
<span class="cut-text">{{ t('database.sqlExportOptions') }}</span>
</div>
</template>
<template #body>
<div class="columns">
<label class="column col-12 h6 mb-2 cut-text">{{ t('message.targetTable') }}</label>
<label class="column col-12 h6 mb-2 cut-text">{{ t('database.targetTable') }}</label>
<div class="column col-12">
<input
v-model.number="sqlExportOptions.targetTable"
@ -134,7 +134,7 @@
:placeholder="chunkModalRequest"
>
</div>
<label class="column col-12 h6 mb-2 mt-4 cut-text">{{ t('message.newInsertStmtEvery') }}:</label>
<label class="column col-12 h6 mb-2 mt-4 cut-text">{{ t('database.newInsertStmtEvery') }}:</label>
<div class="column col-6">
<input
v-model.number="sqlExportOptions.sqlInsertAfter"
@ -146,7 +146,7 @@
<BaseSelect
v-model="sqlExportOptions.sqlInsertDivider"
class="form-select"
:options="[{value: 'bytes', label: 'KiB'}, {value: 'rows', label: t('word.row', 2)}]"
:options="[{value: 'bytes', label: 'KiB'}, {value: 'rows', label: t('database.row', 2)}]"
/>
</div>
</div>
@ -161,14 +161,14 @@
<template #header>
<div class="d-flex">
<i class="mdi mdi-24px mdi-file-export mr-1" />
<span class="cut-text">{{ t('message.csvExportOptions') }}</span>
<span class="cut-text">{{ t('application.csvExportOptions') }}</span>
</div>
</template>
<template #body>
<div class="columns">
<div class="form-group column col-12 columns col-gapless">
<div class="column col-5">
<label class="form-label cut-text">{{ t('message.csvFieldDelimiter') }}:</label>
<label class="form-label cut-text">{{ t('application.csvFieldDelimiter') }}:</label>
</div>
<div class="column col-7">
<input
@ -180,23 +180,23 @@
</div>
<div class="form-group column col-12 columns col-gapless">
<div class="column col-5">
<label class="form-label cut-text">{{ t('message.csvStringDelimiter') }}:</label>
<label class="form-label cut-text">{{ t('application.csvStringDelimiter') }}:</label>
</div>
<div class="column col-7">
<BaseSelect
v-model="csvExportOptions.stringDelimiter"
class="form-select"
:options="[
{value: '', label: t('word.none')},
{value: 'single', label: t('word.singleQuote')},
{value: 'double', label: t('word.doubleQuote')}
{value: '', label: t('general.none')},
{value: 'single', label: t('general.singleQuote')},
{value: 'double', label: t('general.doubleQuote')}
]"
/>
</div>
</div>
<div class="form-group column col-12 columns col-gapless">
<div class="column col-5">
<label class="form-label cut-text">{{ t('message.csvLinesTerminator') }}:</label>
<label class="form-label cut-text">{{ t('application.csvLinesTerminator') }}:</label>
</div>
<div class="column col-7">
<textarea
@ -210,7 +210,7 @@
<div class="form-group column col-12 columns col-gapless">
<div class="column col-5">
<label class="form-label">
{{ t('message.csvIncludeHeader') }}
{{ t('application.csvIncludeHeader') }}
</label>
</div>
<div class="column col-7">

View File

@ -4,7 +4,7 @@
@close-context="closeContext"
>
<div class="context-element">
<span class="d-flex"><i class="mdi mdi-18px mdi-content-copy text-light pr-1" /> {{ t('word.copy') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-content-copy text-light pr-1" /> {{ t('general.copy') }}</span>
<i class="mdi mdi-18px mdi-chevron-right text-light pl-1" />
<div class="context-submenu">
<div
@ -13,32 +13,32 @@
@click="copyCell"
>
<span class="d-flex">
<i class="mdi mdi-18px mdi-numeric-0 mdi-rotate-90 text-light pr-1" /> {{ t('word.cell', 1) }}
<i class="mdi mdi-18px mdi-numeric-0 mdi-rotate-90 text-light pr-1" /> {{ t('database.cell', 1) }}
</span>
</div>
<div class="context-element" @click="copyRow('html')">
<span class="d-flex">
<i class="mdi mdi-18px mdi-table-row text-light pr-1" /> {{ t('word.row', selectedRows.length) }} ({{ t('word.table') }})
<i class="mdi mdi-18px mdi-table-row text-light pr-1" /> {{ t('database.row', selectedRows.length) }} ({{ t('database.table') }})
</span>
</div>
<div class="context-element" @click="copyRow('json')">
<span class="d-flex">
<i class="mdi mdi-18px mdi-table-row text-light pr-1" /> {{ t('word.row', selectedRows.length) }} (JSON)
<i class="mdi mdi-18px mdi-table-row text-light pr-1" /> {{ t('database.row', selectedRows.length) }} (JSON)
</span>
</div>
<div class="context-element" @click="copyRow('csv')">
<span class="d-flex">
<i class="mdi mdi-18px mdi-table-row text-light pr-1" /> {{ t('word.row', selectedRows.length) }} (CSV)
<i class="mdi mdi-18px mdi-table-row text-light pr-1" /> {{ t('database.row', selectedRows.length) }} (CSV)
</span>
</div>
<div class="context-element" @click="copyRow('php')">
<span class="d-flex">
<i class="mdi mdi-18px mdi-table-row text-light pr-1" /> {{ t('word.row', selectedRows.length) }} (PHP)
<i class="mdi mdi-18px mdi-table-row text-light pr-1" /> {{ t('database.row', selectedRows.length) }} (PHP)
</span>
</div>
<div class="context-element" @click="copyRow('sql')">
<span class="d-flex">
<i class="mdi mdi-18px mdi-table-row text-light pr-1" /> {{ t('word.row', selectedRows.length) }} (SQL INSERT)
<i class="mdi mdi-18px mdi-table-row text-light pr-1" /> {{ t('database.row', selectedRows.length) }} (SQL INSERT)
</span>
</div>
</div>
@ -49,7 +49,7 @@
@click="duplicateRow"
>
<span class="d-flex">
<i class="mdi mdi-18px mdi-content-duplicate text-light pr-1" /> {{ t('word.duplicate') }}
<i class="mdi mdi-18px mdi-content-duplicate text-light pr-1" /> {{ t('general.duplicate') }}
</span>
</div>
<div
@ -57,7 +57,7 @@
class="context-element"
>
<span class="d-flex">
<i class="mdi mdi-18px mdi-auto-fix text-light pr-1" /> {{ t('message.fillCell') }}
<i class="mdi mdi-18px mdi-auto-fix text-light pr-1" /> {{ t('database.fillCell') }}
</span>
<i class="mdi mdi-18px mdi-chevron-right text-light pl-1" />
<div class="context-submenu">
@ -79,7 +79,7 @@
@click="setNull"
>
<span class="d-flex">
<i class="mdi mdi-18px mdi-null text-light pr-1" /> {{ t('message.setNull') }}
<i class="mdi mdi-18px mdi-null text-light pr-1" /> {{ t('database.setNull') }}
</span>
</div>
<div
@ -88,7 +88,7 @@
@click="showConfirmModal"
>
<span class="d-flex">
<i class="mdi mdi-18px mdi-delete text-light pr-1" /> {{ t('message.deleteRows', selectedRows.length) }}
<i class="mdi mdi-18px mdi-delete text-light pr-1" /> {{ t('database.deleteRows', selectedRows.length) }}
</span>
</div>
</BaseContextMenu>

View File

@ -73,7 +73,7 @@
</div>
<ConfirmModal
v-if="isTextareaEditor"
:confirm-text="t('word.update')"
:confirm-text="t('application.update')"
size="medium"
:disable-autofocus="true"
@confirm="editOFF"
@ -81,7 +81,7 @@
>
<template #header>
<div class="d-flex">
<i class="mdi mdi-24px mdi-playlist-edit mr-1" /> <span class="cut-text">{{ t('word.edit') }} "{{ editingField }}"</span>
<i class="mdi mdi-24px mdi-playlist-edit mr-1" /> <span class="cut-text">{{ t('general.edit') }} "{{ editingField }}"</span>
</div>
</template>
<template #body>
@ -96,7 +96,7 @@
<div class="editor-field-info p-vcentered">
<div class="d-flex p-vcentered">
<label for="editorMode" class="form-label mr-2">
<b>{{ t('word.content') }}</b>:
<b>{{ t('general.content') }}</b>:
</label>
<BaseSelect
id="editorMode"
@ -110,10 +110,10 @@
<div class="d-flex">
<div class="p-vcentered">
<div class="mr-4">
<b>{{ t('word.size') }}</b>: {{ editingContent ? editingContent.length : 0 }}
<b>{{ t('general.size') }}</b>: {{ editingContent ? editingContent.length : 0 }}
</div>
<div v-if="editingType">
<b>{{ t('word.type') }}</b>: {{ editingType.toUpperCase() }}
<b>{{ t('database.type') }}</b>: {{ editingType.toUpperCase() }}
</div>
</div>
</div>
@ -138,14 +138,14 @@
</ConfirmModal>
<ConfirmModal
v-if="isBlobEditor"
:confirm-text="t('word.update')"
:confirm-text="t('application.update')"
@confirm="editOFF"
@hide="hideEditorModal"
>
<template #header>
<div class="d-flex">
<i class="mdi mdi-24px mdi-playlist-edit mr-1" />
<span class="cut-text">{{ t('word.edit') }} "{{ editingField }}"</span>
<span class="cut-text">{{ t('general.edit') }} "{{ editingField }}"</span>
</div>
</template>
<template #body>
@ -162,11 +162,11 @@
</div>
<div class="editor-buttons mt-2">
<button class="btn btn-link btn-sm" @click="downloadFile">
<span>{{ t('word.download') }}</span>
<span>{{ t('general.download') }}</span>
<i class="mdi mdi-24px mdi-download ml-1" />
</button>
<button class="btn btn-link btn-sm" @click="prepareToDelete">
<span>{{ t('word.delete') }}</span>
<span>{{ t('general.delete') }}</span>
<i class="mdi mdi-24px mdi-delete-forever ml-1" />
</button>
</div>
@ -174,15 +174,15 @@
</Transition>
<div class="editor-field-info">
<div>
<b>{{ t('word.size') }}</b>: {{ formatBytes(editingContent.length) }}<br>
<b>{{ t('word.mimeType') }}</b>: {{ contentInfo.mime }}
<b>{{ t('general.size') }}</b>: {{ formatBytes(editingContent.length) }}<br>
<b>{{ t('general.mimeType') }}</b>: {{ contentInfo.mime }}
</div>
<div v-if="editingType">
<b>{{ t('word.type') }}</b>: {{ editingType.toUpperCase() }}
<b>{{ t('database.type') }}</b>: {{ editingType.toUpperCase() }}
</div>
</div>
<div class="mt-3">
<label>{{ t('message.uploadFile') }}</label>
<label>{{ t('general.uploadFile') }}</label>
<input
class="form-input"
type="file"

View File

@ -8,7 +8,7 @@
<button
class="btn btn-dark btn-sm mr-0 pr-1"
:class="{'loading':isQuering}"
:title="`${t('word.refresh')}`"
:title="`${t('general.refresh')}`"
@click="reloadTable"
>
<i v-if="!+autorefreshTimer" class="mdi mdi-24px mdi-refresh mr-1" />
@ -18,7 +18,7 @@
<i class="mdi mdi-24px mdi-menu-down" />
</div>
<div class="menu px-3">
<span>{{ t('word.autoRefresh') }}: <b>{{ +autorefreshTimer ? `${autorefreshTimer}s` : 'OFF' }}</b></span>
<span>{{ t('general.autoRefresh') }}: <b>{{ +autorefreshTimer ? `${autorefreshTimer}s` : 'OFF' }}</b></span>
<input
v-model="autorefreshTimer"
class="slider no-border"
@ -35,7 +35,7 @@
<button
class="btn btn-dark btn-sm mr-0"
:disabled="isQuering || page === 1"
:title="t('message.previousResultsPage')"
:title="t('application.previousResultsPage')"
@click="pageChange('prev')"
>
<i class="mdi mdi-24px mdi-skip-previous" />
@ -46,7 +46,7 @@
{{ page }}
</div>
<div class="menu px-3">
<span>{{ t('message.pageNumber') }}</span>
<span>{{ t('general.pageNumber') }}</span>
<input
ref="pageSelect"
v-model="pageProxy"
@ -61,7 +61,7 @@
<button
class="btn btn-dark btn-sm mr-0"
:disabled="isQuering || (results.length && results[0].rows.length < limit)"
:title="t('message.nextResultsPage')"
:title="t('application.nextResultsPage')"
@click="pageChange('next')"
>
<i class="mdi mdi-24px mdi-skip-next" />
@ -72,7 +72,7 @@
<button
class="btn btn-sm"
:title="t('word.filter')"
:title="t('general.filter')"
:disabled="isQuering"
:class="{'btn-primary': isSearch, 'btn-dark': !isSearch}"
@click="isSearch = !isSearch"
@ -86,7 +86,7 @@
@click="showFakerModal()"
>
<i class="mdi mdi-24px mdi-playlist-plus mr-1" />
<span>{{ t('message.insertRow', 2) }}</span>
<span>{{ t('database.insertRow', 2) }}</span>
</button>
<div class="dropdown table-dropdown">
@ -96,7 +96,7 @@
tabindex="0"
>
<i class="mdi mdi-24px mdi-file-export mr-1" />
<span>{{ t('word.export') }}</span>
<span>{{ t('database.export') }}</span>
<i class="mdi mdi-24px mdi-menu-down" />
</button>
<ul class="menu text-left">
@ -107,7 +107,7 @@
<a class="c-hand" @click="downloadTable('csv')">CSV</a>
</li>
<li class="menu-item">
<a class="c-hand" @click="downloadTable('php')">{{ t('message.phpArray') }}</a>
<a class="c-hand" @click="downloadTable('php')">{{ t('application.phpArray') }}</a>
</li>
<li class="menu-item">
<a class="c-hand" @click="downloadTable('sql')">SQL INSERT</a>
@ -120,33 +120,33 @@
<button
class="btn btn-dark btn-sm"
:disabled="isQuering"
:title="t('word.settings')"
:title="t('application.settings')"
@click="openTableSettingTab()"
>
<i class="mdi mdi-24px mdi-cog" />
<!-- <span>{{ t('word.settings') }}</span> -->
<!-- <span>{{ t('application.settings') }}</span> -->
</button>
</div>
<div class="workspace-query-info">
<div
v-if="results.length"
class="d-flex"
:title="t('message.queryDuration')"
:title="t('database.queryDuration')"
>
<i class="mdi mdi-timer-sand mdi-rotate-180 pr-1" /> <b>{{ results[0].duration / 1000 }}s</b>
</div>
<div v-if="results.length && results[0].rows">
{{ t('word.results') }}: <b>{{ localeString(results[0].rows.length) }}</b>
{{ t('general.results') }}: <b>{{ localeString(results[0].rows.length) }}</b>
</div>
<div v-if="hasApproximately || (page > 1 && approximateCount)">
{{ t('word.total') }}: <b
:title="!customizations.tableRealCount ? t('word.approximately') : ''"
{{ t('database.total') }}: <b
:title="!customizations.tableRealCount ? t('database.approximately') : ''"
>
<span v-if="!customizations.tableRealCount"></span>
{{ localeString(approximateCount) }}
</b>
</div>
<div class="d-flex" :title="t('word.schema')">
<div class="d-flex" :title="t('database.schema')">
<i class="mdi mdi-18px mdi-database mr-1" /><b>{{ schema }}</b>
</div>
</div>
@ -166,7 +166,7 @@
<i class="mdi mdi-48px mdi-island" />
</div>
<p class="h4 empty-subtitle">
{{ t('message.noResultsPresent') }}
{{ t('database.noResultsPresent') }}
</p>
</div>
<WorkspaceTabQueryTable

View File

@ -51,7 +51,7 @@
class="btn btn-sm btn-primary mr-0 ml-2"
type="submit"
>
{{ t('word.filter') }}
{{ t('general.filter') }}
</button>
<button
class="btn btn-sm btn-dark mr-0 ml-2"

View File

@ -4,19 +4,19 @@
@close-context="closeContext"
>
<div class="context-element" @click.stop="closeAllTabs">
<span class="d-flex"><i class="mdi mdi-18px mdi-asterisk text-light pr-1" /> {{ t('message.closeAllTabs') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-asterisk text-light pr-1" /> {{ t('application.closeAllTabs') }}</span>
</div>
<div class="context-element" @click.stop="closeOtherTabs">
<span class="d-flex"><i class="mdi mdi-18px mdi-not-equal text-light pr-1" /> {{ t('message.closeOtherTabs') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-not-equal text-light pr-1" /> {{ t('application.closeOtherTabs') }}</span>
</div>
<div class="context-element" @click.stop="closeLeftTabs">
<span class="d-flex"><i class="mdi mdi-18px mdi-less-than text-light pr-1" /> {{ t('message.closeTabsToLeft') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-less-than text-light pr-1" /> {{ t('application.closeTabsToLeft') }}</span>
</div>
<div class="context-element" @click.stop="closeRightTabs">
<span class="d-flex"><i class="mdi mdi-18px mdi-greater-than text-light pr-1" /> {{ t('message.closeTabsToRight') }}</span>
<span class="d-flex"><i class="mdi mdi-18px mdi-greater-than text-light pr-1" /> {{ t('application.closeTabsToRight') }}</span>
</div>
</BaseContextMenu>
</template>

View File

@ -1,5 +1,5 @@
export const arSA = {
word: {
general: {
edit: 'تعديل',
save: 'حفظ',
close: 'إغلاق',
@ -7,6 +7,23 @@ export const arSA = {
confirm: 'تأكيد',
cancel: 'إلغاء',
send: 'إرسال',
refresh: 'تحديث',
version: 'النسخة',
donate: 'إدعم',
run: 'شغل',
results: 'النتائج',
size: 'الحجم',
mimeType: 'نوع الميديا',
download: 'تحميل',
add: 'أضف',
data: 'بيانات',
properties: 'خصائص',
insert: 'أدرج',
seconds: 'ثواني',
deleteConfirm: 'هل أنت متأكد من حذف الإتصال؟',
uploadFile: 'رفع ملف'
},
connection: {
connectionName: 'إسم الإتصال',
client: 'العميل',
hostName: 'إسم المستضيف',
@ -18,31 +35,6 @@ export const arSA = {
connected: 'متصل',
disconnect: 'إلغاء الإتصال',
disconnected: 'غير متصل',
refresh: 'تحديث',
settings: 'الإعدادات',
general: 'عام',
themes: 'الأنماط',
update: 'تحديث',
about: 'حول',
language: 'اللغة',
version: 'النسخة',
donate: 'إدعم',
run: 'شغل',
schema: 'Schema',
results: 'النتائج',
size: 'الحجم',
seconds: 'ثواني',
type: 'نوع',
mimeType: 'نوع الميديا',
download: 'تحميل',
add: 'أضف',
data: 'بيانات',
properties: 'خصائص',
insert: 'أدرج'
},
message: {
appWelcome: 'مرحبا بك في عميل الSQL انتاريس!',
appFirstStep: 'خطوتك الأولى قم بإنشاء إتصال جديد بقاعدة بيانات.',
addConnection: 'إضافة إتصال',
createConnection: 'إنشاء إتصال',
createNewConnection: 'إنشاء إتصال جديد',
@ -50,8 +42,25 @@ export const arSA = {
testConnection: 'إختبر الإتصال',
editConnection: 'عدل الإتصال',
deleteConnection: 'إحذف الإتصال',
deleteConfirm: 'هل أنت متأكد من حذف الإتصال؟',
connectionSuccessfullyMade: 'تم الإتصال بنجاح!',
connectionSuccessfullyMade: 'تم الإتصال بنجاح!'
},
database: {
schema: 'Schema',
type: 'نوع',
unableEditFieldWithoutPrimary: 'لا يمكن تعديل الخانة بدون وجود مفتاح رئيسي في النتائج',
editCell: 'تعديل الخلية',
deleteRows: 'حذف صف | حذف {count} صفوف',
confirmToDeleteRows: 'هل أنت متأكد من حذف صف واحد؟? | هل أنت متأكد من حذف {count} صف?',
addNewRow: 'إضافة صف جديد',
numberOfInserts: 'عدد الإدراجات'
},
application: {
settings: 'الإعدادات',
general: 'عام',
themes: 'الأنماط',
update: 'تحديث',
about: 'حول',
language: 'اللغة',
madeWithJS: 'بني بـ 💛 و جافاسكربت!',
checkForUpdates: 'تأكد من التحديثات',
noUpdatesAvailable: 'لا توجد تحديثات',
@ -61,13 +70,6 @@ export const arSA = {
downloadingUpdate: 'جاري تحميل التحديث',
updateDownloaded: 'تم تحميل التحديث',
restartToInstall: 'قم بإعادة تشغيل انتاريس للتحديث',
unableEditFieldWithoutPrimary: 'لا يمكن تعديل الخانة بدون وجود مفتاح رئيسي في النتائج',
editCell: 'تعديل الخلية',
deleteRows: 'حذف صف | حذف {count} صفوف',
confirmToDeleteRows: 'هل أنت متأكد من حذف صف واحد؟? | هل أنت متأكد من حذف {count} صف?',
notificationsTimeout: 'إنتهاء التنبيهات',
uploadFile: 'رفع ملف',
addNewRow: 'إضافة صف جديد',
numberOfInserts: 'عدد الإدراجات'
notificationsTimeout: 'إنتهاء التنبيهات'
}
};

View File

@ -1,5 +1,5 @@
export const deDE = {
word: {
general: {
edit: 'Bearbeiten',
save: 'Speichern',
close: 'Schließen',
@ -7,6 +7,40 @@ export const deDE = {
confirm: 'Bestätigen',
cancel: 'Abbrechen',
send: 'Senden',
refresh: 'Aktualisieren',
autoRefresh: 'Auto-Aktualisierung',
version: 'Version',
donate: 'Spenden',
run: 'Ausführen',
results: 'Ergebnisse',
size: 'Größe',
mimeType: 'Mime-Type',
download: 'Herunterladen',
add: 'Hinzufügen',
data: 'Daten',
properties: 'Eigenschaften',
insert: 'Einfügen',
name: 'Name',
clear: 'Leeren',
seconds: 'Sekunden',
options: 'Optionen',
discard: 'Verwerfen',
stay: 'Warten',
author: 'Autor',
upload: 'Hochladen',
browse: 'Suchen',
content: 'Inhalt',
cut: 'Ausschneiden',
copy: 'Kopieren',
paste: 'Einfügen',
tools: 'Tools',
format: 'Formatierung',
deleteConfirm: 'Bestätige den Abbruch von',
uploadFile: 'Datei hochladen',
manualValue: 'Manueller Wert',
selectAll: 'Alle auswählen'
},
connection: {
connectionName: 'Verbindungsname',
client: 'Client',
hostName: 'Hostname',
@ -18,39 +52,32 @@ export const deDE = {
connected: 'Verbunden',
disconnect: 'Trennen',
disconnected: 'Getrennt',
refresh: 'Aktualisieren',
settings: 'Einstellungen',
general: 'Allgemein',
themes: 'Designs',
update: 'Aktualisierung',
about: 'Über',
language: 'Sprache',
version: 'Version',
donate: 'Spenden',
run: 'Ausführen',
ssl: 'SSL',
privateKey: 'Privater Schlüssel',
certificate: 'Zertifikat',
caCertificate: 'CA Zertifikat',
ciphers: 'Chiffren',
sshTunnel: 'SSH Tunnel',
addConnection: 'Verbindung hinzufügen',
createConnection: 'Verbindung erstellen',
createNewConnection: 'Neue Verbindung erstellen',
askCredentials: 'Frage nach Zugangsdaten',
testConnection: 'Verbindung testen',
editConnection: 'Verbindung bearbeiten',
deleteConnection: 'Verbindung löschen',
connectionSuccessfullyMade: 'Verbindung erfolgreich erstellt!',
enableSsl: 'Aktiviere SSL',
enableSsh: 'Aktiviere SSH'
},
database: {
schema: 'Schema',
results: 'Ergebnisse',
size: 'Größe',
seconds: 'Sekunden',
type: 'Typ',
mimeType: 'Mime-Type',
download: 'Herunterladen',
add: 'Hinzufügen',
data: 'Daten',
properties: 'Eigenschaften',
insert: 'Einfügen',
connecting: 'Verbinden',
name: 'Name',
collation: 'Kollation',
clear: 'Leeren',
options: 'Optionen',
autoRefresh: 'Auto-Aktualisierung',
indexes: 'Indizes',
foreignKeys: 'Fremdschlüssel',
length: 'Länge',
unsigned: 'Unsigniert',
default: 'Standard',
comment: 'Kommentar',
collation: 'Kollation',
key: 'Schlüssel',
order: 'Sortierung',
expression: 'Ausdruck',
@ -60,15 +87,8 @@ export const deDE = {
approximately: 'Ungefähr',
total: 'Gesamt',
table: 'Tabelle',
discard: 'Verwerfen',
stay: 'Warten',
author: 'Autor',
light: 'Hell',
dark: 'Dunkel',
autoCompletion: 'Auto-Vervollständigung',
application: 'Anwendung',
editor: 'Editor',
view: 'Ansicht',
indexes: 'Indizes',
definer: 'Bestimmer',
algorithm: 'Algorithmus',
trigger: 'Auslöser',
@ -86,57 +106,16 @@ export const deDE = {
execution: 'Ausführung',
starts: 'Startet',
ends: 'Endet',
ssl: 'SSL',
privateKey: 'Privater Schlüssel',
certificate: 'Zertifikat',
caCertificate: 'CA Zertifikat',
ciphers: 'Chiffren',
upload: 'Hochladen',
browse: 'Suchen',
faker: 'Faker',
content: 'Inhalt',
cut: 'Ausschneiden',
copy: 'Kopieren',
paste: 'Einfügen',
tools: 'Tools',
variables: 'Variablen',
processes: 'Prozesse',
database: 'Datenbank',
scratchpad: 'Scratchpad',
array: 'Array',
format: 'Formatierung',
sshTunnel: 'SSH Tunnel'
},
message: {
appWelcome: 'Willkommen im Antares SQL Client!',
appFirstStep: 'Dein erster Schritt: Erstelle eine neue Datenbankverbindung.',
addConnection: 'Verbindung hinzufügen',
createConnection: 'Verbindung erstellen',
createNewConnection: 'Neue Verbindung erstellen',
askCredentials: 'Frage nach Zugangsdaten',
testConnection: 'Verbindung testen',
editConnection: 'Verbindung bearbeiten',
deleteConnection: 'Verbindung löschen',
deleteConfirm: 'Bestätige den Abbruch von',
connectionSuccessfullyMade: 'Verbindung erfolgreich erstellt!',
madeWithJS: 'Mit 💛 und JavaScript gemacht!',
checkForUpdates: 'Suche nach Aktualisierungen',
noUpdatesAvailable: 'Keine Aktualisierungen verfügbar',
checkingForUpdate: 'Suche nach Aktualisierungen',
checkFailure: 'Suche fehlgeschlagen, bitte versuche es später noch einmal',
updateAvailable: 'Aktualisierung verfügbar',
downloadingUpdate: 'Aktualisierung wird heruntergeladen',
updateDownloaded: 'Aktualisierung heruntergeladen',
restartToInstall: 'Starte Antares neu für die Installation',
unableEditFieldWithoutPrimary: 'Feld kann ohne Primärschlüssel in Ergebnisliste nicht bearbeitet werden',
editCell: 'Zelle bearbeiten',
deleteRows: 'Zeile löschen | Lösche {count} Zeilen',
confirmToDeleteRows: 'Eine Zeile wirklich löschen? | {count} Zeilen wirklich löschen?',
notificationsTimeout: 'Timeout für Benachrichtigungen',
uploadFile: 'Datei hochladen',
addNewRow: 'Neue Zeile hinzufügen',
numberOfInserts: 'Anzahl der eingefügten Zeilen',
openNewTab: 'Öffne einen neuen Tab',
affectedRows: 'Betroffene Zeilen',
createNewDatabase: 'Erstelle ein neue Datenbank',
databaseName: 'Datenbankname',
@ -158,8 +137,6 @@ export const deDE = {
emptyTable: 'Tabelle leeren',
deleteTable: 'Tabelle löschen',
emptyConfirm: 'Wirklich leeren?',
unsavedChanges: 'Ungespeicherte Änderungen',
discardUnsavedChanges: 'Du hast ungespeicherte Änderungen. Wenn du den Tab verlässt, werden diese Änderungen verworfen.',
thereAreNoIndexes: 'Es gibt keine Indizes',
thereAreNoForeign: 'Es gibt keine Fremdschlüssel',
createNewForeign: 'Neuen Fremdschlüssel erstellen',
@ -168,9 +145,6 @@ export const deDE = {
foreignFields: 'Fremdfelder',
invalidDefault: 'Ungültiger Standard',
onDelete: 'Bei Löschung',
applicationTheme: 'Anwendungsdesign',
editorTheme: 'Editordesign',
wrapLongLines: 'Lange Zeilen umbrechen',
selectStatement: 'Select-Anweisung',
triggerStatement: 'Trigger-Anweisung',
sqlSecurity: 'SQL-Sicherheit',
@ -193,14 +167,9 @@ export const deDE = {
createNewScheduler: 'Neuen Zeitplaner erstellen',
deleteScheduler: 'Zeitplaner löschen',
preserveOnCompletion: 'Bei Vervollständigung erhalten',
enableSsl: 'Aktiviere SSL',
manualValue: 'Manueller Wert',
tableFiller: 'Tabellenfüller',
fakeDataLanguage: 'Fingierte Datensprache',
searchForElements: 'Suche nach Elemente',
selectAll: 'Alle auswählen',
queryDuration: 'Dauer der Abfrage',
includeBetaUpdates: 'Beta-Aktualisierungen berücksichtigen',
setNull: 'Setze NULL',
processesList: 'Prozessliste',
processInfo: 'Prozessinformationen',
@ -208,11 +177,42 @@ export const deDE = {
createNewSchema: 'Neues Schema erstellen',
schemaName: 'Schemaname',
editSchema: 'Schema bearbeiten',
deleteSchema: 'Schema löschen',
deleteSchema: 'Schema löschen'
},
application: {
settings: 'Einstellungen',
general: 'Allgemein',
themes: 'Designs',
update: 'Aktualisierung',
about: 'Über',
language: 'Sprache',
light: 'Hell',
dark: 'Dunkel',
autoCompletion: 'Auto-Vervollständigung',
application: 'Anwendung',
editor: 'Editor',
scratchpad: 'Scratchpad',
madeWithJS: 'Mit 💛 und JavaScript gemacht!',
checkForUpdates: 'Suche nach Aktualisierungen',
noUpdatesAvailable: 'Keine Aktualisierungen verfügbar',
checkingForUpdate: 'Suche nach Aktualisierungen',
checkFailure: 'Suche fehlgeschlagen, bitte versuche es später noch einmal',
updateAvailable: 'Aktualisierung verfügbar',
downloadingUpdate: 'Aktualisierung wird heruntergeladen',
updateDownloaded: 'Aktualisierung heruntergeladen',
restartToInstall: 'Starte Antares neu für die Installation',
notificationsTimeout: 'Timeout für Benachrichtigungen',
openNewTab: 'Öffne einen neuen Tab',
unsavedChanges: 'Ungespeicherte Änderungen',
discardUnsavedChanges: 'Du hast ungespeicherte Änderungen. Wenn du den Tab verlässt, werden diese Änderungen verworfen.',
applicationTheme: 'Anwendungsdesign',
editorTheme: 'Editordesign',
wrapLongLines: 'Lange Zeilen umbrechen',
includeBetaUpdates: 'Beta-Aktualisierungen berücksichtigen',
markdownSupported: 'Unterstützt Markdown',
plantATree: 'Pflanze einen Baum',
dataTabPageSize: 'Einträge pro Tab / Seite',
enableSsh: 'Aktiviere SSH'
searchForElements: 'Suche nach Elemente'
},
faker: {
address: 'Adresse',

View File

@ -1,5 +1,5 @@
export const enUS = {
word: {
general: { // General purpose terms
edit: 'Edit',
save: 'Save',
close: 'Close',
@ -7,9 +7,69 @@ export const enUS = {
confirm: 'Confirm',
cancel: 'Cancel',
send: 'Send',
refresh: 'Refresh',
autoRefresh: 'Auto-refresh',
version: 'Version',
donate: 'Donate',
run: 'Run',
results: 'Results',
size: 'Size',
mimeType: 'Mime-Type',
download: 'Download',
add: 'Add',
data: 'Data',
properties: 'Properties',
name: 'Name',
clear: 'Clear',
options: 'Options',
insert: 'Insert',
discard: 'Discard',
stay: 'Stay',
author: 'Author',
upload: 'Upload',
browse: 'Browse',
content: 'Content',
cut: 'Cut',
copy: 'Copy',
paste: 'Paste',
duplicate: 'Duplicate',
tools: 'Tools',
seconds: 'Seconds',
all: 'All',
new: 'New',
select: 'Select',
change: 'Change',
includes: 'Includes',
completed: 'Completed',
aborted: 'Aborted',
disabled: 'Disabled',
enable: 'Enable',
disable: 'Disable',
contributors: 'Contributors',
pin: 'Pin',
unpin: 'Unpin',
folder: 'Folder | Folders',
none: 'None',
singleQuote: 'Single quote',
doubleQuote: 'Double quote',
deleteConfirm: 'Do you confirm the cancellation of',
uploadFile: 'Upload file',
format: 'Format', // Format code
history: 'History',
filter: 'Filter',
manualValue: 'Manual value',
selectAll: 'Select all',
pageNumber: 'Page number',
directoryPath: 'Directory path',
actionSuccessful: '{action} successful',
outputFormat: 'Output format',
singleFile: 'Single {ext} file',
zipCompressedFile: 'ZIP compressed {ext} file'
},
connection: { // Database connection
connectionName: 'Connection name',
client: 'Client',
hostName: 'Host name',
client: 'Client',
port: 'Port',
user: 'User',
password: 'Password',
@ -18,33 +78,33 @@ export const enUS = {
connected: 'Connected',
disconnect: 'Disconnect',
disconnected: 'Disconnected',
refresh: 'Refresh',
settings: 'Settings',
general: 'General',
themes: 'Themes',
update: 'Update',
about: 'About',
language: 'Language',
version: 'Version',
donate: 'Donate',
run: 'Run',
ssl: 'SSL',
enableSsl: 'Enable SSL',
privateKey: 'Private key',
certificate: 'Certificate',
caCertificate: 'CA certificate',
ciphers: 'Ciphers',
untrustedConnection: 'Untrusted connection',
passphrase: 'Passphrase',
sshTunnel: 'SSH tunnel',
enableSsh: 'Enable SSH',
connectionString: 'Connection string',
addConnection: 'Add connection',
createConnection: 'Create connection',
createNewConnection: 'Create new connection',
askCredentials: 'Ask for credentials',
testConnection: 'Test connection',
editConnection: 'Edit connection',
deleteConnection: 'Delete connection',
connectionSuccessfullyMade: 'Connection successfully made!',
readOnlyMode: 'Read-only mode',
allConnections: 'All connections',
searchForConnections: 'Search for connections'
},
database: { // Database related terms
schema: 'Schema',
results: 'Results',
size: 'Size',
seconds: 'Seconds',
type: 'Type',
mimeType: 'Mime-Type',
download: 'Download',
add: 'Add',
data: 'Data',
properties: 'Properties',
insert: 'Insert',
connecting: 'Connecting',
name: 'Name',
collation: 'Collation',
clear: 'Clear',
options: 'Options',
autoRefresh: 'Auto-refresh',
indexes: 'Indexes',
foreignKeys: 'Foreign keys',
length: 'Length',
@ -59,16 +119,8 @@ export const enUS = {
field: 'Field | Fields',
approximately: 'Approximately',
total: 'Total',
table: 'Table',
discard: 'Discard',
stay: 'Stay',
author: 'Author',
light: 'Light',
dark: 'Dark',
autoCompletion: 'Auto Completion',
application: 'Application',
editor: 'Editor',
view: 'View',
table: 'Table | Tables',
view: 'View | Views',
definer: 'Definer',
algorithm: 'Algorithm',
trigger: 'Trigger | Triggers',
@ -87,104 +139,27 @@ export const enUS = {
execution: 'Execution',
starts: 'Starts',
ends: 'Ends',
ssl: 'SSL',
privateKey: 'Private key',
certificate: 'Certificate',
caCertificate: 'CA certificate',
ciphers: 'Ciphers',
upload: 'Upload',
browse: 'Browse',
faker: 'Faker',
content: 'Content',
cut: 'Cut',
copy: 'Copy',
paste: 'Paste',
tools: 'Tools',
variables: 'Variables',
processes: 'Processes',
database: 'Database',
scratchpad: 'Scratchpad',
array: 'Array',
changelog: 'Changelog',
format: 'Format',
sshTunnel: 'SSH tunnel',
structure: 'Structure',
small: 'Small',
medium: 'Medium',
large: 'Large',
row: 'Row | Rows',
cell: 'Cell | Cells',
triggerFunction: 'Trigger function | Trigger functions',
all: 'All',
duplicate: 'Duplicate',
routine: 'Routine',
new: 'New',
history: 'History',
select: 'Select',
passphrase: 'Passphrase',
filter: 'Filter',
change: 'Change',
views: 'Views',
triggers: 'Triggers',
routines: 'Routines',
functions: 'Functions',
schedulers: 'Schedulers',
includes: 'Includes',
routine: 'Routine | Routines',
drop: 'Drop',
completed: 'Completed',
aborted: 'Aborted',
disabled: 'Disabled',
enable: 'Enable',
disable: 'Disable',
commit: 'Commit',
rollback: 'Rollback',
connectionString: 'Connection string',
contributors: 'Contributors',
pin: 'Pin',
unpin: 'Unpin',
console: 'Console',
shortcuts: 'Shortcuts',
folder: 'Folder | Folders',
appearance: 'Appearance',
color: 'Color',
label: 'Label',
icon: 'Icon',
resultsTable: 'Results table',
ddl: 'DDL',
none: 'None',
singleQuote: 'Single quote',
doubleQuote: 'Double quote'
},
message: {
appWelcome: 'Welcome to Antares SQL Client!',
appFirstStep: 'Your first step: create a new database connection.',
addConnection: 'Add connection',
createConnection: 'Create connection',
createNewConnection: 'Create new connection',
askCredentials: 'Ask for credentials',
testConnection: 'Test connection',
editConnection: 'Edit connection',
deleteConnection: 'Delete connection',
deleteConfirm: 'Do you confirm the cancellation of',
connectionSuccessfullyMade: 'Connection successfully made!',
madeWithJS: 'Made with 💛 and JavaScript!',
checkForUpdates: 'Check for updates',
noUpdatesAvailable: 'No updates available',
checkingForUpdate: 'Checking for updates',
checkFailure: 'Check failed, please try later',
updateAvailable: 'Update available',
downloadingUpdate: 'Downloading update',
updateDownloaded: 'Update downloaded',
restartToInstall: 'Restart Antares to install',
collation: 'Collation',
resultsTable: 'Results table',
unableEditFieldWithoutPrimary: 'Unable to edit a field without a primary key in resultset',
editCell: 'Edit cell',
deleteRows: 'Delete row | Delete {count} rows',
confirmToDeleteRows: 'Do you confirm to delete one row? | Do you confirm to delete {count} rows?',
notificationsTimeout: 'Notifications timeout',
uploadFile: 'Upload file',
addNewRow: 'Add new row',
numberOfInserts: 'Number of inserts',
openNewTab: 'Open a new tab',
affectedRows: 'Affected rows',
createNewDatabase: 'Create new Database',
databaseName: 'Database name',
@ -204,10 +179,9 @@ export const enUS = {
addToIndex: 'Add to index',
createNewTable: 'Create new table',
emptyTable: 'Empty table',
duplicateTable: 'Duplicate table',
deleteTable: 'Delete table',
emptyConfirm: 'Do you confirm to empty',
unsavedChanges: 'Unsaved changes',
discardUnsavedChanges: 'You have some unsaved changes. Closing this tab these changes will be discarded.',
thereAreNoIndexes: 'There are no indexes',
thereAreNoForeign: 'There are no foreign keys',
createNewForeign: 'Create new foreign key',
@ -216,9 +190,6 @@ export const enUS = {
foreignFields: 'Foreign fields',
invalidDefault: 'Invalid default',
onDelete: 'On delete',
applicationTheme: 'Application Theme',
editorTheme: 'Editor Theme',
wrapLongLines: 'Wrap long lines',
selectStatement: 'Select statement',
triggerStatement: 'Trigger statement',
sqlSecurity: 'SQL security',
@ -241,14 +212,9 @@ export const enUS = {
createNewScheduler: 'Create new scheduler',
deleteScheduler: 'Delete scheduler',
preserveOnCompletion: 'Preserve on completion',
enableSsl: 'Enable SSL',
manualValue: 'Manual value',
tableFiller: 'Table Filler',
fakeDataLanguage: 'Fake data language',
searchForElements: 'Search for elements',
selectAll: 'Select all',
queryDuration: 'Query duration',
includeBetaUpdates: 'Include beta updates',
setNull: 'Set NULL',
processesList: 'Processes list',
processInfo: 'Process info',
@ -257,15 +223,7 @@ export const enUS = {
schemaName: 'Schema name',
editSchema: 'Edit schema',
deleteSchema: 'Delete schema',
markdownSupported: 'Markdown supported',
plantATree: 'Plant a Tree',
dataTabPageSize: 'DATA tab page size',
enableSsh: 'Enable SSH',
pageNumber: 'Page number',
duplicateTable: 'Duplicate table',
noOpenTabs: 'There are no open tabs, navigate on the left bar or:',
noSchema: 'No schema',
restorePreviousSession: 'Restore previous session',
runQuery: 'Run query',
thereAreNoTableFields: 'There are no table fields',
newTable: 'New table',
@ -278,37 +236,86 @@ export const enUS = {
thereIsNoQueriesYet: 'There is no queries yet',
searchForQueries: 'Search for queries',
killProcess: 'Kill process',
closeTab: 'Close tab',
exportSchema: 'Export schema',
importSchema: 'Import schema',
directoryPath: 'Directory path',
newInsertStmtEvery: 'New INSERT statement every',
processingTableExport: 'Processing {table}',
fetchingTableExport: 'Fetching {table} data',
writingTableExport: 'Writing {table} data',
checkAllTables: 'Check all tables',
uncheckAllTables: 'Uncheck all tables',
goToDownloadPage: 'Go to download page',
readOnlyMode: 'Read-only mode',
killQuery: 'Kill query',
insertRow: 'Insert row | Insert rows',
commitMode: 'Commit mode',
autoCommit: 'Auto commit',
manualCommit: 'Manual commit',
actionSuccessful: '{action} successful',
importQueryErrors: 'Warning: {n} error has occurred | Warning: {n} errors occurred',
executedQueries: '{n} query executed | {n} queries executed',
outputFormat: 'Output format',
singleFile: 'Single {ext} file',
zipCompressedFile: 'ZIP compressed {ext} file',
disableFKChecks: 'Disable foreign key checks',
formatQuery: 'Format query',
queryHistory: 'Query history',
clearQuery: 'Clear query',
fillCell: 'Fill cell',
executeSelectedQuery: 'Execute selected query',
noResultsPresent: 'No results present',
sqlExportOptions: 'SQL export options',
targetTable: 'Target table',
switchDatabase: 'Switch the database',
searchForElements: 'Search for elements',
searchForSchemas: 'Search for schemas'
},
application: { // Application related terms
settings: 'Settings',
scratchpad: 'Scratchpad',
disableScratchpad: 'Disable scratchpad',
console: 'Console',
general: 'General',
themes: 'Themes',
update: 'Update',
about: 'About',
language: 'Language',
shortcuts: 'Shortcuts',
key: 'Key | Keys', // Keyboard key
light: 'Light',
dark: 'Dark',
autoCompletion: 'Auto Completion',
application: 'Application',
editor: 'Editor',
changelog: 'Changelog',
small: 'Small',
medium: 'Medium',
large: 'Large',
appearance: 'Appearance',
color: 'Color',
label: 'Label',
icon: 'Icon',
madeWithJS: 'Made with 💛 and JavaScript!',
checkForUpdates: 'Check for updates',
noUpdatesAvailable: 'No updates available',
checkingForUpdate: 'Checking for updates',
checkFailure: 'Check failed, please try later',
updateAvailable: 'Update available',
downloadingUpdate: 'Downloading update',
updateDownloaded: 'Update downloaded',
restartToInstall: 'Restart Antares to install',
includeBetaUpdates: 'Include beta updates',
notificationsTimeout: 'Notifications timeout',
openNewTab: 'Open a new tab',
unsavedChanges: 'Unsaved changes',
discardUnsavedChanges: 'You have some unsaved changes. Closing this tab these changes will be discarded.',
applicationTheme: 'Application Theme',
editorTheme: 'Editor Theme',
wrapLongLines: 'Wrap long lines',
markdownSupported: 'Markdown supported',
plantATree: 'Plant a Tree',
dataTabPageSize: 'DATA tab page size',
noOpenTabs: 'There are no open tabs, navigate on the left bar or:',
restorePreviousSession: 'Restore previous session',
closeTab: 'Close tab',
goToDownloadPage: 'Go to download page',
disableBlur: 'Disable blur',
untrustedConnection: 'Untrusted connection',
missingOrIncompleteTranslation: 'Missing or incomplete translation?',
findOutHowToContribute: 'Find out how to contribute',
disableFKChecks: 'Disable foreign key checks',
allConnections: 'All connections',
searchForConnections: 'Search for connections',
disableScratchpad: 'Disable scratchpad',
reportABug: 'Report a bug',
nextTab: 'Next tab',
previousTab: 'Previous tab',
@ -327,40 +334,30 @@ export const enUS = {
openSettings: 'Open settings',
openScratchpad: 'Open scratchpad',
runOrReload: 'Run or reload',
formatQuery: 'Format query',
queryHistory: 'Query history',
clearQuery: 'Clear query',
openFilter: 'Open filter',
nextResultsPage: 'Next results page',
previousResultsPage: 'Previous results page',
fillCell: 'Fill cell',
editFolder: 'Edit folder',
folderName: 'Folder name',
deleteFolder: 'Delete folder',
editConnectionAppearance: 'Edit connection appearance',
executeSelectedQuery: 'Execute selected query',
defaultCopyType: 'Default copy type',
showTableSize: 'Show table size in sidebar',
showTableSizeDescription: 'MySQL/MariaDB only. Enable this option may affects performance on schema with many tables.',
searchForSchemas: 'Search for schemas',
switchSearchMethod: 'Switch search method',
noResultsPresent: 'No results present',
sqlExportOptions: 'SQL export options',
targetTable: 'Target table',
phpArray: 'PHP array',
closeAllTabs: 'Close all tabs',
closeOtherTabs: 'Close other tabs',
closeTabsToLeft: 'Close tabs to the left',
closeTabsToRight: 'Close tabs to the right',
switchDatabase: 'Switch the database',
csvExportOptions: 'CSV export options',
csvFieldDelimiter: 'Field delimiter',
csvLinesTerminator: 'Line terminator',
csvStringDelimiter: 'String delimiter',
csvIncludeHeader: 'Include header',
csvExportOptions: 'CSV export options',
scratchPadDefaultValue: '# HOW TO SUPPORT ANTARES\n\n- [ ] Leave a star to Antares [GitHub repo](https://github.com/antares-sql/antares)\n- [ ] Send feedbacks and advices\n- [ ] Report for bugs\n- [ ] If you enjoy, share Antares with friends\n\n# ABOUT SCRATCHPAD\n\nThis is a scratchpad where you can save your **personal notes**. It supports `markdown` format, but you are free to use plain text.\nThis content is just a placeholder, feel free to clear it to make space for your notes.\n'
},
faker: {
faker: { // Faker.js methods, used in random generated content
address: 'Address',
commerce: 'Commerce',
company: 'Company',

View File

@ -1,5 +1,5 @@
export const esES = {
word: {
general: {
edit: 'Editar',
save: 'Guardar',
close: 'Cerrar',
@ -7,6 +7,23 @@ export const esES = {
confirm: 'Confirmar',
cancel: 'Cancelar',
send: 'Enviar',
refresh: 'Refrescar',
version: 'Versión',
donate: 'Donar',
run: 'Ejecutar',
results: 'Resultados',
size: 'Tamaño',
mimeType: 'Mime-Type',
download: 'Descargar',
add: 'Añadir',
data: 'Datos',
properties: 'Propiedades',
insert: 'Insertar',
seconds: 'Segundos',
deleteConfirm: 'Confirmas la cancelación de',
uploadFile: 'Cargar fichero'
},
connection: {
connectionName: 'Nombre de la conexión',
client: 'Cliente',
hostName: 'Servidor',
@ -18,32 +35,6 @@ export const esES = {
connected: 'Conectado',
disconnect: 'Desconectar',
disconnected: 'Desconectado',
refresh: 'Refrescar',
settings: 'Configuración',
general: 'General',
themes: 'Temas',
update: 'Actualizar',
about: 'Sobre',
language: 'Idioma',
version: 'Versión',
donate: 'Donar',
run: 'Ejecutar',
schema: 'Esquema',
results: 'Resultados',
size: 'Tamaño',
seconds: 'Segundos',
type: 'Tipo',
mimeType: 'Mime-Type',
download: 'Descargar',
add: 'Añadir',
data: 'Datos',
properties: 'Propiedades',
insert: 'Insertar',
connecting: 'Conectando'
},
message: {
appWelcome: 'Bienvenido a Antares Cliente SQL!',
appFirstStep: 'Primer paso: Crear una conexión a una Base de Datos.',
addConnection: 'Añadir conexión',
createConnection: 'Crear conexión',
createNewConnection: 'Crear nueva conexión',
@ -51,8 +42,26 @@ export const esES = {
testConnection: 'Comprobar conexión',
editConnection: 'Editar conexión',
deleteConnection: 'Eliminar conexión',
deleteConfirm: 'Confirmas la cancelación de',
connectionSuccessfullyMade: 'Conexión realizada correctamente!',
connectionSuccessfullyMade: 'Conexión realizada correctamente!'
},
database: {
schema: 'Esquema',
type: 'Tipo',
unableEditFieldWithoutPrimary: 'No se puede editar una campo sin Llave Primaria en el registro',
editCell: 'Editar celda',
deleteRows: 'Eliminar fila | Eliminar {count} filas',
confirmToDeleteRows: '¿Quiere realmente eliminar una fila? | ¿Quiere realmente eliminar {count} filas?',
addNewRow: 'Añadir nueva fila',
numberOfInserts: 'Numero de inserciones',
affectedRows: 'Filas afectadas'
},
application: {
settings: 'Configuración',
general: 'General',
themes: 'Temas',
update: 'Actualizar',
about: 'Sobre',
language: 'Idioma',
madeWithJS: 'Hecho con 💛 y JavaScript!',
checkForUpdates: 'Comprobar actualizaciones',
noUpdatesAvailable: 'No hay actualizaciones',
@ -62,15 +71,7 @@ export const esES = {
downloadingUpdate: 'Descargando actualización',
updateDownloaded: 'Descargada actualización',
restartToInstall: 'Reiniciar Antares para instalar',
unableEditFieldWithoutPrimary: 'No se puede editar una campo sin Llave Primaria en el registro',
editCell: 'Editar celda',
deleteRows: 'Eliminar fila | Eliminar {count} filas',
confirmToDeleteRows: '¿Quiere realmente eliminar una fila? | ¿Quiere realmente eliminar {count} filas?',
notificationsTimeout: 'Tiempo de espera',
uploadFile: 'Cargar fichero',
addNewRow: 'Añadir nueva fila',
numberOfInserts: 'Numero de inserciones',
openNewTab: 'Abrir nueva pestaña',
affectedRows: 'Filas afectadas'
openNewTab: 'Abrir nueva pestaña'
}
};

View File

@ -1,5 +1,5 @@
export const frFR = {
word: {
general: {
edit: 'Editer',
save: 'Sauvegarder',
close: 'Fermer',
@ -7,6 +7,65 @@ export const frFR = {
confirm: 'Confirmer',
cancel: 'Annuler',
send: 'Envoyer',
refresh: 'Rafraîchir',
autoRefresh: 'Auto-rafraîchissement',
version: 'Version',
donate: 'Faire une don',
run: 'Éxécuter',
results: 'Résultats',
size: 'Taille',
mimeType: 'Mime-Type',
download: 'Télécharger',
add: 'Ajouter',
data: 'Donnée',
properties: 'Propriétés',
insert: 'Insérer',
name: 'Nom',
clear: 'Effacer',
seconds: 'Secondes',
options: 'Options',
discard: 'Annuler',
stay: 'Rester',
author: 'Auteur',
upload: 'Téléverser',
browse: 'Naviguer',
content: 'Contenu',
cut: 'Couper',
copy: 'Copier',
paste: 'Coller',
tools: 'Outils',
all: 'Tout',
duplicate: 'Dupliquer',
new: 'Nouveau',
history: 'Historique',
select: 'Sélectionner',
filter: 'Filtre',
change: 'Changement',
includes: 'Inclut',
completed: 'Terminé',
aborted: 'Annulé',
disabled: 'Désactivé',
enable: 'activer',
disable: 'Désactiver',
contributors: 'Contributeurs',
pin: 'Épingler',
unpin: 'Désépingler',
folder: 'Dossier | Dossiers',
none: 'Aucun',
singleQuote: 'Simple guillemets',
doubleQuote: 'Double guillemets',
deleteConfirm: 'Confirmez-vous l\'annulation de',
uploadFile: 'Télécharger un fichier',
manualValue: 'Valeur manuelle',
selectAll: 'Tout sélectionner',
pageNumber: 'Numéro de la page',
directoryPath: 'chemin du répertoire',
actionSuccessful: '{action} réussie',
outputFormat: 'Format de sortie',
singleFile: 'Fichier seul avec l\'extension {ext}',
zipCompressedFile: 'Fichier compréssé avec l\'extension {ext}'
},
connection: {
connectionName: 'Nom de la connexion',
client: 'Client',
hostName: 'Nom du host',
@ -18,39 +77,38 @@ export const frFR = {
connected: 'Connecté',
disconnect: 'Déconnection',
disconnected: 'Déconnecté',
refresh: 'Rafraîchir',
settings: 'Paramètres',
general: 'Général',
themes: 'Thèmes',
update: 'Mise à jour',
about: 'À propos',
language: 'Langue',
version: 'Version',
donate: 'Faire une don',
run: 'Éxécuter',
ssl: 'SSL',
privateKey: 'Clé privée',
certificate: 'Certificat',
caCertificate: 'Certificat CA',
ciphers: 'Codes secrets',
sshTunnel: 'Tunnel SSH',
passphrase: 'Phrase secrète',
connectionString: 'Chaîne de connexion',
addConnection: 'Ajouter une connexion',
createConnection: 'Créer une connexion',
createNewConnection: 'Créer une nouvelle connexion',
askCredentials: 'Demander les informations d\'identification',
testConnection: 'Tester la connexion',
editConnection: 'Modifier la connexion',
deleteConnection: 'Supprimer la connexion',
connectionSuccessfullyMade: 'Connexion établie avec succès !',
enableSsl: 'Activer le SSL',
enableSsh: 'Activer le SSH',
readOnlyMode: 'Mode lecture seule',
untrustedConnection: 'Connexion non approuvée',
allConnections: 'Toutes les connexions',
searchForConnections: 'Rechercher des connexions'
},
database: {
schema: 'Schéma',
results: 'Résultats',
size: 'Taille',
seconds: 'Secondes',
type: 'Type',
mimeType: 'Mime-Type',
download: 'Télécharger',
add: 'Ajouter',
data: 'Donnée',
properties: 'Propriétés',
insert: 'Insérer',
connecting: 'Connexion en cours',
name: 'Nom',
collation: 'Langage',
clear: 'Effacer',
options: 'Options',
autoRefresh: 'Auto-rafraîchissement',
indexes: 'Indexs',
foreignKeys: 'Clés étrangères',
length: 'Longueur',
unsigned: 'Non signé',
default: 'Par défaut',
comment: 'Commentaire',
collation: 'Langage',
key: 'Clé | Clés',
order: 'Ordre',
expression: 'Expression',
@ -60,17 +118,9 @@ export const frFR = {
approximately: 'Approximativement',
total: 'Total',
table: 'Table',
discard: 'Annuler',
stay: 'Rester',
author: 'Auteur',
light: 'Clair',
dark: 'Sombre',
autoCompletion: 'Prédiction Automatique',
application: 'Application',
editor: 'Éditeur',
view: 'Vue',
indexes: 'Indexs',
definer: 'Définisseur',
algorithme: 'Algorithme',
trigger: 'Déclencheur | Déclencheurs',
storedRoutine: 'Routine stockée | Routines stockées',
scheduler: 'Planificateur | Planificateurs',
@ -87,104 +137,25 @@ export const frFR = {
execution: 'Éxécution',
starts: 'Commence',
ends: 'Termine',
ssl: 'SSL',
privateKey: 'Clé privée',
certificate: 'Certificat',
caCertificate: 'Certificat CA',
ciphers: 'Codes secrets',
upload: 'Téléverser',
browse: 'Naviguer',
faker: 'Imposteur',
content: 'Contenu',
cut: 'Couper',
copy: 'Copier',
paste: 'Coller',
tools: 'Outils',
variables: 'Variables',
processes: 'Processus',
Database: 'Base de données',
scratchpad: 'Bloc-notes',
array: 'Tableau',
changelog: 'Journal des modifications',
Format: 'Format',
sshTunnel: 'Tunnel SSH',
structure: 'Structure',
small: 'Petit',
medium: 'Moyen',
large: 'Grand',
row: 'Ligne | Lignes',
cell: 'Cellule | Cellules',
triggerFunction: 'Fonction de déclenchement | Fonctions de déclenchement',
all: 'Tout',
duplicate: 'Dupliquer',
routine: 'Routine',
new: 'Nouveau',
history: 'Historique',
select: 'Sélectionner',
passphrase: 'Phrase secrète',
filter: 'Filtre',
change: 'Changement',
views: 'Vues',
triggers: 'Déclencheurs',
routines: 'Routines',
fonctions: 'Fonctions',
schedulers: 'Programmateurs',
includes: 'Inclut',
drop: 'Effacer',
completed: 'Terminé',
aborted: 'Annulé',
disabled: 'Désactivé',
enable: 'activer',
disable: 'Désactiver',
commit: 'Appliquer',
rollback: 'Retour arrière',
connectionString: 'Chaîne de connexion',
contributors: 'Contributeurs',
pin: 'Épingler',
unpin: 'Désépingler',
console: 'Console',
shortcuts: 'Raccourcis',
folder: 'Dossier | Dossiers',
appearance: 'Apparence',
color: 'Couleur',
label: 'Libellé',
icon: 'Icône',
resultsTable: 'Table des résultats',
ddl: 'DDL',
none: 'Aucun',
singleQuote: 'Simple guillemets',
doubleQuote: 'Double guillemets'
},
message: {
appWelcome: 'Bienvenue dans le client SQL Antares!',
appFirstStep: 'Votre première étape : créer une nouvelle connexion à la base de données.',
addConnection: 'Ajouter une connexion',
createConnection: 'Créer une connexion',
createNewConnection: 'Créer une nouvelle connexion',
askCredentials: 'Demander les informations d\'identification',
testConnection: 'Tester la connexion',
editConnection: 'Modifier la connexion',
deleteConnection: 'Supprimer la connexion',
deleteConfirm: 'Confirmez-vous l\'annulation de',
connectionSuccessfullyMade: 'Connexion établie avec succès !',
madeWithJS: 'Fait avec 💛 et JavaScript !',
checkForUpdates: 'Vérifier les mises à jour',
noUpdatesAvailable: 'Aucune mise à jour disponible',
checkingForUpdate: 'Vérification des mises à jour',
checkFailure: 'La vérification a échoué, veuillez essayer plus tard',
updateAvailable: 'Mise à jour disponible',
downloadingUpdate: 'Téléchargement de la mise à jour',
updateDownloaded: 'Mise à jour téléchargée',
restartToInstall: 'Redémarrer Antares pour installer',
drop: 'Effacer',
unableEditFieldWithoutPrimary: 'Impossible de modifier un champ sans clé primaire dans le jeu de résultats',
editCell: 'Éditer la cellule',
deleteRows: 'Effacer la ligne | Effacer {count} lignes',
confirmToDeleteRows: 'Confirmez-vous la suppression d\'une ligne ? | Confirmez-vous la suppression de {count} lignes ?',
notificationsTimeout: 'Délai d\'attente pour les notifications',
uploadFile: 'Télécharger un fichier',
addNewRow: 'Ajouter une nouvelle ligne',
numberOfInserts: 'Nombre d\'insertions',
openNewTab: 'Ouvrir un nouvel onglet',
affectedRows: 'Lignes affectées',
createNewDatabase: 'Créer une nouvelle base de données',
databaseName: 'Nom de la base de données',
@ -206,8 +177,6 @@ export const frFR = {
emptyTable: 'Vider la table',
deleteTable: 'Supprimer une table',
emptyConfirm: 'Confirmez-vous que vous souhaitez vider la table ?',
unsavedChanges: 'Modifications non sauvegardées',
discardUnsavedChanges: 'Vous avez des modifications non sauvegardées. En fermant cet onglet, ces modifications seront supprimées.',
thereAreNoIndexes: 'Il n\'y a pas d\'index',
thereAreNoForeign: 'Il n\'y a pas de clés étrangères',
createNewForeign: 'Créer une nouvelle clé étrangère',
@ -216,9 +185,6 @@ export const frFR = {
foreignFields: 'Champs étrangers',
invalidDefault: 'Valeur par défaut invalide',
onDelete: 'lors de l\'effacement',
applicationTheme: 'Thème de l\'application',
editorTheme: 'Thème de l\'éditeur',
wrapLongLines: 'Retour à la ligne pour les lignes longues',
selectStatement: 'Sélectionner un état',
triggerStatement: 'Déclencher un état',
sqlSecurity: 'Sécurité SQL',
@ -241,14 +207,9 @@ export const frFR = {
createNewScheduler: 'Créer un nouveau programmateur',
deleteScheduler: 'Effacer un programmateur',
preserveOnCompletion: 'Préserver à la terminaison',
enableSsl: 'Activer le SSL',
manualValue: 'Valeur manuelle',
tableFiller: 'Remplisseur de table',
fakeDataLanguage: 'Langue des fausses données',
searchForElements: 'Rechercher des éléments',
selectAll: 'Tout sélectionner',
queryDuration: 'Temps de requête',
includeBetaUpdates: 'Inclure les mises à jour beta',
setNull: 'Définir comme NULL',
processesList: 'Liste des processus',
processInfo: 'Information sur le processus',
@ -257,15 +218,8 @@ export const frFR = {
schemaName: 'Nom du Schéma',
editSchema: 'Modifier le schéma',
deleteSchema: 'Effacer le schéma',
markdownSupported: 'Support du Markdown',
plantATree: 'Planter un arbre',
dataTabPageSize: 'Taille de la page de l\'onglet données',
enableSsh: 'Activer le SSH',
pageNumber: 'Numéro de la page',
duplicateTable: 'Dupliquer la table',
noOpenTabs: 'Il n\'y a pas d\'onglet ouvert, naviguer vers la barre gauche ou :',
noSchema: 'Aucun schéma',
restorePreviousSession: 'Restaurer la session précédente',
runQuery: 'Lancer la requête',
thereAreNoTableFields: 'Il n\'y a pas de champ table',
newTable: 'Nouvelle table',
@ -278,36 +232,82 @@ export const frFR = {
thereIsNoQueriesYet: 'Il n\'y a pas encore de requête',
searchForQueries: 'Rechercher des requêtes',
killProcess: 'Terminer un processus',
closeTab: 'Fermer un onglet',
exportSchema: 'Exporter un schéma',
importSchema: 'Importer un schéma',
directoryPath: 'chemin du répertoire',
newInsertStmtEvery: 'Nouvelle déclaration d\'insertion tous les',
processingTableExport: 'Traitement {table}',
fetchingTableExport: 'Recherche des données de la table {table}',
writingTableExport: 'Ecriture des données de la table {table}',
checkAllTables: 'Vérification de toutes les tables',
uncheckAllTables: 'Désélectionner toutes les tables',
goToDownloadPage: 'Aller vers la page de téléchargement',
readOnlyMode: 'Mode lecture seule',
killQuery: 'Terminer une requête',
insertRow: 'Insérer une ligne | Insérer des lignes',
commitMode: 'Mode insertion directe',
autoCommit: 'Insertion directe automatique',
manualCommit: 'Insertion directe manuelle',
actionSuccessful: '{action} réussie',
disableFKChecks: 'Désactiver les vérifications de clé étrangère',
formatQuery: 'Formater la requête',
queryHistory: 'Historique de requête',
clearQuery: 'Effacer la requête',
fillCell: 'Remplir la cellule',
executeSelectedQuery: 'Exécuter la requête sélectionnée',
noResultsPresent: 'Aucun résultat présent',
sqlExportOptions: 'Options d\'export SQL',
targetTable: 'Table cible',
switchDatabase: 'Changer la base de données',
importQueryErrors: 'Attention : {n} erreurs se sont produites | Attention: {n} erreurs sont apparues',
executedQueries: '{n} requêtes ont été exécutées | {n} requêtes exécutées',
outputFormat: 'Format de sortie',
singleFile: 'Fichier seul avec l\'extension {ext}',
zipCompressedFile: 'Fichier compréssé avec l\'extension {ext}',
executedQueries: '{n} requêtes ont été exécutées | {n} requêtes exécutées'
},
application: {
settings: 'Paramètres',
general: 'Général',
themes: 'Thèmes',
update: 'Mise à jour',
about: 'À propos',
language: 'Langue',
light: 'Clair',
dark: 'Sombre',
autoCompletion: 'Prédiction Automatique',
application: 'Application',
editor: 'Éditeur',
scratchpad: 'Bloc-notes',
changelog: 'Journal des modifications',
small: 'Petit',
medium: 'Moyen',
large: 'Grand',
console: 'Console',
shortcuts: 'Raccourcis',
appearance: 'Apparence',
color: 'Couleur',
label: 'Libellé',
icon: 'Icône',
madeWithJS: 'Fait avec 💛 et JavaScript !',
checkForUpdates: 'Vérifier les mises à jour',
noUpdatesAvailable: 'Aucune mise à jour disponible',
checkingForUpdate: 'Vérification des mises à jour',
checkFailure: 'La vérification a échoué, veuillez essayer plus tard',
updateAvailable: 'Mise à jour disponible',
downloadingUpdate: 'Téléchargement de la mise à jour',
updateDownloaded: 'Mise à jour téléchargée',
restartToInstall: 'Redémarrer Antares pour installer',
notificationsTimeout: 'Délai d\'attente pour les notifications',
openNewTab: 'Ouvrir un nouvel onglet',
unsavedChanges: 'Modifications non sauvegardées',
discardUnsavedChanges: 'Vous avez des modifications non sauvegardées. En fermant cet onglet, ces modifications seront supprimées.',
applicationTheme: 'Thème de l\'application',
editorTheme: 'Thème de l\'éditeur',
wrapLongLines: 'Retour à la ligne pour les lignes longues',
includeBetaUpdates: 'Inclure les mises à jour beta',
markdownSupported: 'Support du Markdown',
plantATree: 'Planter un arbre',
dataTabPageSize: 'Taille de la page de l\'onglet données',
noOpenTabs: 'Il n\'y a pas d\'onglet ouvert, naviguer vers la barre gauche ou :',
restorePreviousSession: 'Restaurer la session précédente',
closeTab: 'Fermer un onglet',
goToDownloadPage: 'Aller vers la page de téléchargement',
disableBlur: 'Désactiver le flou',
untrustedConnection: 'Connexion non approuvée',
missingOrIncompleteTranslation: 'Traduction manquante ou incomplète?',
findOutHowToContribute: 'Trouver comment contribuer',
disableFKChecks: 'Désactiver les vérifications de clé étrangère',
allConnections: 'Toutes les connexions',
searchForConnections: 'Rechercher des connexions',
disableScratchpad: 'Désactiver le bloc-notes',
reportABug: 'Signaler un bug',
nextTab: 'Onglet suivant',
@ -327,38 +327,30 @@ export const frFR = {
openSettings: 'Ouvrir les paramètres',
openScratchpad: 'Ouvrir le bloc-notes',
runOrReload: 'Exécuter ou rafraîchir',
formatQuery: 'Formater la requête',
queryHistory: 'Historique de requête',
clearQuery: 'Effacer la requête',
openFilter: 'Ouvrir le filtre',
nextResultsPage: 'Page de résultats suivante',
previousResultsPage: 'Page de résultats précédente',
fillCell: 'Remplir la cellule',
editFolder: 'Editer le dossier',
folderName: 'Nom du dossier',
deleteFolder: 'Supprimer le dossier',
editConnectionAppearance: 'Editer l\'apparence de la connexion',
executeSelectedQuery: 'Exécuter la requête sélectionnée',
defaultCopyType: 'Type de copie par défaut',
showTableSize: 'Afficher la taille de la table dans la barre latérale',
showTableSizeDescription: 'MySQL/MariaDB seulement. Activer cette option peut affecter les performances du schéma sur plusieurs tables.',
searchForSchemas: 'Rechercher des shémas',
searchForElements: 'Rechercher des éléments',
switchSearchMethod: 'Changer la méthode de recherche',
noResultsPresent: 'Aucun résultat présent',
sqlExportOptions: 'Options d\'export SQL',
targetTable: 'Table cible',
phpArray: 'Tableau PHP',
closeAllTabs: 'Fermer tous les onglets',
closeOtherTabs: 'Fermer les autres onglets',
closeTabsToLeft: 'Fermer les onglets à gauche',
closeTabsToRight: 'Fermer les onglets à droite',
switchDatabase: 'Changer la base de données',
csvExportOptions: 'Options d\'export CSV',
csvFieldDelimiter: 'Délimiteur de champ',
csvLinesTerminator: 'Fin de ligne',
csvStringDelimiter: 'Séparateur',
csvIncludeHeader: 'Inclure l\'en-tête',
scratchPadDefaultValue: '# COMMENT SOUTENIR ANTARES\n\n- [ ] Laissez une etoile à Antares [GitHub repo](https://github.com/antares-sql/antares)\n- [ ] Envoyez vos avis et conseils\n- [ ] Signalez les bugs\n- [ ] Si vous l\'appréciez, partagez Antares avec des amis\n\n# A PROPOS DU BLOC-NOTES\n\nCeci est un bloc-notes où vous pouvez sauvegarder vos **notes personnelles**. Il supporte le format `markdown`, mais vous êtes libre d\'utiliser du texte standard.\nCe contenu est juste un modèle, vous pouvez a tout moment l\'effacer pour le remplacer par vos notes.\n'
csvExportOptions: 'Options d\'export CSV',
scratchPadDefaultValue: '# COMMENT SOUTENIR ANTARES\n\n- [ ] Laissez une etoile à Antares [GitHub repo](https://github.com/antares-sql/antares)\n- [ ] Envoyez vos avis et conseils\n- [ ] Signalez les bugs\n- [ ] Si vous l\'appréciez, partagez Antares avec des amis\n\n# A PROPOS DU BLOC-NOTES\n\nCeci est un bloc-notes où vous pouvez sauvegarder vos **notes personnelles**. Il supporte le format `markdown`, mais vous êtes libre d\'utiliser du texte standard.\nCe contenu est juste un modèle, vous pouvez a tout moment l\'effacer pour le remplacer par vos notes.\n',
phpArray: 'Tableau PHP'
},
faker: {
address: 'Adresse',

View File

@ -1,5 +1,5 @@
export const idID = {
word: {
general: {
edit: 'Ubah',
save: 'Simpan',
close: 'Tutup',
@ -7,6 +7,63 @@ export const idID = {
confirm: 'Iya',
cancel: 'Batal',
send: 'Kirim',
refresh: 'Segarkan',
autoRefresh: 'Segarkan otomatis',
version: 'Versi',
donate: 'Donasi',
run: 'Jalankan',
results: 'Hasil',
size: 'Ukuran',
mimeType: 'Tipe Mime',
download: 'Unduh',
add: 'Tambahkan',
data: 'Data',
properties: 'Properti',
insert: 'Masukan',
name: 'Nama',
clear: 'Jernih',
seconds: 'Detik',
options: 'Pilihan',
discard: 'Membuang',
stay: 'Tinggal',
author: 'Pengarang',
upload: 'Mengunggah',
browse: 'Jelajahi',
content: 'Isi',
cut: 'Potong',
copy: 'Salin',
paste: 'Tempel',
tools: 'Peralatan',
format: 'Format',
all: 'Semua',
duplicate: 'Duplikat',
new: 'Baru',
history: 'Histori',
select: 'Pilih',
filter: 'Saring',
change: 'Mengubah',
includes: 'Termasuk',
completed: 'Selesai',
aborted: 'Dibatalkan',
disabled: 'Dinonaaktivkan',
enable: 'Aktifkan',
disable: 'Nonaktifkan',
contributors: 'Kontributor',
pin: 'Pin',
unpin: 'Unpin',
folder: 'Folder | Folder',
deleteConfirm: 'Apakah Anda mengkonfirmasi pembatalan',
uploadFile: 'Unggah data',
manualValue: 'Nilai manual',
selectAll: 'Pilih Semua',
pageNumber: 'Nomor halaman',
directoryPath: 'Jalur direktori',
actionSuccessful: '{aksi} berhasil',
outputFormat: 'Format keluaran',
singleFile: 'File {ext} tunggal',
zipCompressedFile: 'File {ext} terkompresi ZIP'
},
connection: {
connectionName: 'Nama Koneksi',
client: 'Klien',
hostName: 'Nama Host',
@ -18,39 +75,38 @@ export const idID = {
connected: 'Tersambung',
disconnect: 'Putuskan',
disconnected: 'Terputus',
refresh: 'Segarkan',
settings: 'Pengaturan',
general: 'Umum',
themes: 'Tema',
update: 'Memperbarui',
about: 'Tentang',
language: 'Bahasa',
version: 'Versi',
donate: 'Donasi',
run: 'Jalankan',
ssl: 'SSL',
privateKey: 'Kunci pribadi',
certificate: 'Sertifikat',
caCertificate: 'Sertifikat CA',
ciphers: 'Chipher',
sshTunnel: 'Tunel SSH',
passphrase: 'Frasa sandi',
connectionString: 'Rangkaian sambungan',
addConnection: 'Tambahkan koneksi',
createConnection: 'Buat koneksi',
createNewConnection: 'Buat koneksi baru',
askCredentials: 'Mintalah kredensial',
testConnection: 'Tes koneksi',
editConnection: 'Mengedit koneksi',
deleteConnection: 'Hapus koneksi',
connectionSuccessfullyMade: 'Sambungan berhasil dibuat!',
enableSsl: 'Aktifkan SSL',
enableSsh: 'Aktifkan SSH',
readOnlyMode: 'Mode hanya baca',
untrustedConnection: 'Koneksi tidak tepercaya',
allConnections: 'Semua koneksi',
searchForConnections: 'Cari koneksi'
},
database: {
schema: 'Skema',
results: 'Hasil',
size: 'Ukuran',
seconds: 'Detik',
type: 'Jenis',
mimeType: 'Tipe Mime',
download: 'Unduh',
add: 'Tambahkan',
data: 'Data',
properties: 'Properti',
insert: 'Masukan',
connecting: 'Menghubungkan',
name: 'Nama',
collation: 'Kolasi',
clear: 'Jernih',
options: 'Pilihan',
autoRefresh: 'Segarkan otomatis',
indexes: 'Indeks',
foreignKeys: 'Foreign Key',
length: 'Panjangnya',
unsigned: 'Unsigned',
default: 'Bawaan',
comment: 'Komentar',
collation: 'Kolasi',
key: 'Key | Keys',
order: 'Urutan',
expression: 'Ekspresi',
@ -60,15 +116,8 @@ export const idID = {
approximately: 'Sekitar',
total: 'Total',
table: 'Tabel',
discard: 'Membuang',
stay: 'Tinggal',
author: 'Pengarang',
light: 'Terang',
dark: 'Gelap',
autoCompletion: 'Penyelesaian Otomatis',
application: 'Aplikasi',
editor: 'Editor',
view: 'Melihat',
indexes: 'Indeks',
definer: 'Definisi',
algorithm: 'Algoritma',
trigger: 'Trigger | Trigger',
@ -87,99 +136,24 @@ export const idID = {
execution: 'Eksekusi',
starts: 'Mulai',
ends: 'Berakhir',
ssl: 'SSL',
privateKey: 'Kunci pribadi',
certificate: 'Sertifikat',
caCertificate: 'Sertifikat CA',
ciphers: 'Chipher',
upload: 'Mengunggah',
browse: 'Jelajahi',
faker: 'Pemalsu',
content: 'Isi',
cut: 'Potong',
copy: 'Salin',
paste: 'Tempel',
tools: 'Peralatan',
variables: 'Variabel',
processes: 'Proses',
database: 'Basis data',
scratchpad: 'Papan penggaris',
array: 'Array',
changelog: 'Changelog',
format: 'Format',
sshTunnel: 'Tunel SSH',
structure: 'Struktur',
small: 'Kecil',
medium: 'Sedang',
large: 'Besar',
row: 'Baris | Baris',
cell: 'Sel | Sel',
triggerFunction: 'Fungsi trigger | Fungsi trigger',
all: 'Semua',
duplicate: 'Duplikat',
routine: 'Rutin',
new: 'Baru',
history: 'Histori',
select: 'Pilih',
passphrase: 'Frasa sandi',
filter: 'Saring',
change: 'Mengubah',
views: 'Tampilan',
triggers: 'Pemicu',
routines: 'Rutinitas',
functions: 'Fungsi',
schedulers: 'Penjadwal',
includes: 'Termasuk',
drop: 'Menjatuhkan',
completed: 'Selesai',
aborted: 'Dibatalkan',
disabled: 'Dinonaaktivkan',
enable: 'Aktifkan',
disable: 'Nonaktifkan',
commit: 'Komit',
rollback: 'Kembalikan',
connectionString: 'Rangkaian sambungan',
contributors: 'Kontributor',
pin: 'Pin',
unpin: 'Unpin',
console: 'Konsol',
shortcuts: 'Shortcut',
folder: 'Folder | Folder',
appearance: 'Appearance',
color: 'Color',
label: 'Label',
icon: 'Icon'
},
message: {
appWelcome: 'Selamat datang di Antares SQL Client!',
appFirstStep: 'Langkah pertama Anda: buat koneksi database baru.',
addConnection: 'Tambahkan koneksi',
createConnection: 'Buat koneksi',
createNewConnection: 'Buat koneksi baru',
askCredentials: 'Mintalah kredensial',
testConnection: 'Tes koneksi',
editConnection: 'Mengedit koneksi',
deleteConnection: 'Hapus koneksi',
deleteConfirm: 'Apakah Anda mengkonfirmasi pembatalan',
connectionSuccessfullyMade: 'Sambungan berhasil dibuat!',
madeWithJS: 'Dibuat dengan 💛 dan JavaScript!',
checkForUpdates: 'Periksa pembaruan',
noUpdatesAvailable: 'Tidak ada pembaruan yang tersedia',
checkingForUpdate: 'Memeriksa pembaruan',
checkFailure: 'Pemeriksaan gagal, coba lagi nanti',
updateAvailable: 'Pembaruan tersedia',
downloadingUpdate: 'Mengunduh pembaruan',
updateDownloaded: 'Pembaruan diunduh',
restartToInstall: 'Mulai ulang Antares untuk menginstal',
drop: 'Menjatuhkan',
unableEditFieldWithoutPrimary: 'Tidak dapat mengedit bidang tanpa kunci utama di kumpulan hasil',
editCell: 'Mengedit sel',
deleteRows: 'Hapus baris | Hapus {count} baris',
confirmToDeleteRows: 'Apakah Anda mengonfirmasi untuk menghapus satu baris? | Apakah Anda mengonfirmasi untuk menghapus {count} baris?',
notificationsTimeout: 'Batas waktu pemberitahuan',
uploadFile: 'Unggah data',
addNewRow: 'Tambahkan baris baru',
numberOfInserts: 'Jumlah sisipan',
openNewTab: 'Buka tab baru',
affectedRows: 'Baris yang terpengaruh',
createNewDatabase: 'Buat Basis Data baru',
databaseName: 'Nama basis data',
@ -201,8 +175,6 @@ export const idID = {
emptyTable: 'Kosongkan Tabel',
deleteTable: 'Hapus tabel',
emptyConfirm: 'Apakah Anda mengkonfirmasi untuk mengosongkan',
unsavedChanges: 'Perubahan belum disimpan',
discardUnsavedChanges: 'Anda memiliki beberapa perubahan yang belum disimpan. Dengan menutup tab ini akan membuang perubahan',
thereAreNoIndexes: 'Tidak ada indeks',
thereAreNoForeign: 'Tidak ada kunci asing',
createNewForeign: 'Buat kunci asing baru',
@ -211,9 +183,6 @@ export const idID = {
foreignFields: 'Bidang asing',
invalidDefault: 'Standar tidak valid',
onDelete: 'Saat hapus',
applicationTheme: 'Tema Aplikasi',
editorTheme: 'Tema Editor',
wrapLongLines: 'Bungkus garis panjang',
selectStatement: 'Pilih pernyataan',
triggerStatement: 'Pernyataan pemicu',
sqlSecurity: 'keamanan SQL',
@ -236,14 +205,9 @@ export const idID = {
createNewScheduler: 'Buat penjadwal baru',
deleteScheduler: 'Hapus penjadwal',
preserveOnCompletion: 'Pertahankan saat selesai',
enableSsl: 'Aktifkan SSL',
manualValue: 'Nilai manual',
tableFiller: 'Pengisi Tabel',
fakeDataLanguage: 'Bahasa data palsu',
searchForElements: 'Cari elemen',
selectAll: 'Pilih Semua',
queryDuration: 'Durasi kueri',
includeBetaUpdates: 'Sertakan pembaruan beta',
setNull: 'Tetapkan NULL',
processesList: 'Daftar proses',
processInfo: 'Info proses',
@ -252,15 +216,8 @@ export const idID = {
schemaName: 'Nama skema',
editSchema: 'Edit skema',
deleteSchema: 'Hapus skema',
markdownSupported: 'Markdown didukung',
plantATree: 'Menanam pohon',
dataTabPageSize: 'Ukuran halaman tab DATA',
enableSsh: 'Aktifkan SSH',
pageNumber: 'Nomor halaman',
duplicateTable: 'Duplikat Tabel',
noOpenTabs: 'Tidak ada tab terbuka, navigasikan di bilah kiri atau:',
noSchema: 'Tidak ada skema',
restorePreviousSession: 'Kembalikan sesi sebelumnya',
runQuery: 'Jalankan kueri',
thereAreNoTableFields: 'Tidak ada bidang tabel',
newTable: 'Tabel baru',
@ -273,36 +230,78 @@ export const idID = {
thereIsNoQueriesYet: 'Belum ada kueri',
searchForQueries: 'Telusuri kueri',
killProcess: 'Membunuh proses',
closeTab: 'Tutup tab',
exportSchema: 'Skema ekspor',
importSchema: 'Skema impor',
directoryPath: 'Jalur direktori',
newInsertStmtEvery: 'Pernyataan INSERT baru setiap',
processingTableExport: 'Memproses {table}',
fetchingTableExport: 'Mengambil data {table}',
writingTableExport: 'Menulis data {table} ',
checkAllTables: 'Periksa semua tabel',
uncheckAllTables: 'Hapus centang semua tabel',
goToDownloadPage: 'Buka halaman unduh',
readOnlyMode: 'Mode hanya baca',
killQuery: 'Bunuh kueri',
insertRow: 'Sisipkan baris | Sisipkan baris',
commitMode: 'Mode komit',
autoCommit: 'Komit otomatis',
manualCommit: 'Komit manual',
actionSuccessful: '{aksi} berhasil',
disableFKChecks: 'Nonaktifkan pemeriksaan kunci asing',
formatQuery: 'Format query',
queryHistory: 'Histori query',
clearQuery: 'Bersihkan query',
fillCell: 'Isi sel',
executeSelectedQuery: 'Eksekusi query yang dipilih',
importQueryErrors: 'Peringatan: {n} kesalahan telah terjadi | Peringatan: {n} kesalahan telah terjadi',
executedQueries: '{n} permintaan dieksekusi | {n} permintaan dieksekusi',
outputFormat: 'Format keluaran',
singleFile: 'File {ext} tunggal',
zipCompressedFile: 'File {ext} terkompresi ZIP',
executedQueries: '{n} permintaan dieksekusi | {n} permintaan dieksekusi'
},
application: {
settings: 'Pengaturan',
general: 'Umum',
themes: 'Tema',
update: 'Memperbarui',
about: 'Tentang',
language: 'Bahasa',
light: 'Terang',
dark: 'Gelap',
autoCompletion: 'Penyelesaian Otomatis',
application: 'Aplikasi',
editor: 'Editor',
scratchpad: 'Papan penggaris',
changelog: 'Changelog',
small: 'Kecil',
medium: 'Sedang',
large: 'Besar',
console: 'Konsol',
shortcuts: 'Shortcut',
appearance: 'Appearance',
color: 'Color',
label: 'Label',
icon: 'Icon',
madeWithJS: 'Dibuat dengan 💛 dan JavaScript!',
checkForUpdates: 'Periksa pembaruan',
noUpdatesAvailable: 'Tidak ada pembaruan yang tersedia',
checkingForUpdate: 'Memeriksa pembaruan',
checkFailure: 'Pemeriksaan gagal, coba lagi nanti',
updateAvailable: 'Pembaruan tersedia',
downloadingUpdate: 'Mengunduh pembaruan',
updateDownloaded: 'Pembaruan diunduh',
restartToInstall: 'Mulai ulang Antares untuk menginstal',
notificationsTimeout: 'Batas waktu pemberitahuan',
openNewTab: 'Buka tab baru',
unsavedChanges: 'Perubahan belum disimpan',
discardUnsavedChanges: 'Anda memiliki beberapa perubahan yang belum disimpan. Dengan menutup tab ini akan membuang perubahan',
applicationTheme: 'Tema Aplikasi',
editorTheme: 'Tema Editor',
wrapLongLines: 'Bungkus garis panjang',
includeBetaUpdates: 'Sertakan pembaruan beta',
markdownSupported: 'Markdown didukung',
plantATree: 'Menanam pohon',
dataTabPageSize: 'Ukuran halaman tab DATA',
noOpenTabs: 'Tidak ada tab terbuka, navigasikan di bilah kiri atau:',
restorePreviousSession: 'Kembalikan sesi sebelumnya',
closeTab: 'Tutup tab',
goToDownloadPage: 'Buka halaman unduh',
disableBlur: 'Nonaktifkan buram',
untrustedConnection: 'Koneksi tidak tepercaya',
missingOrIncompleteTranslation: 'Terjemahan hilang atau tidak lengkap?',
findOutHowToContribute: 'Cari tahu cara berkontribusi',
disableFKChecks: 'Nonaktifkan pemeriksaan kunci asing',
allConnections: 'Semua koneksi',
searchForConnections: 'Cari koneksi',
disableScratchpad: 'Nonaktifkan papan tulis',
reportABug: 'Laporkan bug',
nextTab: 'Tab setelahnya',
@ -322,19 +321,15 @@ export const idID = {
openSettings: 'Buka Pengaturan',
openScratchpad: 'Buka scratchpad',
runOrReload: 'Jalankan atau reload',
formatQuery: 'Format query',
queryHistory: 'Histori query',
clearQuery: 'Bersihkan query',
openFilter: 'Buka filter',
nextResultsPage: 'Next results page',
previousResultsPage: 'Previous results page',
fillCell: 'Isi sel',
editFolder: 'Ubah folder',
folderName: 'Nama folder',
deleteFolder: 'Hapus folder',
editConnectionAppearance: 'Ubah connection appearance',
executeSelectedQuery: 'Eksekusi query yang dipilih',
defaultCopyType: 'Jenis salin default'
defaultCopyType: 'Jenis salin default',
searchForElements: 'Cari elemen'
},
faker: {
address: 'Alamat',

View File

@ -1,5 +1,5 @@
export const itIT = {
word: {
general: {
edit: 'Modifica',
save: 'Salva',
close: 'Chiudi',
@ -7,6 +7,63 @@ export const itIT = {
confirm: 'Conferma',
cancel: 'Annulla',
send: 'Invia',
refresh: 'Aggiorna',
autoRefresh: 'Auto-aggiorna',
version: 'Versione',
donate: 'Dona',
run: 'Esegui',
results: 'Risultati',
size: 'Dimensioni',
mimeType: 'Mime-Type',
download: 'Scarica',
add: 'Aggiungi',
data: 'Dati',
properties: 'Proprietà',
insert: 'Inserisci',
name: 'Nome',
clear: 'Scarta',
seconds: 'Secondi',
options: 'Opzioni',
discard: 'Scarta',
stay: 'Resta',
author: 'Autore',
upload: 'Carica',
browse: 'Sfoglia',
content: 'Contenuto',
cut: 'Taglia',
copy: 'Copia',
paste: 'Incolla',
tools: 'Strumenti',
format: 'Formatta',
all: 'Tutto',
duplicate: 'Duplica',
new: 'Nuovo',
history: 'Cronologia',
select: 'Seleziona',
filter: 'Filtra',
change: 'Cambia',
includes: 'Includi',
completed: 'Completato',
aborted: 'Annullato',
disabled: 'Disabilitato',
enable: 'Abilita',
disable: 'Disabilita',
contributors: 'Contributori',
pin: 'Fissa',
unpin: 'Sgancia',
folder: 'Cartella | Cartelle',
deleteConfirm: 'Confermi l\'eliminazione di',
uploadFile: 'Carica file',
manualValue: 'Valore manuale',
selectAll: 'Seleziona tutto',
pageNumber: 'Numero pagina',
directoryPath: 'Percorso directory',
actionSuccessful: '{action} riuscito',
outputFormat: 'Formato output',
singleFile: 'Singolo file {ext}',
zipCompressedFile: 'File {ext} zippato'
},
connection: {
connectionName: 'Nome connessione',
client: 'Client',
hostName: 'Nome host',
@ -18,39 +75,38 @@ export const itIT = {
connected: 'Connesso',
disconnect: 'Disconnetti',
disconnected: 'Disconnesso',
refresh: 'Aggiorna',
settings: 'Impostazioni',
general: 'Generale',
themes: 'Temi',
update: 'Aggiorna',
about: 'Informazioni',
language: 'Lingua',
version: 'Versione',
donate: 'Dona',
run: 'Esegui',
ssl: 'SSL',
privateKey: 'Chiave privata',
certificate: 'Certificato',
caCertificate: 'Certificato CA',
ciphers: 'Ciphers',
sshTunnel: 'SSH tunnel',
passphrase: 'Passphrase',
connectionString: 'Connection string',
addConnection: 'Aggiungi connessione',
createConnection: 'Crea connessione',
createNewConnection: 'Crea nuova connessione',
askCredentials: 'Chiedi credenziali',
testConnection: 'Testa connessione',
editConnection: 'Modifica connessione',
deleteConnection: 'Elimina connessione',
connectionSuccessfullyMade: 'Connessione avvenuta con successo!',
enableSsl: 'Abilita SSL',
enableSsh: 'Abilita SSH',
readOnlyMode: 'Modalità sola lettura',
untrustedConnection: 'Connessione non affidabile',
allConnections: 'Tutte le connessioni',
searchForConnections: 'Cerca una connessione'
},
database: {
schema: 'Schema',
results: 'Risultati',
size: 'Dimensioni',
seconds: 'Secondi',
type: 'Tipo',
mimeType: 'Mime-Type',
download: 'Scarica',
add: 'Aggiungi',
data: 'Dati',
properties: 'Proprietà',
insert: 'Inserisci',
connecting: 'Connessione in corso',
name: 'Nome',
collation: 'Confronto',
clear: 'Scarta',
options: 'Opzioni',
autoRefresh: 'Auto-aggiorna',
indexes: 'Indici',
foreignKeys: 'Chiavi esterne',
length: 'Lunghezza',
unsigned: 'Senza segno',
default: 'Default',
comment: 'Commento',
collation: 'Confronto',
key: 'Chiave | Chiavi',
order: 'Ordine',
expression: 'Espressione',
@ -60,15 +116,8 @@ export const itIT = {
approximately: 'Approssimativamente',
total: 'Totali',
table: 'Tabella',
discard: 'Scarta',
stay: 'Resta',
author: 'Autore',
light: 'Chiaro',
dark: 'Scuro',
autoCompletion: 'Auto Completamento',
application: 'Applicazione',
editor: 'Editor',
view: 'Vista',
indexes: 'Indici',
definer: 'Definer',
algorithm: 'Algoritmo',
trigger: 'Trigger | Triggers',
@ -87,100 +136,25 @@ export const itIT = {
execution: 'Esecuzione',
starts: 'Inizia',
ends: 'Finisce',
ssl: 'SSL',
privateKey: 'Chiave privata',
certificate: 'Certificato',
caCertificate: 'Certificato CA',
ciphers: 'Ciphers',
upload: 'Carica',
browse: 'Sfoglia',
faker: 'Faker',
content: 'Contenuto',
cut: 'Taglia',
copy: 'Copia',
paste: 'Incolla',
tools: 'Strumenti',
variables: 'Variabili',
processes: 'Processi',
database: 'Database',
scratchpad: 'Blocco appunti',
array: 'Array',
changelog: 'Changelog',
format: 'Formatta',
sshTunnel: 'SSH tunnel',
structure: 'Structure',
small: 'Piccolo',
medium: 'Medio',
large: 'Largo',
row: 'Riga | Righe',
cell: 'Cella | Celle',
triggerFunction: 'Funzione di trigger | Funzioni di trigger',
all: 'Tutto',
duplicate: 'Duplica',
routine: 'Routine',
new: 'Nuovo',
history: 'Cronologia',
select: 'Seleziona',
passphrase: 'Passphrase',
filter: 'Filtra',
change: 'Cambia',
views: 'Viste',
triggers: 'Trigger',
routines: 'Routine',
functions: 'Function',
schedulers: 'Scheduler',
includes: 'Includi',
drop: 'Drop',
completed: 'Completato',
aborted: 'Annullato',
disabled: 'Disabilitato',
enable: 'Abilita',
disable: 'Disabilita',
commit: 'Commit',
rollback: 'Rollback',
connectionString: 'Connection string',
contributors: 'Contributori',
pin: 'Fissa',
unpin: 'Sgancia',
console: 'Console',
shortcuts: 'Scorciatoie',
folder: 'Cartella | Cartelle',
appearance: 'Aspetto',
color: 'Colore',
label: 'Etichetta',
icon: 'Icona',
resultsTable: 'Tabella risultati'
},
message: {
appWelcome: 'Benvenuto in Antares SQL Client!',
appFirstStep: 'Primo step: crea una nuova connessione.',
addConnection: 'Aggiungi connessione',
createConnection: 'Crea connessione',
createNewConnection: 'Crea nuova connessione',
askCredentials: 'Chiedi credenziali',
testConnection: 'Testa connessione',
editConnection: 'Modifica connessione',
deleteConnection: 'Elimina connessione',
deleteConfirm: 'Confermi l\'eliminazione di',
connectionSuccessfullyMade: 'Connessione avvenuta con successo!',
madeWithJS: 'Fatto con 💛 e JavaScript!',
checkForUpdates: 'Cerca aggiornamenti',
noUpdatesAvailable: 'Nessun aggiornamento disponibile',
checkingForUpdate: 'Controllo aggiornamenti in corso',
checkFailure: 'Controllo fallito, riprova più tardi',
updateAvailable: 'Aggiornamento disponibile',
downloadingUpdate: 'Download dell\'aggiornamento',
updateDownloaded: 'Aggiornamento scaricato',
restartToInstall: 'Riavvia Antares per installare l\'aggiornamento',
resultsTable: 'Tabella risultati',
drop: 'Drop',
unableEditFieldWithoutPrimary: 'Impossibile modificare il campo senza una primary key nel resultset',
editCell: 'Modifica cella',
deleteRows: 'Elimina riga | Elimina {count} righe',
confirmToDeleteRows: 'Confermi di voler cancellare una riga? | Confermi di voler cancellare {count} righe?',
notificationsTimeout: 'Timeout Notifiche',
uploadFile: 'Carica file',
addNewRow: 'Aggiungi nuova riga',
numberOfInserts: 'Numero di insert',
openNewTab: 'Apri nuova scheda',
affectedRows: 'Righe interessate',
createNewDatabase: 'Crea nuovo database',
databaseName: 'Nome database',
@ -202,8 +176,6 @@ export const itIT = {
emptyTable: 'Svuota tabella',
deleteTable: 'Cancella tabella',
emptyConfirm: 'Confermi di voler svuotare',
unsavedChanges: 'Modifiche non salvate',
discardUnsavedChanges: 'Hai modifiche non salvate. Lasciando questa scheda le modifiche saranno scartate.',
thereAreNoIndexes: 'Non ci sono indici',
thereAreNoForeign: 'Non ci sono chiavi esterne',
createNewForeign: 'Crea nuova chiave esterna',
@ -212,9 +184,6 @@ export const itIT = {
foreignFields: 'Campi esterni',
invalidDefault: 'Default non valido',
onDelete: 'All\'eliminazione',
applicationTheme: 'Tema applicazione',
editorTheme: 'Tema editor',
wrapLongLines: 'A capo righe lunghe',
selectStatement: 'Dichiarazione select',
triggerStatement: 'Dichiarazione trigger',
sqlSecurity: 'Sicurezza SQL',
@ -237,14 +206,9 @@ export const itIT = {
createNewScheduler: 'Crea nuovo scheduler',
deleteScheduler: 'Elimina scheduler',
preserveOnCompletion: 'Preserva al completamento',
enableSsl: 'Abilita SSL',
manualValue: 'Valore manuale',
tableFiller: 'Riempitore Tabella',
fakeDataLanguage: 'Lingua dati falsi',
searchForElements: 'Cerca elementi',
selectAll: 'Seleziona tutto',
queryDuration: 'Durata query',
includeBetaUpdates: 'Includi aggiornamenti beta',
setNull: 'Imposta NULL',
processesList: 'Lista processi',
processInfo: 'Info processo',
@ -253,15 +217,8 @@ export const itIT = {
schemaName: 'Nome schema',
editSchema: 'Modifica schema',
deleteSchema: 'Elimina schema',
markdownSupported: 'Markdown supportato',
plantATree: 'Pianta un albero',
dataTabPageSize: 'Grandezza pagina tab DATI',
enableSsh: 'Abilita SSH',
pageNumber: 'Numero pagina',
duplicateTable: 'Duplica tabella',
noOpenTabs: 'Non ci sono tab aperte, naviga nella barra sinistra o:',
noSchema: 'Nessuno schema',
restorePreviousSession: 'Ripristina sessione precedente',
runQuery: 'Esegui query',
thereAreNoTableFields: 'Non ci sono campi della tabella',
newTable: 'Nuova tabella',
@ -274,36 +231,79 @@ export const itIT = {
thereIsNoQueriesYet: 'Non ci sono ancora query',
searchForQueries: 'Cerca query',
killProcess: 'Uccidi processo',
closeTab: 'Chiudi tab',
exportSchema: 'Esporta schema',
importSchema: 'Importa schema',
directoryPath: 'Percorso directory',
newInsertStmtEvery: 'Nuova istruzione INSERT ogni',
processingTableExport: 'Processo {table}',
fetchingTableExport: 'Ricavo i dati {table}',
writingTableExport: 'Scrittura dati {table}',
checkAllTables: 'Seleziona tutte le tabelle',
uncheckAllTables: 'Deseleziona tutte le tabelle',
goToDownloadPage: 'Vai alla pagina di download',
readOnlyMode: 'Modalità sola lettura',
killQuery: 'Interrompi query',
insertRow: 'Inserisci riga | Inserisci righe',
commitMode: 'Modalità commit',
autoCommit: 'Auto commit',
manualCommit: 'Commit manuale',
actionSuccessful: '{action} riuscito',
disableFKChecks: 'DIsabilita controllo foreigh key',
formatQuery: 'Formatta query',
queryHistory: 'Cronologia query',
clearQuery: 'Pulisci query',
fillCell: 'Riempi cella',
executeSelectedQuery: 'Esegui la query selezionata',
noResultsPresent: 'Nessun risultato presente',
importQueryErrors: 'Attenzione: si è verificato un errore | Attenzione si sono verificati {n} errori',
executedQueries: '{n} query eseguite | {n} query eseguite',
outputFormat: 'Formato output',
singleFile: 'Singolo file {ext}',
zipCompressedFile: 'File {ext} zippato',
executedQueries: '{n} query eseguite | {n} query eseguite'
},
application: {
settings: 'Impostazioni',
general: 'Generale',
themes: 'Temi',
update: 'Aggiorna',
about: 'Informazioni',
language: 'Lingua',
light: 'Chiaro',
dark: 'Scuro',
autoCompletion: 'Auto Completamento',
application: 'Applicazione',
editor: 'Editor',
scratchpad: 'Blocco appunti',
changelog: 'Changelog',
small: 'Piccolo',
medium: 'Medio',
large: 'Largo',
console: 'Console',
shortcuts: 'Scorciatoie',
appearance: 'Aspetto',
color: 'Colore',
label: 'Etichetta',
icon: 'Icona',
madeWithJS: 'Fatto con 💛 e JavaScript!',
checkForUpdates: 'Cerca aggiornamenti',
noUpdatesAvailable: 'Nessun aggiornamento disponibile',
checkingForUpdate: 'Controllo aggiornamenti in corso',
checkFailure: 'Controllo fallito, riprova più tardi',
updateAvailable: 'Aggiornamento disponibile',
downloadingUpdate: 'Download dell\'aggiornamento',
updateDownloaded: 'Aggiornamento scaricato',
restartToInstall: 'Riavvia Antares per installare l\'aggiornamento',
notificationsTimeout: 'Timeout Notifiche',
openNewTab: 'Apri nuova scheda',
unsavedChanges: 'Modifiche non salvate',
discardUnsavedChanges: 'Hai modifiche non salvate. Lasciando questa scheda le modifiche saranno scartate.',
applicationTheme: 'Tema applicazione',
editorTheme: 'Tema editor',
wrapLongLines: 'A capo righe lunghe',
includeBetaUpdates: 'Includi aggiornamenti beta',
markdownSupported: 'Markdown supportato',
plantATree: 'Pianta un albero',
dataTabPageSize: 'Grandezza pagina tab DATI',
noOpenTabs: 'Non ci sono tab aperte, naviga nella barra sinistra o:',
restorePreviousSession: 'Ripristina sessione precedente',
closeTab: 'Chiudi tab',
goToDownloadPage: 'Vai alla pagina di download',
disableBlur: 'Disabilita sfocatura',
untrustedConnection: 'Connessione non affidabile',
missingOrIncompleteTranslation: 'Traduzione mancante o incompleta?',
findOutHowToContribute: 'Scopri come contribuire',
disableFKChecks: 'DIsabilita controllo foreigh key',
allConnections: 'Tutte le connessioni',
searchForConnections: 'Cerca una connessione',
disableScratchpad: 'Disabilita scratchpad',
reportABug: 'Segnala un bug',
nextTab: 'Prossima tab',
@ -323,24 +323,19 @@ export const itIT = {
openSettings: 'Apri le impostazioni',
openScratchpad: 'Apri lo scratchpad',
runOrReload: 'Esegui o ricarica',
formatQuery: 'Formatta query',
queryHistory: 'Cronologia query',
clearQuery: 'Pulisci query',
openFilter: 'Apri il filtro',
nextResultsPage: 'Prossima pagina risultati',
previousResultsPage: 'Pagina risultati precedente',
fillCell: 'Riempi cella',
editFolder: 'Modifica cartella',
folderName: 'Nome cartella',
deleteFolder: 'Cancella cartella',
editConnectionAppearance: 'Modifica aspetto connessione',
executeSelectedQuery: 'Esegui la query selezionata',
defaultCopyType: 'Tipo di copia default',
showTableSize: 'Mostra dimensioni tabella nella sidebar',
showTableSizeDescription: 'Solo MySQL/MariaDB. Abilitare questa opzione può compromettere le performance in schemi con molte tabelle.',
searchForSchemas: 'Cerca schemi',
switchSearchMethod: 'Cambia metodo di ricerca',
noResultsPresent: 'Nessun risultato presente'
searchForElements: 'Cerca elementi',
switchSearchMethod: 'Cambia metodo di ricerca'
},
faker: {
address: 'Indirizzo',

View File

@ -1,5 +1,5 @@
export const jaJP = {
word: {
general: {
edit: '編集',
save: '保存',
close: '閉じる',
@ -7,6 +7,45 @@ export const jaJP = {
confirm: '確認',
cancel: 'キャンセル',
send: '送信',
refresh: 'リフレッシュ',
autoRefresh: 'オートリフレシュ',
version: 'バージョン',
donate: '寄付する',
run: '実行',
results: '結果',
size: 'サイズ',
mimeType: 'マイムタイプ',
download: 'ダウンロード',
add: '追加',
data: 'データ',
properties: 'プロパティ',
insert: '挿入',
name: '名称',
clear: 'クリア',
seconds: '秒数',
options: 'オプション',
discard: '破棄',
stay: 'ステイ',
author: '作者',
upload: 'アップロード',
browse: '閲覧',
content: 'コンテンツ',
cut: 'カット',
copy: 'コピー',
paste: '貼り付け',
tools: 'ツール',
format: 'フォーマット',
all: 'すべて',
duplicate: 'デュプリケート',
history: '履歴',
select: '選択',
deleteConfirm: 'のキャンセルを確認しますか?',
uploadFile: 'ファイルのアップロード',
manualValue: 'マニュアル値',
selectAll: 'すべてを選択する',
pageNumber: 'ページ番号'
},
connection: {
connectionName: '接続名',
client: 'クライアント',
hostName: 'ホスト名',
@ -18,39 +57,32 @@ export const jaJP = {
connected: '接続中',
disconnect: '接続解除',
disconnected: '接続解除',
refresh: 'リフレッシュ',
settings: '設定',
general: '一般',
themes: 'テーマ',
update: '更新情報',
// about: 'お問い合わせ',
language: '言語',
version: 'バージョン',
donate: '寄付する',
run: '実行',
ssl: 'SSL',
privateKey: '秘密鍵',
certificate: '証明書',
caCertificate: 'CA 証明書',
ciphers: '暗号',
sshTunnel: 'SSH トンネル',
addConnection: '接続の追加',
createConnection: '接続の作成',
createNewConnection: '新しい接続の作成',
askCredentials: '認証情報の入力',
testConnection: '接続のテスト',
editConnection: '接続の編集',
deleteConnection: '接続の削除',
connectionSuccessfullyMade: '接続に成功しました。',
enableSsl: 'SSL 対応',
enableSsh: 'SSH を有効にする'
},
database: {
schema: 'スキーマ',
results: '結果',
size: 'サイズ',
seconds: '秒数',
type: 'タイプ',
mimeType: 'マイムタイプ',
download: 'ダウンロード',
add: '追加',
data: 'データ',
properties: 'プロパティ',
insert: '挿入',
connecting: '接続',
name: '名称',
collation: '照合',
clear: 'クリア',
options: 'オプション',
autoRefresh: 'オートリフレシュ',
indexes: 'インデックス',
foreignKeys: '外部キー',
length: '長さ',
unsigned: '符号なし',
default: 'デフォルト',
comment: 'コメント',
collation: '照合',
key: 'キー | キー',
order: '順序',
expression: '表現',
@ -60,15 +92,8 @@ export const jaJP = {
approximately: '約',
total: '合計',
table: 'テーブル',
discard: '破棄',
stay: 'ステイ',
author: '作者',
light: 'ライト',
dark: 'ダーク',
autoCompletion: 'オートコンプリート',
application: 'アプリケーション',
editor: 'エディター',
view: 'ビュー',
indexes: 'インデックス',
definer: 'デファイナー',
algorithm: 'アルゴリズム',
trigger: 'トリガー | トリガー',
@ -77,7 +102,6 @@ export const jaJP = {
event: 'イベント',
parameters: 'パラメータ',
function: '関数 | 関数',
// deterministic: '決定論的',
context: 'コンテキスト',
export: 'エクスポート',
returns: '戻り値',
@ -86,71 +110,21 @@ export const jaJP = {
execution: '実行',
starts: '開始',
ends: '終了',
ssl: 'SSL',
privateKey: '秘密鍵',
certificate: '証明書',
caCertificate: 'CA 証明書',
ciphers: '暗号',
upload: 'アップロード',
browse: '閲覧',
faker: 'フェイカー',
content: 'コンテンツ',
cut: 'カット',
copy: 'コピー',
paste: '貼り付け',
tools: 'ツール',
variables: '変数',
processes: 'プロセス',
database: 'データベース',
scratchpad: 'スクラッチパッド',
array: '配列',
changelog: '変更履歴',
format: 'フォーマット',
sshTunnel: 'SSH トンネル',
structure: '構造',
// small: '小規模',
// medium: '中型',
// large: 'ラージ',
row: 'ロウ | ロウ',
cell: 'セル | セル',
triggerFunction: 'トリガー関数 | トリガー関数',
all: 'すべて',
duplicate: 'デュプリケート',
routine: 'ルーチン',
// new: '新機能',
history: '履歴',
select: '選択'
},
message: {
appWelcome: 'Antares SQL Client へようこそ!',
appFirstStep: '最初のステップは、新しいデータベース接続を作成することです。',
addConnection: '接続の追加',
createConnection: '接続の作成',
createNewConnection: '新しい接続の作成',
askCredentials: '認証情報の入力',
testConnection: '接続のテスト',
editConnection: '接続の編集',
deleteConnection: '接続の削除',
deleteConfirm: 'のキャンセルを確認しますか?',
connectionSuccessfullyMade: '接続に成功しました。',
madeWithJS: '💛 と JavaScript で作られています。',
checkForUpdates: '更新情報の確認',
noUpdatesAvailable: 'アップデートがありません',
checkingForUpdate: 'アップデートを確認中',
checkFailure: 'チェックに失敗しました、後で試してください',
updateAvailable: 'アップデートが利用可能です',
downloadingUpdate: 'アップデートのダウンロード',
updateDownloaded: 'アップデートのダウンロード',
restartToInstall: 'Antares を再起動してインストールしてください',
unableEditFieldWithoutPrimary: '主キーのないフィールドを結果セットで編集できない',
editCell: 'セルの編集',
deleteRows: '行の削除 | {count} 行の削除',
confirmToDeleteRows: '1つの行を削除することを確認しますか | {count} 行を削除することを確認しますか?',
notificationsTimeout: '通知のタイムアウト',
uploadFile: 'ファイルのアップロード',
addNewRow: '新しい行の追加',
numberOfInserts: 'インサート数',
openNewTab: '新しいタブを開く',
affectedRows: '影響を受ける行',
createNewDatabase: '新規データベースの作成',
databaseName: 'データベース名',
@ -172,8 +146,6 @@ export const jaJP = {
emptyTable: '空のテーブル',
deleteTable: 'テーブルの削除',
emptyConfirm: '空にすることを確認しますか?',
unsavedChanges: '保存されていない変更',
discardUnsavedChanges: '保存されていない変更があります。このタブを閉じると、これらの変更は破棄されます。',
thereAreNoIndexes: 'インデックスがありません',
thereAreNoForeign: '外部キーがありません。',
createNewForeign: '新しい外部キーの作成',
@ -182,9 +154,6 @@ export const jaJP = {
foreignFields: '外部フィールド',
invalidDefault: '無効なデフォルト',
onDelete: '削除時',
applicationTheme: 'アプリケーションテーマ',
editorTheme: 'エディターテーマ',
wrapLongLines: '長い行の折り返し',
selectStatement: '選択文',
triggerStatement: 'トリガー文',
sqlSecurity: 'SQL セキュリティ',
@ -207,14 +176,9 @@ export const jaJP = {
createNewScheduler: 'スケジューラの新規作成',
deleteScheduler: 'スケジューラの削除',
preserveOnCompletion: '完了時に保存する',
enableSsl: 'SSL 対応',
manualValue: 'マニュアル値',
tableFiller: 'テーブルフィラー',
fakeDataLanguage: 'フェイクデータの言語',
searchForElements: '要素の検索',
selectAll: 'すべてを選択する',
queryDuration: '問い合わせ期間',
includeBetaUpdates: 'ベータ版アップデートを含む',
setNull: 'NULL の設定',
processesList: 'プロセス一覧',
processInfo: 'プロセス情報',
@ -223,15 +187,8 @@ export const jaJP = {
schemaName: 'スキーマ名',
editSchema: 'スキーマの編集',
deleteSchema: 'スキーマの削除',
markdownSupported: 'マークダウン対応',
// plantATree: '木を植える',
dataTabPageSize: 'DATA タブのページサイズ',
enableSsh: 'SSH を有効にする',
pageNumber: 'ページ番号',
duplicateTable: 'テーブルを複製する',
noOpenTabs: '開いているタブがありません。左のバーでナビゲートするか',
noSchema: 'スキーマなし',
restorePreviousSession: '前のセッションに戻す',
runQuery: 'クエリの実行',
thereAreNoTableFields: 'テーブルのフィールドがありません',
newTable: '新しいテーブル',
@ -245,6 +202,42 @@ export const jaJP = {
searchForQueries: 'クエリの検索',
killProcess: 'プロセスの停止'
},
application: {
settings: '設定',
general: '一般',
themes: 'テーマ',
update: '更新情報',
language: '言語',
light: 'ライト',
dark: 'ダーク',
autoCompletion: 'オートコンプリート',
application: 'アプリケーション',
editor: 'エディター',
scratchpad: 'スクラッチパッド',
changelog: '変更履歴',
madeWithJS: '💛 と JavaScript で作られています。',
checkForUpdates: '更新情報の確認',
noUpdatesAvailable: 'アップデートがありません',
checkingForUpdate: 'アップデートを確認中',
checkFailure: 'チェックに失敗しました、後で試してください',
updateAvailable: 'アップデートが利用可能です',
downloadingUpdate: 'アップデートのダウンロード',
updateDownloaded: 'アップデートのダウンロード',
restartToInstall: 'Antares を再起動してインストールしてください',
notificationsTimeout: '通知のタイムアウト',
openNewTab: '新しいタブを開く',
unsavedChanges: '保存されていない変更',
discardUnsavedChanges: '保存されていない変更があります。このタブを閉じると、これらの変更は破棄されます。',
applicationTheme: 'アプリケーションテーマ',
editorTheme: 'エディターテーマ',
wrapLongLines: '長い行の折り返し',
includeBetaUpdates: 'ベータ版アップデートを含む',
markdownSupported: 'マークダウン対応',
dataTabPageSize: 'DATA タブのページサイズ',
noOpenTabs: '開いているタブがありません。左のバーでナビゲートするか',
restorePreviousSession: '前のセッションに戻す',
searchForElements: '要素の検索'
},
faker: {
address: '住所',
commerce: 'コマース',

View File

@ -1,5 +1,5 @@
export const koKR = {
word: {
general: {
edit: '편집',
save: '저장',
close: '닫기',
@ -7,6 +7,63 @@ export const koKR = {
confirm: '확인',
cancel: '취소',
send: '보내기',
refresh: '새로고침',
autoRefresh: '자동 새로고침',
version: '버전',
donate: '기부',
run: '실행',
results: '결과',
size: '크기',
mimeType: 'Mime 타입',
download: '다운로드',
add: '추가',
data: '데이터',
properties: '속성',
insert: '삽입',
name: '이름',
clear: '초기화',
seconds: '초',
options: '옵션',
discard: '취소',
stay: '계속하기',
author: '작성자',
upload: '업로드',
browse: '찾아보기',
content: '컨텐츠',
cut: '잘라내기',
copy: '복사',
paste: '붙여넣기',
tools: '도구',
format: '형식',
all: '모두',
duplicate: '복제',
new: '새로 만들기',
history: '기록',
select: '선택',
filter: '필터',
change: '변경',
includes: '포함',
completed: '완료됨',
aborted: '중단됨',
disabled: '비활성화됨',
enable: '활성화',
disable: '비활성화',
contributors: '기여자',
pin: '고정',
unpin: '고정 해제',
folder: '폴더 | 폴더들',
deleteConfirm: '취소를 확인하시겠습니까',
uploadFile: '파일 업로드',
manualValue: '수동 값',
selectAll: '전체 조회',
pageNumber: '페이지 번호',
directoryPath: '디렉터리 경로',
actionSuccessful: '{action} 성공',
outputFormat: '출력 형식',
singleFile: '단일 {ext} 파일',
zipCompressedFile: 'ZIP 압축 {ext} 파일'
},
connection: {
connectionName: '연결 이름',
client: '클라이언트',
hostName: '호스트 이름',
@ -18,39 +75,38 @@ export const koKR = {
connected: '연결됨',
disconnect: '연결 해제',
disconnected: '연결 해제됨',
refresh: '새로고침',
settings: '설정',
general: '일반',
themes: '테마',
update: '업데이트',
about: '정보',
language: '언어',
version: '버전',
donate: '기부',
run: '실행',
ssl: 'SSL',
privateKey: '개인 키',
certificate: '인증서',
caCertificate: 'CA 인증서',
ciphers: '암호화',
sshTunnel: 'SSH 터널',
passphrase: '암호',
connectionString: '연결 문자열',
addConnection: '연결 추가',
createConnection: '연결 생성',
createNewConnection: '새로운 연결 생성',
askCredentials: '자격 증명 요청',
testConnection: '연결 테스트',
editConnection: '연결 편집',
deleteConnection: '연결 삭제',
connectionSuccessfullyMade: '성공적으로 연결되었습니다!',
enableSsl: 'SSL 활성화',
enableSsh: 'SSH 활성화',
readOnlyMode: '읽기 전용 모드',
untrustedConnection: '신뢰할 수 없는 연결',
allConnections: '모든 연결',
searchForConnections: '연결 검색'
},
database: {
schema: '스키마',
results: '결과',
size: '크기',
seconds: '초',
type: '유형',
mimeType: 'Mime 타입',
download: '다운로드',
add: '추가',
data: '데이터',
properties: '속성',
insert: '삽입',
connecting: '연결 중',
name: '이름',
collation: 'Collation',
clear: '초기화',
options: '옵션',
autoRefresh: '자동 새로고침',
indexes: '인덱스',
foreignKeys: '외래 키',
length: '길이',
unsigned: 'Unsigned',
default: '기본값',
comment: '설명',
collation: 'Collation',
key: '키 | 키들',
order: '순서',
expression: '식',
@ -60,15 +116,8 @@ export const koKR = {
approximately: '대략',
total: '전체',
table: '테이블',
discard: '취소',
stay: '계속하기',
author: '작성자',
light: '라이트',
dark: '다크',
autoCompletion: '자동 완성',
application: '애플리케이션',
editor: '편집기',
view: '보기',
indexes: '인덱스',
definer: '정의자',
algorithm: '알고리즘',
trigger: '트리거 | 트리거들',
@ -87,100 +136,25 @@ export const koKR = {
execution: '실행',
starts: '시작',
ends: '종료',
ssl: 'SSL',
privateKey: '개인 키',
certificate: '인증서',
caCertificate: 'CA 인증서',
ciphers: '암호화',
upload: '업로드',
browse: '찾아보기',
faker: 'Faker',
content: '컨텐츠',
cut: '잘라내기',
copy: '복사',
paste: '붙여넣기',
tools: '도구',
variables: '변수',
processes: '프로세스',
database: '데이터베이스',
scratchpad: '스크래치패드',
array: '배열',
changelog: '변경 로그',
format: '형식',
sshTunnel: 'SSH 터널',
structure: '구조',
small: '작음',
medium: '중간',
large: '큼',
row: '행 | 행들',
cell: '셀 | 셀들',
triggerFunction: '트리거 함수 | 트리거 함수들',
all: '모두',
duplicate: '복제',
routine: '루틴',
new: '새로 만들기',
history: '기록',
select: '선택',
passphrase: '암호',
filter: '필터',
change: '변경',
views: '뷰',
triggers: '트리거',
routines: '루틴',
functions: '함수',
schedulers: '스케줄러',
includes: '포함',
drop: '삭제',
completed: '완료됨',
aborted: '중단됨',
disabled: '비활성화됨',
enable: '활성화',
disable: '비활성화',
commit: '커밋',
rollback: '롤백',
connectionString: '연결 문자열',
contributors: '기여자',
pin: '고정',
unpin: '고정 해제',
console: '콘솔',
shortcuts: '바로가기',
folder: '폴더 | 폴더들',
appearance: '외형',
color: '색상',
label: '라벨',
icon: '아이콘',
resultsTable: '결과 테이블'
},
message: {
appWelcome: 'Antares SQL 클라이언트에 오신 것을 환영합니다!',
appFirstStep: '첫 번째 단계: 새 데이터베이스 연결',
addConnection: '연결 추가',
createConnection: '연결 생성',
createNewConnection: '새로운 연결 생성',
askCredentials: '자격 증명 요청',
testConnection: '연결 테스트',
editConnection: '연결 편집',
deleteConnection: '연결 삭제',
deleteConfirm: '취소를 확인하시겠습니까',
connectionSuccessfullyMade: '성공적으로 연결되었습니다!',
madeWithJS: '💛과 JavaScript로 만들어졌습니다!',
checkForUpdates: '업데이트 확인',
noUpdatesAvailable: '업데이트가 없습니다',
checkingForUpdate: '업데이트 확인 중',
checkFailure: '확인 실패, 나중에 다시 시도해주세요',
updateAvailable: '업데이트 가능',
downloadingUpdate: '업데이트 다운로드 중',
updateDownloaded: '업데이트 다운로드 완료',
restartToInstall: 'Antares를 다시 실행해주세요',
resultsTable: '결과 테이블',
drop: '삭제',
unableEditFieldWithoutPrimary: '기본 키 없이 필드를 편집할 수 없습니다.',
editCell: '셀 편집',
deleteRows: '행 삭제 | {count}개의 행 삭제',
confirmToDeleteRows: '행을 삭제하시겠습니까? | {count}개의 행을 삭제하시겠습니까?',
notificationsTimeout: '알림 시간 초과',
uploadFile: '파일 업로드',
addNewRow: '새 행 추가',
numberOfInserts: '삽입 횟수',
openNewTab: '새 탭 열기',
affectedRows: '영향 받은 행',
createNewDatabase: '새 데이터베이스 생성',
databaseName: '데이터베이스 이름',
@ -202,8 +176,6 @@ export const koKR = {
emptyTable: '테이블 비우기',
deleteTable: '테이블 삭제',
emptyConfirm: '비우시겠습니까',
unsavedChanges: '저장되지 않은 변경사항',
discardUnsavedChanges: '저장되지 않은 변경사항이 있습니다. 탭을 닫으면 이러한 변경사항이 삭제됩니다.',
thereAreNoIndexes: '인덱스가 없습니다.',
thereAreNoForeign: '외래 키가 없습니다.',
createNewForeign: '새로운 외래 키 생성',
@ -212,9 +184,6 @@ export const koKR = {
foreignFields: '외래 필드',
invalidDefault: '잘못된 기본값',
onDelete: '삭제 시',
applicationTheme: '애플리케이션 테마',
editorTheme: '편집기 테마',
wrapLongLines: '긴 줄 바꿈',
selectStatement: 'SELECT 문',
triggerStatement: '트리거 문',
sqlSecurity: 'SQL 보안',
@ -237,14 +206,9 @@ export const koKR = {
createNewScheduler: '새 스케줄러 생성',
deleteScheduler: '스케줄러 삭제',
preserveOnCompletion: '완료 후 보존',
enableSsl: 'SSL 활성화',
manualValue: '수동 값',
tableFiller: '테이블 채우기',
fakeDataLanguage: '가짜 데이터 언어',
searchForElements: '요소 검색',
selectAll: '전체 조회',
queryDuration: '쿼리 시간',
includeBetaUpdates: '베타 업데이트 포함',
setNull: 'NULL 설정',
processesList: '프로세스 목록',
processInfo: '프로세스 정보',
@ -253,15 +217,8 @@ export const koKR = {
schemaName: '스키마 이름',
editSchema: '스키마 편집',
deleteSchema: '스키마 삭제',
markdownSupported: '마크다운 지원',
plantATree: '나무 심기',
dataTabPageSize: '데이터 탭 페이지 크기',
enableSsh: 'SSH 활성화',
pageNumber: '페이지 번호',
duplicateTable: '테이블 복제',
noOpenTabs: '열린 탭이 없습니다.',
noSchema: '스키마 없음',
restorePreviousSession: '이전 세션 복원',
runQuery: '쿼리 실행',
thereAreNoTableFields: '테이블 필드가 없습니다',
newTable: '새 테이블',
@ -274,36 +231,78 @@ export const koKR = {
thereIsNoQueriesYet: '아직 쿼리가 없습니다',
searchForQueries: '쿼리 검색',
killProcess: '프로세스 종료',
closeTab: '탭 닫기',
exportSchema: '스키마 내보내기',
importSchema: '스키마 가져오기',
directoryPath: '디렉터리 경로',
newInsertStmtEvery: '마다 새 INSERT 문',
processingTableExport: '{table} 처리 중',
fetchingTableExport: '{table} 데이터 가져오는 중',
writingTableExport: '{table} 데이터 쓰는 중',
checkAllTables: '모든 테이블 선택',
uncheckAllTables: '모든 테이블 선택 취소',
goToDownloadPage: '다운로드 페이지로 이동',
readOnlyMode: '읽기 전용 모드',
killQuery: '쿼리 종료',
insertRow: '행 삽입 | 행 삽입',
commitMode: '커밋 모드',
autoCommit: '자동 커밋',
manualCommit: '수동 커밋',
actionSuccessful: '{action} 성공',
disableFKChecks: '외래 키 검사 비활성화',
formatQuery: '쿼리 형식',
queryHistory: '쿼리 기록',
clearQuery: '쿼리 지우기',
fillCell: '셀 채우기',
executeSelectedQuery: '선택한 쿼리 실행',
importQueryErrors: '경고: {n}개의 오류 발생 | 경고: {n}개의 오류 발생',
executedQueries: '{n}개의 쿼리 실행 | {n}개의 쿼리 실행',
outputFormat: '출력 형식',
singleFile: '단일 {ext} 파일',
zipCompressedFile: 'ZIP 압축 {ext} 파일',
executedQueries: '{n}개의 쿼리 실행 | {n}개의 쿼리 실행'
},
application: {
settings: '설정',
general: '일반',
themes: '테마',
update: '업데이트',
about: '정보',
language: '언어',
light: '라이트',
dark: '다크',
autoCompletion: '자동 완성',
application: '애플리케이션',
editor: '편집기',
scratchpad: '스크래치패드',
changelog: '변경 로그',
small: '작음',
medium: '중간',
large: '큼',
console: '콘솔',
shortcuts: '바로가기',
appearance: '외형',
color: '색상',
label: '라벨',
icon: '아이콘',
madeWithJS: '💛과 JavaScript로 만들어졌습니다!',
checkForUpdates: '업데이트 확인',
noUpdatesAvailable: '업데이트가 없습니다',
checkingForUpdate: '업데이트 확인 중',
checkFailure: '확인 실패, 나중에 다시 시도해주세요',
updateAvailable: '업데이트 가능',
downloadingUpdate: '업데이트 다운로드 중',
updateDownloaded: '업데이트 다운로드 완료',
restartToInstall: 'Antares를 다시 실행해주세요',
notificationsTimeout: '알림 시간 초과',
openNewTab: '새 탭 열기',
unsavedChanges: '저장되지 않은 변경사항',
discardUnsavedChanges: '저장되지 않은 변경사항이 있습니다. 탭을 닫으면 이러한 변경사항이 삭제됩니다.',
applicationTheme: '애플리케이션 테마',
editorTheme: '편집기 테마',
wrapLongLines: '긴 줄 바꿈',
includeBetaUpdates: '베타 업데이트 포함',
markdownSupported: '마크다운 지원',
plantATree: '나무 심기',
dataTabPageSize: '데이터 탭 페이지 크기',
noOpenTabs: '열린 탭이 없습니다.',
restorePreviousSession: '이전 세션 복원',
closeTab: '탭 닫기',
goToDownloadPage: '다운로드 페이지로 이동',
disableBlur: 'blur 비활성화',
untrustedConnection: '신뢰할 수 없는 연결',
missingOrIncompleteTranslation: '누락 혹은 불완전한 번역?',
findOutHowToContribute: '기여 방법 알아보기',
disableFKChecks: '외래 키 검사 비활성화',
allConnections: '모든 연결',
searchForConnections: '연결 검색',
disableScratchpad: '스크래치패드 비활성화',
reportABug: '버그 신고',
nextTab: '다음 탭',
@ -323,22 +322,18 @@ export const koKR = {
openSettings: '설정 열기',
openScratchpad: '스크래치패드 열기',
runOrReload: '실행 또는 다시 로드',
formatQuery: '쿼리 형식',
queryHistory: '쿼리 기록',
clearQuery: '쿼리 지우기',
openFilter: '필터 열기',
nextResultsPage: '다음 결과 페이지',
previousResultsPage: '이전 결과 페이지',
fillCell: '셀 채우기',
editFolder: '폴더 수정',
folderName: '폴더 이름',
deleteFolder: '폴더 삭제',
editConnectionAppearance: '연결 형태 수정',
executeSelectedQuery: '선택한 쿼리 실행',
defaultCopyType: '기본 복사 유형',
showTableSize: '사이드바에 테이블 크기 표시',
showTableSizeDescription: 'MySQL/MariaDB 전용입니다. 이 옵션을 사용하면 많은 테이블이 있는 스키마의 성능에 영향을 줄 수 있습니다.',
searchForSchemas: '스키마 검색',
searchForElements: '요소 검색',
switchSearchMethod: '검색 방법 전환'
},
faker: {

View File

@ -1,5 +1,5 @@
export const nlNL = {
word: {
general: {
edit: 'Bewerk',
save: 'Opslaan',
close: 'Sluiten',
@ -7,6 +7,66 @@ export const nlNL = {
confirm: 'Bevestig',
cancel: 'Annuleer',
send: 'Verstuur',
refresh: 'Ververs',
autoRefresh: 'Automatisch verversen',
version: 'Versie',
donate: 'Doneer',
run: 'Uitvoeren',
results: 'Resultaten',
size: 'Grootte',
mimeType: 'Mime-Type',
download: 'Download',
add: 'Toevoegen',
data: 'Data',
properties: 'Eigenschappen',
insert: 'Invoegen',
name: 'Naam',
clear: 'Wis',
seconds: 'Seconden',
options: 'Opties',
discard: 'Discard',
stay: 'Stay',
author: 'Auteur',
upload: 'Upload',
browse: 'Blader',
content: 'Content',
cut: 'Cut',
copy: 'Kopieer',
paste: 'Plak',
tools: 'Gereedschap',
format: 'Format',
all: 'Alle',
duplicate: 'Dupliceer',
new: 'Nieuw',
history: 'Geschiedenis',
select: 'Selecteer',
filter: 'Filter',
change: 'Wijzig',
includes: 'Includes',
completed: 'Completed',
aborted: 'Aborted',
disabled: 'Uitgeschakeld',
enable: 'Inschakelen',
disable: 'Uitschakelen',
contributors: 'Contributors',
pin: 'Vastzetten',
unpin: 'Losmaken',
folder: 'Folder | Folders',
none: 'Geen',
singleQuote: 'Enkel aanhalingsteken',
doubleQuote: 'Dubbel aanhalingsteken',
deleteConfirm: 'Bevestig het verwijderen van',
uploadFile: 'Upload bestand',
manualValue: 'Handmatige waarde',
selectAll: 'Selecteer alles',
pageNumber: 'Paginanummer',
directoryPath: 'Directory path',
actionSuccessful: '{action} succesvol',
outputFormat: 'Uitvoerformaat',
singleFile: 'Enkel {ext}-bestand',
zipCompressedFile: 'ZIP gecomprimeerd {ext}-bestand'
},
connection: {
connectionName: 'Naam verbinding',
client: 'Client',
hostName: 'Servernaam',
@ -18,39 +78,38 @@ export const nlNL = {
connected: 'Verbonden',
disconnect: 'Verbreek verbinding',
disconnected: 'Verbinding verbroken',
refresh: 'Ververs',
settings: 'Instellingen',
general: 'Algemeen',
themes: 'Thema\'s',
update: 'Bijwerken',
about: 'Over',
language: 'Taal',
version: 'Versie',
donate: 'Doneer',
run: 'Uitvoeren',
ssl: 'SSL',
privateKey: 'Private key',
certificate: 'Certificaat',
caCertificate: 'CA certificaat',
ciphers: 'Encryptiesleutels',
sshTunnel: 'SSH tunnel',
passphrase: 'Passphrase',
connectionString: 'Connection string',
addConnection: 'Voeg verbinding toe',
createConnection: 'Maak verbinding',
createNewConnection: 'Maak nieuwe connection',
askCredentials: 'Vraag om credentials',
testConnection: 'Test verbinding',
editConnection: 'Bewerk verbinding',
deleteConnection: 'Verwijder verbinding',
connectionSuccessfullyMade: 'Connection successfully made!',
enableSsl: 'SSL inschakelen',
enableSsh: 'SSH inschakelen',
readOnlyMode: 'Alleen lezen modus',
untrustedConnection: 'Niet vertrouwde verbinding',
allConnections: 'Alle verbindingen',
searchForConnections: 'Search for connections'
},
database: {
schema: 'Schema',
results: 'Resultaten',
size: 'Grootte',
seconds: 'Seconden',
type: 'Type',
mimeType: 'Mime-Type',
download: 'Download',
add: 'Toevoegen',
data: 'Data',
properties: 'Eigenschappen',
insert: 'Invoegen',
connecting: 'Verbinden',
name: 'Naam',
collation: 'Collation',
clear: 'Wis',
options: 'Opties',
autoRefresh: 'Automatisch verversen',
indexes: 'Indexes',
foreignKeys: 'Foreign keys',
length: 'Lengte',
unsigned: 'Unsigned',
default: 'Standaard',
comment: 'Opmerking',
collation: 'Collation',
key: 'Key | Keys',
order: 'Sorteer',
expression: 'Expression',
@ -60,15 +119,8 @@ export const nlNL = {
approximately: 'Ongeveer',
total: 'Totaal',
table: 'Tabel',
discard: 'Discard',
stay: 'Stay',
author: 'Auteur',
light: 'Licht',
dark: 'Donker',
autoCompletion: 'Auto Completion',
application: 'Applicatie',
editor: 'Editor',
view: 'View',
indexes: 'Indexes',
definer: 'Definer',
algorithm: 'Algoritme',
trigger: 'Trigger | Triggers',
@ -87,104 +139,26 @@ export const nlNL = {
execution: 'Execution',
starts: 'Starts',
ends: 'Ends',
ssl: 'SSL',
privateKey: 'Private key',
certificate: 'Certificaat',
caCertificate: 'CA certificaat',
ciphers: 'Encryptiesleutels',
upload: 'Upload',
browse: 'Blader',
faker: 'Faker',
content: 'Content',
cut: 'Cut',
copy: 'Kopieer',
paste: 'Plak',
tools: 'Gereedschap',
variables: 'Variabelen',
processes: 'Processes',
database: 'Database',
scratchpad: 'Kladblok',
array: 'Array',
changelog: 'Changelog',
format: 'Format',
sshTunnel: 'SSH tunnel',
structure: 'Structuur',
small: 'Klein',
medium: 'Medium',
large: 'Groot',
row: 'Rij | Rijen',
cell: 'Cel | Cellen',
triggerFunction: 'Trigger function | Trigger functions',
all: 'Alle', // Schema: 'Alle'
duplicate: 'Dupliceer',
routine: 'Routine',
new: 'Nieuw',
history: 'Geschiedenis',
select: 'Selecteer',
passphrase: 'Passphrase',
filter: 'Filter',
change: 'Wijzig',
views: 'Views',
triggers: 'Triggers',
routines: 'Routines',
functions: 'Functions',
schedulers: 'Schedulers',
includes: 'Includes',
drop: 'Drop',
completed: 'Completed',
aborted: 'Aborted',
disabled: 'Uitgeschakeld',
enable: 'Inschakelen',
disable: 'Uitschakelen',
commit: 'Commit',
rollback: 'Rollback',
connectionString: 'Connection string',
contributors: 'Contributors',
pin: 'Vastzetten',
unpin: 'Losmaken',
console: 'Console',
shortcuts: 'Sneltoetsen',
folder: 'Folder | Folders',
appearance: 'Uiterlijk',
color: 'Kleur',
label: 'Label',
icon: 'Pictogram',
resultsTable: 'Resultaten tabel',
ddl: 'DDL',
none: 'Geen',
singleQuote: 'Enkel aanhalingsteken',
doubleQuote: 'Dubbel aanhalingsteken'
},
message: {
appWelcome: 'Welkom bij Antares SQL Client!',
appFirstStep: 'Eerste stap: maak een nieuwe databaseverbinding.',
addConnection: 'Voeg verbinding toe',
createConnection: 'Maak verbinding',
createNewConnection: 'Maak nieuwe connection',
askCredentials: 'Vraag om credentials',
testConnection: 'Test verbinding',
editConnection: 'Bewerk verbinding',
deleteConnection: 'Verwijder verbinding',
deleteConfirm: 'Bevestig het verwijderen van',
connectionSuccessfullyMade: 'Connection successfully made!',
madeWithJS: 'Gemaakt met 💛 en JavaScript!',
checkForUpdates: 'Controleer op updates',
noUpdatesAvailable: 'Geen updates beschikbaar',
checkingForUpdate: 'Aan het controleren op updates',
checkFailure: 'Controle gefaald, probeer het later opnieuw',
updateAvailable: 'Update beschikbaar',
downloadingUpdate: 'Update wordt gedownload',
updateDownloaded: 'Update gedownload',
restartToInstall: 'Herstart Antares om te installeren',
drop: 'Drop',
unableEditFieldWithoutPrimary: 'Unable to edit a field without a primary key in result set',
editCell: 'Wijzig cell',
deleteRows: 'Verwijder rij | Verwijder {count} rijen',
confirmToDeleteRows: 'Do you confirm to delete one row? | Do you confirm to delete {count} rows?',
notificationsTimeout: 'Notifications timeout',
uploadFile: 'Upload bestand',
addNewRow: 'Voeg een nieuwe rij toe',
numberOfInserts: 'Aantal inserts',
openNewTab: 'Open een nieuw tabblad',
affectedRows: 'Affected rows',
createNewDatabase: 'Maak nieuwe Database',
databaseName: 'Database naam',
@ -206,8 +180,6 @@ export const nlNL = {
emptyTable: 'Maak tabel leeg',
deleteTable: 'Verwijder tabel',
emptyConfirm: 'Do you confirm to empty',
unsavedChanges: 'Onopgeslagen wijzigingen',
discardUnsavedChanges: 'Je hebt onopgeslagen wijzigingen. Closing this tab these changes will be discarded.',
thereAreNoIndexes: 'Er zijn geen indexes',
thereAreNoForeign: 'Er zijn geen foreign keys',
createNewForeign: 'Maak nieuwe foreign key',
@ -216,9 +188,6 @@ export const nlNL = {
foreignFields: 'Foreign fields',
invalidDefault: 'Ongeldige standaardwaarde',
onDelete: 'On delete',
applicationTheme: 'Applicatie thema',
editorTheme: 'Editor Theme',
wrapLongLines: 'Wrap long lines',
selectStatement: 'Select statement',
triggerStatement: 'Trigger statement',
sqlSecurity: 'SQL security',
@ -241,14 +210,9 @@ export const nlNL = {
createNewScheduler: 'Maak nieuwe scheduler',
deleteScheduler: 'Verwijder scheduler',
preserveOnCompletion: 'Preserve on completion',
enableSsl: 'SSL inschakelen',
manualValue: 'Handmatige waarde',
tableFiller: 'Table Filler',
fakeDataLanguage: 'Fake data language',
searchForElements: 'Zoek naar elementen',
selectAll: 'Selecteer alles',
queryDuration: 'Query duration',
includeBetaUpdates: 'Include beta updates',
setNull: 'Zet op NULL',
processesList: 'Proceslijst',
processInfo: 'Procesinformatie',
@ -257,15 +221,8 @@ export const nlNL = {
schemaName: 'Naam schema',
editSchema: 'Bewerk schema',
deleteSchema: 'Verwijder schema',
markdownSupported: 'Markdown wordt ondersteund',
plantATree: 'Plant een boom',
dataTabPageSize: 'DATA tab page size',
enableSsh: 'SSH inschakelen',
pageNumber: 'Paginanummer',
duplicateTable: 'Dupliceer table',
noOpenTabs: 'There are no open tabs, navigate on the left bar or:',
noSchema: 'Geen schema',
restorePreviousSession: 'Herstel vorige sessie',
runQuery: 'Run query',
thereAreNoTableFields: 'There are no table fields',
newTable: 'Nieuwe table',
@ -278,36 +235,82 @@ export const nlNL = {
thereIsNoQueriesYet: 'There is no queries yet',
searchForQueries: 'Search for queries',
killProcess: 'Sluit proces af',
closeTab: 'Sluit tabblad',
exportSchema: 'Exporteer schema',
importSchema: 'Importeer schema',
directoryPath: 'Directory path',
newInsertStmtEvery: 'New INSERT statement every',
processingTableExport: 'Verwerken {table}',
fetchingTableExport: 'Ophalen data van {table} data',
writingTableExport: 'Writing {table} data',
checkAllTables: 'Selecteer alle tabellen',
uncheckAllTables: 'Deselecteer alle tabellen',
goToDownloadPage: 'Ga naar de downloadpagina',
readOnlyMode: 'Alleen lezen modus',
killQuery: 'Kill query',
insertRow: 'Rij invoegen | Rijen invoegen',
commitMode: 'Commit modus',
autoCommit: 'Automatische commit',
manualCommit: 'Handmatige commit',
actionSuccessful: '{action} succesvol',
disableFKChecks: 'Foreign key checks uitschakelen',
formatQuery: 'Formatteer query',
queryHistory: 'Query geschiedenis',
clearQuery: 'Wis query',
fillCell: 'Vul cel',
executeSelectedQuery: 'Execute selected query',
noResultsPresent: 'Geen resultaten beschikbaar',
sqlExportOptions: 'SQL export options',
targetTable: 'Doeltabel',
switchDatabase: 'Wissel van database',
importQueryErrors: 'Waarschuwing: {n} fout is opgetreden | Waarschuwing: {n} fouten opgetreden',
executedQueries: '{n} query uitgevoerd | {n} queries uitgevoerd',
outputFormat: 'Uitvoerformaat',
singleFile: 'Enkel {ext}-bestand',
zipCompressedFile: 'ZIP gecomprimeerd {ext}-bestand',
executedQueries: '{n} query uitgevoerd | {n} queries uitgevoerd'
},
application: {
settings: 'Instellingen',
general: 'Algemeen',
themes: 'Thema\'s',
update: 'Bijwerken',
about: 'Over',
language: 'Taal',
light: 'Licht',
dark: 'Donker',
autoCompletion: 'Auto Completion',
application: 'Applicatie',
editor: 'Editor',
scratchpad: 'Kladblok',
changelog: 'Changelog',
small: 'Klein',
medium: 'Medium',
large: 'Groot',
console: 'Console',
shortcuts: 'Sneltoetsen',
appearance: 'Uiterlijk',
color: 'Kleur',
label: 'Label',
icon: 'Pictogram',
madeWithJS: 'Gemaakt met 💛 en JavaScript!',
checkForUpdates: 'Controleer op updates',
noUpdatesAvailable: 'Geen updates beschikbaar',
checkingForUpdate: 'Aan het controleren op updates',
checkFailure: 'Controle gefaald, probeer het later opnieuw',
updateAvailable: 'Update beschikbaar',
downloadingUpdate: 'Update wordt gedownload',
updateDownloaded: 'Update gedownload',
restartToInstall: 'Herstart Antares om te installeren',
notificationsTimeout: 'Notifications timeout',
openNewTab: 'Open een nieuw tabblad',
unsavedChanges: 'Onopgeslagen wijzigingen',
discardUnsavedChanges: 'Je hebt onopgeslagen wijzigingen. Closing this tab these changes will be discarded.',
applicationTheme: 'Applicatie thema',
editorTheme: 'Editor Theme',
wrapLongLines: 'Wrap long lines',
includeBetaUpdates: 'Include beta updates',
markdownSupported: 'Markdown wordt ondersteund',
plantATree: 'Plant een boom',
dataTabPageSize: 'DATA tab page size',
noOpenTabs: 'There are no open tabs, navigate on the left bar or:',
restorePreviousSession: 'Herstel vorige sessie',
closeTab: 'Sluit tabblad',
goToDownloadPage: 'Ga naar de downloadpagina',
disableBlur: 'Vervagen uitschakelen',
untrustedConnection: 'Niet vertrouwde verbinding',
missingOrIncompleteTranslation: 'Missing or incomplete translation?',
findOutHowToContribute: 'Ontdek hoe je kunt bijdragen',
disableFKChecks: 'Foreign key checks uitschakelen',
allConnections: 'Alle verbindingen',
searchForConnections: 'Search for connections',
disableScratchpad: 'Kladblok uitschakelen',
reportABug: 'Bug melden',
nextTab: 'Volgende tabblad',
@ -327,40 +330,29 @@ export const nlNL = {
openSettings: 'Open instellingen',
openScratchpad: 'Open kladblok',
runOrReload: 'Run or reload',
formatQuery: 'Formatteer query',
queryHistory: 'Query geschiedenis',
clearQuery: 'Wis query',
openFilter: 'Open filter',
nextResultsPage: 'Volgende resultaatpagina',
previousResultsPage: 'Vorige resultaatpagina',
fillCell: 'Vul cel',
editFolder: 'Wijzig folder',
folderName: 'Foldernaam',
deleteFolder: 'Verwijder folder',
editConnectionAppearance: 'Edit connection appearance',
executeSelectedQuery: 'Execute selected query',
defaultCopyType: 'Default copy type',
showTableSize: 'Show table size in sidebar',
showTableSizeDescription: 'MySQL/MariaDB only. Enable this option may affects performance on schema with many tables.',
searchForSchemas: 'Zoek naar schemas',
searchForElements: 'Zoek naar elementen',
switchSearchMethod: 'Switch search method',
noResultsPresent: 'Geen resultaten beschikbaar',
sqlExportOptions: 'SQL export options',
targetTable: 'Doeltabel',
phpArray: 'PHP array',
closeAllTabs: 'Sluit alle tabbladen',
closeOtherTabs: 'Sluit overige tabbladen',
closeTabsToLeft: 'Sluit tabbladen naar links',
closeTabsToRight: 'Sluit tabbladen naar rechts',
switchDatabase: 'Wissel van database',
csvExportOptions: 'CSV exportinstellingen',
csvFieldDelimiter: 'Scheidingsteken woorden',
csvLinesTerminator: 'Scheidingsteken regels',
csvStringDelimiter: 'Scheidingsteken strings',
csvIncludeHeader: 'Inclusief kopregel',
expandSettingsBar: 'Favorietenbalk uitvouwen',
collapseSettingsBar: 'Favorietenbalk uitvouwen',
searchConnections: 'Doorzoek favorieten'
csvExportOptions: 'CSV exportinstellingen',
phpArray: 'PHP array'
},
faker: {
address: 'Address',

View File

@ -1,5 +1,5 @@
export const ptBR = {
word: {
general: {
edit: 'Editar',
save: 'Salvar',
close: 'Fechar',
@ -7,6 +7,66 @@ export const ptBR = {
confirm: 'Confirmar',
cancel: 'Cancelar',
send: 'Enviar',
refresh: 'Atualizar',
autoRefresh: 'Atualização Automática',
version: 'Versão',
donate: 'Doação',
run: 'Executar',
results: 'Resultados',
size: 'Tamanho',
mimeType: 'Mime-Type',
download: 'Download',
add: 'Adicionar',
data: 'Data',
properties: 'Propriedades',
insert: 'Inserção',
name: 'Nome',
clear: 'Limpar',
seconds: 'Segundos',
options: 'Opções',
discard: 'Descartar',
stay: 'Fica',
author: 'Autor',
upload: 'Upload',
browse: 'Navegar',
content: 'Conteúdo',
cut: 'Cortar',
copy: 'Copiar',
paste: 'Colar',
tools: 'Ferramentas',
format: 'Formato',
all: 'Todos',
duplicate: 'Duplicado',
new: 'Novo',
history: 'Histórico',
select: 'Seleciomar',
filter: 'Filtrar',
change: 'Alterar',
includes: 'Includes',
completed: 'Completo',
aborted: 'Abortado',
disabled: 'Inativo',
enable: 'Ativo',
disable: 'Desativar',
contributors: 'Contribuintes',
pin: 'Fixar',
unpin: 'Desafixar',
folder: 'Pasta | Pastas',
none: 'Nenhum',
singleQuote: 'Aspas simples',
doubleQuote: 'Aspas duplas',
deleteConfirm: 'Você confirma o cancelamento de',
uploadFile: 'Upload de arquivo',
manualValue: 'Valor manual',
selectAll: 'Selecionar todos',
pageNumber: 'Número de página',
directoryPath: 'Caminho da pasta',
actionSuccessful: '{action} teve sucesso',
outputFormat: 'Formato da saída',
singleFile: 'Arquivo {ext} único',
zipCompressedFile: 'Arquivo compactado {ext} ZIP'
},
connection: {
connectionName: 'Nome da Conexão',
client: 'Cliente',
hostName: 'Nome do Host',
@ -18,39 +78,38 @@ export const ptBR = {
connected: 'Conectado',
disconnect: 'Desconectar',
disconnected: 'Desconectado',
refresh: 'Atualizar',
settings: 'Opções',
general: 'Geral',
themes: 'Temas',
update: 'Atualizar',
about: 'Sobre',
language: 'Linguagem',
version: 'Versão',
donate: 'Doação',
run: 'Executar',
ssl: 'SSL',
privateKey: 'Chave Privada',
certificate: 'Certificado',
caCertificate: 'Certificado CA',
ciphers: 'Cifras (ciphers)',
sshTunnel: 'SSH túnel',
passphrase: 'Palavara-Passe',
connectionString: 'String da conexão',
addConnection: 'Adicionar Conexão',
createConnection: 'Criar Conexão',
createNewConnection: 'Criar Nova Conexão',
askCredentials: 'Pedir Credenciais',
testConnection: 'Testar Conexão',
editConnection: 'Editar Conexão',
deleteConnection: 'Apagar Conexão',
connectionSuccessfullyMade: 'Conexão feita com sucesso!',
enableSsl: 'Habilitar SSL',
enableSsh: 'Habilitar SSH',
readOnlyMode: 'Modo somente leitura',
untrustedConnection: 'Conexão insegura',
allConnections: 'Todas as conexões',
searchForConnections: 'Procurar por conexões'
},
database: {
schema: 'Esquema',
results: 'Resultados',
size: 'Tamanho',
seconds: 'Segundos',
type: 'Tipo',
mimeType: 'Mime-Type',
download: 'Download',
add: 'Adicionar',
data: 'Data',
properties: 'Propriedades',
insert: 'Inserção',
connecting: 'Connectando',
name: 'Nome',
collation: 'Agrupamento',
clear: 'Limpar',
options: 'Opções',
autoRefresh: 'Atualização Automática',
indexes: 'Indices',
foreignKeys: 'Chaves Estrangeiras',
length: 'Tamanho',
unsigned: 'Sem sinal (Unsigned)',
default: 'Padrão',
comment: 'Comente',
collation: 'Agrupamento',
key: 'Chave | Chaves',
order: 'Ordem',
expression: 'Expressão',
@ -60,15 +119,8 @@ export const ptBR = {
approximately: 'Aproximadamente',
total: 'Total',
table: 'Tabela',
discard: 'Descartar',
stay: 'Fica',
author: 'Autor',
light: 'Claro',
dark: 'Escuro',
autoCompletion: 'Auto Complemento',
application: 'Aplicação',
editor: 'Editor',
view: 'Visão',
indexes: 'Indices',
definer: 'Definidor',
algorithm: 'Algoritmo',
trigger: 'Gatilho | Gatilhos',
@ -86,104 +138,26 @@ export const ptBR = {
execution: 'Execução',
starts: 'Começa',
ends: 'Termina',
ssl: 'SSL',
privateKey: 'Chave Privada',
certificate: 'Certificado',
caCertificate: 'Certificado CA',
ciphers: 'Cifras (ciphers)',
upload: 'Upload',
browse: 'Navegar',
faker: 'Faker',
content: 'Conteúdo',
cut: 'Cortar',
copy: 'Copiar',
paste: 'Colar',
tools: 'Ferramentas',
variables: 'Variaveis',
processes: 'Processos',
database: 'Banco de Dados',
scratchpad: 'Rascunho',
array: 'Array',
changelog: 'Logs de alteração',
format: 'Formato',
sshTunnel: 'SSH túnel',
structure: 'Estrutura',
small: 'Pequeno',
medium: 'Médio',
large: 'Grande',
row: 'Linha | Linhas',
cell: 'Celula | Células',
triggerFunction: 'Gatinho de função | Gatilhos de Funções',
all: 'Todos',
duplicate: 'Duplicado',
routine: 'Rotina',
new: 'Novo',
history: 'Histórico',
select: 'Seleciomar',
passphrase: 'Palavara-Passe',
filter: 'Filtrar',
change: 'Alterar',
views: 'Visualizações',
triggers: 'Gatilhos',
routines: 'Rotinas',
functions: 'Funções',
schedulers: 'Agendadores',
includes: 'Includes',
drop: 'Drop',
completed: 'Completo',
aborted: 'Abortado',
disabled: 'Inativo',
enable: 'Ativo',
disable: 'Desativar',
commit: 'Enviar',
rollback: 'Reverter',
connectionString: 'String da conexão',
contributors: 'Contribuintes',
pin: 'Fixar',
unpin: 'Desafixar',
console: 'Console',
shortcuts: 'Atalhos',
folder: 'Pasta | Pastas',
appearance: 'Aparência',
color: 'Cor',
label: 'Rótulo',
icon: 'Icone',
resultsTable: 'Resultados da tabela',
ddl: 'DDL',
none: 'Nenhum',
singleQuote: 'Aspas simples',
doubleQuote: 'Aspas duplas'
},
message: {
appWelcome: 'Bem vindo ao Antares SQL Client!',
appFirstStep: 'Seu primeiro passo: criar uma nova conexão de banco de dados.',
addConnection: 'Adicionar Conexão',
createConnection: 'Criar Conexão',
createNewConnection: 'Criar Nova Conexão',
askCredentials: 'Pedir Credenciais',
testConnection: 'Testar Conexão',
editConnection: 'Editar Conexão',
deleteConnection: 'Apagar Conexão',
deleteConfirm: 'Você confirma o cancelamento de',
connectionSuccessfullyMade: 'Conexão feita com sucesso!',
madeWithJS: 'Feito com 💛 e JavaScript!',
checkForUpdates: 'Verificar se há novas atualizações',
noUpdatesAvailable: 'Sem atualizações disponíveis',
checkingForUpdate: 'Verificando se há novas atualizações',
checkFailure: 'Erro na verificação, por favor, tente mais tarde',
updateAvailable: 'Atualização disponível',
downloadingUpdate: 'Baixando a atualização',
updateDownloaded: 'Atualização baixada',
restartToInstall: 'Reinicie o Antares para instalar',
drop: 'Drop',
unableEditFieldWithoutPrimary: 'Indisponível a edição de um campo sem a chave primária na tabela de resultados',
editCell: 'Editar celula',
deleteRows: 'Apagar linha | Apagar {count} linhas',
confirmToDeleteRows: 'Você confirma a exclusão de uma linha? | Você confirma a exclusão de {count} linhas?',
notificationsTimeout: 'Notificações de timeout',
uploadFile: 'Upload de arquivo',
addNewRow: 'Adicionar nova linha',
numberOfInserts: 'Número de inserções',
openNewTab: 'Abrir nova aba',
affectedRows: 'Linhas afetadas',
createNewDatabase: 'Criar novo banco de dados',
databaseName: 'Nome do banco de dados',
@ -205,8 +179,6 @@ export const ptBR = {
emptyTable: 'Tabela vazia',
deleteTable: 'Apagar tabela',
emptyConfirm: 'Você confirma o esvaziamento',
unsavedChanges: 'Alterações não salvas',
discardUnsavedChanges: 'Você tem algumas alterações não salvas. Ao sair desta guia, essas alterações serão descartadas.',
thereAreNoIndexes: 'Não há índices',
thereAreNoForeign: 'Não há chaves estrangeiras',
createNewForeign: 'Criar nova chave estrangeira',
@ -215,9 +187,6 @@ export const ptBR = {
foreignFields: 'Campos estrangeiros',
invalidDefault: 'Padrão inválido',
onDelete: 'Quando apagar',
applicationTheme: 'Tema da aplicação',
editorTheme: 'Editor de tema',
wrapLongLines: 'Quebrar linhas longas',
selectStatement: 'Declaração de Select',
triggerStatement: 'Declaração de Gatilho',
sqlSecurity: 'Segurança SQL',
@ -240,14 +209,9 @@ export const ptBR = {
createNewScheduler: 'Criar novo agendador',
deleteScheduler: 'Apagar agendador',
preserveOnCompletion: 'Preservar na conclusão',
enableSsl: 'Habilitar SSL',
manualValue: 'Valor manual',
tableFiller: 'Preenchedor de tabela',
fakeDataLanguage: 'Linguagem de dados fake',
searchForElements: 'Buscar por elementos',
selectAll: 'Selecionar todos',
queryDuration: 'Tempo de Consulta',
includeBetaUpdates: 'Incluir atualizações beta',
setNull: 'Setar NULL',
processesList: 'Lista de processos',
processInfo: 'Informação de processos',
@ -256,15 +220,8 @@ export const ptBR = {
schemaName: 'Nome schema',
editSchema: 'Editar schema',
deleteSchema: 'Apagar schema',
markdownSupported: 'Markdown suportado',
plantATree: 'Plante uma árvore',
dataTabPageSize: 'Tamanho da guia DADOS',
enableSsh: 'Habilitar SSH',
pageNumber: 'Número de página',
duplicateTable: 'Duplicar tabela',
noOpenTabs: 'Nenhuma aba aberta, navege na barra lateral ou:',
noSchema: 'Nenhum banco de dados',
restorePreviousSession: 'Restaurar sessão anterior',
runQuery: 'Executar Query',
thereAreNoTableFields: 'Nenhum campo na tabela',
newTable: 'Nova tabela',
@ -277,36 +234,82 @@ export const ptBR = {
thereIsNoQueriesYet: 'Nenhuma consulta ainda',
searchForQueries: 'Pesquisar por consultas',
killProcess: 'Matar processo',
closeTab: 'Fechar aba',
exportSchema: 'Exportar banco de dados',
importSchema: 'Importar banco de dados',
directoryPath: 'Caminho da pasta',
newInsertStmtEvery: 'Nova query INSERT',
processingTableExport: 'Processando {table}',
fetchingTableExport: 'Carregando dados da tabela {table}',
writingTableExport: 'Escrevendo dados na tabela {table}',
checkAllTables: 'Marcar todas as tabelas',
uncheckAllTables: 'Desmarcar todas as tabelas',
goToDownloadPage: 'Ir a página de download',
readOnlyMode: 'Modo somente leitura',
killQuery: 'Matar consulta',
insertRow: 'Inserir linha | Inserir linhas',
commitMode: 'Modo de confirmação',
autoCommit: 'Auto confirmar',
manualCommit: 'Confirmar manualmente',
actionSuccessful: '{action} teve sucesso',
disableFKChecks: 'Desativar verificação de chave estrangeira',
formatQuery: 'Formatar consulta',
queryHistory: 'Histórico de consulta',
clearQuery: 'Limpar consulta',
fillCell: 'Preencher Célula',
executeSelectedQuery: 'Executar consulta selecionada',
noResultsPresent: 'Nenhum resultado presente',
sqlExportOptions: 'Opções de exportação do SQL',
targetTable: 'Tabela de destino',
switchDatabase: 'Alterar banco de dados',
importQueryErrors: 'Aviso: ocorreu {n} erro | Aviso: ocorreram {n} erros',
executedQueries: '{n} consulta executada | {n} consultas executadas',
outputFormat: 'Formato da saída',
singleFile: 'Arquivo {ext} único',
zipCompressedFile: 'Arquivo compactado {ext} ZIP',
executedQueries: '{n} consulta executada | {n} consultas executadas'
},
application: {
settings: 'Opções',
general: 'Geral',
themes: 'Temas',
update: 'Atualizar',
about: 'Sobre',
language: 'Linguagem',
light: 'Claro',
dark: 'Escuro',
autoCompletion: 'Auto Complemento',
application: 'Aplicação',
editor: 'Editor',
scratchpad: 'Rascunho',
changelog: 'Logs de alteração',
small: 'Pequeno',
medium: 'Médio',
large: 'Grande',
console: 'Console',
shortcuts: 'Atalhos',
appearance: 'Aparência',
color: 'Cor',
label: 'Rótulo',
icon: 'Icone',
madeWithJS: 'Feito com 💛 e JavaScript!',
checkForUpdates: 'Verificar se há novas atualizações',
noUpdatesAvailable: 'Sem atualizações disponíveis',
checkingForUpdate: 'Verificando se há novas atualizações',
checkFailure: 'Erro na verificação, por favor, tente mais tarde',
updateAvailable: 'Atualização disponível',
downloadingUpdate: 'Baixando a atualização',
updateDownloaded: 'Atualização baixada',
restartToInstall: 'Reinicie o Antares para instalar',
notificationsTimeout: 'Notificações de timeout',
openNewTab: 'Abrir nova aba',
unsavedChanges: 'Alterações não salvas',
discardUnsavedChanges: 'Você tem algumas alterações não salvas. Ao sair desta guia, essas alterações serão descartadas.',
applicationTheme: 'Tema da aplicação',
editorTheme: 'Editor de tema',
wrapLongLines: 'Quebrar linhas longas',
includeBetaUpdates: 'Incluir atualizações beta',
markdownSupported: 'Markdown suportado',
plantATree: 'Plante uma árvore',
dataTabPageSize: 'Tamanho da guia DADOS',
noOpenTabs: 'Nenhuma aba aberta, navege na barra lateral ou:',
restorePreviousSession: 'Restaurar sessão anterior',
closeTab: 'Fechar aba',
goToDownloadPage: 'Ir a página de download',
disableBlur: 'Desabilitar Blur',
untrustedConnection: 'Conexão insegura',
missingOrIncompleteTranslation: 'Tradução incorreta ou incompleta?',
findOutHowToContribute: 'Saiba como contribuir',
disableFKChecks: 'Desativar verificação de chave estrangeira',
allConnections: 'Todas as conexões',
searchForConnections: 'Procurar por conexões',
disableScratchpad: 'Desativar bloco de notas',
reportABug: 'Reportar um problema',
nextTab: 'Próxima guia',
@ -326,38 +329,30 @@ export const ptBR = {
openSettings: 'Abrir Configurações',
openScratchpad: 'Abrir scratchpad',
runOrReload: 'Executar ou recarregar',
formatQuery: 'Formatar consulta',
queryHistory: 'Histórico de consulta',
clearQuery: 'Limpar consulta',
openFilter: 'Abrir Filtro',
nextResultsPage: 'Próxima página de resultados',
previousResultsPage: 'Página de resultados anterior',
fillCell: 'Preencher Célula',
editFolder: 'Editar Pasta',
folderName: 'Nome da pasta',
deleteFolder: 'Apagar Pasta',
editConnectionAppearance: 'Editar aparência da conexão',
executeSelectedQuery: 'Executar consulta selecionada',
defaultCopyType: 'Padrão do tipo de cópia',
showTableSize: 'Exibir tamanho da tabela na barra lateral',
showTableSizeDescription: 'Apenas MySQL/MariaDB. Habilitar essa opcão pode afetar o desempenho no banco com muitas tabelas.',
searchForSchemas: 'Procurar banco',
searchForElements: 'Buscar por elementos',
switchSearchMethod: 'Alterar o modo da pesquisa',
noResultsPresent: 'Nenhum resultado presente',
sqlExportOptions: 'Opções de exportação do SQL',
targetTable: 'Tabela de destino',
phpArray: 'Array PHP',
closeAllTabs: 'Fechar todas as guias',
closeOtherTabs: 'Fechar outras guias',
closeTabsToLeft: 'Fechar guias a esquerda',
closeTabsToRight: 'Fechar guias a direita',
switchDatabase: 'Alterar banco de dados',
csvExportOptions: 'Opções de exportação do CSV',
csvFieldDelimiter: 'Delimitador do campo',
csvLinesTerminator: 'Delimitador da linha',
csvStringDelimiter: 'Delimitador da String',
csvIncludeHeader: 'Incluir cabeçalho',
scratchPadDefaultValue: '# COMO AJUDAR O ANTARES\n\n- [ ] Deixe sua estrela para o Antares [GitHub repo](https://github.com/antares-sql/antares)\n- [ ] Envie sugestões e avisos\n- [ ] Relate bugs\n- [ ] Se você gostar, compartilhe o Antares com amigos\n\n# SOBRE O BLOCO DE NOTAS\n\nEsse é o bloco de notas para salvar suas **notas pessoais**. ele suporta o formato `markdown`, porém você é livre para usar qualquer texto.\nEsse conteúdo é apenas um texto, fique a vontade para limpar e obter mais espaço para suas notas.\n'
csvExportOptions: 'Opções de exportação do CSV',
scratchPadDefaultValue: '# COMO AJUDAR O ANTARES\n\n- [ ] Deixe sua estrela para o Antares [GitHub repo](https://github.com/antares-sql/antares)\n- [ ] Envie sugestões e avisos\n- [ ] Relate bugs\n- [ ] Se você gostar, compartilhe o Antares com amigos\n\n# SOBRE O BLOCO DE NOTAS\n\nEsse é o bloco de notas para salvar suas **notas pessoais**. ele suporta o formato `markdown`, porém você é livre para usar qualquer texto.\nEsse conteúdo é apenas um texto, fique a vontade para limpar e obter mais espaço para suas notas.\n',
phpArray: 'Array PHP'
},
faker: {
address: 'Endereço',

View File

@ -1,5 +1,5 @@
export const ruRU = {
word: {
general: {
edit: 'Редактировать',
save: 'Сохранить',
close: 'Закрыть',
@ -7,6 +7,63 @@ export const ruRU = {
confirm: 'Подтвердить',
cancel: 'Отмена',
send: 'Отправить',
refresh: 'Обновить',
autoRefresh: 'Авто-обновление',
version: 'Версия',
donate: 'Пожертвование',
run: 'Выполнить',
results: 'Отображено',
size: 'Размер',
mimeType: 'Mime-Тип',
download: 'Скачать',
add: 'Добавить',
data: 'Данные',
properties: 'Свойства',
insert: 'Вставить',
name: 'Название',
clear: 'Удалить',
seconds: 'Секунды',
options: 'Опции',
discard: 'Отказаться',
stay: 'Оставить',
author: 'Автор',
upload: 'Загрузки',
browse: 'Обзор',
content: 'Содержимое',
cut: 'Вырезать',
copy: 'Копировать',
paste: 'Вставить',
tools: 'Инструменты',
format: 'Отформатировать',
all: 'Все',
duplicate: 'Дубликат',
new: 'Новый',
history: 'История',
select: 'Выбрать',
filter: 'Фильтр',
change: 'Изменить',
includes: 'Включая',
completed: 'Завершено',
aborted: 'Прервано',
disabled: 'Отключено',
enable: 'Включить',
disable: 'Выключить',
contributors: 'Участники',
pin: 'Закрепить',
unpin: 'Открепить',
folder: 'Директория | Директории',
deleteConfirm: 'Подтверждаете ли вы удаление',
uploadFile: 'Загрузить файл',
manualValue: 'Установить значение вручную',
selectAll: 'Выбрать все',
pageNumber: 'Номер страницы',
directoryPath: 'Путь к каталогу',
actionSuccessful: '{action} успешно',
outputFormat: 'Формат вывода',
singleFile: 'Один {ext} файл',
zipCompressedFile: 'ZIP сжатие {ext} файла'
},
connection: {
connectionName: 'Название соединения',
client: 'Клиент',
hostName: 'Название хоста',
@ -18,39 +75,38 @@ export const ruRU = {
connected: 'Подключено',
disconnect: 'Отключиться',
disconnected: 'Отключено',
refresh: 'Обновить',
settings: 'Настройки',
general: 'Общие',
themes: 'Темы',
update: 'Обновить',
about: 'О программе',
language: 'Язык',
version: 'Версия',
donate: 'Пожертвование',
run: 'Выполнить',
ssl: 'SSL',
privateKey: 'Закрытый ключ',
certificate: 'Сертификат',
caCertificate: 'CA сертификат',
ciphers: 'Шифры',
sshTunnel: 'SSH туннель',
passphrase: 'Кодовая фраза',
connectionString: 'Строка подключения',
addConnection: 'Добавить подключение',
createConnection: 'Создать подключение',
createNewConnection: 'Создать новое подключение',
askCredentials: 'Спрашивать учетные данные',
testConnection: 'Тест подключения',
editConnection: 'Редактировать подключение',
deleteConnection: 'Удалить подключение',
connectionSuccessfullyMade: 'Соединение успешно установлено!',
enableSsl: 'Включить SSL',
enableSsh: 'Включить SSH',
readOnlyMode: 'Режим только чтение',
untrustedConnection: 'Ненадежное соединение',
allConnections: 'Все соединения',
searchForConnections: 'Поиск соединений'
},
database: {
schema: 'Схема',
results: 'Отображено',
size: 'Размер',
seconds: 'Секунды',
type: 'Тип',
mimeType: 'Mime-Тип',
download: 'Скачать',
add: 'Добавить',
data: 'Данные',
properties: 'Свойства',
insert: 'Вставить',
connecting: 'Соединение',
name: 'Название',
collation: 'Сопоставление',
clear: 'Удалить',
options: 'Опции',
autoRefresh: 'Авто-обновление',
indexes: 'Индексы',
foreignKeys: 'Внешние ключи',
length: 'Длина',
unsigned: 'Беззнаковое',
default: 'По умолчанию',
comment: 'Комментарий',
collation: 'Сопоставление',
key: 'Ключ | Ключи',
order: 'Порядок',
expression: 'Выражение',
@ -60,15 +116,8 @@ export const ruRU = {
approximately: 'Примерно',
total: 'Всего',
table: 'Таблица',
discard: 'Отказаться',
stay: 'Оставить',
author: 'Автор',
light: 'Светлая',
dark: 'Темная',
autoCompletion: 'Авто-дополнение',
application: 'Приложение',
editor: 'Редактор',
view: 'Представление',
indexes: 'Индексы',
definer: 'Определитель',
algorithm: 'Алгоритм',
trigger: 'Триггер | Триггеры',
@ -87,101 +136,26 @@ export const ruRU = {
execution: 'Выполнение',
starts: 'Начало',
ends: 'Конец',
ssl: 'SSL',
privateKey: 'Закрытый ключ',
certificate: 'Сертификат',
caCertificate: 'CA сертификат',
ciphers: 'Шифры',
upload: 'Загрузки',
browse: 'Обзор',
faker: 'Генератор данных',
content: 'Содержимое',
cut: 'Вырезать',
copy: 'Копировать',
paste: 'Вставить',
tools: 'Инструменты',
variables: 'Переменные',
processes: 'Процессы',
database: 'База данных',
scratchpad: 'Заметки',
array: 'Массив',
changelog: 'Журнал изменений',
format: 'Отформатировать',
sshTunnel: 'SSH туннель',
structure: 'Структура',
small: 'Малый',
medium: 'Средний',
large: 'Большой',
row: 'Строка | Строки',
cell: 'Ячейка | Ячейки',
triggerFunction: 'Функция запуска | Функции запуска',
all: 'Все',
duplicate: 'Дубликат',
routine: 'Хранимая процедура',
new: 'Новый',
history: 'История',
select: 'Выбрать',
passphrase: 'Кодовая фраза',
filter: 'Фильтр',
change: 'Изменить',
views: 'Представления',
triggers: 'Триггеры',
routines: 'Хранимые процедуры',
functions: 'Функции',
schedulers: 'Планировщики',
includes: 'Включая',
drop: 'Удалить',
completed: 'Завершено',
aborted: 'Прервано',
disabled: 'Отключено',
enable: 'Включить',
disable: 'Выключить',
commit: 'Подтвердить',
rollback: 'Откатить',
connectionString: 'Строка подключения',
contributors: 'Участники',
pin: 'Закрепить',
unpin: 'Открепить',
console: 'Консоль',
shortcuts: 'Горячие клавиши',
folder: 'Директория | Директории',
appearance: 'Внешний вид',
color: 'Цвет',
label: 'Метка',
icon: 'Иконка',
resultsTable: 'Таблица с результатом',
ddl: 'DDL'
},
message: {
appWelcome: 'Приветствуем в SQL клиенте Antares!',
appFirstStep: 'Ваш первый шаг: создать новое подключение с БД.',
addConnection: 'Добавить подключение',
createConnection: 'Создать подключение',
createNewConnection: 'Создать новое подключение',
askCredentials: 'Спрашивать учетные данные',
testConnection: 'Тест подключения',
editConnection: 'Редактировать подключение',
deleteConnection: 'Удалить подключение',
deleteConfirm: 'Подтверждаете ли вы удаление',
connectionSuccessfullyMade: 'Соединение успешно установлено!',
madeWithJS: 'Сделано с 💛 и JavaScript!',
checkForUpdates: 'Проверить обновления',
noUpdatesAvailable: 'Обновлений не найдено',
checkingForUpdate: 'Поиск обновлений',
checkFailure: 'Не удалось проверить обновления, пожалуйста, попробуйте позже',
updateAvailable: 'Доступно обновление',
downloadingUpdate: 'Скачать обновление',
updateDownloaded: 'Обновление скачано',
restartToInstall: 'Перезапустить Antares для установки',
ddl: 'DDL',
drop: 'Удалить',
unableEditFieldWithoutPrimary: 'Невозможно отредактировать поле без первичного ключа в наборе результатов',
editCell: 'Редактировать ячейку',
deleteRows: 'Удалить строку | Удалить {count} строк',
confirmToDeleteRows: 'Подтверждаете удаление строки? | Подтверждаете удаление {count} строк?',
notificationsTimeout: 'Тайм-аут уведомлений',
uploadFile: 'Загрузить файл',
addNewRow: 'Добавить новую строку',
numberOfInserts: 'Количество вставок',
openNewTab: 'Открыть новую вкладку',
affectedRows: 'Задействовано строк',
createNewDatabase: 'Создать новую БД',
databaseName: 'Название БД',
@ -203,8 +177,6 @@ export const ruRU = {
emptyTable: 'Очистить таблицу',
deleteTable: 'Удалить таблицу',
emptyConfirm: 'Подтверждаете очистку?',
unsavedChanges: 'Несохраненные изменения',
discardUnsavedChanges: 'У вас имеются несохраненные данные. Закрытие этой вкладки приведёт к их отмене.',
thereAreNoIndexes: 'Индексов нет',
thereAreNoForeign: 'Внешних ключей нет',
createNewForeign: 'Создать новый внешний ключ',
@ -213,9 +185,6 @@ export const ruRU = {
foreignFields: 'Сторонние поля',
invalidDefault: 'Недопустимое значение',
onDelete: 'При удалении',
applicationTheme: 'Тема приложения',
editorTheme: 'Редактировать тему',
wrapLongLines: 'Перенос длинных строк',
selectStatement: 'Оператор выбора',
triggerStatement: 'Оператор триггера',
sqlSecurity: 'SQL безопасность',
@ -238,14 +207,9 @@ export const ruRU = {
createNewScheduler: 'Создать новый планировщик',
deleteScheduler: 'Удалить планировщик',
preserveOnCompletion: 'Сохранение по завершении',
enableSsl: 'Включить SSL',
manualValue: 'Установить значение вручную',
tableFiller: 'Фильтр таблицы',
fakeDataLanguage: 'Язык поддельных данных',
searchForElements: 'Поиск элементов',
selectAll: 'Выбрать все',
queryDuration: 'Длительность запроса',
includeBetaUpdates: 'Получать бета-версии обновлений',
setNull: 'Установить NULL',
processesList: 'Список процессов',
processInfo: 'Информация о процессе',
@ -254,15 +218,8 @@ export const ruRU = {
schemaName: 'Название схемы',
editSchema: 'Редактировать схему',
deleteSchema: 'Удалить схему',
markdownSupported: 'Поддержка Markdown',
plantATree: 'Посадить дерево',
dataTabPageSize: 'Размер страницы вкладки ДАННЫЕ',
enableSsh: 'Включить SSH',
pageNumber: 'Номер страницы',
duplicateTable: 'Клонировать таблицу',
noOpenTabs: 'Открытых вкладок нет, перейдите по левой панели или:',
noSchema: 'Нет схемы',
restorePreviousSession: 'Восстановить предыдущую сессию',
runQuery: 'Выполнить запрос',
thereAreNoTableFields: 'В таблице нет полей',
newTable: 'Новая таблица',
@ -275,36 +232,81 @@ export const ruRU = {
thereIsNoQueriesYet: 'Запросы пока отсутствуют',
searchForQueries: 'Поиск по запросам',
killProcess: 'Убить процесс',
closeTab: 'Закрыть вкладку',
exportSchema: 'Экспорт схемы',
importSchema: 'Импорт схемы',
directoryPath: 'Путь к каталогу',
newInsertStmtEvery: 'Новый INSERT оператор для каждых',
processingTableExport: 'Обработка {table}',
fetchingTableExport: 'Получение данных из {table}',
writingTableExport: 'Запись данных в {table}',
checkAllTables: 'Выбрать у всех таблицы',
uncheckAllTables: 'Убрать со всех таблиц',
goToDownloadPage: 'Перейти на страницу загрузки',
readOnlyMode: 'Режим только чтение',
killQuery: 'Убить запрос',
insertRow: 'Вставить строку | Вставить строки',
commitMode: 'Режим подтверждения транзакций',
autoCommit: 'Авто-подтверждение',
manualCommit: 'Ручное подтверждение',
actionSuccessful: '{action} успешно',
disableFKChecks: 'Отключить проверку внешних ключей',
formatQuery: 'Отформатировать запрос',
queryHistory: 'История запросов',
clearQuery: 'Очистить запрос',
fillCell: 'Заполнить ячейку',
executeSelectedQuery: 'Выполнить выделенный запрос',
noResultsPresent: 'Данные отсутствуют',
sqlExportOptions: 'Опции SQL экспорта',
targetTable: 'Целевая таблица',
importQueryErrors: 'Внимание: {n} ошибка возникла | Внимание: {n} ошибок произошло',
executedQueries: '{n} запрос выполнен | {n} запросов выполнено',
outputFormat: 'Формат вывода',
singleFile: 'Один {ext} файл',
zipCompressedFile: 'ZIP сжатие {ext} файла',
executedQueries: '{n} запрос выполнен | {n} запросов выполнено'
},
application: {
settings: 'Настройки',
general: 'Общие',
themes: 'Темы',
update: 'Обновить',
about: 'О программе',
language: 'Язык',
light: 'Светлая',
dark: 'Темная',
autoCompletion: 'Авто-дополнение',
application: 'Приложение',
editor: 'Редактор',
scratchpad: 'Заметки',
changelog: 'Журнал изменений',
small: 'Малый',
medium: 'Средний',
large: 'Большой',
console: 'Консоль',
shortcuts: 'Горячие клавиши',
appearance: 'Внешний вид',
color: 'Цвет',
label: 'Метка',
icon: 'Иконка',
madeWithJS: 'Сделано с 💛 и JavaScript!',
checkForUpdates: 'Проверить обновления',
noUpdatesAvailable: 'Обновлений не найдено',
checkingForUpdate: 'Поиск обновлений',
checkFailure: 'Не удалось проверить обновления, пожалуйста, попробуйте позже',
updateAvailable: 'Доступно обновление',
downloadingUpdate: 'Скачать обновление',
updateDownloaded: 'Обновление скачано',
restartToInstall: 'Перезапустить Antares для установки',
notificationsTimeout: 'Тайм-аут уведомлений',
openNewTab: 'Открыть новую вкладку',
unsavedChanges: 'Несохраненные изменения',
discardUnsavedChanges: 'У вас имеются несохраненные данные. Закрытие этой вкладки приведёт к их отмене.',
applicationTheme: 'Тема приложения',
editorTheme: 'Редактировать тему',
wrapLongLines: 'Перенос длинных строк',
includeBetaUpdates: 'Получать бета-версии обновлений',
markdownSupported: 'Поддержка Markdown',
plantATree: 'Посадить дерево',
dataTabPageSize: 'Размер страницы вкладки ДАННЫЕ',
noOpenTabs: 'Открытых вкладок нет, перейдите по левой панели или:',
restorePreviousSession: 'Восстановить предыдущую сессию',
closeTab: 'Закрыть вкладку',
goToDownloadPage: 'Перейти на страницу загрузки',
disableBlur: 'Отключить размытие',
untrustedConnection: 'Ненадежное соединение',
missingOrIncompleteTranslation: 'Отсутствующий или неполный перевод?',
findOutHowToContribute: 'Узнайте, как внести свой вклад',
disableFKChecks: 'Отключить проверку внешних ключей',
allConnections: 'Все соединения',
searchForConnections: 'Поиск соединений',
disableScratchpad: 'Отключить заметки',
reportABug: 'Сообщить о баге',
nextTab: 'Следующая вкладка',
@ -324,31 +326,24 @@ export const ruRU = {
openSettings: 'Открыть настройки',
openScratchpad: 'Открыть заметки',
runOrReload: 'Выполнить или обновить',
formatQuery: 'Отформатировать запрос',
queryHistory: 'История запросов',
clearQuery: 'Очистить запрос',
openFilter: 'Открыть фильтр',
nextResultsPage: 'Следующая страница',
previousResultsPage: 'Предыдущая страница',
fillCell: 'Заполнить ячейку',
editFolder: 'Изменить директорию',
folderName: 'Название директории',
deleteFolder: 'Удалить директорию',
editConnectionAppearance: 'Изменить внешний вид соединения',
executeSelectedQuery: 'Выполнить выделенный запрос',
defaultCopyType: 'Тип копирования по-умолчанию',
showTableSize: 'Показывать размер таблицы в сайдбаре',
showTableSizeDescription: 'Только MySQL/MariaDB. Включение этого параметра может повлиять на производительность схемы с большим количеством таблиц.',
searchForSchemas: 'Поиск схем',
searchForElements: 'Поиск элементов',
switchSearchMethod: 'Переключить способ поиска',
noResultsPresent: 'Данные отсутствуют',
sqlExportOptions: 'Опции SQL экспорта',
targetTable: 'Целевая таблица',
phpArray: 'PHP массив',
closeAllTabs: 'Закрыть все вкладки',
closeOtherTabs: 'Закрыть остальные вкладки',
closeTabsToLeft: 'Закрыть вкладки слева',
closeTabsToRight: 'Закрыть вкладки справа'
closeTabsToRight: 'Закрыть вкладки справа',
phpArray: 'PHP массив'
},
faker: {
address: 'Адрес',

View File

@ -1,5 +1,5 @@
export const viVN = {
word: {
general: {
edit: 'Chỉnh sửa',
save: 'Lưu',
close: 'Đóng',
@ -7,6 +7,60 @@ export const viVN = {
confirm: 'Xác nhận',
cancel: 'Huỷ',
send: 'Gửi',
refresh: 'Làm mới',
autoRefresh: 'Tự động làm mới',
version: 'Phiên bản',
donate: 'Ủng hộ',
run: 'Chạy',
results: 'Kết quả',
size: 'Kích thước',
mimeType: 'Mime-Type',
download: 'Tải xuống',
add: 'Thêm',
data: 'Dữ liệu',
properties: 'Thuộc tính',
insert: 'Nhập',
name: 'Tên',
clear: 'Xoá',
seconds: 'Giây',
options: 'Tuỳ chọn',
discard: 'Bỏ',
stay: 'Ở lại',
author: 'Tác giả',
upload: 'Tải lên',
browse: 'Duyệt',
content: 'Nội dung',
cut: 'Cắt',
copy: 'Sao chép',
paste: 'Dán',
tools: 'Công cụ',
format: 'Định dạng',
all: 'Tất cả',
duplicate: 'Bản sao',
new: 'Mới',
history: 'Lịch sử',
select: 'Chọn',
filter: 'Bộ lọc',
change: 'Thay đổi',
includes: 'Includes',
completed: 'Completed',
aborted: 'Aborted',
disabled: 'Đã tắt',
enable: 'Bật',
disable: 'Tắt',
contributors: 'Người đóng góp',
deleteConfirm: 'Bạn có xác nhận việc hủy bỏ',
uploadFile: 'Tải lên tệp',
manualValue: 'Giá trị thủ công',
selectAll: 'Chọn tất cả',
pageNumber: 'Số trang',
directoryPath: 'Đường dẫn thu mục',
actionSuccessful: '{action} thành công',
outputFormat: 'Định dạng đầu ra',
singleFile: 'Một tệp {ext}',
zipCompressedFile: 'Tệp nén zip {ext}'
},
connection: {
connectionName: 'Tên kết nối',
client: 'Client',
hostName: 'Tên máy chủ',
@ -18,39 +72,36 @@ export const viVN = {
connected: 'Đã kết nối',
disconnect: 'Ngắt kết nối',
disconnected: 'Đã ngắt kết nối',
refresh: 'Làm mới',
settings: 'Cài đặt',
general: 'Chung',
themes: 'Giao diện',
update: 'Cập nhật',
about: 'Giới thiệu',
language: 'Ngôn ngữ',
version: 'Phiên bản',
donate: 'Ủng hộ',
run: 'Chạy',
ssl: 'SSL',
privateKey: 'Mã khoá riêng tư',
certificate: 'Chứng chỉ',
caCertificate: 'Chứng chỉ CA',
ciphers: 'Ciphers',
sshTunnel: 'SSH tunnel',
passphrase: 'Cụm mật khẩu',
connectionString: 'Chuỗi kết nối',
addConnection: 'Thêm kết nối',
createConnection: 'Tạo kết nối',
createNewConnection: 'Tạo kết nối mới',
askCredentials: 'Yêu cầu thông tin đăng nhập',
testConnection: 'Chạy thử kết nối',
editConnection: 'Sửa kết nối',
deleteConnection: 'Xoá kết nối',
connectionSuccessfullyMade: 'Kết nối được thực hiện thành công!',
enableSsl: 'Bật SSL',
enableSsh: 'Bật SSH',
readOnlyMode: 'Chế độ chỉ đọc',
untrustedConnection: 'Kết nối không đáng tin cậy'
},
database: {
schema: 'Schema',
results: 'Kết quả',
size: 'Kích thước',
seconds: 'Giây',
type: 'Kiểu',
mimeType: 'Mime-Type',
download: 'Tải xuống',
add: 'Thêm',
data: 'Dữ liệu',
properties: 'Thuộc tính',
insert: 'Nhập',
connecting: 'Đang kết nối',
name: 'Tên',
collation: 'Đối chiếu',
clear: 'Xoá',
options: 'Tuỳ chọn',
autoRefresh: 'Tự động làm mới',
indexes: 'Index',
foreignKeys: 'Khoá ngoại',
length: 'Độ dài',
unsigned: 'Unsigned',
default: 'Mặc định',
comment: 'Nhận xét',
collation: 'Đối chiếu',
key: 'Khoá | Khoá',
order: 'Sắp xếp',
expression: 'Biểu hiện',
@ -60,15 +111,8 @@ export const viVN = {
approximately: 'Khoảng',
total: 'Toàn bộ',
table: 'Bảng',
discard: 'Bỏ',
stay: 'Ở lại',
author: 'Tác giả',
light: 'Sáng',
dark: 'Tối',
autoCompletion: 'Tự động hoàn thành',
application: 'Ứng dụng',
editor: 'Người chỉnh sửa',
view: 'Xem',
indexes: 'Index',
definer: 'Định nghĩa',
algorithm: 'Thuật toán',
trigger: 'Kích hoạt | Kích hoạt',
@ -87,90 +131,24 @@ export const viVN = {
execution: 'Thực thi',
starts: 'Bắt đầu',
ends: 'Kết thúc',
ssl: 'SSL',
privateKey: 'Mã khoá riêng tư',
certificate: 'Chứng chỉ',
caCertificate: 'Chứng chỉ CA',
ciphers: 'Ciphers',
upload: 'Tải lên',
browse: 'Duyệt',
faker: 'Faker',
content: 'Nội dung',
cut: 'Cắt',
copy: 'Sao chép',
paste: 'Dán',
tools: 'Công cụ',
variables: 'Biến',
processes: 'Quá trình',
database: 'Cơ sở dữ liệu',
scratchpad: 'Scratchpad',
array: 'Mảng',
changelog: 'Nhật ký thay đổi',
format: 'Định dạng',
sshTunnel: 'SSH tunnel',
structure: 'Structure',
small: 'Nhỏ',
medium: 'Vừa',
large: 'Lớn',
row: 'Hàng | Hàng',
cell: 'Ô | Ô',
triggerFunction: 'Trigger function | Trigger functions',
all: 'Tất cả',
duplicate: 'Bản sao',
routine: 'Routine',
new: 'Mới',
history: 'Lịch sử',
select: 'Chọn',
passphrase: 'Cụm mật khẩu',
filter: 'Bộ lọc',
change: 'Thay đổi',
views: 'Xem',
triggers: 'Trình kích hoạt',
routines: 'Routines',
functions: 'Functions',
schedulers: 'Lên lịch',
includes: 'Includes',
drop: 'Drop',
completed: 'Completed',
aborted: 'Aborted',
disabled: 'Đã tắt',
enable: 'Bật',
disable: 'Tắt',
commit: 'Cam kết',
rollback: 'Hoàn nguyên',
connectionString: 'Chuỗi kết nối',
contributors: 'Người đóng góp'
},
message: {
appWelcome: 'Chào bạn đến với Antares SQL Client!',
appFirstStep: 'Bước đầu tiên: tạo một kết nối tới cơ sở dữ liệu.',
addConnection: 'Thêm kết nối',
createConnection: 'Tạo kết nối',
createNewConnection: 'Tạo kết nối mới',
askCredentials: 'Yêu cầu thông tin đăng nhập',
testConnection: 'Chạy thử kết nối',
editConnection: 'Sửa kết nối',
deleteConnection: 'Xoá kết nối',
deleteConfirm: 'Bạn có xác nhận việc hủy bỏ',
connectionSuccessfullyMade: 'Kết nối được thực hiện thành công!',
madeWithJS: 'Được tạo bằng 💛 và JavaScript!',
checkForUpdates: 'Kiểm tra cập nhật',
noUpdatesAvailable: 'Không có bản cập nhật nào',
checkingForUpdate: 'Đang kiểm tra cập nhật',
checkFailure: 'Kiểm tra thất bại, vui lòng thử lại sau',
updateAvailable: 'Cập nhật có sẵn',
downloadingUpdate: 'Đang tải bản cập nhật',
updateDownloaded: 'Đã tải bản cập nhạt',
restartToInstall: 'Khởi động lại Antares để cài đặt',
drop: 'Drop',
unableEditFieldWithoutPrimary: 'Không thể chỉnh sửa trường mà không có khóa chính trong kết quả',
editCell: 'Sửa ô',
deleteRows: 'Xoá hàng | Xoá {count} hàng',
confirmToDeleteRows: 'Bạn có xác nhận xóa một hàng không? | Bạn có xác nhận xóa {count} hàng không?',
notificationsTimeout: 'Thông báo hết giờ',
uploadFile: 'Tải lên tệp',
addNewRow: 'Thêm hàng mới',
numberOfInserts: 'Số lần nhập',
openNewTab: 'Mở trong tab mới',
affectedRows: 'Các hàng bị ảnh hưởng',
createNewDatabase: 'Tạo Cơ sở dữ liệu mới',
databaseName: 'Tên cơ sở dữ liệu',
@ -192,8 +170,6 @@ export const viVN = {
emptyTable: 'Bảng trống',
deleteTable: 'Xoá bảng',
emptyConfirm: 'Bạn có xác nhận để làm trống không',
unsavedChanges: 'Chưa lưu lại thay đổi',
discardUnsavedChanges: 'Bạn có một số thay đổi chưa được lưu. Đóng tab này, những thay đổi này sẽ bị huỷ bỏ.',
thereAreNoIndexes: 'Không có index',
thereAreNoForeign: 'Không có khoá ngoại',
createNewForeign: 'Tạo khoá ngoại mới',
@ -202,9 +178,6 @@ export const viVN = {
foreignFields: 'Trường ngoại',
invalidDefault: 'Mặc định không hợp lệ',
onDelete: 'Đang xoá',
applicationTheme: 'Chủ đề ứng dụng',
editorTheme: 'Trình chỉnh sửa chủ đề',
wrapLongLines: 'Wrap long lines',
selectStatement: 'Chọn câu lệnh',
triggerStatement: 'Kích hoạt câu lệnh',
sqlSecurity: 'Bảo mật SQL',
@ -227,14 +200,9 @@ export const viVN = {
createNewScheduler: 'Tạo lịch trình mới',
deleteScheduler: 'Xóa trình lên lịch',
preserveOnCompletion: 'Bảo tồn khi hoàn thành',
enableSsl: 'Bật SSL',
manualValue: 'Giá trị thủ công',
tableFiller: 'Bộ lọc bảng',
fakeDataLanguage: 'Ngôn ngữ dữ liệu giả mạo',
searchForElements: 'Tìm kiếm yếu tố',
selectAll: 'Chọn tất cả',
queryDuration: 'Thời lượng truy vấn',
includeBetaUpdates: 'Bao gồm các bản cập nhật beta',
setNull: 'Đặt NULL',
processesList: 'Danh sách quy trình',
processInfo: 'Thông tin quá trình',
@ -243,15 +211,8 @@ export const viVN = {
schemaName: 'Tên schema',
editSchema: 'Sửa schema',
deleteSchema: 'Xoá schema',
markdownSupported: 'Hỗ trợ Markdown',
plantATree: 'Trồng cây',
dataTabPageSize: 'Kích thước trang tab DATA',
enableSsh: 'Bật SSH',
pageNumber: 'Số trang',
duplicateTable: 'Sao chép bản',
noOpenTabs: 'Không có tab nào đang mở, điều hướng trên thanh bên trái hoặc:',
noSchema: 'Không có schema',
restorePreviousSession: 'Khôi phục phiên trước',
runQuery: 'Chạy truy vấn',
thereAreNoTableFields: 'Không có trường bảng',
newTable: 'Bảng mới',
@ -264,33 +225,67 @@ export const viVN = {
thereIsNoQueriesYet: 'Không có truy vấn nào',
searchForQueries: 'Tìm kiếm truy vấn',
killProcess: 'Huỷ quá trình',
closeTab: 'Đóng tab',
exportSchema: 'Xuất lược đồ',
importSchema: 'Nhập lược đồ',
directoryPath: 'Đường dẫn thu mục',
newInsertStmtEvery: 'Câu lệnh INSERT mới mỗi',
processingTableExport: 'Đang tiến hành {table}',
fetchingTableExport: 'Đang lấy dữ liệu {table}',
writingTableExport: 'Đang ghi dữ liệu {table}',
checkAllTables: 'Chọn tất cả các bảng',
uncheckAllTables: 'Bỏ chọn tất cả các bảng',
goToDownloadPage: 'Tới trang tải về',
readOnlyMode: 'Chế độ chỉ đọc',
killQuery: 'Hủy truy vấn',
insertRow: 'Chèn hàng | Chèn hàng',
commitMode: 'Chế độ cam kết',
autoCommit: 'Cam kết tự động',
manualCommit: 'Cam kết thủ công',
actionSuccessful: '{action} thành công',
importQueryErrors: 'Cảnh báo: {n} lỗi đã xảy ra | Carh báo: {n} lỗi đã xảy ra',
executedQueries: '{n} truy vấn đã chạy | {n} truy vấn đã chạy',
outputFormat: 'Định dạng đầu ra',
singleFile: 'Một tệp {ext}',
zipCompressedFile: 'Tệp nén zip {ext}',
executedQueries: '{n} truy vấn đã chạy | {n} truy vấn đã chạy'
},
application: {
settings: 'Cài đặt',
general: 'Chung',
themes: 'Giao diện',
update: 'Cập nhật',
about: 'Giới thiệu',
language: 'Ngôn ngữ',
light: 'Sáng',
dark: 'Tối',
autoCompletion: 'Tự động hoàn thành',
application: 'Ứng dụng',
editor: 'Người chỉnh sửa',
scratchpad: 'Scratchpad',
changelog: 'Nhật ký thay đổi',
small: 'Nhỏ',
medium: 'Vừa',
large: 'Lớn',
madeWithJS: 'Được tạo bằng 💛 và JavaScript!',
checkForUpdates: 'Kiểm tra cập nhật',
noUpdatesAvailable: 'Không có bản cập nhật nào',
checkingForUpdate: 'Đang kiểm tra cập nhật',
checkFailure: 'Kiểm tra thất bại, vui lòng thử lại sau',
updateAvailable: 'Cập nhật có sẵn',
downloadingUpdate: 'Đang tải bản cập nhật',
updateDownloaded: 'Đã tải bản cập nhạt',
restartToInstall: 'Khởi động lại Antares để cài đặt',
notificationsTimeout: 'Thông báo hết giờ',
openNewTab: 'Mở trong tab mới',
unsavedChanges: 'Chưa lưu lại thay đổi',
discardUnsavedChanges: 'Bạn có một số thay đổi chưa được lưu. Đóng tab này, những thay đổi này sẽ bị huỷ bỏ.',
applicationTheme: 'Chủ đề ứng dụng',
editorTheme: 'Trình chỉnh sửa chủ đề',
wrapLongLines: 'Wrap long lines',
includeBetaUpdates: 'Bao gồm các bản cập nhật beta',
markdownSupported: 'Hỗ trợ Markdown',
plantATree: 'Trồng cây',
dataTabPageSize: 'Kích thước trang tab DATA',
noOpenTabs: 'Không có tab nào đang mở, điều hướng trên thanh bên trái hoặc:',
restorePreviousSession: 'Khôi phục phiên trước',
closeTab: 'Đóng tab',
goToDownloadPage: 'Tới trang tải về',
disableBlur: 'Tắt làm mờ',
untrustedConnection: 'Kết nối không đáng tin cậy',
missingOrIncompleteTranslation: 'Bản dịch thiếu hoặc không đầy đủ?',
findOutHowToContribute: 'Tìm hiểu cách đóng góp'
findOutHowToContribute: 'Tìm hiểu cách đóng góp',
searchForElements: 'Tìm kiếm yếu tố'
},
faker: {
address: 'Địa chỉ',

View File

@ -1,5 +1,5 @@
export const zhCN = {
word: {
general: {
edit: '编辑',
save: '保存',
close: '关闭',
@ -7,6 +7,63 @@ export const zhCN = {
confirm: '确定',
cancel: '取消',
send: '发送',
refresh: '刷新',
autoRefresh: '自动刷新',
version: '版本',
donate: '捐赠',
run: '运行',
results: '结果',
size: '尺寸',
mimeType: 'MIME类型',
download: '下载',
add: '新增',
data: '数据',
properties: '属性',
insert: '插入',
name: '名称',
clear: '清除',
seconds: '秒',
options: '选项',
discard: '丢弃',
stay: '等待',
author: '作者',
upload: '上传',
browse: '浏览',
content: '内容',
cut: '剪切',
copy: '复制',
paste: '粘贴',
tools: '工具',
format: '格式',
all: '全部',
duplicate: '重复',
new: '新',
history: '历史',
select: '选择',
filter: '过滤器',
change: '变更',
includes: '包含',
completed: '已完成',
aborted: '中止',
disabled: '禁用',
enable: '启用',
disable: '禁用',
contributors: '贡献者',
pin: '固定',
unpin: '取消固定',
folder: '文件夹 | 文件夹',
deleteConfirm: '您是否确认取消',
uploadFile: '上传文件',
manualValue: '手动值',
selectAll: '选择全部',
pageNumber: '页数',
directoryPath: '目录路径',
actionSuccessful: '{action} 成功',
outputFormat: '输出格式',
singleFile: '单个 {ext} 文件',
zipCompressedFile: 'ZIP 压缩 {ext} 文件'
},
connection: {
connectionName: '连接名称',
client: '数据库类型',
hostName: '主机名',
@ -18,39 +75,38 @@ export const zhCN = {
connected: '已连接',
disconnect: '断开连接',
disconnected: '断开连接',
refresh: '刷新',
settings: '设置',
general: '常规',
themes: '主题',
update: '更新',
about: '关于',
language: '语言',
version: '版本',
donate: '捐赠',
run: '运行',
ssl: 'SSL',
privateKey: '私钥',
certificate: '证书',
caCertificate: 'CA 证书',
ciphers: '密码',
sshTunnel: 'SSH 隧道',
passphrase: '密码短语',
connectionString: '连接字符串',
addConnection: '添加连接',
createConnection: '创建连接',
createNewConnection: '创建新连接',
askCredentials: '询问凭据',
testConnection: '测试连接',
editConnection: '编辑连接',
deleteConnection: '删除连接',
connectionSuccessfullyMade: '连接成功了!',
enableSsl: '启用 SSL',
enableSsh: '启用 SSH',
readOnlyMode: '只读模式',
untrustedConnection: '不受信任的连接',
allConnections: '所有连接',
searchForConnections: '搜索连接'
},
database: {
schema: '模式(schema)',
results: '结果',
size: '尺寸',
seconds: '秒',
type: '类型',
mimeType: 'MIME类型',
download: '下载',
add: '新增',
data: '数据',
properties: '属性',
insert: '插入',
connecting: '连接中',
name: '名称',
collation: '排序规则',
clear: '清除',
options: '选项',
autoRefresh: '自动刷新',
indexes: '索引',
foreignKeys: '外键',
length: '长度',
unsigned: '无符号',
default: '默认',
comment: '注释',
collation: '排序规则',
key: '键位 | 键位',
order: '排序',
expression: '表达式',
@ -60,15 +116,8 @@ export const zhCN = {
approximately: '大约',
total: '总计',
table: '表',
discard: '丢弃',
stay: '等待',
author: '作者',
light: '明亮',
dark: '暗黑',
autoCompletion: '自动完成',
application: '应用程序',
editor: '编辑器',
view: '视图',
indexes: '索引',
definer: '定义者',
algorithm: '算法',
trigger: '触发器 | 触发器',
@ -87,100 +136,25 @@ export const zhCN = {
execution: '执行',
starts: '开始',
ends: '结束',
ssl: 'SSL',
privateKey: '私钥',
certificate: '证书',
caCertificate: 'CA 证书',
ciphers: '密码',
upload: '上传',
browse: '浏览',
faker: '伪造者',
content: '内容',
cut: '剪切',
copy: '复制',
paste: '粘贴',
tools: '工具',
variables: '变量',
processes: '进程',
database: '数据库',
scratchpad: '草稿栏',
array: '数组',
changelog: '变更日志',
format: '格式',
sshTunnel: 'SSH 隧道',
structure: '结构',
small: '小',
medium: '中',
large: '大',
row: '行 | 行',
cell: '单元格 | 单元格',
triggerFunction: '触发函数 | 触发函数',
all: '全部',
duplicate: '重复',
routine: '例程',
new: '新',
history: '历史',
select: '选择',
passphrase: '密码短语',
filter: '过滤器',
change: '变更',
views: '视图',
triggers: '触发器',
routines: '例程',
functions: '函数',
schedulers: '调度器',
includes: '包含',
drop: '下降',
completed: '已完成',
aborted: '中止',
disabled: '禁用',
enable: '启用',
disable: '禁用',
commit: '提交',
rollback: '回滚',
connectionString: '连接字符串',
contributors: '贡献者',
pin: '固定',
unpin: '取消固定',
console: '控制台',
shortcuts: '快捷键',
folder: '文件夹 | 文件夹',
appearance: '外观',
color: '颜色',
label: '标签',
icon: '图标',
resultsTable: '结果表'
},
message: {
appWelcome: '欢迎来到Antares SQL Client!',
appFirstStep: '你的第一步: 创建一个新的数据库连接.',
addConnection: '添加连接',
createConnection: '创建连接',
createNewConnection: '创建新连接',
askCredentials: '询问凭据',
testConnection: '测试连接',
editConnection: '编辑连接',
deleteConnection: '删除连接',
deleteConfirm: '您是否确认取消',
connectionSuccessfullyMade: '连接成功了!',
madeWithJS: '使用 💛 和 JavaScript 制作!',
checkForUpdates: '检查更新',
noUpdatesAvailable: '无可用更新',
checkingForUpdate: '正在检查更新',
checkFailure: '检查失败,请稍后再试',
updateAvailable: '可用更新',
downloadingUpdate: '正在下载更新',
updateDownloaded: '已下载更新',
restartToInstall: '重启 Antares 以进行安装',
resultsTable: '结果表',
drop: '下降',
unableEditFieldWithoutPrimary: '无法编辑结果集中一个没有主键的字段',
editCell: '编辑单元格',
deleteRows: '删除行 | 删除 {count} 行',
confirmToDeleteRows: '您是否确认要删除一行? | 您是否确认要删除 {count} 行?',
notificationsTimeout: '通知超时',
uploadFile: '上传文件',
addNewRow: '添加新行',
numberOfInserts: '插入的数量',
openNewTab: '打开一个新标签',
affectedRows: '受影响的行',
createNewDatabase: '创建新数据库',
databaseName: '数据库名称',
@ -202,8 +176,6 @@ export const zhCN = {
emptyTable: '清空表',
deleteTable: '删除表',
emptyConfirm: '您是否确认清空',
unsavedChanges: '未保存的更改',
discardUnsavedChanges: '您有一些未保存的更改, 关闭此标签将放弃这些更改.',
thereAreNoIndexes: '没有索引',
thereAreNoForeign: '没有外键',
createNewForeign: '创建新外键',
@ -212,9 +184,6 @@ export const zhCN = {
foreignFields: '外键字段',
invalidDefault: '无效的默认值',
onDelete: '在删除',
applicationTheme: '应用程序主题',
editorTheme: '编辑器主题',
wrapLongLines: '将长行换行显示',
selectStatement: '选择语句',
triggerStatement: '触发器语句',
sqlSecurity: 'SQL 安全',
@ -237,14 +206,9 @@ export const zhCN = {
createNewScheduler: '创建新调度器',
deleteScheduler: '删除调度器',
preserveOnCompletion: '完成时保存',
enableSsl: '启用 SSL',
manualValue: '手动值',
tableFiller: '表填充器',
fakeDataLanguage: '伪造的数据语言',
searchForElements: '搜索元素',
selectAll: '选择全部',
queryDuration: '查询时间',
includeBetaUpdates: '包含测试版的更新',
setNull: '设置 NULL',
processesList: '进程列表',
processInfo: '进程信息',
@ -253,15 +217,8 @@ export const zhCN = {
schemaName: '模式名称',
editSchema: '编辑模式',
deleteSchema: '删除模式',
markdownSupported: '支持 Markdown',
plantATree: '种植一棵树',
dataTabPageSize: '数据标签的页面大小',
enableSsh: '启用 SSH',
pageNumber: '页数',
duplicateTable: '重复的表',
noOpenTabs: '没有打开的标签, 请在左侧栏上导航或:',
noSchema: '没有模式',
restorePreviousSession: '恢复上一个会话',
runQuery: '运行查询',
thereAreNoTableFields: '没有表的字段',
newTable: '新表',
@ -274,36 +231,78 @@ export const zhCN = {
thereIsNoQueriesYet: '目前还没有任何查询',
searchForQueries: '搜索查询',
killProcess: '终止进程',
closeTab: '关闭标签',
exportSchema: '导出模式(schema)',
importSchema: '导入模式(schema)',
directoryPath: '目录路径',
newInsertStmtEvery: '每条新的 INSERT 语句',
processingTableExport: '处理 {table}',
fetchingTableExport: '正在获取 {table} 数据',
writingTableExport: '正在写入 {table} 数据',
checkAllTables: '勾选所有表',
uncheckAllTables: '不勾选所有表',
goToDownloadPage: '转到下载页面',
readOnlyMode: '只读模式',
killQuery: '取消查询',
insertRow: '插入行 | 插入多行',
commitMode: '提交模式',
autoCommit: '自动提交',
manualCommit: '手动提交',
actionSuccessful: '{action} 成功',
disableFKChecks: '禁用外键检查',
formatQuery: '格式查询',
queryHistory: '查询历史',
clearQuery: '清除查询',
fillCell: '填充单元格',
executeSelectedQuery: '执行所选查询',
importQueryErrors: '警告: 发生了 {n} 个错误 | 警告: 发生了 {n} 个错误',
executedQueries: '{n} 个查询已执行 | {n} 个查询已执行',
outputFormat: '输出格式',
singleFile: '单个 {ext} 文件',
zipCompressedFile: 'ZIP 压缩 {ext} 文件',
executedQueries: '{n} 个查询已执行 | {n} 个查询已执行'
},
application: {
settings: '设置',
general: '常规',
themes: '主题',
update: '更新',
about: '关于',
language: '语言',
light: '明亮',
dark: '暗黑',
autoCompletion: '自动完成',
application: '应用程序',
editor: '编辑器',
scratchpad: '草稿栏',
changelog: '变更日志',
small: '小',
medium: '中',
large: '大',
console: '控制台',
shortcuts: '快捷键',
appearance: '外观',
color: '颜色',
label: '标签',
icon: '图标',
madeWithJS: '使用 💛 和 JavaScript 制作!',
checkForUpdates: '检查更新',
noUpdatesAvailable: '无可用更新',
checkingForUpdate: '正在检查更新',
checkFailure: '检查失败,请稍后再试',
updateAvailable: '可用更新',
downloadingUpdate: '正在下载更新',
updateDownloaded: '已下载更新',
restartToInstall: '重启 Antares 以进行安装',
notificationsTimeout: '通知超时',
openNewTab: '打开一个新标签',
unsavedChanges: '未保存的更改',
discardUnsavedChanges: '您有一些未保存的更改, 关闭此标签将放弃这些更改.',
applicationTheme: '应用程序主题',
editorTheme: '编辑器主题',
wrapLongLines: '将长行换行显示',
includeBetaUpdates: '包含测试版的更新',
markdownSupported: '支持 Markdown',
plantATree: '种植一棵树',
dataTabPageSize: '数据标签的页面大小',
noOpenTabs: '没有打开的标签, 请在左侧栏上导航或:',
restorePreviousSession: '恢复上一个会话',
closeTab: '关闭标签',
goToDownloadPage: '转到下载页面',
disableBlur: '禁用模糊',
untrustedConnection: '不受信任的连接',
missingOrIncompleteTranslation: '有缺失或不完整的翻译?',
findOutHowToContribute: '了解如何做出贡献',
disableFKChecks: '禁用外键检查',
allConnections: '所有连接',
searchForConnections: '搜索连接',
disableScratchpad: '禁用草稿栏',
reportABug: '报告错误',
nextTab: '下一个标签',
@ -323,21 +322,17 @@ export const zhCN = {
openSettings: '打开设置',
openScratchpad: '打开草稿栏',
runOrReload: '运行或重新加载',
formatQuery: '格式查询',
queryHistory: '查询历史',
clearQuery: '清除查询',
openFilter: '打开过滤器',
nextResultsPage: '下一个结果页',
previousResultsPage: '上一个结果页',
fillCell: '填充单元格',
editFolder: '编辑文件夹',
folderName: '文件夹名称',
deleteFolder: '删除文件夹',
editConnectionAppearance: '编辑连接的外观',
executeSelectedQuery: '执行所选查询',
defaultCopyType: '默认复制类型',
showTableSize: '在侧边栏显示表大小',
showTableSizeDescription: '仅限 MySQL/MariaDB. 启用此选项可能会影响许多表的模式(schema)的性能.'
showTableSizeDescription: '仅限 MySQL/MariaDB. 启用此选项可能会影响许多表的模式(schema)的性能.',
searchForElements: '搜索元素'
},
faker: {
address: '地址',

View File

@ -10,6 +10,7 @@
(
"char": $string-color,
"varchar": $string-color,
"nvarchar": $string-color,
"longvarchar": $string-color,
"text": $string-color,
"tinytext": $string-color,