Merge branch 'develop' into feat/ssh-keep-alive-interval

This commit is contained in:
Christian Ratz 2023-08-04 11:12:48 +02:00 committed by GitHub
commit c0c33f8237
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
91 changed files with 2430 additions and 2454 deletions

View File

@ -17,6 +17,12 @@ jobs:
os: [macos-11, ubuntu-latest, windows-latest]
steps:
- name: Exit if not on master branch
if: contains(env.BRANCH_NAME, 'master') == false
run: |
echo "Wrong environment ${{env.BRANCH_NAME}}"
exit 0
- name: Check out Git repository
uses: actions/checkout@v3
with:

38
package-lock.json generated
View File

@ -27,7 +27,7 @@
"leaflet": "~1.7.1",
"marked": "~4.0.19",
"moment": "~2.29.4",
"mysql2": "~2.3.2",
"mysql2": "~3.5.2",
"node-firebird": "~1.1.4",
"pg": "~8.11.1",
"pg-connection-string": "~2.5.0",
@ -9664,15 +9664,16 @@
"license": "ISC"
},
"node_modules/mysql2": {
"version": "2.3.3",
"license": "MIT",
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.5.2.tgz",
"integrity": "sha512-cptobmhYkYeTBIFp2c0piw2+gElpioga1rUw5UidHvo8yaHijMZoo8A3zyBVoo/K71f7ZFvrShA9iMIy9dCzCA==",
"dependencies": {
"denque": "^2.0.1",
"denque": "^2.1.0",
"generate-function": "^2.3.1",
"iconv-lite": "^0.6.3",
"long": "^4.0.0",
"lru-cache": "^6.0.0",
"named-placeholders": "^1.1.2",
"long": "^5.2.1",
"lru-cache": "^8.0.0",
"named-placeholders": "^1.1.3",
"seq-queue": "^0.0.5",
"sqlstring": "^2.3.2"
},
@ -9680,19 +9681,18 @@
"node": ">= 8.0"
}
},
"node_modules/mysql2/node_modules/lru-cache": {
"version": "6.0.0",
"license": "ISC",
"dependencies": {
"yallist": "^4.0.0"
},
"engines": {
"node": ">=10"
}
"node_modules/mysql2/node_modules/long": {
"version": "5.2.3",
"resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz",
"integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q=="
},
"node_modules/mysql2/node_modules/yallist": {
"version": "4.0.0",
"license": "ISC"
"node_modules/mysql2/node_modules/lru-cache": {
"version": "8.0.5",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-8.0.5.tgz",
"integrity": "sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA==",
"engines": {
"node": ">=16.14"
}
},
"node_modules/named-placeholders": {
"version": "1.1.3",

View File

@ -66,6 +66,7 @@
"target": "deb",
"arch": [
"x64",
"arm64",
"armv7l"
]
},
@ -73,6 +74,7 @@
"target": "AppImage",
"arch": [
"x64",
"arm64",
"armv7l"
]
}
@ -134,7 +136,7 @@
"leaflet": "~1.7.1",
"marked": "~4.0.19",
"moment": "~2.29.4",
"mysql2": "~2.3.2",
"mysql2": "~3.5.2",
"node-firebird": "~1.1.4",
"pg": "~8.11.1",
"pg-connection-string": "~2.5.0",

View File

View File

@ -4,7 +4,7 @@ summary: Open source SQL client made to be simple and complete.
description: |
Antares is an SQL client that aims to become an useful and complete tool, especially for developers.
The target is to support as many databases as possible, and all major operating systems, including the ARM versions.
base: core20
base: core22
grade: stable
confinement: strict
@ -119,10 +119,10 @@ parts:
cleanup:
after: [antares]
plugin: nil
build-snaps: [gnome-3-38-2004]
build-snaps: [gnome-42-2204]
override-prime: |
set -eux
cd /snap/gnome-3-38-2004/current
cd /snap/gnome-42-2204/current
find . -type f,l -exec rm -f $SNAPCRAFT_PRIME/{} \;
mdns-lookup:
@ -136,7 +136,7 @@ parts:
- libnss-mdns
override-prime: |
set -eux
sed -Ee 's/^\s*hosts:(\s+)files/hosts:\1files mdns4_minimal \[NOTFOUND=return\]/' /snap/core20/current/etc/nsswitch.conf > $SNAPCRAFT_STAGE/etc/nsswitch.conf
sed -Ee 's/^\s*hosts:(\s+)files/hosts:\1files mdns4_minimal \[NOTFOUND=return\]/' /snap/core22/current/etc/nsswitch.conf > $SNAPCRAFT_STAGE/etc/nsswitch.conf
snapcraftctl prime
prime:
- lib/$SNAPCRAFT_ARCH_TRIPLET/libnss_mdns4_minimal*
@ -146,10 +146,7 @@ apps:
antares:
command: opt/Antares/antares --no-sandbox
desktop: usr/share/applications/antares.desktop
extensions: [gnome-3-38]
environment:
# Fallback to XWayland if running in a Wayland session.
DISABLE_WAYLAND: 1
extensions: [gnome]
plugs:
- browser-support
- cups-control

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

@ -47,7 +47,7 @@ export default class MySQLImporter extends BaseImporter {
catch (error) {
this.emit('query-error', {
sql: query,
message: error.sqlMessage,
message: error.sqlMessage || error.message,
sqlSnippet: error.sql,
time: new Date().getTime()
});

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('application.event') }}
</div>
</div>
<div class="th no-border" style="width: 100%;">
<div>
{{ t('word.key', 2) }}
{{ t('application.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('application.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('application.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('application.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('application.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>
@ -91,7 +91,7 @@
<div class="column col-7 col-sm-12">
<BaseUploadInput
:model-value="connection.databasePath"
:message="t('word.browse')"
:message="t('general.browse')"
@clear="pathClear('databasePath')"
@change="pathSelection($event, 'databasePath')"
/>
@ -159,7 +159,7 @@
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-5 col-sm-12" />
<div class="column col-7 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-5 col-sm-12" />
<div class="column col-7 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-5 col-sm-12">
<label class="form-label cut-text">
{{ t('message.enableSsl') }}
{{ t('connection.enableSsl') }}
</label>
</div>
<div class="column col-7 col-sm-12">
@ -207,7 +207,7 @@
<div class="column col-7 col-sm-12">
<BaseUploadInput
:model-value="connection.key"
:message="t('word.browse')"
:message="t('general.browse')"
@clear="pathClear('key')"
@change="pathSelection($event, 'key')"
/>
@ -220,7 +220,7 @@
<div class="column col-7 col-sm-12">
<BaseUploadInput
:model-value="connection.cert"
:message="t('word.browse')"
:message="t('general.browse')"
@clear="pathClear('cert')"
@change="pathSelection($event, 'cert')"
/>
@ -233,7 +233,7 @@
<div class="column col-7 col-sm-12">
<BaseUploadInput
:model-value="connection.ca"
:message="t('word.browse')"
:message="t('general.browse')"
@clear="pathClear('ca')"
@change="pathSelection($event, 'ca')"
/>
@ -256,7 +256,7 @@
<div class="column col-5 col-sm-12" />
<div class="column col-7 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-5 col-sm-12">
<label class="form-label cut-text">
{{ t('message.enableSsh') }}
{{ t('connection.enableSsh') }}
</label>
</div>
<div class="column col-7 col-sm-12">
@ -338,7 +338,7 @@
<div class="column col-7 col-sm-12">
<BaseUploadInput
:model-value="connection.sshKey"
:message="t('word.browse')"
:message="t('general.browse')"
@clear="pathClear('sshKey')"
@change="pathSelection($event, 'sshKey')"
/>
@ -382,7 +382,7 @@
@click="startTest"
>
<i class="mdi mdi-24px mdi-lightning-bolt mr-1" />
{{ t('message.testConnection') }}
{{ t('connection.testConnection') }}
</button>
<button
id="connection-save"
@ -391,7 +391,7 @@
@click="saveConnection"
>
<i class="mdi mdi-24px mdi-content-save mr-1" />
{{ t('word.save') }}
{{ t('general.save') }}
</button>
</div>
</div>
@ -497,7 +497,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 });
@ -521,7 +521,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>
@ -93,7 +93,7 @@
<div class="column col-7 col-sm-12">
<BaseUploadInput
:model-value="localConnection.databasePath"
:message="t('word.browse')"
:message="t('general.browse')"
@clear="pathClear('databasePath')"
@change="pathSelection($event, 'databasePath')"
/>
@ -161,7 +161,7 @@
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-5 col-sm-12" />
<div class="column col-7 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-5 col-sm-12" />
<div class="column col-7 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-5 col-sm-12">
<label class="form-label cut-text">
{{ t('message.enableSsl') }}
{{ t('connection.enableSsl') }}
</label>
</div>
<div class="column col-7 col-sm-12">
@ -209,7 +209,7 @@
<div class="column col-7 col-sm-12">
<BaseUploadInput
:model-value="localConnection.key"
:message="t('word.browse')"
:message="t('general.browse')"
@clear="pathClear('key')"
@change="pathSelection($event, 'key')"
/>
@ -222,7 +222,7 @@
<div class="column col-7 col-sm-12">
<BaseUploadInput
:model-value="localConnection.cert"
:message="t('word.browse')"
:message="t('general.browse')"
@clear="pathClear('cert')"
@change="pathSelection($event, 'cert')"
/>
@ -235,7 +235,7 @@
<div class="column col-7 col-sm-12">
<BaseUploadInput
:model-value="localConnection.ca"
:message="t('word.browse')"
:message="t('general.browse')"
@clear="pathClear('ca')"
@change="pathSelection($event, 'ca')"
/>
@ -258,7 +258,7 @@
<div class="column col-5 col-sm-12" />
<div class="column col-7 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-5 col-sm-12">
<label class="form-label cut-text">
{{ t('message.enableSsh') }}
{{ t('connection.enableSsh') }}
</label>
</div>
<div class="column col-7 col-sm-12">
@ -340,7 +340,7 @@
<div class="column col-7 col-sm-12">
<BaseUploadInput
:model-value="localConnection.sshKey"
:message="t('word.browse')"
:message="t('general.browse')"
@clear="pathClear('sshKey')"
@change="pathSelection($event, 'sshKey')"
/>
@ -384,7 +384,7 @@
@click="startTest"
>
<i class="mdi mdi-24px mdi-lightning-bolt mr-1" />
{{ t('message.testConnection') }}
{{ t('connection.testConnection') }}
</button>
<button
id="connection-save"
@ -393,7 +393,7 @@
@click="saveConnection"
>
<i class="mdi mdi-24px mdi-content-save mr-1" />
{{ t('word.save') }}
{{ t('general.save') }}
</button>
<button
id="connection-connect"
@ -403,7 +403,7 @@
@click="startConnection"
>
<i class="mdi mdi-24px mdi-connection mr-1" />
{{ t('word.connect') }}
{{ t('connection.connect') }}
</button>
</div>
</div>
@ -492,7 +492,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 });
@ -516,7 +516,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,23 +106,9 @@ 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',
@ -133,11 +139,8 @@ export const deDE = {
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',
@ -159,8 +162,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',
@ -169,9 +170,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',
@ -194,14 +192,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',
@ -209,11 +202,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,105 +139,31 @@ 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',
keepAliveInterval: 'Keep alive interval',
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',
@ -205,10 +183,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',
@ -217,9 +194,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',
@ -242,14 +216,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',
@ -258,15 +227,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',
@ -279,37 +240,87 @@ 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
event: 'Event',
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',
@ -328,40 +339,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,