Refactor to use _val for translation handling across components

This commit is contained in:
Stela Augustinova
2025-11-07 14:40:52 +01:00
parent bda5c4f5dd
commit e694aca70b
7 changed files with 21 additions and 17 deletions

View File

@@ -8,6 +8,7 @@
import Link from '../elements/Link.svelte';
import { focusedConnectionOrDatabase } from '../stores';
import { tick } from 'svelte';
import { _val } from '../translations';
export let list;
export let module;
@@ -40,12 +41,12 @@
$: listTranslated = (list || []).map(data => ({
...data,
group: data?.group && _.isFunction(data.group) ? data.group() : data.group,
title: data?.title && _.isFunction(data.title) ? data.title() : data.title,
description: data?.description && _.isFunction(data.description) ? data.description() : data.description,
group: data?.group && _val(data.group),
title: data?.title && _val(data.title),
description: data?.description && _val(data.description),
args: (data?.args || []).map(x => ({
...x,
label: x?.label && _.isFunction(x.label) ? x.label() : x.label,
label: x?.label && _val(x.label),
})),
}));

View File

@@ -1,6 +1,6 @@
<script context="module">
function getCommandTitle(command) {
let res = _.isFunction(command.text) ? command.text() : command.text;
let res = _val(command.text);
if (command.keyText || command.keyTextFromGroup) {
res += ` (${formatKeyText(command.keyText || command.keyTextFromGroup)})`;
}
@@ -13,6 +13,7 @@
import { formatKeyText } from '../utility/common';
import ToolStripButton from './ToolStripButton.svelte';
import _ from 'lodash';
import { _val } from '../translations';
export let command;
export let component = ToolStripButton;
@@ -33,6 +34,6 @@
{iconAfter}
{...$$restProps}
>
{(_.isFunction(buttonLabel) ? buttonLabel() : buttonLabel) || (_.isFunction(cmd?.toolbarName) ? cmd.toolbarName() : cmd.toolbarName) || (_.isFunction(cmd?.name) ? cmd.name() : cmd.name)}
{(_val(buttonLabel) || _val(cmd?.toolbarName) || _val(cmd?.name))}
</svelte:component>
{/if}

View File

@@ -24,6 +24,7 @@
import ToolStripCommandButton from './ToolStripCommandButton.svelte';
import ToolStripDropDownButton from './ToolStripDropDownButton.svelte';
import _ from 'lodash';
import { _val } from '../translations';
export let quickExportHandlerRef = null;
export let command = 'sqlDataGrid.export';
export let label = 'Export';
@@ -39,7 +40,7 @@
{#if hasPermission('dbops/export')}
{#if quickExportHandlerRef}
<ToolStripDropDownButton menu={getExportMenu} label={_.isFunction(label) ? label() : label} icon="icon export" />
<ToolStripDropDownButton menu={getExportMenu} label={_val(label)} icon="icon export" />
{:else}
<ToolStripCommandButton {command} />
{/if}

View File

@@ -1,6 +1,7 @@
import { commands } from '../stores';
import { invalidateCommandDefinitions } from './invalidateCommands';
import _ from 'lodash';
import { _val } from '../translations';
export interface SubCommand {
text: string;
@@ -43,11 +44,9 @@ export default function registerCommand(command: GlobalCommand) {
...x,
[command.id]: {
text:
_.isFunction(command.category) || _.isFunction(command.name)
_val(command.category) || _val(command.name)
? () =>
`${_.isFunction(command.category) ? command.category() : command.category}: ${
_.isFunction(command.name) ? command.name() : command.name
}`
`${_val(command.category)}: ${_val(command.name)}`
: `${command.category}: ${command.name}`,
...command,
enabled: !testEnabled,

View File

@@ -421,7 +421,7 @@
import { openJsonLinesData } from '../utility/openJsonLinesData';
import contextMenuActivator from '../utility/contextMenuActivator';
import InputTextModal from '../modals/InputTextModal.svelte';
import { __t, _t } from '../translations';
import { __t, _t, _val } from '../translations';
import { isProApp } from '../utility/proTools';
import SaveArchiveModal from '../modals/SaveArchiveModal.svelte';
import hasPermission from '../utility/hasPermission';
@@ -1795,12 +1795,12 @@
text: _t('datagrid.copyAdvanced', { defaultMessage: 'Copy advanced'}),
submenu: [
_.keys(copyRowsFormatDefs).map(format => ({
text: _.isFunction(copyRowsFormatDefs[format].label) ? copyRowsFormatDefs[format].label() : copyRowsFormatDefs[format].label,
text: _val(copyRowsFormatDefs[format].label),
onClick: () => copyToClipboardCore(format),
})),
{ divider: true },
_.keys(copyRowsFormatDefs).map(format => ({
text: _t('datagrid.setFormat', { defaultMessage: 'Set format: ' }) + (_.isFunction(copyRowsFormatDefs[format].name) ? copyRowsFormatDefs[format].name() : copyRowsFormatDefs[format].name),
text: _t('datagrid.setFormat', { defaultMessage: 'Set format: ' }) + (_val(copyRowsFormatDefs[format].name)),
onClick: () => ($copyRowsFormat = format),
})),
@@ -1870,7 +1870,7 @@
return [
menu,
{
text: _.isFunction(copyRowsFormatDefs[$copyRowsFormat].label) ? copyRowsFormatDefs[$copyRowsFormat].label() : copyRowsFormatDefs[$copyRowsFormat].label,
text: _val(copyRowsFormatDefs[$copyRowsFormat].label),
onClick: () => copyToClipboardCore($copyRowsFormat),
keyText: 'CtrlOrCommand+C',
tag: 'copy',

View File

@@ -27,6 +27,7 @@
import { evaluateCondition } from 'dbgate-sqltree';
import { compileCompoudEvalCondition } from 'dbgate-filterparser';
import { chevronExpandIcon } from '../icons/expandIcons';
import { _val } from '../translations';
export let columns: (TableControlColumn | false)[];
export let rows = null;
@@ -368,7 +369,7 @@
{/if}
{/key}
{:else}
{ _.isFunction(row[col.fieldName]) ? row[col.fieldName]() : row[col.fieldName] || ''}
{ _val(row[col.fieldName]) || '' }
{/if}
</td>
{/each}

View File

@@ -4,6 +4,7 @@ import invalidateCommands from '../commands/invalidateCommands';
import { runGroupCommand } from '../commands/runCommand';
import { currentDropDownMenu, visibleCommandPalette } from '../stores';
import getAsArray from './getAsArray';
import { _val } from '../translations';
let isContextMenuSupressed = false;
@@ -114,7 +115,7 @@ function mapItem(item, commands) {
if (command) {
const commandText = item.text || command.menuName || command.toolbarName || command.name;
return {
text: _.isFunction(commandText) ? commandText() : commandText,
text: _val(commandText),
keyText: command.keyText || command.keyTextFromGroup || command.disableHandleKeyText,
onClick: () => {
if (command.isGroupCommand) {