fix(web): align goto anything autocomplete behavior (#41258)

This commit is contained in:
yyh
2026-08-25 12:39:07 +00:00
committed by GitHub
parent db5121828e
commit 798a238e63
31 changed files with 608 additions and 498 deletions
@@ -22,8 +22,8 @@ vi.mock('@/next/navigation', () => ({
}))
let debouncedSearchQuery: string | undefined
vi.mock('ahooks', () => ({
useDebounce: <T,>(value: T) => (debouncedSearchQuery ?? value) as T,
vi.mock('foxact/use-debounced-value', () => ({
useDebouncedValue: <T,>(value: T) => (debouncedSearchQuery ?? value) as T,
}))
const isMac = detectPlatform() === 'mac'
@@ -39,6 +39,7 @@ function triggerSearchShortcut(target: Document | HTMLElement = document) {
type RemoteQueryState = {
data: TestSearchResult[]
isLoading: boolean
isFetching?: boolean
isError: boolean
error: Error | null
}
@@ -61,6 +62,8 @@ let remoteQueryStates: Record<
agent: emptyRemoteQueryState(),
}
let enabledRemoteQueryKeys: string[] = []
let enabledRemoteSearches: Array<[keyof typeof remoteQueryStates, string]> = []
let previousRemoteData: Partial<Record<keyof typeof remoteQueryStates, TestSearchResult[]>> = {}
function setRemoteResults(results: TestSearchResult[]) {
results.forEach((result) => {
@@ -76,30 +79,46 @@ function setRemoteResults(results: TestSearchResult[]) {
}
vi.mock('@tanstack/react-query', () => ({
useQuery: (options: { queryKey: [key: keyof typeof remoteQueryStates]; enabled?: boolean }) => {
if (options.enabled) enabledRemoteQueryKeys.push(options.queryKey[0])
return options.enabled ? remoteQueryStates[options.queryKey[0]] : emptyRemoteQueryState()
keepPreviousData: (previousData: unknown) => previousData,
useQuery: (options: {
queryKey: [key: keyof typeof remoteQueryStates, searchTerm: string]
enabled?: boolean
placeholderData?: (previousData: unknown) => unknown
}) => {
const provider = options.queryKey[0]
if (!options.enabled) return emptyRemoteQueryState()
enabledRemoteQueryKeys.push(provider)
enabledRemoteSearches.push(options.queryKey)
const state = remoteQueryStates[provider]
let data = state.data
if (state.isFetching && data.length === 0 && options.placeholderData)
data = (options.placeholderData(previousRemoteData[provider]) as TestSearchResult[]) ?? []
if (!state.isLoading && !state.isFetching && !state.isError)
previousRemoteData[provider] = state.data
return { ...state, data }
},
}))
vi.mock('../actions/app', () => ({
appSearchQueryOptions: () => ({ queryKey: ['app'] }),
appSearchQueryOptions: (searchTerm: string) => ({ queryKey: ['app', searchTerm] }),
}))
vi.mock('../actions/knowledge', () => ({
knowledgeSearchQueryOptions: () => ({ queryKey: ['knowledge'] }),
knowledgeSearchQueryOptions: (searchTerm: string) => ({ queryKey: ['knowledge', searchTerm] }),
}))
vi.mock('../actions/plugin', () => ({
pluginSearchQueryOptions: () => ({ queryKey: ['plugin'] }),
pluginSearchQueryOptions: (searchTerm: string) => ({ queryKey: ['plugin', searchTerm] }),
}))
vi.mock('../actions/skill', () => ({
skillSearchQueryOptions: () => ({ queryKey: ['skill'] }),
skillSearchQueryOptions: (searchTerm: string) => ({ queryKey: ['skill', searchTerm] }),
}))
vi.mock('../actions/agent', () => ({
agentSearchQueryOptions: () => ({ queryKey: ['agent'] }),
agentSearchQueryOptions: (searchTerm: string) => ({ queryKey: ['agent', searchTerm] }),
}))
const visibilityState = vi.hoisted(() => ({
@@ -141,6 +160,10 @@ const createRemoteAction = (key: ActionItem['key'], shortcut: string): ActionIte
source: 'remote',
})
const slashSearchMock = vi.fn(
(_query: string, _searchTerm: string, _locale?: string): SearchResult[] => [],
)
const actionsMock = {
slash: {
key: '/',
@@ -149,7 +172,7 @@ const actionsMock = {
description: '/ desc',
source: 'local',
action: vi.fn(),
search: vi.fn(() => []),
search: slashSearchMock,
} satisfies ActionItem,
app: createRemoteAction('@app', '@app'),
knowledge: createRemoteAction('@knowledge', '@kb'),
@@ -232,12 +255,16 @@ describe('GotoAnything', () => {
}
debouncedSearchQuery = undefined
enabledRemoteQueryKeys = []
enabledRemoteSearches = []
previousRemoteData = {}
matchActionMock.mockReset()
visibilityState.agentEnabled = true
visibilityState.canManageAgents = true
visibilityState.datasetOperator = false
mockFindCommand = null
mockAvailableCommands = []
actionsMock.slash.search.mockReset()
actionsMock.slash.search.mockReturnValue([])
})
describe('modal behavior', () => {
@@ -449,7 +476,7 @@ describe('GotoAnything', () => {
expect(routerPush).toHaveBeenCalledTimes(1)
})
it('should loop from the last command to the first with ArrowDown', async () => {
it('should navigate and loop within a command grid row with ArrowRight', async () => {
const user = userEvent.setup()
mockAvailableCommands = [
{ name: 'theme', description: 'Change theme' },
@@ -463,15 +490,15 @@ describe('GotoAnything', () => {
})
await user.type(input, '/')
const options = screen.getAllByRole('option')
const options = screen.getAllByRole('gridcell')
expect(options).toHaveLength(2)
const [firstOption, secondOption] = options
if (!firstOption || !secondOption) throw new Error('Expected two command options')
await user.keyboard('{ArrowDown}')
await user.keyboard('{ArrowRight}')
expect(input).toHaveAttribute('aria-activedescendant', secondOption.id)
await user.keyboard('{ArrowDown}')
await user.keyboard('{ArrowRight}')
expect(input).toHaveAttribute('aria-activedescendant', firstOption.id)
})
@@ -523,7 +550,7 @@ describe('GotoAnything', () => {
await user.type(input, '@')
expect(
screen.getByRole('option', {
screen.getByRole('gridcell', {
name: /@kb app\.gotoAnything\.actions\.searchKnowledgeBasesDesc/,
}),
).toBeInTheDocument()
@@ -544,6 +571,164 @@ describe('GotoAnything', () => {
expect(screen.queryByText('Fallback description')).not.toBeInTheDocument()
})
it('keeps an exact submenu command in the grid until selection commits it', async () => {
const user = userEvent.setup()
mockAvailableCommands = [{ name: 'theme', description: 'Change theme' }]
matchActionMock.mockImplementation((query: string) =>
query.startsWith('/theme ') ? actionsMock.slash : undefined,
)
actionsMock.slash.search.mockReturnValue([
{
id: 'theme-dark',
type: 'command',
title: 'Dark Theme',
description: 'Use dark appearance',
data: { command: 'theme.set', args: { value: 'dark' } },
},
])
renderGotoAnything(<GotoAnything />)
triggerSearchShortcut()
const input = await screen.findByRole('combobox', {
name: 'app.gotoAnything.searchTitle',
})
await user.type(input, '/theme')
expect(input).toHaveValue('/theme')
expect(screen.getByRole('gridcell', { name: /\/theme/ })).toBeInTheDocument()
expect(screen.queryByText('Dark Theme')).not.toBeInTheDocument()
await user.keyboard('{Enter}')
expect(input).toHaveValue('/theme ')
expect(screen.getByRole('option', { name: /Dark Theme/ })).toBeInTheDocument()
})
it('keeps a submenu root result visible while the committed delimiter catches up', async () => {
const user = userEvent.setup()
mockAvailableCommands = [{ name: 'theme', description: 'Change theme' }]
matchActionMock.mockImplementation((query: string) =>
query.startsWith('/theme ') ? actionsMock.slash : undefined,
)
actionsMock.slash.search.mockImplementation((query: string) =>
query === '/theme '
? [
{
id: 'theme-dark',
type: 'command',
title: 'Dark Theme',
data: { command: 'theme.set', args: { value: 'dark' } },
},
]
: [],
)
renderGotoAnything(<GotoAnything />)
triggerSearchShortcut()
const input = await screen.findByRole('combobox', {
name: 'app.gotoAnything.searchTitle',
})
await user.type(input, '/theme')
debouncedSearchQuery = '/theme'
await user.keyboard('{Enter}')
await user.type(input, 'unknown')
expect(input).toHaveValue('/theme unknown')
expect(screen.getByRole('option', { name: /Dark Theme/ })).toBeInTheDocument()
expect(screen.getByRole('status')).toHaveTextContent('app.gotoAnything.searching')
expect(screen.queryByText('app.gotoAnything.noResults')).not.toBeInTheDocument()
})
it('does not leak a pending remote search into command or local-result contexts', async () => {
const user = userEvent.setup()
mockAvailableCommands = [{ name: 'theme', description: 'Change theme' }]
matchActionMock.mockImplementation((query: string) =>
query.startsWith('/theme ') ? actionsMock.slash : undefined,
)
actionsMock.slash.search.mockReturnValue([
{
id: 'theme-dark',
type: 'command',
title: 'Dark Theme',
data: { command: 'theme.set', args: { value: 'dark' } },
},
])
setRemoteResults([
{
id: 'app-1',
type: 'app',
title: 'Stale Remote App',
path: '/apps/stale',
data: {},
},
])
renderGotoAnything(<GotoAnything />)
triggerSearchShortcut()
const input = await screen.findByRole('combobox', {
name: 'app.gotoAnything.searchTitle',
})
await user.type(input, 'search')
expect(await screen.findByText('Stale Remote App')).toBeInTheDocument()
debouncedSearchQuery = 'search'
remoteQueryStates.app = {
...emptyRemoteQueryState(),
isFetching: true,
}
await user.clear(input)
await user.type(input, '/')
expect(screen.getByRole('gridcell', { name: /\/theme/ })).toBeInTheDocument()
expect(screen.queryByText('Stale Remote App')).not.toBeInTheDocument()
await user.keyboard('{Enter}')
expect(input).toHaveValue('/theme ')
expect(screen.getByRole('option', { name: /Dark Theme/ })).toBeInTheDocument()
expect(screen.queryByText('Stale Remote App')).not.toBeInTheDocument()
})
it('keeps submenu results visible while its argument is being debounced', async () => {
const user = userEvent.setup()
const darkThemeResult: SearchResult = {
id: 'theme-dark',
type: 'command',
title: 'Dark Theme',
description: 'Use dark appearance',
data: { command: 'theme.set', args: { value: 'dark' } },
}
matchActionMock.mockImplementation((query: string) =>
query.startsWith('/theme ') ? actionsMock.slash : undefined,
)
actionsMock.slash.search.mockImplementation((query: string) =>
query === '/theme ' ? [darkThemeResult] : [],
)
renderGotoAnything(<GotoAnything />)
triggerSearchShortcut()
const input = await screen.findByRole('combobox', {
name: 'app.gotoAnything.searchTitle',
})
await user.type(input, '/theme ')
expect(screen.getByRole('option', { name: /Dark Theme/ })).toBeInTheDocument()
debouncedSearchQuery = '/theme '
await user.type(input, 'unknown')
expect(screen.getByRole('option', { name: /Dark Theme/ })).toBeInTheDocument()
expect(screen.getByRole('status')).toHaveTextContent('app.gotoAnything.searching')
expect(screen.queryByText('app.gotoAnything.noResults')).not.toBeInTheDocument()
debouncedSearchQuery = '/theme unknownx'
await user.type(input, 'x')
expect(await screen.findByText('app.gotoAnything.noResults')).toBeInTheDocument()
expect(screen.queryByText('Dark Theme')).not.toBeInTheDocument()
})
it('queries skills and agents during ordinary search', async () => {
const user = userEvent.setup()
renderGotoAnything(<GotoAnything />)
@@ -559,6 +744,74 @@ describe('GotoAnything', () => {
)
})
it('trims trailing whitespace before an ordinary remote search', async () => {
const user = userEvent.setup()
renderGotoAnything(<GotoAnything />)
triggerSearchShortcut()
const input = await screen.findByRole('combobox', {
name: 'app.gotoAnything.searchTitle',
})
await user.type(input, 'research ')
expect(enabledRemoteSearches).toEqual(
expect.arrayContaining([
['app', 'research'],
['knowledge', 'research'],
['plugin', 'research'],
]),
)
expect(enabledRemoteSearches).not.toEqual(
expect.arrayContaining([
['app', 'research '],
['knowledge', 'research '],
['plugin', 'research '],
]),
)
})
it('keeps general local results aligned with the debounced remote result set', async () => {
const user = userEvent.setup()
const nodeResult = {
id: 'node-1',
type: 'workflow-node',
title: 'Stable Node',
data: {},
} as SearchResult
const nodeSearch = vi.fn((query: string) => (query === 'node' ? [nodeResult] : []))
createActionsMock.mockImplementationOnce(() => ({
...actionsMock,
node: {
key: '@node',
shortcut: '@node',
title: '@node title',
description: '@node desc',
source: 'local',
search: nodeSearch,
},
}))
renderGotoAnything(<GotoAnything />)
triggerSearchShortcut()
const input = await screen.findByRole('combobox', {
name: 'app.gotoAnything.searchTitle',
})
await user.type(input, 'node')
expect(await screen.findByText('Stable Node')).toBeInTheDocument()
debouncedSearchQuery = 'node'
await user.type(input, 'x')
expect(screen.getByText('Stable Node')).toBeInTheDocument()
expect(screen.getByRole('status')).toHaveTextContent('app.gotoAnything.searching')
debouncedSearchQuery = 'nodex2'
await user.type(input, '2')
expect(await screen.findByText('app.gotoAnything.noResults')).toBeInTheDocument()
expect(screen.queryByText('Stable Node')).not.toBeInTheDocument()
})
it.each([
['@skill', actionsMock.skill, 'skill'],
['@agents', actionsMock.agent, 'agent'],
@@ -653,6 +906,8 @@ describe('GotoAnything', () => {
const searchingTexts = screen.getAllByText('app.gotoAnything.searching')
expect(searchingTexts.length).toBeGreaterThanOrEqual(1)
expect(screen.getByRole('status')).toHaveTextContent('app.gotoAnything.searching')
const list = screen.getByRole('listbox')
expect(input).toHaveAttribute('aria-controls', list.id)
expect(document.querySelector('[aria-busy="true"]')).toBeInTheDocument()
})
@@ -681,6 +936,7 @@ describe('GotoAnything', () => {
expect(screen.getByRole('status')).toHaveTextContent('app.gotoAnything.searchFailed')
expect(screen.getAllByText('app.gotoAnything.searchFailed')).toHaveLength(2)
expect(screen.queryByText('app.gotoAnything.someServicesUnavailable')).not.toBeInTheDocument()
})
it('should preserve successful results when one provider fails', async () => {
@@ -730,11 +986,19 @@ describe('GotoAnything', () => {
] as const
for (const [scope, icon] of expectedScopeIcons) {
const option = await screen.findByRole('option', { name: new RegExp(scope) })
const option = await screen.findByRole('gridcell', { name: new RegExp(scope) })
expect(option.querySelector(`.${icon}`)).toBeInTheDocument()
}
const input = screen.getByRole('combobox', { name: 'app.gotoAnything.searchTitle' })
expect(input).toHaveAttribute('aria-haspopup', 'grid')
expect(screen.getByRole('grid')).toHaveAttribute('id', input.getAttribute('aria-controls'))
expect(screen.getByRole('rowgroup')).toBeInTheDocument()
for (const cell of screen.getAllByRole('gridcell'))
expect(cell.parentElement).toHaveAttribute('role', 'row')
expect(screen.getByText('app.gotoAnything.selectSearchType')).toBeInTheDocument()
expect(screen.queryByText('app.gotoAnything.resultCount:{"count":5}')).not.toBeInTheDocument()
expect(screen.getByText('app.gotoAnything.activate')).toBeInTheDocument()
})
it('should show no results state when search returns empty', async () => {
@@ -753,6 +1017,51 @@ describe('GotoAnything', () => {
expect(await screen.findByText('app.gotoAnything.noResults')).toBeInTheDocument()
})
it('keeps previous results visible while the next query is pending', async () => {
const user = userEvent.setup()
setRemoteResults([
{
id: 'app-1',
type: 'app',
title: 'Stable App',
path: '/apps/stable',
data: {},
},
])
renderGotoAnything(<GotoAnything />)
triggerSearchShortcut()
const input = await screen.findByRole('combobox', {
name: 'app.gotoAnything.searchTitle',
})
await user.type(input, 'app')
expect(await screen.findByText('Stable App')).toBeInTheDocument()
debouncedSearchQuery = 'app'
remoteQueryStates.app = {
...emptyRemoteQueryState(),
isFetching: true,
}
await user.type(input, 'x')
expect(screen.getByText('Stable App')).toBeInTheDocument()
expect(screen.getByRole('status')).toHaveTextContent('app.gotoAnything.searching')
expect(screen.queryByText('app.gotoAnything.noResults')).not.toBeInTheDocument()
remoteQueryStates = {
app: emptyRemoteQueryState(),
knowledge: emptyRemoteQueryState(),
plugin: emptyRemoteQueryState(),
skill: emptyRemoteQueryState(),
agent: emptyRemoteQueryState(),
}
debouncedSearchQuery = 'appx2'
await user.type(input, '2')
expect(await screen.findByText('app.gotoAnything.noResults')).toBeInTheDocument()
expect(screen.queryByText('Stable App')).not.toBeInTheDocument()
})
})
describe('plugin installation', () => {
@@ -143,12 +143,19 @@ describe('matchAction', () => {
expect(matchAction(query, actions)?.key).toBe(key)
})
it('matches complete submenu commands but leaves direct commands in the command picker', () => {
it('requires a delimiter before entering a scoped search', () => {
expect(matchAction('@app', actions)).toBeUndefined()
expect(matchAction('@app ', actions)?.key).toBe('@app')
})
it('requires a delimiter for submenu commands and leaves direct commands in the picker', () => {
vi.mocked(slashCommandRegistry.getAllCommands).mockReturnValue([
{ name: 'theme', mode: 'submenu', description: '', search: vi.fn(() => []) },
{ name: 'docs', mode: 'direct', description: '', search: vi.fn(() => []) },
])
expect(matchAction('/theme', actions)).toBeUndefined()
expect(matchAction('/theme ', actions)?.key).toBe('/')
expect(matchAction('/theme dark', actions)?.key).toBe('/')
expect(matchAction('/docs', actions)).toBeUndefined()
expect(matchAction('/the', actions)).toBeUndefined()
@@ -57,10 +57,10 @@ export function matchAction(query: string, actions: Record<string, ActionItem>)
if (command.mode === 'direct') return false
const commandPattern = `/${command.name}`
return query === commandPattern || query.startsWith(`${commandPattern} `)
return query.startsWith(`${commandPattern} `)
})
}
return new RegExp(`^(${action.key}|${action.shortcut})(?:\\s|$)`).test(query)
return new RegExp(`^(${action.key}|${action.shortcut})\\s`).test(query)
})
}
@@ -2,47 +2,31 @@ import { render, screen } from '@testing-library/react'
import { Footer } from '../footer'
const defaultProps = {
resultCount: 0,
searchMode: 'general',
isLoading: false,
hasUnavailableServices: false,
isCommandsMode: false,
hasQuery: false,
resultCount: null,
canActivate: false,
hasPartialFailure: false,
}
describe('Footer', () => {
it('shows the result count and active scope', () => {
render(<Footer {...defaultProps} resultCount={3} searchMode="@app" hasQuery />)
it('shows the result count and activation hint without search-mode actions', () => {
render(<Footer {...defaultProps} resultCount={3} canActivate />)
expect(screen.getByText('app.gotoAnything.resultCount:{"count":3}')).toBeInTheDocument()
expect(screen.getByText('app.gotoAnything.inScope:{"scope":"app"}')).toBeInTheDocument()
expect(screen.getByText('app.gotoAnything.clearToSearchAll')).toBeInTheDocument()
expect(screen.getByText('app.gotoAnything.activate')).toBeInTheDocument()
expect(screen.getByText('Enter')).toBeInTheDocument()
})
it('reports partial provider failure even when results remain available', () => {
render(<Footer {...defaultProps} resultCount={2} hasUnavailableServices hasQuery />)
render(<Footer {...defaultProps} resultCount={2} canActivate hasPartialFailure />)
expect(screen.getByText('app.gotoAnything.someServicesUnavailable')).toHaveClass('text-red-500')
expect(screen.getByText('app.gotoAnything.useAtForSpecific')).toBeInTheDocument()
expect(screen.getByText('app.gotoAnything.someServicesUnavailable')).toBeInTheDocument()
expect(screen.getByText('app.gotoAnything.activate')).toBeInTheDocument()
expect(screen.getByText('Enter')).toBeInTheDocument()
})
it('reports pending remote search', () => {
render(<Footer {...defaultProps} isLoading hasQuery />)
expect(screen.getByText('app.gotoAnything.searching')).toBeInTheDocument()
expect(screen.getByText('app.gotoAnything.tips')).toBeInTheDocument()
})
it('reports command selection mode', () => {
render(<Footer {...defaultProps} isCommandsMode />)
expect(screen.getByText('app.gotoAnything.selectToNavigate')).toBeInTheDocument()
})
it('shows the idle shortcut hint', () => {
it('shows only the close shortcut when there are no actionable results', () => {
render(<Footer {...defaultProps} />)
expect(screen.getByText('app.gotoAnything.startTyping')).toBeInTheDocument()
expect(screen.getByText('app.gotoAnything.pressEscToClose')).toBeInTheDocument()
})
})
@@ -3,7 +3,7 @@
import type { ActionItem } from '../actions/types'
import { useTranslation } from 'react-i18next'
type EmptyStateVariant = 'no-results' | 'error' | 'default' | 'loading'
type EmptyStateVariant = 'no-results' | 'error' | 'loading'
type EmptyStateProps = {
variant: EmptyStateVariant
@@ -49,23 +49,6 @@ export function EmptyState({
)
}
if (variant === 'default') {
return (
<div className="flex items-center justify-center py-8 text-center text-text-tertiary">
<div>
<div className="text-sm font-medium">
{t(($) => $['gotoAnything.searchTitle'], { ns: 'app' })}
</div>
<div className="mt-3 space-y-1 text-xs text-text-quaternary">
<div>{t(($) => $['gotoAnything.searchHint'], { ns: 'app' })}</div>
<div>{t(($) => $['gotoAnything.commandHint'], { ns: 'app' })}</div>
<div>{t(($) => $['gotoAnything.slashHint'], { ns: 'app' })}</div>
</div>
</div>
</div>
)
}
const isCommandSearch = searchMode !== 'general'
const commandType = isCommandSearch ? searchMode.replace('@', '') : ''
@@ -1,28 +1,19 @@
'use client'
import { Kbd } from '@langgenius/dify-ui/kbd'
import { useTranslation } from 'react-i18next'
type FooterProps = {
resultCount: number
searchMode: string
isLoading: boolean
hasUnavailableServices: boolean
isCommandsMode: boolean
hasQuery: boolean
resultCount: number | null
canActivate: boolean
hasPartialFailure: boolean
}
export function Footer({
resultCount,
searchMode,
isLoading,
hasUnavailableServices,
isCommandsMode,
hasQuery,
}: FooterProps) {
export function Footer({ resultCount, canActivate, hasPartialFailure }: FooterProps) {
const { t } = useTranslation()
const renderLeftContent = () => {
if (hasUnavailableServices) {
if (hasPartialFailure) {
return (
<span className="text-red-500">
{t(($) => $['gotoAnything.someServicesUnavailable'], { ns: 'app' })}
@@ -30,51 +21,24 @@ export function Footer({
)
}
if (resultCount > 0) {
return (
<>
{t(($) => $['gotoAnything.resultCount'], { ns: 'app', count: resultCount })}
{searchMode !== 'general' && (
<span className="ml-2 opacity-60">
{t(($) => $['gotoAnything.inScope'], {
ns: 'app',
scope: searchMode.replace('@', ''),
})}
</span>
)}
</>
)
if (resultCount !== null && resultCount > 0) {
return t(($) => $['gotoAnything.resultCount'], { ns: 'app', count: resultCount })
}
return (
<span className="opacity-60">
{(() => {
if (isCommandsMode) return t(($) => $['gotoAnything.selectToNavigate'], { ns: 'app' })
if (isLoading) return t(($) => $['gotoAnything.searching'], { ns: 'app' })
return t(($) => $['gotoAnything.startTyping'], { ns: 'app' })
})()}
</span>
)
return null
}
const renderRightContent = () => {
if (resultCount > 0 || hasUnavailableServices) {
return (
<span className="opacity-60">
{searchMode !== 'general'
? t(($) => $['gotoAnything.clearToSearchAll'], { ns: 'app' })
: t(($) => $['gotoAnything.useAtForSpecific'], { ns: 'app' })}
</span>
)
}
return (
<span className="opacity-60">
{hasQuery || isCommandsMode
? t(($) => $['gotoAnything.tips'], { ns: 'app' })
: t(($) => $['gotoAnything.pressEscToClose'], { ns: 'app' })}
{canActivate ? (
<span className="flex items-center gap-1">
<span>{t(($) => $['gotoAnything.activate'], { ns: 'app' })}</span>
<Kbd>Enter</Kbd>
</span>
) : (
t(($) => $['gotoAnything.pressEscToClose'], { ns: 'app' })
)}
</span>
)
}
+170 -115
View File
@@ -12,6 +12,7 @@ import {
AutocompleteInputGroup,
AutocompleteItem,
AutocompleteList,
AutocompleteRow,
AutocompleteStatus,
} from '@langgenius/dify-ui/autocomplete'
import {
@@ -31,8 +32,8 @@ import {
ScrollAreaViewport,
} from '@langgenius/dify-ui/scroll-area'
import { formatForDisplay, useHotkey } from '@tanstack/react-hotkeys'
import { useQuery } from '@tanstack/react-query'
import { useDebounce } from 'ahooks'
import { keepPreviousData, useQuery } from '@tanstack/react-query'
import { useDebouncedValue } from 'foxact/use-debounced-value'
import { useAtomValue } from 'jotai'
import { useMemo, useRef, useState } from 'react'
import { useTranslation } from 'react-i18next'
@@ -155,12 +156,6 @@ function isEditableShortcutTarget(target: EventTarget | null) {
return target.isContentEditable || ['INPUT', 'TEXTAREA', 'SELECT'].includes(target.tagName)
}
function getSearchModeLabel(searchMode: string) {
if (searchMode === 'scopes') return 'SCOPES'
if (searchMode === 'commands') return 'COMMANDS'
return searchMode.replace('@', '').toUpperCase()
}
function getSearchMode(
searchQuery: string,
isCommandsMode: boolean,
@@ -168,7 +163,7 @@ function getSearchMode(
) {
if (isCommandsMode) return searchQuery.trim().startsWith('/') ? 'commands' : 'scopes'
const action = matchAction(searchQuery.trim().toLowerCase(), actions)
const action = matchAction(searchQuery.trimStart().toLowerCase(), actions)
if (!action) return 'general'
return action.key === '/' ? '@command' : action.key
@@ -180,10 +175,29 @@ function isCommandSelectionQuery(query: string, actions: Record<string, ActionIt
return (
(trimmedQuery.startsWith('@') || trimmedQuery.startsWith('/')) &&
!matchAction(trimmedQuery, actions)
!matchAction(query.trimStart().toLowerCase(), actions)
)
}
function getActionIdentity(query: string, action: ActionItem) {
if (action.key !== '/') return action.key
return query.split(/\s/, 1)[0]
}
function getActionBaseQuery(query: string, action: ActionItem) {
if (action.key === '/') return `${getActionIdentity(query, action)} `
return `${query.split(/\s/, 1)[0] ?? action.shortcut} `
}
function getRemoteSearchIdentity(
query: string,
isCommandsMode: boolean,
action: ActionItem | undefined,
) {
if (!query.trim() || isCommandsMode || action?.source === 'local') return null
return action?.key ?? 'general'
}
function dedupeSearchResults(results: SearchResult[]) {
const seen = new Set<string>()
return results.filter((result) => {
@@ -204,6 +218,13 @@ function groupSearchResults(results: SearchResult[]) {
}, {})
}
function chunkArray<T>(items: readonly T[], size: number): T[][] {
const rows: T[][] = []
for (let index = 0; index < items.length; index += size)
rows.push(items.slice(index, index + size))
return rows
}
function GotoAnythingDialog() {
const { t } = useTranslation()
const pathname = usePathname()
@@ -229,16 +250,18 @@ function GotoAnythingDialog() {
[agentsAvailable, isWorkflowPage, isRagPipelinePage, skillsAvailable],
)
const trimmedSearchQuery = searchQuery.trim()
const normalizedSearchQuery = searchQuery.trimStart().toLowerCase()
const isCommandsMode = isCommandSelectionQuery(searchQuery, actions)
const searchMode = getSearchMode(searchQuery, isCommandsMode, actions)
const debouncedSearchQuery = useDebounce(searchQuery, { wait: 300 })
const normalizedDebouncedQuery = debouncedSearchQuery.trim().toLowerCase()
const currentAction = matchAction(normalizedSearchQuery, actions)
const debouncedSearchQuery = useDebouncedValue(searchQuery, 300)
const normalizedDebouncedQuery = debouncedSearchQuery.trimStart().toLowerCase()
const isDebouncedCommandsMode = isCommandSelectionQuery(debouncedSearchQuery, actions)
const debouncedAction = matchAction(normalizedDebouncedQuery, actions)
const debouncedSearchTerm = debouncedAction
? getActionSearchTerm(normalizedDebouncedQuery, debouncedAction)
: normalizedDebouncedQuery
const remoteSearchEnabled = Boolean(normalizedDebouncedQuery) && !isDebouncedCommandsMode
: normalizedDebouncedQuery.trimEnd()
const remoteSearchEnabled = Boolean(normalizedDebouncedQuery.trim()) && !isDebouncedCommandsMode
const appSearchEnabled =
remoteSearchEnabled && (!debouncedAction || debouncedAction.key === '@app')
const knowledgeSearchEnabled =
@@ -254,32 +277,54 @@ function GotoAnythingDialog() {
const appSearchQuery = useQuery({
...appSearchQueryOptions(debouncedSearchTerm, debouncedAction?.key === '@app'),
enabled: appSearchEnabled,
placeholderData: keepPreviousData,
})
const knowledgeSearchQuery = useQuery({
...knowledgeSearchQueryOptions(debouncedSearchTerm),
enabled: knowledgeSearchEnabled,
placeholderData: keepPreviousData,
})
const pluginSearchQuery = useQuery({
...pluginSearchQueryOptions(debouncedSearchTerm, defaultLocale),
enabled: pluginSearchEnabled,
placeholderData: keepPreviousData,
})
const skillSearchQuery = useQuery({
...skillSearchQueryOptions(debouncedSearchTerm),
enabled: skillSearchEnabled,
placeholderData: keepPreviousData,
})
const agentSearchQuery = useQuery({
...agentSearchQueryOptions(debouncedSearchTerm),
enabled: agentSearchEnabled,
placeholderData: keepPreviousData,
})
const isSameLocalAction =
currentAction?.source === 'local' &&
debouncedAction?.source === 'local' &&
getActionIdentity(normalizedSearchQuery, currentAction) ===
getActionIdentity(normalizedDebouncedQuery, debouncedAction)
const isLocalSearchDebouncing =
currentAction?.source === 'local' && normalizedSearchQuery !== normalizedDebouncedQuery
const isSameGeneralSearch =
currentAction === undefined &&
debouncedAction === undefined &&
!isCommandsMode &&
!isDebouncedCommandsMode &&
Boolean(normalizedSearchQuery.trim()) &&
Boolean(normalizedDebouncedQuery.trim())
let localSearchQuery = normalizedSearchQuery
if (isSameLocalAction || isSameGeneralSearch) localSearchQuery = normalizedDebouncedQuery
else if (isLocalSearchDebouncing)
localSearchQuery = getActionBaseQuery(normalizedSearchQuery, currentAction)
const localSearchResults = useMemo(() => {
if (!trimmedSearchQuery || isCommandsMode) return []
const normalizedQuery = trimmedSearchQuery.toLowerCase()
const action = matchAction(normalizedQuery, actions)
const action = matchAction(localSearchQuery, actions)
if (action?.source === 'local') {
return action.search(
normalizedQuery,
getActionSearchTerm(normalizedQuery, action),
localSearchQuery,
getActionSearchTerm(localSearchQuery, action),
defaultLocale,
)
}
@@ -287,27 +332,43 @@ function GotoAnythingDialog() {
return Object.values(actions).flatMap((candidate) => {
if (candidate.source !== 'local' || candidate.key === '/') return []
return candidate.search(normalizedQuery, normalizedQuery, defaultLocale)
const generalSearchTerm = localSearchQuery.trimEnd()
return candidate.search(generalSearchTerm, generalSearchTerm, defaultLocale)
})
}, [actions, defaultLocale, isCommandsMode, trimmedSearchQuery])
const activeRemoteQueries = [
}, [actions, defaultLocale, isCommandsMode, localSearchQuery, trimmedSearchQuery])
const debouncedRemoteQueries = [
appSearchEnabled ? appSearchQuery : undefined,
knowledgeSearchEnabled ? knowledgeSearchQuery : undefined,
pluginSearchEnabled ? pluginSearchQuery : undefined,
skillSearchEnabled ? skillSearchQuery : undefined,
agentSearchEnabled ? agentSearchQuery : undefined,
].filter((query) => query !== undefined)
const isDebouncing = remoteSearchEnabled && searchQuery.trim() !== debouncedSearchQuery.trim()
const isLoading = isDebouncing || activeRemoteQueries.some((query) => query.isLoading)
const failedRemoteQueries = activeRemoteQueries.filter((query) => query.isError)
const currentRemoteSearchIdentity = getRemoteSearchIdentity(
normalizedSearchQuery,
isCommandsMode,
currentAction,
)
const debouncedRemoteSearchIdentity = getRemoteSearchIdentity(
normalizedDebouncedQuery,
isDebouncedCommandsMode,
debouncedAction,
)
const isSameRemoteSearch =
currentRemoteSearchIdentity !== null &&
currentRemoteSearchIdentity === debouncedRemoteSearchIdentity
const currentRemoteQueries = isSameRemoteSearch ? debouncedRemoteQueries : []
const isRemoteSearchDebouncing =
currentRemoteSearchIdentity !== null && normalizedSearchQuery !== normalizedDebouncedQuery
const isDebouncing = isRemoteSearchDebouncing || isLocalSearchDebouncing
const isLoading =
isDebouncing || currentRemoteQueries.some((query) => query.isLoading || query.isFetching)
const failedRemoteQueries = currentRemoteQueries.filter((query) => query.isError)
const isError =
activeRemoteQueries.length > 0 && failedRemoteQueries.length === activeRemoteQueries.length
currentRemoteQueries.length > 0 && failedRemoteQueries.length === currentRemoteQueries.length
const hasUnavailableServices = failedRemoteQueries.length > 0
const queryError = failedRemoteQueries[0]?.error
const error = queryError instanceof Error ? queryError : null
const remoteSearchResults = isDebouncing
? []
: activeRemoteQueries.flatMap((query) => query.data ?? [])
const remoteSearchResults = currentRemoteQueries.flatMap((query) => query.data ?? [])
const searchResults = [...localSearchResults, ...remoteSearchResults]
const dedupedResults = dedupeSearchResults(searchResults)
const groupedResults = groupSearchResults(dedupedResults)
@@ -410,8 +471,9 @@ function GotoAnythingDialog() {
const commandOptions = getCommandOptions(actions, searchQuery)
const autocompleteOptions: GotoAnythingOption[] = isCommandsMode ? commandOptions : dedupedResults
const visibleOptions = isLoading || isError ? [] : autocompleteOptions
const visibleOptions = isError ? [] : autocompleteOptions
const autocompleteResultCount = visibleOptions.length
const commandRows = chunkArray(commandOptions, 2)
let autocompleteStatus: string | null = null
if (isLoading) autocompleteStatus = t(($) => $['gotoAnything.searching'], { ns: 'app' })
@@ -424,10 +486,9 @@ function GotoAnythingDialog() {
count: autocompleteResultCount,
})
let emptyStateVariant: 'loading' | 'error' | 'default' | 'no-results' | null = null
if (isLoading) emptyStateVariant = 'loading'
let emptyStateVariant: 'loading' | 'error' | 'no-results' | null = null
if (isLoading && autocompleteResultCount === 0) emptyStateVariant = 'loading'
else if (isError) emptyStateVariant = 'error'
else if (!trimmedSearchQuery && autocompleteResultCount === 0) emptyStateVariant = 'default'
else if (autocompleteResultCount === 0 && !isCommandsMode) emptyStateVariant = 'no-results'
return (
@@ -458,6 +519,7 @@ function GotoAnythingDialog() {
onOpenChange={handleAutocompleteOpenChange}
itemToStringValue={optionToInputValue}
filter={null}
grid={isCommandsMode}
open
inline
autoHighlight="always"
@@ -477,11 +539,6 @@ function GotoAnythingDialog() {
placeholder={t(($) => $['gotoAnything.searchPlaceholder'], { ns: 'app' })}
className="px-0"
/>
{searchMode !== 'general' && (
<div className="flex items-center gap-1 rounded-sm bg-gray-100 px-2 py-0.5 text-xs font-medium text-gray-700 dark:bg-gray-800 dark:text-gray-300">
<span>{getSearchModeLabel(searchMode)}</span>
</div>
)}
</div>
<KbdGroup>
{GOTO_ANYTHING_HOTKEY.split('+').map((key) => (
@@ -518,42 +575,6 @@ function GotoAnythingDialog() {
</div>
)}
{!isLoading && !isError && isCommandsMode && autocompleteResultCount > 0 && (
<AutocompleteList className="max-h-none overflow-visible p-0">
<AutocompleteGroup items={commandOptions}>
<AutocompleteGroupLabel className="px-4 pt-4 pb-2 text-left font-mono text-[11px] font-medium tracking-[0.12em] text-text-tertiary uppercase">
{isSlashMode
? t(($) => $['gotoAnything.groups.commands'], { ns: 'app' })
: t(($) => $['gotoAnything.selectSearchType'], { ns: 'app' })}
</AutocompleteGroupLabel>
<div className="grid grid-cols-1 gap-2 px-4 pb-4 sm:grid-cols-2">
<AutocompleteCollection<CommandOption>>
{(option) => (
<AutocompleteItem
key={option.shortcut}
value={option}
className="group m-0 min-h-18 items-start gap-3 rounded-xl border-[0.5px] border-components-card-border bg-components-card-bg/90 p-3 shadow-xs shadow-shadow-shadow-3 backdrop-blur-sm hover:border-divider-regular hover:bg-state-base-hover-alt data-highlighted:border-state-accent-solid data-highlighted:bg-state-base-hover"
onClick={() => selectOption(option)}
>
<span className="flex size-8 shrink-0 items-center justify-center rounded-lg border-[0.5px] border-divider-regular bg-background-default text-text-tertiary group-data-highlighted:text-text-accent">
<span aria-hidden className={`${option.icon} size-4`} />
</span>
<span className="min-w-0 flex-1 text-left">
<span className="block truncate font-mono text-xs font-semibold tracking-[-0.01em] text-text-primary">
{option.shortcut}
</span>
<span className="mt-1 line-clamp-2 block text-xs leading-4 text-text-tertiary">
{getCommandOptionDescription(option)}
</span>
</span>
</AutocompleteItem>
)}
</AutocompleteCollection>
</div>
</AutocompleteGroup>
</AutocompleteList>
)}
{!isLoading && !isError && !isCommandsMode && emptyStateVariant && (
<EmptyState
variant={emptyStateVariant}
@@ -562,46 +583,83 @@ function GotoAnythingDialog() {
/>
)}
{!isLoading &&
!isError &&
!isCommandsMode &&
!emptyStateVariant &&
autocompleteResultCount > 0 && (
<AutocompleteList className="max-h-none overflow-visible p-0">
{Object.entries(groupedResults).map(([type, results]) => (
<AutocompleteGroup key={type} items={results}>
<AutocompleteGroupLabel className="px-4 pt-3 pb-2 text-text-secondary capitalize">
{getGroupLabel(type)}
</AutocompleteGroupLabel>
<AutocompleteCollection<SearchResult>>
{(result) => (
<AutocompleteList className="max-h-none overflow-visible p-0">
{!isLoading && !isError && isCommandsMode && autocompleteResultCount > 0 && (
<AutocompleteGroup items={commandOptions} role="rowgroup">
<AutocompleteGroupLabel className="px-4 pt-4 pb-2 text-left font-mono text-[11px] font-medium tracking-[0.12em] text-text-tertiary uppercase">
{isSlashMode
? t(($) => $['gotoAnything.groups.commands'], { ns: 'app' })
: t(($) => $['gotoAnything.selectSearchType'], { ns: 'app' })}
</AutocompleteGroupLabel>
<div className="px-4 pb-4" role="presentation">
{commandRows.map((row) => (
<AutocompleteRow
key={row.map((option) => option.shortcut).join(':')}
className="grid grid-cols-2 gap-2"
>
{row.map((option) => (
<AutocompleteItem
key={`${result.type}-${result.id}`}
value={result}
className="mx-2 gap-3 p-3"
onClick={() => selectOption(result)}
key={option.shortcut}
value={option}
className="group m-0 min-h-18 items-start gap-3 rounded-xl border-[0.5px] border-components-card-border bg-components-card-bg/90 p-3 shadow-xs shadow-shadow-shadow-3 backdrop-blur-sm hover:border-divider-regular hover:bg-state-base-hover-alt data-highlighted:border-state-accent-solid data-highlighted:bg-state-base-hover"
onClick={() => selectOption(option)}
>
{result.icon}
<div className="min-w-0 flex-1">
<div className="truncate font-medium text-text-secondary">
{result.title}
</div>
{result.description && (
<div className="mt-0.5 truncate text-xs text-text-quaternary">
{result.description}
</div>
)}
</div>
<div className="text-xs text-text-quaternary capitalize">
{result.type}
</div>
<span className="flex size-8 shrink-0 items-center justify-center rounded-lg border-[0.5px] border-divider-regular bg-background-default text-text-tertiary group-data-highlighted:text-text-accent">
<span aria-hidden className={`${option.icon} size-4`} />
</span>
<span className="min-w-0 flex-1 text-left">
<span className="block truncate font-mono text-xs font-semibold tracking-[-0.01em] text-text-primary">
{option.shortcut}
</span>
<span className="mt-1 line-clamp-2 block text-xs leading-4 text-text-tertiary">
{getCommandOptionDescription(option)}
</span>
</span>
</AutocompleteItem>
)}
</AutocompleteCollection>
</AutocompleteGroup>
))}
</AutocompleteList>
))}
</AutocompleteRow>
))}
</div>
</AutocompleteGroup>
)}
{!isError &&
!isCommandsMode &&
!emptyStateVariant &&
autocompleteResultCount > 0 &&
Object.entries(groupedResults).map(([type, results]) => (
<AutocompleteGroup key={type} items={results}>
<AutocompleteGroupLabel className="px-4 pt-3 pb-2 text-text-secondary capitalize">
{getGroupLabel(type)}
</AutocompleteGroupLabel>
<AutocompleteCollection<SearchResult>>
{(result) => (
<AutocompleteItem
key={`${result.type}-${result.id}`}
value={result}
className="mx-2 gap-3 p-3"
onClick={() => selectOption(result)}
>
{result.icon}
<div className="min-w-0 flex-1">
<div className="truncate font-medium text-text-secondary">
{result.title}
</div>
{result.description && (
<div className="mt-0.5 truncate text-xs text-text-quaternary">
{result.description}
</div>
)}
</div>
<div className="text-xs text-text-quaternary capitalize">
{result.type}
</div>
</AutocompleteItem>
)}
</AutocompleteCollection>
</AutocompleteGroup>
))}
</AutocompleteList>
</ScrollAreaContent>
</ScrollAreaViewport>
<ScrollAreaScrollbar>
@@ -610,12 +668,9 @@ function GotoAnythingDialog() {
</ScrollArea>
<Footer
resultCount={autocompleteResultCount}
searchMode={searchMode}
isLoading={isLoading}
hasUnavailableServices={hasUnavailableServices}
isCommandsMode={isCommandsMode}
hasQuery={!!searchQuery.trim()}
resultCount={trimmedSearchQuery ? autocompleteResultCount : null}
canActivate={autocompleteResultCount > 0}
hasPartialFailure={hasUnavailableServices && !isError}
/>
</Autocomplete>
<DialogClose className="sr-only">
+3 -11
View File
@@ -82,8 +82,7 @@
"gotoAnything.actions.themeLightDesc": "استخدم المظهر الفاتح",
"gotoAnything.actions.themeSystem": "سمة النظام",
"gotoAnything.actions.themeSystemDesc": "اتبع مظهر نظام التشغيل",
"gotoAnything.clearToSearchAll": "امسح @ للبحث في الكل",
"gotoAnything.commandHint": "اكتب @ للتصفح حسب الفئة",
"gotoAnything.activate": "تفعيل",
"gotoAnything.emptyState.noAppsFound": "لم يتم العثور على تطبيقات",
"gotoAnything.emptyState.noKnowledgeBasesFound": "لم يتم العثور على قواعد معرفة",
"gotoAnything.emptyState.noPluginsFound": "لم يتم العثور على إضافات",
@@ -95,7 +94,6 @@
"gotoAnything.groups.knowledgeBases": "قواعد المعرفة",
"gotoAnything.groups.plugins": "إضافات",
"gotoAnything.groups.workflowNodes": "عقد سير العمل",
"gotoAnything.inScope": "في {{scope}}",
"gotoAnything.noMatchingCommands": "لم يتم العثور على أوامر مطابقة",
"gotoAnything.noResults": "لم يتم العثور على نتائج",
"gotoAnything.pressEscToClose": "اضغط ESC للإغلاق",
@@ -103,20 +101,14 @@
"gotoAnything.resultCount": "{{count}} نتيجة",
"gotoAnything.resultCount_other": "{{count}} نتائج",
"gotoAnything.searchFailed": "فشل البحث",
"gotoAnything.searchHint": "ابدأ الكتابة للبحث عن كل شيء على الفور",
"gotoAnything.searchPlaceholder": "ابحث أو اكتب @ أو / للأوامر...",
"gotoAnything.searchPlaceholder": "ابحث عن أي شيء",
"gotoAnything.searchTemporarilyUnavailable": "البحث غير متاح مؤقتًا",
"gotoAnything.searchTitle": "ابحث عن أي شيء",
"gotoAnything.searching": "جاري البحث...",
"gotoAnything.searching": "جاري البحث",
"gotoAnything.selectSearchType": "اختر ما تريد البحث عنه",
"gotoAnything.selectToNavigate": "اختر للانتقال",
"gotoAnything.servicesUnavailableMessage": "قد تواجه بعض خدمات البحث مشكلات. حاول مرة أخرى لاحقًا.",
"gotoAnything.slashHint": "اكتب / لرؤية جميع الأوامر المتاحة",
"gotoAnything.someServicesUnavailable": "بعض خدمات البحث غير متوفرة",
"gotoAnything.startTyping": "ابدأ الكتابة للبحث",
"gotoAnything.tips": "اضغط ↑↓ للتنقل",
"gotoAnything.tryDifferentSearch": "جرب مصطلح بحث مختلف",
"gotoAnything.useAtForSpecific": "استخدم @ لأنواع محددة",
"iconPicker.cancel": "إلغاء",
"iconPicker.emoji": "رموز تعبيرية",
"iconPicker.image": "صورة",
+3 -11
View File
@@ -82,8 +82,7 @@
"gotoAnything.actions.themeLightDesc": "Verwenden Sie das helle Erscheinungsbild",
"gotoAnything.actions.themeSystem": "Systemthema",
"gotoAnything.actions.themeSystemDesc": "Folgen Sie dem Aussehen Ihres Betriebssystems",
"gotoAnything.clearToSearchAll": "Löschen Sie @, um alle zu durchsuchen",
"gotoAnything.commandHint": "Geben Sie @ ein, um nach Kategorie zu suchen",
"gotoAnything.activate": "Aktivieren",
"gotoAnything.emptyState.noAppsFound": "Keine Apps gefunden",
"gotoAnything.emptyState.noKnowledgeBasesFound": "Keine Wissensdatenbanken gefunden",
"gotoAnything.emptyState.noPluginsFound": "Keine Integrationen gefunden",
@@ -95,7 +94,6 @@
"gotoAnything.groups.knowledgeBases": "Wissensdatenbanken",
"gotoAnything.groups.plugins": "Integrationen",
"gotoAnything.groups.workflowNodes": "Workflow-Knoten",
"gotoAnything.inScope": "in {{scope}}s",
"gotoAnything.noMatchingCommands": "Keine übereinstimmenden Befehle gefunden",
"gotoAnything.noResults": "Keine Ergebnisse gefunden",
"gotoAnything.pressEscToClose": "Drücken Sie ESC, um zu schließen",
@@ -103,20 +101,14 @@
"gotoAnything.resultCount": "{{count}} Ergebnis",
"gotoAnything.resultCount_other": "{{count}} Ergebnisse",
"gotoAnything.searchFailed": "Suche fehlgeschlagen",
"gotoAnything.searchHint": "Beginnen Sie mit der Eingabe, um alles sofort zu durchsuchen",
"gotoAnything.searchPlaceholder": "Suchen Sie nach Befehlen, oder geben Sie @ ein...",
"gotoAnything.searchPlaceholder": "Suchen Sie nach irgendetwas…",
"gotoAnything.searchTemporarilyUnavailable": "Suche vorübergehend nicht verfügbar",
"gotoAnything.searchTitle": "Suchen Sie nach irgendetwas",
"gotoAnything.searching": "Suche...",
"gotoAnything.searching": "Suche",
"gotoAnything.selectSearchType": "Wählen Sie aus, wonach gesucht werden soll",
"gotoAnything.selectToNavigate": "Auswählen, um zu navigieren",
"gotoAnything.servicesUnavailableMessage": "Bei einigen Suchdiensten können Probleme auftreten. Versuchen Sie es gleich noch einmal.",
"gotoAnything.slashHint": "Geben Sie / ein, um alle verfügbaren Befehle anzuzeigen.",
"gotoAnything.someServicesUnavailable": "Einige Suchdienste sind nicht verfügbar",
"gotoAnything.startTyping": "Beginnen Sie mit der Eingabe, um zu suchen",
"gotoAnything.tips": "Drücken Sie ↑↓, um zu navigieren",
"gotoAnything.tryDifferentSearch": "Versuchen Sie es mit einem anderen Suchbegriff",
"gotoAnything.useAtForSpecific": "Verwenden von @ für bestimmte Typen",
"iconPicker.cancel": "Abbrechen",
"iconPicker.emoji": "Emoji",
"iconPicker.image": "Bild",
+3 -11
View File
@@ -82,8 +82,7 @@
"gotoAnything.actions.themeLightDesc": "Use light appearance",
"gotoAnything.actions.themeSystem": "System Theme",
"gotoAnything.actions.themeSystemDesc": "Follow your OS appearance",
"gotoAnything.clearToSearchAll": "Clear @ to search all",
"gotoAnything.commandHint": "Type @ to browse by category",
"gotoAnything.activate": "Activate",
"gotoAnything.emptyState.noAppsFound": "No apps found",
"gotoAnything.emptyState.noKnowledgeBasesFound": "No knowledge bases found",
"gotoAnything.emptyState.noPluginsFound": "No integrations found",
@@ -95,7 +94,6 @@
"gotoAnything.groups.knowledgeBases": "Knowledge Bases",
"gotoAnything.groups.plugins": "Integrations",
"gotoAnything.groups.workflowNodes": "Workflow Nodes",
"gotoAnything.inScope": "in {{scope}}s",
"gotoAnything.noMatchingCommands": "No matching commands found",
"gotoAnything.noResults": "No results found",
"gotoAnything.pressEscToClose": "Press ESC to close",
@@ -103,20 +101,14 @@
"gotoAnything.resultCount": "{{count}} result",
"gotoAnything.resultCount_other": "{{count}} results",
"gotoAnything.searchFailed": "Search failed",
"gotoAnything.searchHint": "Start typing to search everything instantly",
"gotoAnything.searchPlaceholder": "Search or type @ or / for commands...",
"gotoAnything.searchPlaceholder": "Search for anything…",
"gotoAnything.searchTemporarilyUnavailable": "Search temporarily unavailable",
"gotoAnything.searchTitle": "Search for anything",
"gotoAnything.searching": "Searching...",
"gotoAnything.searching": "Searching",
"gotoAnything.selectSearchType": "Choose what to search for",
"gotoAnything.selectToNavigate": "Select to navigate",
"gotoAnything.servicesUnavailableMessage": "Some search services may be experiencing issues. Try again in a moment.",
"gotoAnything.slashHint": "Type / to see all available commands",
"gotoAnything.someServicesUnavailable": "Some search services unavailable",
"gotoAnything.startTyping": "Start typing to search",
"gotoAnything.tips": "Press ↑↓ to navigate",
"gotoAnything.tryDifferentSearch": "Try a different search term",
"gotoAnything.useAtForSpecific": "Use @ for specific types",
"iconPicker.cancel": "Cancel",
"iconPicker.emoji": "Emoji",
"iconPicker.image": "Image",
+3 -11
View File
@@ -82,8 +82,7 @@
"gotoAnything.actions.themeLightDesc": "Usar apariencia clara",
"gotoAnything.actions.themeSystem": "Tema del sistema",
"gotoAnything.actions.themeSystemDesc": "Sigue la apariencia de tu sistema operativo",
"gotoAnything.clearToSearchAll": "Borrar @ para buscar todo",
"gotoAnything.commandHint": "Escriba @ para buscar por categoría",
"gotoAnything.activate": "Activar",
"gotoAnything.emptyState.noAppsFound": "No se encontraron aplicaciones",
"gotoAnything.emptyState.noKnowledgeBasesFound": "No se han encontrado bases de conocimiento",
"gotoAnything.emptyState.noPluginsFound": "No se encontraron complementos",
@@ -95,7 +94,6 @@
"gotoAnything.groups.knowledgeBases": "Bases de conocimiento",
"gotoAnything.groups.plugins": "Complementos",
"gotoAnything.groups.workflowNodes": "Nodos de flujo de trabajo",
"gotoAnything.inScope": "en {{scope}}s",
"gotoAnything.noMatchingCommands": "No se encontraron comandos coincidentes",
"gotoAnything.noResults": "No se han encontrado resultados",
"gotoAnything.pressEscToClose": "Presiona ESC para cerrar",
@@ -103,20 +101,14 @@
"gotoAnything.resultCount": "{{count}} resultado",
"gotoAnything.resultCount_other": "{{count}} resultados",
"gotoAnything.searchFailed": "Error de búsqueda",
"gotoAnything.searchHint": "Empieza a escribir para buscar todo al instante",
"gotoAnything.searchPlaceholder": "Busque o escriba @ para los comandos...",
"gotoAnything.searchPlaceholder": "Busca cualquier cosa…",
"gotoAnything.searchTemporarilyUnavailable": "La búsqueda no está disponible temporalmente",
"gotoAnything.searchTitle": "Busca cualquier cosa",
"gotoAnything.searching": "Buscando...",
"gotoAnything.searching": "Buscando",
"gotoAnything.selectSearchType": "Elige qué buscar",
"gotoAnything.selectToNavigate": "Seleccionar para navegar",
"gotoAnything.servicesUnavailableMessage": "Algunos servicios de búsqueda pueden estar experimentando problemas. Inténtalo de nuevo en un momento.",
"gotoAnything.slashHint": "Escribe / para ver todos los comandos disponibles",
"gotoAnything.someServicesUnavailable": "Algunos servicios de búsqueda no están disponibles",
"gotoAnything.startTyping": "Empieza a escribir para buscar",
"gotoAnything.tips": "Presiona ↑↓ para navegar",
"gotoAnything.tryDifferentSearch": "Prueba con un término de búsqueda diferente",
"gotoAnything.useAtForSpecific": "Use @ para tipos específicos",
"iconPicker.cancel": "Cancelar",
"iconPicker.emoji": "Emoji",
"iconPicker.image": "Imagen",
+3 -11
View File
@@ -82,8 +82,7 @@
"gotoAnything.actions.themeLightDesc": "از ظاهر روشن استفاده کنید",
"gotoAnything.actions.themeSystem": "تم سیستم",
"gotoAnything.actions.themeSystemDesc": "به ظاهر سیستم‌عامل خود پایبند باشید",
"gotoAnything.clearToSearchAll": "پاک کردن @ برای جستجوی همه",
"gotoAnything.commandHint": "@ را برای مرور بر اساس دسته بندی تایپ کنید",
"gotoAnything.activate": "فعال کردن",
"gotoAnything.emptyState.noAppsFound": "هیچ برنامه ای یافت نشد",
"gotoAnything.emptyState.noKnowledgeBasesFound": "هیچ پایگاه دانش یافت نشد",
"gotoAnything.emptyState.noPluginsFound": "هیچ یکپارچه‌سازی ای یافت نشد",
@@ -95,7 +94,6 @@
"gotoAnything.groups.knowledgeBases": "پایگاه های دانش",
"gotoAnything.groups.plugins": "یکپارچه‌سازی",
"gotoAnything.groups.workflowNodes": "گره های گردش کار",
"gotoAnything.inScope": "در {{scope}}s",
"gotoAnything.noMatchingCommands": "هیچ دستوری منطبق یافت نشد",
"gotoAnything.noResults": "هیچ نتیجه ای یافت نشد",
"gotoAnything.pressEscToClose": "برای بستن ESC را فشار دهید",
@@ -103,20 +101,14 @@
"gotoAnything.resultCount": "{{count}} نتیجه",
"gotoAnything.resultCount_other": "{{count}} نتیجه",
"gotoAnything.searchFailed": "جستجو انجام نشد",
"gotoAnything.searchHint": "شروع به تایپ کنید تا فورا همه چیز را جستجو کنید",
"gotoAnything.searchPlaceholder": "جستجو یا تایپ @ برای دستورات...",
"gotoAnything.searchPlaceholder": "هر چیزی را جستجو کنید",
"gotoAnything.searchTemporarilyUnavailable": "جستجو به طور موقت در دسترس نیست",
"gotoAnything.searchTitle": "هر چیزی را جستجو کنید",
"gotoAnything.searching": "جستجو...",
"gotoAnything.searching": "جستجو",
"gotoAnything.selectSearchType": "انتخاب کنید چه چیزی را جستجو کنید",
"gotoAnything.selectToNavigate": "انتخاب کنید تا برای حرکت",
"gotoAnything.servicesUnavailableMessage": "برخی از سرویس های جستجو ممکن است با مشکل مواجه شوند. یک لحظه دیگر دوباره امتحان کنید.",
"gotoAnything.slashHint": "برای مشاهده تمام دستورات موجود / را تایپ کنید",
"gotoAnything.someServicesUnavailable": "برخی از سرویس های جستجو دردسترس نیستند",
"gotoAnything.startTyping": "برای جستجو شروع به تایپ کنید",
"gotoAnything.tips": "برای حرکت به بالا و پایین کلیدهای ↑ و ↓ را فشار دهید",
"gotoAnything.tryDifferentSearch": "عبارت جستجوی دیگری را امتحان کنید",
"gotoAnything.useAtForSpecific": "از @ برای انواع خاص استفاده کنید",
"iconPicker.cancel": "لغو",
"iconPicker.emoji": "ایموجی",
"iconPicker.image": "تصویر",
+3 -11
View File
@@ -82,8 +82,7 @@
"gotoAnything.actions.themeLightDesc": "Utiliser une apparence légère",
"gotoAnything.actions.themeSystem": "Thème du système",
"gotoAnything.actions.themeSystemDesc": "Suivez l'apparence de votre système d'exploitation",
"gotoAnything.clearToSearchAll": "Effacer @ pour rechercher tout",
"gotoAnything.commandHint": "Tapez @ pour parcourir par catégorie",
"gotoAnything.activate": "Activer",
"gotoAnything.emptyState.noAppsFound": "Aucune application trouvée",
"gotoAnything.emptyState.noKnowledgeBasesFound": "Aucune base de connaissances trouvée",
"gotoAnything.emptyState.noPluginsFound": "Aucun intégration trouvé",
@@ -95,7 +94,6 @@
"gotoAnything.groups.knowledgeBases": "Bases de connaissances",
"gotoAnything.groups.plugins": "Plug-ins",
"gotoAnything.groups.workflowNodes": "Nœuds de flux de travail",
"gotoAnything.inScope": "dans {{scope}}s",
"gotoAnything.noMatchingCommands": "Aucune commande correspondante na été trouvée",
"gotoAnything.noResults": "Aucun résultat trouvé",
"gotoAnything.pressEscToClose": "Appuyez sur Échap pour fermer",
@@ -103,20 +101,14 @@
"gotoAnything.resultCount": "{{count}} résultat",
"gotoAnything.resultCount_other": "{{count}} résultats",
"gotoAnything.searchFailed": "Echec de la recherche",
"gotoAnything.searchHint": "Commencez à taper pour tout rechercher instantanément",
"gotoAnything.searchPlaceholder": "Recherchez ou tapez @ pour les commandes...",
"gotoAnything.searchPlaceholder": "Recherchez n'importe quoi…",
"gotoAnything.searchTemporarilyUnavailable": "Recherche temporairement indisponible",
"gotoAnything.searchTitle": "Recherchez n'importe quoi",
"gotoAnything.searching": "Recherche...",
"gotoAnything.searching": "Recherche",
"gotoAnything.selectSearchType": "Choisissez les éléments de recherche",
"gotoAnything.selectToNavigate": "Sélectionnez pour naviguer",
"gotoAnything.servicesUnavailableMessage": "Certains services de recherche peuvent rencontrer des problèmes. Réessayez dans un instant.",
"gotoAnything.slashHint": "Tapez / pour voir toutes les commandes disponibles",
"gotoAnything.someServicesUnavailable": "Certains services de recherche indisponibles",
"gotoAnything.startTyping": "Commencez à taper pour rechercher",
"gotoAnything.tips": "Appuyez sur ↑↓ pour naviguer",
"gotoAnything.tryDifferentSearch": "Essayez un autre terme de recherche",
"gotoAnything.useAtForSpecific": "Utilisez @ pour des types spécifiques",
"iconPicker.cancel": "Annuler",
"iconPicker.emoji": "Emoji",
"iconPicker.image": "Image",
+3 -11
View File
@@ -82,8 +82,7 @@
"gotoAnything.actions.themeLightDesc": "हल्की उपस्थिति का प्रयोग करें",
"gotoAnything.actions.themeSystem": "सिस्टम थीम",
"gotoAnything.actions.themeSystemDesc": "अपने ऑपरेटिंग सिस्टम की उपस्थिति का पालन करें",
"gotoAnything.clearToSearchAll": "साफ़ @ सभी खोजने के लिए",
"gotoAnything.commandHint": "@ का उपयोग कर श्रेणी के अनुसार ब्राउज़ करें",
"gotoAnything.activate": "सक्रिय करें",
"gotoAnything.emptyState.noAppsFound": "कोई ऐप्स नहीं मिले",
"gotoAnything.emptyState.noKnowledgeBasesFound": "कोई ज्ञान आधार नहीं मिले",
"gotoAnything.emptyState.noPluginsFound": "कोई एकीकरण नहीं मिले",
@@ -95,7 +94,6 @@
"gotoAnything.groups.knowledgeBases": "ज्ञान आधार",
"gotoAnything.groups.plugins": "एकीकरण",
"gotoAnything.groups.workflowNodes": "कार्यप्रवाह नोड्स",
"gotoAnything.inScope": "{{scope}}s में",
"gotoAnything.noMatchingCommands": "कोई मिलती-जुलती कमांड्स नहीं मिलीं",
"gotoAnything.noResults": "कोई परिणाम नहीं मिले",
"gotoAnything.pressEscToClose": "बंद करने के लिए ESC दबाएं",
@@ -103,20 +101,14 @@
"gotoAnything.resultCount": "{{count}} परिणाम",
"gotoAnything.resultCount_other": "{{count}} परिणाम",
"gotoAnything.searchFailed": "खोज विफल रहा",
"gotoAnything.searchHint": "सब कुछ तुरंत खोजने के लिए टाइप करना शुरू करें",
"gotoAnything.searchPlaceholder": "कमांड के लिए खोजें या टाइप करें @...",
"gotoAnything.searchPlaceholder": "किसी भी चीज़ की खोज करें",
"gotoAnything.searchTemporarilyUnavailable": "खोज अस्थायी रूप से उपलब्ध नहीं है",
"gotoAnything.searchTitle": "किसी भी चीज़ की खोज करें",
"gotoAnything.searching": "खोजना...",
"gotoAnything.searching": "खोजना",
"gotoAnything.selectSearchType": "खोजने के लिए क्या चुनें",
"gotoAnything.selectToNavigate": "नेविगेट करने के लिए चुनें",
"gotoAnything.servicesUnavailableMessage": "कुछ खोज सेवाएँ समस्याओं का सामना कर सकती हैं। थोड़ी देर बाद फिर से प्रयास करें।",
"gotoAnything.slashHint": "सभी उपलब्ध कमांड देखने के लिए टाइप करें /",
"gotoAnything.someServicesUnavailable": "कुछ खोज सेवाएँ उपलब्ध नहीं हैं",
"gotoAnything.startTyping": "खोजने के लिए टाइप करना शुरू करें",
"gotoAnything.tips": "नेविगेट करने के लिए ↑↓ दबाएँ",
"gotoAnything.tryDifferentSearch": "एक अलग खोज शब्द आजमाएँ",
"gotoAnything.useAtForSpecific": "@ का उपयोग विशिष्ट प्रकारों के लिए करें",
"iconPicker.cancel": "रद्द करें",
"iconPicker.emoji": "इमोजी",
"iconPicker.image": "छवि",
+3 -11
View File
@@ -82,8 +82,7 @@
"gotoAnything.actions.themeLightDesc": "Gunakan penampilan ringan",
"gotoAnything.actions.themeSystem": "Tema Sistem",
"gotoAnything.actions.themeSystemDesc": "Ikuti tampilan OS Anda",
"gotoAnything.clearToSearchAll": "Hapus @ untuk mencari semua",
"gotoAnything.commandHint": "Ketik @ untuk menelusuri berdasarkan kategori",
"gotoAnything.activate": "Aktifkan",
"gotoAnything.emptyState.noAppsFound": "Tidak ada aplikasi yang ditemukan",
"gotoAnything.emptyState.noKnowledgeBasesFound": "Tidak ada basis pengetahuan yang ditemukan",
"gotoAnything.emptyState.noPluginsFound": "Tidak ada integrasi yang ditemukan",
@@ -95,7 +94,6 @@
"gotoAnything.groups.knowledgeBases": "Basis Pengetahuan",
"gotoAnything.groups.plugins": "Integrasi",
"gotoAnything.groups.workflowNodes": "Node Alur Kerja",
"gotoAnything.inScope": "di {{scope}}s",
"gotoAnything.noMatchingCommands": "Tidak ada perintah yang cocok ditemukan",
"gotoAnything.noResults": "Tidak ada hasil yang ditemukan",
"gotoAnything.pressEscToClose": "Tekan ESC untuk menutup",
@@ -103,20 +101,14 @@
"gotoAnything.resultCount": "hasil {{count}}",
"gotoAnything.resultCount_other": "hasil {{count}}",
"gotoAnything.searchFailed": "Pencarian gagal",
"gotoAnything.searchHint": "Mulailah mengetik untuk mencari semuanya secara instan",
"gotoAnything.searchPlaceholder": "Cari atau ketik @ atau / untuk perintah...",
"gotoAnything.searchPlaceholder": "Cari apa pun…",
"gotoAnything.searchTemporarilyUnavailable": "Penelusuran tidak tersedia untuk sementara",
"gotoAnything.searchTitle": "Cari apa pun",
"gotoAnything.searching": "Mencari...",
"gotoAnything.searching": "Mencari",
"gotoAnything.selectSearchType": "Pilih apa yang akan dicari",
"gotoAnything.selectToNavigate": "Pilih untuk menavigasi",
"gotoAnything.servicesUnavailableMessage": "Beberapa layanan penelusuran mungkin mengalami masalah. Coba lagi sebentar lagi.",
"gotoAnything.slashHint": "Ketik / untuk melihat semua perintah yang tersedia",
"gotoAnything.someServicesUnavailable": "Beberapa layanan penelusuran tidak tersedia",
"gotoAnything.startTyping": "Mulai mengetik untuk mencari",
"gotoAnything.tips": "Tekan ↑↓ untuk menavigasi",
"gotoAnything.tryDifferentSearch": "Coba istilah penelusuran lain",
"gotoAnything.useAtForSpecific": "Gunakan @ untuk jenis tertentu",
"iconPicker.cancel": "Batal",
"iconPicker.emoji": "Emoji",
"iconPicker.image": "Citra",
+3 -11
View File
@@ -82,8 +82,7 @@
"gotoAnything.actions.themeLightDesc": "Usa un aspetto chiaro",
"gotoAnything.actions.themeSystem": "Tema di sistema",
"gotoAnything.actions.themeSystemDesc": "Segui l'aspetto del tuo sistema operativo",
"gotoAnything.clearToSearchAll": "Cancella @ per cercare tutto",
"gotoAnything.commandHint": "Digita @ per sfogliare per categoria",
"gotoAnything.activate": "Attiva",
"gotoAnything.emptyState.noAppsFound": "Nessuna app trovata",
"gotoAnything.emptyState.noKnowledgeBasesFound": "Nessuna base di conoscenza trovata",
"gotoAnything.emptyState.noPluginsFound": "Nessun integrazione trovato",
@@ -95,7 +94,6 @@
"gotoAnything.groups.knowledgeBases": "Basi di conoscenza",
"gotoAnything.groups.plugins": "Integrazione",
"gotoAnything.groups.workflowNodes": "Nodi del flusso di lavoro",
"gotoAnything.inScope": "in {{scope}}s",
"gotoAnything.noMatchingCommands": "Nessun comando corrispondente trovato",
"gotoAnything.noResults": "Nessun risultato trovato",
"gotoAnything.pressEscToClose": "Premi ESC per chiudere",
@@ -103,20 +101,14 @@
"gotoAnything.resultCount": "{{count}} risultato",
"gotoAnything.resultCount_other": "{{count}} risultati",
"gotoAnything.searchFailed": "Ricerca non riuscita",
"gotoAnything.searchHint": "Inizia a digitare per cercare tutto all'istante",
"gotoAnything.searchPlaceholder": "Cerca o digita @ per i comandi...",
"gotoAnything.searchPlaceholder": "Cerca qualsiasi cosa…",
"gotoAnything.searchTemporarilyUnavailable": "Ricerca temporaneamente non disponibile",
"gotoAnything.searchTitle": "Cerca qualsiasi cosa",
"gotoAnything.searching": "Ricerca in corso...",
"gotoAnything.searching": "Ricerca in corso",
"gotoAnything.selectSearchType": "Scegli cosa cercare",
"gotoAnything.selectToNavigate": "Seleziona per navigare",
"gotoAnything.servicesUnavailableMessage": "Alcuni servizi di ricerca potrebbero riscontrare problemi. Riprova tra un attimo.",
"gotoAnything.slashHint": "Digita / per vedere tutti i comandi disponibili",
"gotoAnything.someServicesUnavailable": "Alcuni servizi di ricerca non sono disponibili",
"gotoAnything.startTyping": "Inizia a digitare per cercare",
"gotoAnything.tips": "Premi ↑↓ per navigare",
"gotoAnything.tryDifferentSearch": "Prova un termine di ricerca diverso",
"gotoAnything.useAtForSpecific": "Utilizzare @ per tipi specifici",
"iconPicker.cancel": "Annulla",
"iconPicker.emoji": "Emoji",
"iconPicker.image": "Immagine",
+3 -11
View File
@@ -82,8 +82,7 @@
"gotoAnything.actions.themeLightDesc": "明るい外観を使用する",
"gotoAnything.actions.themeSystem": "システムテーマ",
"gotoAnything.actions.themeSystemDesc": "OSの外観に従ってください",
"gotoAnything.clearToSearchAll": "@ をクリアしてすべてを検索",
"gotoAnything.commandHint": "@ を入力してカテゴリ別に参照",
"gotoAnything.activate": "実行",
"gotoAnything.emptyState.noAppsFound": "アプリが見つかりません",
"gotoAnything.emptyState.noKnowledgeBasesFound": "ナレッジベースが見つかりません",
"gotoAnything.emptyState.noPluginsFound": "インテグレーションが見つかりません",
@@ -95,7 +94,6 @@
"gotoAnything.groups.knowledgeBases": "ナレッジベース",
"gotoAnything.groups.plugins": "インテグレーション",
"gotoAnything.groups.workflowNodes": "ワークフローノード",
"gotoAnything.inScope": "{{scope}}s 内",
"gotoAnything.noMatchingCommands": "一致するコマンドが見つかりません",
"gotoAnything.noResults": "結果が見つかりません",
"gotoAnything.pressEscToClose": "ESC で閉じる",
@@ -103,20 +101,14 @@
"gotoAnything.resultCount": "{{count}} 件の結果",
"gotoAnything.resultCount_other": "{{count}} 件の結果",
"gotoAnything.searchFailed": "検索に失敗しました",
"gotoAnything.searchHint": "入力を開始してすべてを瞬時に検索",
"gotoAnything.searchPlaceholder": "検索するか、@ を入力してコマンドを使用...",
"gotoAnything.searchPlaceholder": "何でも検索",
"gotoAnything.searchTemporarilyUnavailable": "検索が一時的に利用できません",
"gotoAnything.searchTitle": "何でも検索",
"gotoAnything.searching": "検索中...",
"gotoAnything.searching": "検索中",
"gotoAnything.selectSearchType": "検索対象を選択",
"gotoAnything.selectToNavigate": "選択してナビゲート",
"gotoAnything.servicesUnavailableMessage": "一部の検索サービスで問題が発生している可能性があります。しばらくしてからもう一度お試しください。",
"gotoAnything.slashHint": "/ を入力してすべてのコマンドを表示",
"gotoAnything.someServicesUnavailable": "一部の検索サービスが利用できません",
"gotoAnything.startTyping": "入力を開始して検索",
"gotoAnything.tips": "↑↓ でナビゲート",
"gotoAnything.tryDifferentSearch": "別の検索語句をお試しください",
"gotoAnything.useAtForSpecific": "特定のタイプには @ を使用",
"iconPicker.cancel": "キャンセル",
"iconPicker.emoji": "絵文字",
"iconPicker.image": "画像",
+3 -11
View File
@@ -82,8 +82,7 @@
"gotoAnything.actions.themeLightDesc": "밝은 외관 사용",
"gotoAnything.actions.themeSystem": "시스템 테마",
"gotoAnything.actions.themeSystemDesc": "운영 체제의 외관을 따르세요",
"gotoAnything.clearToSearchAll": "@를 지우면 모두 검색됩니다.",
"gotoAnything.commandHint": "@를 입력하여 카테고리별로 찾아봅니다.",
"gotoAnything.activate": "실행",
"gotoAnything.emptyState.noAppsFound": "앱을 찾을 수 없습니다.",
"gotoAnything.emptyState.noKnowledgeBasesFound": "기술 자료를 찾을 수 없습니다.",
"gotoAnything.emptyState.noPluginsFound": "통합을 찾을 수 없습니다.",
@@ -95,7 +94,6 @@
"gotoAnything.groups.knowledgeBases": "기술 자료",
"gotoAnything.groups.plugins": "통합",
"gotoAnything.groups.workflowNodes": "워크플로 노드",
"gotoAnything.inScope": "{{scope}}s 내에서",
"gotoAnything.noMatchingCommands": "일치하는 명령을 찾을 수 없습니다.",
"gotoAnything.noResults": "결과를 찾을 수 없습니다.",
"gotoAnything.pressEscToClose": "ESC를 눌러 닫기",
@@ -103,20 +101,14 @@
"gotoAnything.resultCount": "{{count}} 개 결과",
"gotoAnything.resultCount_other": "{{count}} 개 결과",
"gotoAnything.searchFailed": "검색 실패",
"gotoAnything.searchHint": "즉시 모든 것을 검색하려면 입력을 시작하세요.",
"gotoAnything.searchPlaceholder": "명령을 검색하거나 @를 입력합니다...",
"gotoAnything.searchPlaceholder": "무엇이든 검색…",
"gotoAnything.searchTemporarilyUnavailable": "일시적으로 검색할 수 없음",
"gotoAnything.searchTitle": "무엇이든 검색",
"gotoAnything.searching": "검색...",
"gotoAnything.searching": "검색",
"gotoAnything.selectSearchType": "검색할 항목 선택",
"gotoAnything.selectToNavigate": "선택하여 탐색하기",
"gotoAnything.servicesUnavailableMessage": "일부 검색 서비스에서 문제가 발생할 수 있습니다. 잠시 후에 다시 시도하십시오.",
"gotoAnything.slashHint": "모든 사용 가능한 명령을 보려면 /를 입력하세요.",
"gotoAnything.someServicesUnavailable": "일부 검색 서비스를 사용할 수 없습니다.",
"gotoAnything.startTyping": "검색하려면 타이핑을 시작하세요",
"gotoAnything.tips": "↑↓ 키를 눌러 탐색하세요",
"gotoAnything.tryDifferentSearch": "다른 검색어 사용해 보기",
"gotoAnything.useAtForSpecific": "특정 형식에 @ 사용",
"iconPicker.cancel": "취소",
"iconPicker.emoji": "이모지",
"iconPicker.image": "이미지",
+3 -11
View File
@@ -82,8 +82,7 @@
"gotoAnything.actions.themeLightDesc": "ໃຊ້ຮູບແບບສີແຈ້ງ",
"gotoAnything.actions.themeSystem": "ຮູບແບບຕາມລະບົບ",
"gotoAnything.actions.themeSystemDesc": "ໃຊ້ຮູບແບບຕາມການຕັ້ງຄ່າຂອງລະບົບປະຕິບັດການ",
"gotoAnything.clearToSearchAll": "ລຶບ @ ເພື່ອຄົ້ນຫາທັງໝົດ",
"gotoAnything.commandHint": "ພິມ @ ເພື່ອເບິ່ງຕາມໝວດໝູ່",
"gotoAnything.activate": "ເປີດໃຊ້ງານ",
"gotoAnything.emptyState.noAppsFound": "ບໍ່ພົບແອັບ",
"gotoAnything.emptyState.noKnowledgeBasesFound": "ບໍ່ພົບຄັງຄວາມຮູ້",
"gotoAnything.emptyState.noPluginsFound": "ບໍ່ພົບການເຊື່ອມຕໍ່",
@@ -95,7 +94,6 @@
"gotoAnything.groups.knowledgeBases": "ຄັງຄວາມຮູ້",
"gotoAnything.groups.plugins": "ການເຊື່ອມຕໍ່",
"gotoAnything.groups.workflowNodes": "ໂນດໃນ Workflow",
"gotoAnything.inScope": "ໃນ {{scope}}",
"gotoAnything.noMatchingCommands": "ບໍ່ພົບຄຳສັ່ງທີ່ກົງກັນ",
"gotoAnything.noResults": "ບໍ່ພົບຜົນການຄົ້ນຫາ",
"gotoAnything.pressEscToClose": "ກົດ ESC ເພື່ອປິດ",
@@ -103,20 +101,14 @@
"gotoAnything.resultCount": "{{count}} ຜົນລາຍການ",
"gotoAnything.resultCount_other": "{{count}} ຜົນລາຍການ",
"gotoAnything.searchFailed": "ການຄົ້ນຫາລົ້ມເຫຼວ",
"gotoAnything.searchHint": "ເລີ່ມພິມເພື່ອຄົ້ນຫາທຸກຢ່າງທັນທີ",
"gotoAnything.searchPlaceholder": "ຄົ້ນຫາ ຫຼື ພິມ @ ຫຼື / ສຳລັບຄຳສັ່ງ...",
"gotoAnything.searchPlaceholder": "ຄົ້ນຫາທຸກສິ່ງ…",
"gotoAnything.searchTemporarilyUnavailable": "ການຄົ້ນຫາບໍ່ສາມາດໃຊ້ງານໄດ້ຊົ່ວຄາວ",
"gotoAnything.searchTitle": "ຄົ້ນຫາທຸກສິ່ງ",
"gotoAnything.searching": "ກຳລັງຄົ້ນຫາ...",
"gotoAnything.searching": "ກຳລັງຄົ້ນຫາ",
"gotoAnything.selectSearchType": "ເລືອກສິ່ງທີ່ຕ້ອງການຄົ້ນຫາ",
"gotoAnything.selectToNavigate": "ເລືອກເພື່ອໄປຫາ",
"gotoAnything.servicesUnavailableMessage": "ບໍລິການຄົ້ນຫາບາງຢ່າງອາດມີບັນຫາ. ກະລຸນາລອງໃໝ່ໃນອີກຈັກບຶດ.",
"gotoAnything.slashHint": "ພິມ / ເພື່ອເບິ່ງຄຳສັ່ງທັງໝົດທີ່ມີ",
"gotoAnything.someServicesUnavailable": "ບາງບໍລິການຄົ້ນຫາບໍ່ສາມາດໃຊ້ງານໄດ້",
"gotoAnything.startTyping": "ເລີ່ມພິມເພື່ອຄົ້ນຫາ",
"gotoAnything.tips": "ກົດ ↑↓ ເພື່ອເລື່ອນ",
"gotoAnything.tryDifferentSearch": "ລອງໃຊ້ຄຳຄົ້ນຫາອື່ນ",
"gotoAnything.useAtForSpecific": "ໃຊ້ @ ສຳລັບປະເພດສະເພາະ",
"iconPicker.cancel": "ຍົກເລີກ",
"iconPicker.emoji": "ອີໂມຈິ",
"iconPicker.image": "ຮູບພາບ",
+3 -11
View File
@@ -82,8 +82,7 @@
"gotoAnything.actions.themeLightDesc": "Use light appearance",
"gotoAnything.actions.themeSystem": "System Theme",
"gotoAnything.actions.themeSystemDesc": "Follow your OS appearance",
"gotoAnything.clearToSearchAll": "Clear @ to search all",
"gotoAnything.commandHint": "Type @ to browse by category",
"gotoAnything.activate": "Activeren",
"gotoAnything.emptyState.noAppsFound": "No apps found",
"gotoAnything.emptyState.noKnowledgeBasesFound": "No knowledge bases found",
"gotoAnything.emptyState.noPluginsFound": "No integraties found",
@@ -95,7 +94,6 @@
"gotoAnything.groups.knowledgeBases": "Knowledge Bases",
"gotoAnything.groups.plugins": "Integraties",
"gotoAnything.groups.workflowNodes": "Workflow Nodes",
"gotoAnything.inScope": "in {{scope}}s",
"gotoAnything.noMatchingCommands": "No matching commands found",
"gotoAnything.noResults": "No results found",
"gotoAnything.pressEscToClose": "Press ESC to close",
@@ -103,20 +101,14 @@
"gotoAnything.resultCount": "{{count}} result",
"gotoAnything.resultCount_other": "{{count}} results",
"gotoAnything.searchFailed": "Search failed",
"gotoAnything.searchHint": "Start typing to search everything instantly",
"gotoAnything.searchPlaceholder": "Search or type @ or / for commands...",
"gotoAnything.searchPlaceholder": "Search for anything…",
"gotoAnything.searchTemporarilyUnavailable": "Search temporarily unavailable",
"gotoAnything.searchTitle": "Search for anything",
"gotoAnything.searching": "Searching...",
"gotoAnything.searching": "Searching",
"gotoAnything.selectSearchType": "Choose what to search for",
"gotoAnything.selectToNavigate": "Select to navigate",
"gotoAnything.servicesUnavailableMessage": "Some search services may be experiencing issues. Try again in a moment.",
"gotoAnything.slashHint": "Type / to see all available commands",
"gotoAnything.someServicesUnavailable": "Some search services unavailable",
"gotoAnything.startTyping": "Start typing to search",
"gotoAnything.tips": "Press ↑↓ to navigate",
"gotoAnything.tryDifferentSearch": "Try a different search term",
"gotoAnything.useAtForSpecific": "Use @ for specific types",
"iconPicker.cancel": "Cancel",
"iconPicker.emoji": "Emoji",
"iconPicker.image": "Image",
+3 -11
View File
@@ -82,8 +82,7 @@
"gotoAnything.actions.themeLightDesc": "Użyj jasnego wyglądu",
"gotoAnything.actions.themeSystem": "Motyw systemu",
"gotoAnything.actions.themeSystemDesc": "Podążaj za wyglądem swojego systemu operacyjnego",
"gotoAnything.clearToSearchAll": "Wyczyść @, aby przeszukać wszystko",
"gotoAnything.commandHint": "Wpisz @, aby przeglądać według kategorii",
"gotoAnything.activate": "Aktywuj",
"gotoAnything.emptyState.noAppsFound": "Nie znaleziono aplikacji",
"gotoAnything.emptyState.noKnowledgeBasesFound": "Nie znaleziono baz wiedzy",
"gotoAnything.emptyState.noPluginsFound": "Nie znaleziono wtyczek",
@@ -95,7 +94,6 @@
"gotoAnything.groups.knowledgeBases": "Bazy wiedzy",
"gotoAnything.groups.plugins": "Integracje",
"gotoAnything.groups.workflowNodes": "Węzły przepływu pracy",
"gotoAnything.inScope": "w {{scope}}s",
"gotoAnything.noMatchingCommands": "Nie znaleziono pasujących poleceń",
"gotoAnything.noResults": "Nie znaleziono wyników",
"gotoAnything.pressEscToClose": "Naciśnij ESC, aby zamknąć",
@@ -103,20 +101,14 @@
"gotoAnything.resultCount": "{{count}} wynik",
"gotoAnything.resultCount_other": "{{count}} wyników",
"gotoAnything.searchFailed": "Wyszukiwanie nie powiodło się",
"gotoAnything.searchHint": "Zacznij pisać, aby natychmiast wszystko przeszukać",
"gotoAnything.searchPlaceholder": "Wyszukaj lub wpisz @ dla poleceń...",
"gotoAnything.searchPlaceholder": "Szukaj czegokolwiek…",
"gotoAnything.searchTemporarilyUnavailable": "Wyszukiwanie chwilowo niedostępne",
"gotoAnything.searchTitle": "Szukaj czegokolwiek",
"gotoAnything.searching": "Wyszukiwanie...",
"gotoAnything.searching": "Wyszukiwanie",
"gotoAnything.selectSearchType": "Wybierz, czego chcesz szukać",
"gotoAnything.selectToNavigate": "Wybierz, aby nawigować",
"gotoAnything.servicesUnavailableMessage": "W przypadku niektórych usług wyszukiwania mogą występować problemy. Spróbuj ponownie za chwilę.",
"gotoAnything.slashHint": "Wpisz / aby zobaczyć wszystkie dostępne polecenia",
"gotoAnything.someServicesUnavailable": "Niektóre usługi wyszukiwania są niedostępne",
"gotoAnything.startTyping": "Zacznij pisać, aby wyszukać",
"gotoAnything.tips": "Naciśnij ↑↓, aby nawigować",
"gotoAnything.tryDifferentSearch": "Spróbuj użyć innego hasła",
"gotoAnything.useAtForSpecific": "Użyj @ dla określonych typów",
"iconPicker.cancel": "Anuluj",
"iconPicker.emoji": "Emoji",
"iconPicker.image": "Obraz",
+3 -11
View File
@@ -82,8 +82,7 @@
"gotoAnything.actions.themeLightDesc": "Use aparência clara",
"gotoAnything.actions.themeSystem": "Tema do Sistema",
"gotoAnything.actions.themeSystemDesc": "Siga a aparência do seu sistema operacional",
"gotoAnything.clearToSearchAll": "Desmarque @ para pesquisar tudo",
"gotoAnything.commandHint": "Digite @ para navegar por categoria",
"gotoAnything.activate": "Ativar",
"gotoAnything.emptyState.noAppsFound": "Nenhum aplicativo encontrado",
"gotoAnything.emptyState.noKnowledgeBasesFound": "Nenhuma base de conhecimento encontrada",
"gotoAnything.emptyState.noPluginsFound": "Nenhum integração encontrado",
@@ -95,7 +94,6 @@
"gotoAnything.groups.knowledgeBases": "Bases de conhecimento",
"gotoAnything.groups.plugins": "Integrações",
"gotoAnything.groups.workflowNodes": "Nós de fluxo de trabalho",
"gotoAnything.inScope": "em {{scope}}s",
"gotoAnything.noMatchingCommands": "Nenhum comando correspondente encontrado",
"gotoAnything.noResults": "Nenhum resultado encontrado",
"gotoAnything.pressEscToClose": "Pressione ESC para fechar",
@@ -103,20 +101,14 @@
"gotoAnything.resultCount": "{{count}} resultado",
"gotoAnything.resultCount_other": "{{count}} resultados",
"gotoAnything.searchFailed": "Falha na pesquisa",
"gotoAnything.searchHint": "Comece a digitar para pesquisar tudo instantaneamente",
"gotoAnything.searchPlaceholder": "Pesquise ou digite @ para comandos...",
"gotoAnything.searchPlaceholder": "Pesquisar qualquer coisa…",
"gotoAnything.searchTemporarilyUnavailable": "Pesquisa temporariamente indisponível",
"gotoAnything.searchTitle": "Pesquisar qualquer coisa",
"gotoAnything.searching": "Procurando...",
"gotoAnything.searching": "Procurando",
"gotoAnything.selectSearchType": "Escolha o que pesquisar",
"gotoAnything.selectToNavigate": "Selecione para navegar",
"gotoAnything.servicesUnavailableMessage": "Alguns serviços de pesquisa podem estar enfrentando problemas. Tente novamente em um momento.",
"gotoAnything.slashHint": "Digite / para ver todos os comandos disponíveis",
"gotoAnything.someServicesUnavailable": "Alguns serviços de pesquisa indisponíveis",
"gotoAnything.startTyping": "Comece a digitar para pesquisar",
"gotoAnything.tips": "Pressione ↑↓ para navegar",
"gotoAnything.tryDifferentSearch": "Tente um termo de pesquisa diferente",
"gotoAnything.useAtForSpecific": "Use @ para tipos específicos",
"iconPicker.cancel": "Cancelar",
"iconPicker.emoji": "Emoji",
"iconPicker.image": "Imagem",
+3 -11
View File
@@ -82,8 +82,7 @@
"gotoAnything.actions.themeLightDesc": "Folosește aspectul luminos",
"gotoAnything.actions.themeSystem": "Tema sistemului",
"gotoAnything.actions.themeSystemDesc": "Urmăriți aspectul sistemului de operare",
"gotoAnything.clearToSearchAll": "Ștergeți @ pentru a căuta toate",
"gotoAnything.commandHint": "Tastați @ pentru a naviga după categorie",
"gotoAnything.activate": "Activează",
"gotoAnything.emptyState.noAppsFound": "Nu s-au găsit aplicații",
"gotoAnything.emptyState.noKnowledgeBasesFound": "Nu au fost găsite baze de cunoștințe",
"gotoAnything.emptyState.noPluginsFound": "Nu au fost găsite integrare-uri",
@@ -95,7 +94,6 @@
"gotoAnything.groups.knowledgeBases": "Baze de cunoștințe",
"gotoAnything.groups.plugins": "Integrări",
"gotoAnything.groups.workflowNodes": "Noduri de flux de lucru",
"gotoAnything.inScope": "în {{scope}}s",
"gotoAnything.noMatchingCommands": "Nu s-au găsit comenzi potrivite",
"gotoAnything.noResults": "Nu s-au găsit rezultate",
"gotoAnything.pressEscToClose": "Apăsați ESC pentru a închide",
@@ -103,20 +101,14 @@
"gotoAnything.resultCount": "{{count}} rezultat",
"gotoAnything.resultCount_other": "{{count}} rezultate",
"gotoAnything.searchFailed": "Căutarea a eșuat",
"gotoAnything.searchHint": "Începeți să tastați pentru a căuta totul instantaneu",
"gotoAnything.searchPlaceholder": "Căutați sau tastați @ pentru comenzi...",
"gotoAnything.searchPlaceholder": "Căutați orice…",
"gotoAnything.searchTemporarilyUnavailable": "Căutare temporar indisponibilă",
"gotoAnything.searchTitle": "Căutați orice",
"gotoAnything.searching": "Căutarea...",
"gotoAnything.searching": "Căutarea",
"gotoAnything.selectSearchType": "Alegeți ce să căutați",
"gotoAnything.selectToNavigate": "Selectați pentru a naviga",
"gotoAnything.servicesUnavailableMessage": "Este posibil ca unele servicii de căutare să întâmpine probleme. Încercați din nou într-o clipă.",
"gotoAnything.slashHint": "Tastați / pentru a vedea toate comenzile disponibile",
"gotoAnything.someServicesUnavailable": "Unele servicii de căutare nu sunt disponibile",
"gotoAnything.startTyping": "Începeți să tastați pentru a căuta",
"gotoAnything.tips": "Apăsați ↑↓ pentru a naviga",
"gotoAnything.tryDifferentSearch": "Încercați un alt termen de căutare",
"gotoAnything.useAtForSpecific": "Utilizați @ pentru anumite tipuri",
"iconPicker.cancel": "Anulează",
"iconPicker.emoji": "Emoji",
"iconPicker.image": "Imagine",
+3 -11
View File
@@ -82,8 +82,7 @@
"gotoAnything.actions.themeLightDesc": "Используйте светлый внешний вид",
"gotoAnything.actions.themeSystem": "Системная тема",
"gotoAnything.actions.themeSystemDesc": "Следуйте внешнему виду вашей операционной системы",
"gotoAnything.clearToSearchAll": "Очистите @ для поиска по всем",
"gotoAnything.commandHint": "Введите @ для просмотра по категориям",
"gotoAnything.activate": "Активировать",
"gotoAnything.emptyState.noAppsFound": "Приложения не найдены",
"gotoAnything.emptyState.noKnowledgeBasesFound": "Базы знаний не найдены",
"gotoAnything.emptyState.noPluginsFound": "Интеграции не найдены",
@@ -95,7 +94,6 @@
"gotoAnything.groups.knowledgeBases": "Базы знаний",
"gotoAnything.groups.plugins": "Интеграции",
"gotoAnything.groups.workflowNodes": "Узлы рабочих процессов",
"gotoAnything.inScope": "в {{scope}}s",
"gotoAnything.noMatchingCommands": "Соответствующие команды не найдены",
"gotoAnything.noResults": "Ничего не найдено",
"gotoAnything.pressEscToClose": "Нажмите ESC для закрытия",
@@ -103,20 +101,14 @@
"gotoAnything.resultCount": "{{count}} результат",
"gotoAnything.resultCount_other": "{{count}} результатов",
"gotoAnything.searchFailed": "Ошибка поиска",
"gotoAnything.searchHint": "Начните печатать, чтобы мгновенно искать все",
"gotoAnything.searchPlaceholder": "Найдите или введите @ для команд...",
"gotoAnything.searchPlaceholder": "Ищите что угодно…",
"gotoAnything.searchTemporarilyUnavailable": "Поиск временно недоступен",
"gotoAnything.searchTitle": "Ищите что угодно",
"gotoAnything.searching": "Поиск...",
"gotoAnything.searching": "Поиск",
"gotoAnything.selectSearchType": "Выберите, что искать",
"gotoAnything.selectToNavigate": "Выберите для навигации",
"gotoAnything.servicesUnavailableMessage": "В некоторых поисковых службах могут возникать проблемы. Повторите попытку через мгновение.",
"gotoAnything.slashHint": "Введите / чтобы увидеть все доступные команды",
"gotoAnything.someServicesUnavailable": "Некоторые поисковые сервисы недоступны",
"gotoAnything.startTyping": "Начните вводить для поиска",
"gotoAnything.tips": "Нажмите ↑↓ для навигации",
"gotoAnything.tryDifferentSearch": "Попробуйте использовать другой поисковый запрос",
"gotoAnything.useAtForSpecific": "Используйте @ для определенных типов",
"iconPicker.cancel": "Отмена",
"iconPicker.emoji": "Эмодзи",
"iconPicker.image": "Изображение",
+3 -11
View File
@@ -82,8 +82,7 @@
"gotoAnything.actions.themeLightDesc": "Uporabite svetlo prikazovanje",
"gotoAnything.actions.themeSystem": "Sistem tema",
"gotoAnything.actions.themeSystemDesc": "Sledite videzu svojega operacijskega sistema",
"gotoAnything.clearToSearchAll": "Počisti @ za iskanje vseh",
"gotoAnything.commandHint": "Vnesite @ za brskanje po kategoriji",
"gotoAnything.activate": "Aktiviraj",
"gotoAnything.emptyState.noAppsFound": "Ni bilo najdenih aplikacij",
"gotoAnything.emptyState.noKnowledgeBasesFound": "Zbirk znanja ni mogoče najti",
"gotoAnything.emptyState.noPluginsFound": "Integracijaov ni mogoče najti",
@@ -95,7 +94,6 @@
"gotoAnything.groups.knowledgeBases": "Baze znanja",
"gotoAnything.groups.plugins": "Integracije",
"gotoAnything.groups.workflowNodes": "Vozlišča poteka dela",
"gotoAnything.inScope": "v {{scope}}s",
"gotoAnything.noMatchingCommands": "Ujemajoči se ukazi niso našli",
"gotoAnything.noResults": "Ni najdenih rezultatov",
"gotoAnything.pressEscToClose": "Pritisnite ESC za zapiranje",
@@ -103,20 +101,14 @@
"gotoAnything.resultCount": "{{count}} rezultat",
"gotoAnything.resultCount_other": "{{count}} rezultatov",
"gotoAnything.searchFailed": "Iskanje ni uspelo",
"gotoAnything.searchHint": "Začnite tipkati, da takoj preiščete vse",
"gotoAnything.searchPlaceholder": "Poiščite ali vnesite @ za ukaze ...",
"gotoAnything.searchPlaceholder": "Poiščite karkoli…",
"gotoAnything.searchTemporarilyUnavailable": "Iskanje začasno ni na voljo",
"gotoAnything.searchTitle": "Poiščite karkoli",
"gotoAnything.searching": "Iskanje...",
"gotoAnything.searching": "Iskanje",
"gotoAnything.selectSearchType": "Izberite, kaj želite iskati",
"gotoAnything.selectToNavigate": "Izberite za navigacijo",
"gotoAnything.servicesUnavailableMessage": "Pri nekaterih iskalnih storitvah se morda pojavljajo težave. Poskusite znova čez trenutek.",
"gotoAnything.slashHint": "Vnesite / za ogled vseh razpoložljivih ukazov",
"gotoAnything.someServicesUnavailable": "Nekatere iskalne storitve niso na voljo",
"gotoAnything.startTyping": "Začnite vnašati za iskanje",
"gotoAnything.tips": "Pritisnite ↑↓ za navigacijo",
"gotoAnything.tryDifferentSearch": "Poskusite uporabiti drug iskalni izraz",
"gotoAnything.useAtForSpecific": "Uporaba znaka @ za določene vrste",
"iconPicker.cancel": "Prekliči",
"iconPicker.emoji": "Emoji",
"iconPicker.image": "Slika",
+3 -11
View File
@@ -82,8 +82,7 @@
"gotoAnything.actions.themeLightDesc": "ใช้รูปลักษณ์ที่มีความสว่าง",
"gotoAnything.actions.themeSystem": "ธีมระบบ",
"gotoAnything.actions.themeSystemDesc": "ติดตามรูปลักษณ์ของระบบปฏิบัติการของคุณ",
"gotoAnything.clearToSearchAll": "ล้าง @ เพื่อค้นหาทั้งหมด",
"gotoAnything.commandHint": "พิมพ์ @ เพื่อเรียกดูตามหมวดหมู่",
"gotoAnything.activate": "เปิดใช้งาน",
"gotoAnything.emptyState.noAppsFound": "ไม่พบแอป",
"gotoAnything.emptyState.noKnowledgeBasesFound": "ไม่พบฐานความรู้",
"gotoAnything.emptyState.noPluginsFound": "ไม่พบการผสานรวม",
@@ -95,7 +94,6 @@
"gotoAnything.groups.knowledgeBases": "ฐานความรู้",
"gotoAnything.groups.plugins": "การผสานรวม",
"gotoAnything.groups.workflowNodes": "โหนดเวิร์กโฟลว์",
"gotoAnything.inScope": "ใน {{scope}}s",
"gotoAnything.noMatchingCommands": "ไม่พบคำสั่งที่ตรงกัน",
"gotoAnything.noResults": "ไม่พบผลลัพธ์",
"gotoAnything.pressEscToClose": "กด ESC เพื่อปิด",
@@ -103,20 +101,14 @@
"gotoAnything.resultCount": "{{count}} ผลลัพธ์",
"gotoAnything.resultCount_other": "{{count}} ผลลัพธ์",
"gotoAnything.searchFailed": "การค้นหาล้มเหลว",
"gotoAnything.searchHint": "เริ่มพิมพ์เพื่อค้นหาทุกอย่างได้ทันที",
"gotoAnything.searchPlaceholder": "ค้นหาหรือพิมพ์ @ สำหรับคำสั่ง...",
"gotoAnything.searchPlaceholder": "ค้นหาอะไรก็ได้…",
"gotoAnything.searchTemporarilyUnavailable": "การค้นหาไม่พร้อมใช้งานชั่วคราว",
"gotoAnything.searchTitle": "ค้นหาอะไรก็ได้",
"gotoAnything.searching": "กำลังค้นหา...",
"gotoAnything.searching": "กำลังค้นหา",
"gotoAnything.selectSearchType": "เลือกสิ่งที่จะค้นหา",
"gotoAnything.selectToNavigate": "เลือกเพื่อนำทาง",
"gotoAnything.servicesUnavailableMessage": "บริการค้นหาบางบริการอาจประสบปัญหา ลองอีกครั้งในอีกสักครู่",
"gotoAnything.slashHint": "พิมพ์ / เพื่อดูคำสั่งที่มีให้ทั้งหมด",
"gotoAnything.someServicesUnavailable": "บริการค้นหาบางบริการไม่พร้อมใช้งาน",
"gotoAnything.startTyping": "เริ่มพิมพ์เพื่อค้นหา",
"gotoAnything.tips": "กด ↑↓ เพื่อเลื่อนดู",
"gotoAnything.tryDifferentSearch": "ลองใช้ข้อความค้นหาอื่น",
"gotoAnything.useAtForSpecific": "ใช้ @ สําหรับบางประเภท",
"iconPicker.cancel": "ยกเลิก",
"iconPicker.emoji": "อิโมจิ",
"iconPicker.image": "ภาพ",
+3 -11
View File
@@ -82,8 +82,7 @@
"gotoAnything.actions.themeLightDesc": "Aydınlık görünüm kullan",
"gotoAnything.actions.themeSystem": "Sistem Teması",
"gotoAnything.actions.themeSystemDesc": "İşletim sisteminizin görünümünü takip edin",
"gotoAnything.clearToSearchAll": "Tümünü aramak için @ işaretini kaldırın",
"gotoAnything.commandHint": "Kategoriye göre göz atmak için @ yazın",
"gotoAnything.activate": "Etkinleştir",
"gotoAnything.emptyState.noAppsFound": "Uygulama bulunamadı",
"gotoAnything.emptyState.noKnowledgeBasesFound": "Bilgi bankası bulunamadı",
"gotoAnything.emptyState.noPluginsFound": "Entegrasyon bulunamadı",
@@ -95,7 +94,6 @@
"gotoAnything.groups.knowledgeBases": "Bilgi Tabanları",
"gotoAnything.groups.plugins": "Entegrasyonlar",
"gotoAnything.groups.workflowNodes": "İş Akışı Düğümleri",
"gotoAnything.inScope": "{{scope}}s içinde",
"gotoAnything.noMatchingCommands": "Eşleşen komut bulunamadı",
"gotoAnything.noResults": "Sonuç bulunamadı",
"gotoAnything.pressEscToClose": "Kapatmak için ESC tuşuna basın",
@@ -103,20 +101,14 @@
"gotoAnything.resultCount": "{{count}} sonuç",
"gotoAnything.resultCount_other": "{{count}} sonuç",
"gotoAnything.searchFailed": "Arama başarısız oldu",
"gotoAnything.searchHint": "Her şeyi anında aramak için yazmaya başlayın",
"gotoAnything.searchPlaceholder": "Komutlar için @ arayın veya yazın...",
"gotoAnything.searchPlaceholder": "Her şeyi arayın",
"gotoAnything.searchTemporarilyUnavailable": "Arama geçici olarak kullanılamıyor",
"gotoAnything.searchTitle": "Her şeyi arayın",
"gotoAnything.searching": "Aranıyor...",
"gotoAnything.searching": "Aranıyor",
"gotoAnything.selectSearchType": "Ne arayacağınızı seçin",
"gotoAnything.selectToNavigate": "Gezinmek için seçin",
"gotoAnything.servicesUnavailableMessage": "Bazı arama hizmetlerinde sorunlar yaşanıyor olabilir. Kısa bir süre sonra tekrar deneyin.",
"gotoAnything.slashHint": "Tüm mevcut komutları görmek için / yazın",
"gotoAnything.someServicesUnavailable": "Bazı arama hizmetleri kullanılamıyor",
"gotoAnything.startTyping": "Arama yapmak için yazmaya başlayın",
"gotoAnything.tips": "Navigasyon için ↑↓ tuşlarına basın",
"gotoAnything.tryDifferentSearch": "Farklı bir arama terimi deneyin",
"gotoAnything.useAtForSpecific": "Belirli türler için @ kullanın",
"iconPicker.cancel": "İptal",
"iconPicker.emoji": "Emoji",
"iconPicker.image": "Görsel",
+3 -11
View File
@@ -82,8 +82,7 @@
"gotoAnything.actions.themeLightDesc": "Використовуйте світлий вигляд",
"gotoAnything.actions.themeSystem": "Системна тема",
"gotoAnything.actions.themeSystemDesc": "Дотримуйтесь зовнішнього вигляду вашої операційної системи",
"gotoAnything.clearToSearchAll": "Очистіть @ для пошуку всіх",
"gotoAnything.commandHint": "Введіть @ для навігації за категоріями",
"gotoAnything.activate": "Активувати",
"gotoAnything.emptyState.noAppsFound": "Не знайдено додатків",
"gotoAnything.emptyState.noKnowledgeBasesFound": "Баз знань не знайдено",
"gotoAnything.emptyState.noPluginsFound": "Інтеграціяів не знайдено",
@@ -95,7 +94,6 @@
"gotoAnything.groups.knowledgeBases": "Бази знань",
"gotoAnything.groups.plugins": "Інтеграції",
"gotoAnything.groups.workflowNodes": "Вузли документообігу",
"gotoAnything.inScope": "у {{scope}}s",
"gotoAnything.noMatchingCommands": "Відповідних команд не знайдено",
"gotoAnything.noResults": "Результатів не знайдено",
"gotoAnything.pressEscToClose": "Натисніть ESC, щоб закрити",
@@ -103,20 +101,14 @@
"gotoAnything.resultCount": "{{count}} результат",
"gotoAnything.resultCount_other": "{{count}} результатів",
"gotoAnything.searchFailed": "Пошук не вдався",
"gotoAnything.searchHint": "Почніть вводити текст, щоб миттєво шукати все",
"gotoAnything.searchPlaceholder": "Виконайте пошук або введіть @ для команд...",
"gotoAnything.searchPlaceholder": "Шукайте що завгодно…",
"gotoAnything.searchTemporarilyUnavailable": "Пошук тимчасово недоступний",
"gotoAnything.searchTitle": "Шукайте що завгодно",
"gotoAnything.searching": "Пошук...",
"gotoAnything.searching": "Пошук",
"gotoAnything.selectSearchType": "Виберіть, що шукати",
"gotoAnything.selectToNavigate": "Виберіть, щоб перейти",
"gotoAnything.servicesUnavailableMessage": "У деяких пошукових службах можуть виникати проблеми. Повторіть спробу за мить.",
"gotoAnything.slashHint": "Наберіть / , щоб побачити всі доступні команди",
"gotoAnything.someServicesUnavailable": "Деякі пошукові сервіси недоступні",
"gotoAnything.startTyping": "Почніть вводити для пошуку",
"gotoAnything.tips": "Натисніть ↑↓ для навігації",
"gotoAnything.tryDifferentSearch": "Спробуйте інший пошуковий термін",
"gotoAnything.useAtForSpecific": "Використовуйте @ для конкретних типів",
"iconPicker.cancel": "Скасувати",
"iconPicker.emoji": "Емодзі",
"iconPicker.image": "Зображення",
+3 -11
View File
@@ -82,8 +82,7 @@
"gotoAnything.actions.themeLightDesc": "Sử dụng giao diện sáng",
"gotoAnything.actions.themeSystem": "Chủ đề hệ thống",
"gotoAnything.actions.themeSystemDesc": "Theo giao diện của hệ điều hành của bạn",
"gotoAnything.clearToSearchAll": "Xóa @ để tìm kiếm tất cả",
"gotoAnything.commandHint": "Nhập @ để duyệt theo danh mục",
"gotoAnything.activate": "Kích hoạt",
"gotoAnything.emptyState.noAppsFound": "Không tìm thấy ứng dụng nào",
"gotoAnything.emptyState.noKnowledgeBasesFound": "Không tìm thấy cơ sở kiến thức",
"gotoAnything.emptyState.noPluginsFound": "Không tìm thấy tích hợp",
@@ -95,7 +94,6 @@
"gotoAnything.groups.knowledgeBases": "Cơ sở kiến thức",
"gotoAnything.groups.plugins": "Tích hợp",
"gotoAnything.groups.workflowNodes": "Nút quy trình làm việc",
"gotoAnything.inScope": "trong {{scope}}s",
"gotoAnything.noMatchingCommands": "Không tìm thấy lệnh phù hợp",
"gotoAnything.noResults": "Không tìm thấy kết quả",
"gotoAnything.pressEscToClose": "Nhấn ESC để đóng",
@@ -103,20 +101,14 @@
"gotoAnything.resultCount": "{{count}} kết quả",
"gotoAnything.resultCount_other": "{{count}} kết quả",
"gotoAnything.searchFailed": "Tìm kiếm không thành công",
"gotoAnything.searchHint": "Bắt đầu nhập để tìm kiếm mọi thứ ngay lập tức",
"gotoAnything.searchPlaceholder": "Tìm kiếm hoặc nhập @ cho các lệnh...",
"gotoAnything.searchPlaceholder": "Tìm kiếm bất cứ thứ gì…",
"gotoAnything.searchTemporarilyUnavailable": "Tìm kiếm tạm thời không khả dụng",
"gotoAnything.searchTitle": "Tìm kiếm bất cứ thứ gì",
"gotoAnything.searching": "Tìm kiếm...",
"gotoAnything.searching": "Tìm kiếm",
"gotoAnything.selectSearchType": "Chọn nội dung để tìm kiếm",
"gotoAnything.selectToNavigate": "Chọn để điều hướng",
"gotoAnything.servicesUnavailableMessage": "Một số dịch vụ tìm kiếm có thể gặp sự cố. Thử lại trong giây lát.",
"gotoAnything.slashHint": "Gõ / để xem tất cả các lệnh có sẵn",
"gotoAnything.someServicesUnavailable": "Một số dịch vụ tìm kiếm không khả dụng",
"gotoAnything.startTyping": "Bắt đầu gõ để tìm kiếm",
"gotoAnything.tips": "Nhấn ↑↓ để duyệt",
"gotoAnything.tryDifferentSearch": "Thử một cụm từ tìm kiếm khác",
"gotoAnything.useAtForSpecific": "Sử dụng @ cho các loại cụ thể",
"iconPicker.cancel": "Hủy",
"iconPicker.emoji": "Biểu tượng cảm xúc",
"iconPicker.image": "Hình ảnh",
+3 -11
View File
@@ -82,8 +82,7 @@
"gotoAnything.actions.themeLightDesc": "使用浅色外观",
"gotoAnything.actions.themeSystem": "系统主题",
"gotoAnything.actions.themeSystemDesc": "跟随系统外观",
"gotoAnything.clearToSearchAll": "清除 @ 以搜索全部",
"gotoAnything.commandHint": "输入 @ 按类别浏览",
"gotoAnything.activate": "执行",
"gotoAnything.emptyState.noAppsFound": "未找到应用",
"gotoAnything.emptyState.noKnowledgeBasesFound": "未找到知识库",
"gotoAnything.emptyState.noPluginsFound": "未找到集成",
@@ -95,7 +94,6 @@
"gotoAnything.groups.knowledgeBases": "知识库",
"gotoAnything.groups.plugins": "集成",
"gotoAnything.groups.workflowNodes": "工作流节点",
"gotoAnything.inScope": "在 {{scope}}s 中",
"gotoAnything.noMatchingCommands": "未找到匹配的命令",
"gotoAnything.noResults": "未找到结果",
"gotoAnything.pressEscToClose": "按 ESC 关闭",
@@ -103,20 +101,14 @@
"gotoAnything.resultCount": "{{count}} 个结果",
"gotoAnything.resultCount_other": "{{count}} 个结果",
"gotoAnything.searchFailed": "搜索失败",
"gotoAnything.searchHint": "开始输入即可立即搜索所有内容",
"gotoAnything.searchPlaceholder": "搜索或输入 @ 或 / 以使用命令...",
"gotoAnything.searchPlaceholder": "搜索任何内容",
"gotoAnything.searchTemporarilyUnavailable": "搜索暂时不可用",
"gotoAnything.searchTitle": "搜索任何内容",
"gotoAnything.searching": "搜索中...",
"gotoAnything.searching": "搜索中",
"gotoAnything.selectSearchType": "选择搜索内容",
"gotoAnything.selectToNavigate": "选择以导航",
"gotoAnything.servicesUnavailableMessage": "某些搜索服务可能遇到问题,请稍后再试。",
"gotoAnything.slashHint": "输入 / 查看所有可用命令",
"gotoAnything.someServicesUnavailable": "某些搜索服务不可用",
"gotoAnything.startTyping": "开始输入以搜索",
"gotoAnything.tips": "按 ↑↓ 导航",
"gotoAnything.tryDifferentSearch": "请尝试不同的搜索词",
"gotoAnything.useAtForSpecific": "使用 @ 进行特定类型搜索",
"iconPicker.cancel": "取消",
"iconPicker.emoji": "表情符号",
"iconPicker.image": "图片",
+3 -11
View File
@@ -82,8 +82,7 @@
"gotoAnything.actions.themeLightDesc": "使用輕盈的外觀",
"gotoAnything.actions.themeSystem": "系統主題",
"gotoAnything.actions.themeSystemDesc": "遵循你的操作系統外觀",
"gotoAnything.clearToSearchAll": "清除 @ 以搜尋全部",
"gotoAnything.commandHint": "鍵入 @ 按類別流覽",
"gotoAnything.activate": "執行",
"gotoAnything.emptyState.noAppsFound": "未找到應用",
"gotoAnything.emptyState.noKnowledgeBasesFound": "未找到知識庫",
"gotoAnything.emptyState.noPluginsFound": "未找到集成",
@@ -95,7 +94,6 @@
"gotoAnything.groups.knowledgeBases": "知識庫",
"gotoAnything.groups.plugins": "集成",
"gotoAnything.groups.workflowNodes": "工作流節點",
"gotoAnything.inScope": "在 {{scope}}s 中",
"gotoAnything.noMatchingCommands": "未找到匹配的命令",
"gotoAnything.noResults": "未找到結果",
"gotoAnything.pressEscToClose": "按 ESC 鍵關閉",
@@ -103,20 +101,14 @@
"gotoAnything.resultCount": "{{count}} 個結果",
"gotoAnything.resultCount_other": "{{count}} 個結果",
"gotoAnything.searchFailed": "搜索失敗",
"gotoAnything.searchHint": "開始輸入以立即搜索所有內容",
"gotoAnything.searchPlaceholder": "搜尋或鍵入 @ 以取得命令...",
"gotoAnything.searchPlaceholder": "搜索任何內容",
"gotoAnything.searchTemporarilyUnavailable": "搜索暫時不可用",
"gotoAnything.searchTitle": "搜索任何內容",
"gotoAnything.searching": "搜索中...",
"gotoAnything.searching": "搜索中",
"gotoAnything.selectSearchType": "選擇要搜索的內容",
"gotoAnything.selectToNavigate": "選擇以進行導航",
"gotoAnything.servicesUnavailableMessage": "某些搜索服務可能遇到問題。稍後再試一次。",
"gotoAnything.slashHint": "輸入 / 以查看所有可用的指令",
"gotoAnything.someServicesUnavailable": "某些搜索服務不可用",
"gotoAnything.startTyping": "開始輸入以進行搜尋",
"gotoAnything.tips": "按 ↑ ↓ 鍵進行導航",
"gotoAnything.tryDifferentSearch": "嘗試其他搜尋字詞",
"gotoAnything.useAtForSpecific": "對特定類型使用 @",
"iconPicker.cancel": "取消",
"iconPicker.emoji": "表情符號",
"iconPicker.image": "圖片",