From 01432bc682809ea4cd3fca87783692ec47ea486c Mon Sep 17 00:00:00 2001 From: Hampus Date: Fri, 14 Aug 2026 19:28:22 +0200 Subject: [PATCH] fix(app): rework composer layout and footer alignment (#1591) --- fluxer_app/scripts/GenerateColorSystem.ts | 14 +- fluxer_app/scripts/GenerateThemeVariables.ts | 62 +- fluxer_app/src/app/globals.css | 51 +- .../components/layout/GuildsLayout.module.css | 9 +- .../components/layout/OutlineFrame.module.css | 2 +- .../app/components/layout/UserArea.module.css | 27 +- .../app/components/layout/UserArea.tsx | 12 +- .../handlers/defaultHandlers.ts | 4 +- .../channel/components/Autocomplete.tsx | 9 +- .../components/ChannelChatLayout.module.css | 12 +- .../components/ChannelComposerDismissal.ts | 16 + .../components/ChannelComposerStatusRail.tsx | 54 +- .../components/ChannelEditBar.module.css | 10 +- .../components/ChannelMessages.module.css | 4 +- .../channel/components/ChannelMessages.tsx | 17 +- .../components/ChannelReplyBar.module.css | 17 +- .../components/ChannelStickersArea.module.css | 5 +- .../components/EditingMessageInput.tsx | 5 +- .../LexicalChannelTextareaContent.tsx | 458 +- .../MessageCharacterCounter.module.css | 5 +- .../SlashCommandParamBar.module.css | 15 +- .../components/SlowmodeIndicator.module.css | 26 +- .../channel/components/SlowmodeIndicator.tsx | 75 +- .../channel/components/TypingUsers.module.css | 12 +- .../channel/components/TypingUsers.tsx | 5 +- .../barriers/BarrierComponents.module.css | 12 +- .../components/barriers/BarrierComponents.tsx | 3 +- .../textarea/InputWrapper.module.css | 151 +- .../textarea/TextareaButton.module.css | 6 +- .../textarea/TextareaInput.module.css | 74 +- .../useChannelComposerGlobalShortcuts.ts | 43 +- .../guild_tabs/GuildAuditLogTab.module.css | 2 +- .../src/features/i18n/locales/ar/messages.po | 74 +- .../locales/auto-i18n-reviewed-unchanged.json | 13527 ++++++++-------- .../src/features/i18n/locales/bg/messages.po | 74 +- .../src/features/i18n/locales/cs/messages.po | 74 +- .../src/features/i18n/locales/da/messages.po | 74 +- .../src/features/i18n/locales/de/messages.po | 74 +- .../src/features/i18n/locales/el/messages.po | 74 +- .../features/i18n/locales/en-GB/messages.po | 77 +- .../features/i18n/locales/en-US/messages.po | 74 +- .../features/i18n/locales/es-419/messages.po | 74 +- .../features/i18n/locales/es-ES/messages.po | 74 +- .../src/features/i18n/locales/fi/messages.po | 74 +- .../src/features/i18n/locales/fr/messages.po | 74 +- .../src/features/i18n/locales/he/messages.po | 74 +- .../src/features/i18n/locales/hi/messages.po | 74 +- .../src/features/i18n/locales/hr/messages.po | 74 +- .../src/features/i18n/locales/hu/messages.po | 74 +- .../src/features/i18n/locales/id/messages.po | 74 +- .../src/features/i18n/locales/it/messages.po | 74 +- .../src/features/i18n/locales/ja/messages.po | 74 +- .../src/features/i18n/locales/ko/messages.po | 74 +- .../src/features/i18n/locales/lt/messages.po | 74 +- .../src/features/i18n/locales/nl/messages.po | 74 +- .../src/features/i18n/locales/no/messages.po | 74 +- .../src/features/i18n/locales/pl/messages.po | 74 +- .../features/i18n/locales/pt-BR/messages.po | 74 +- .../src/features/i18n/locales/ro/messages.po | 74 +- .../src/features/i18n/locales/ru/messages.po | 74 +- .../features/i18n/locales/sv-SE/messages.po | 74 +- .../src/features/i18n/locales/th/messages.po | 74 +- .../src/features/i18n/locales/tr/messages.po | 74 +- .../src/features/i18n/locales/uk/messages.po | 74 +- .../src/features/i18n/locales/vi/messages.po | 74 +- .../features/i18n/locales/zh-CN/messages.po | 74 +- .../features/i18n/locales/zh-TW/messages.po | 74 +- .../lexical/composer/LexicalComposerInput.tsx | 61 +- .../LexicalMessageComposer.module.css | 2 +- .../features/platform/utils/ComponentBus.ts | 1 + .../theme/layout/MessageLayoutSpec.ts | 2 +- .../features/theme/styles/Message.module.css | 36 +- .../theme/variables/ThemeVariableManifest.ts | 160 +- .../ApplicationsTab.module.css | 2 +- .../VoiceConnectionStatus.module.css | 2 +- .../components/WebhookListItem.module.css | 2 +- 76 files changed, 8772 insertions(+), 8759 deletions(-) create mode 100644 fluxer_app/src/features/channel/components/ChannelComposerDismissal.ts diff --git a/fluxer_app/scripts/GenerateColorSystem.ts b/fluxer_app/scripts/GenerateColorSystem.ts index fe704ce80..9b67f38c7 100644 --- a/fluxer_app/scripts/GenerateColorSystem.ts +++ b/fluxer_app/scripts/GenerateColorSystem.ts @@ -327,7 +327,7 @@ const CONFIG: Config = { {name: '--guild-list-foreground', position: 0.38}, {name: '--background-header-secondary', position: 0.5}, {name: '--background-header-primary', position: 0.5}, - {name: '--background-textarea', position: 0.68}, + {name: '--background-textarea', position: 0.3}, {name: '--background-header-primary-hover', position: 0.85}, ], }, @@ -344,7 +344,7 @@ const CONFIG: Config = { {name: '--guild-list-foreground', position: 0.38}, {name: '--background-header-secondary', position: 0.5}, {name: '--background-header-primary', position: 0.5}, - {name: '--background-textarea', position: 0.68}, + {name: '--background-textarea', position: 0.3}, {name: '--background-header-primary-hover', position: 0.85}, ], }, @@ -410,7 +410,7 @@ const CONFIG: Config = { {name: '--guild-list-foreground', position: 0.38}, {name: '--background-header-secondary', position: 0.5}, {name: '--background-header-primary', position: 0.5}, - {name: '--background-textarea', position: 0.68}, + {name: '--background-textarea', position: 0.3}, {name: '--background-header-primary-hover', position: 0.85}, ], }, @@ -438,8 +438,8 @@ const CONFIG: Config = { name: '--panel-control-bg', value: `color-mix( in srgb, -var(--background-secondary-alt) 80%, -hsl(258, calc(10% * var(--saturation-factor)), 2%) 20% +var(--background-secondary-alt) 90%, +hsl(258, calc(10% * var(--saturation-factor)), 2%) 10% )`, }, {name: '--panel-control-border', family: 'neutralDark', saturation: 30, lightness: 65, alpha: 0.45}, @@ -744,8 +744,8 @@ hsl(258, calc(10% * var(--saturation-factor)), 0%) 10% name: '--panel-control-bg', value: `color-mix( in srgb, -var(--background-secondary-alt) 80%, -hsl(220, calc(13% * var(--saturation-factor)), 2%) 20% +var(--background-secondary-alt) 90%, +hsl(220, calc(13% * var(--saturation-factor)), 2%) 10% )`, }, {name: '--panel-control-border', family: 'legacyDark', saturation: 30, lightness: 65, alpha: 0.45}, diff --git a/fluxer_app/scripts/GenerateThemeVariables.ts b/fluxer_app/scripts/GenerateThemeVariables.ts index 6bc70010e..d7ffed5df 100644 --- a/fluxer_app/scripts/GenerateThemeVariables.ts +++ b/fluxer_app/scripts/GenerateThemeVariables.ts @@ -238,21 +238,63 @@ function readSourceVariables(appDir: string): { return {darkDefaults, lightDefaults, sources}; } +function findMatchingParen(text: string, openIndex: number): number { + let depth = 0; + for (let index = openIndex; index < text.length; index += 1) { + const character = text[index]; + if (character === '(') depth += 1; + if (character === ')') { + depth -= 1; + if (depth === 0) return index; + } + } + return -1; +} + +function splitVarArguments(inner: string): {dependency: string; fallback: string | null} { + let depth = 0; + for (let index = 0; index < inner.length; index += 1) { + const character = inner[index]; + if (character === '(') depth += 1; + if (character === ')') depth -= 1; + if (character === ',' && depth === 0) { + return {dependency: inner.slice(0, index).trim(), fallback: inner.slice(index + 1).trim()}; + } + } + return {dependency: inner.trim(), fallback: null}; +} + function resolveVariableValue(name: string, values: ReadonlyMap, stack = new Set()): string { const value = values.get(name); if (!value) return ''; - return value.replace( - /var\(\s*(--[a-zA-Z0-9_-]+)(?:\s*,\s*([^)]+))?\)/g, - (full, dependency: string, fallback?: string) => { - if (dependency === '--saturation-factor') return full; - if (stack.has(dependency)) return fallback?.trim() ?? full; - const dependencyValue = values.get(dependency); - if (!dependencyValue) return fallback?.trim() ?? full; + let result = ''; + let cursor = 0; + while (cursor < value.length) { + const start = value.indexOf('var(', cursor); + if (start === -1) { + result += value.slice(cursor); + return result; + } + const close = findMatchingParen(value, start + 3); + if (close === -1) { + result += value.slice(cursor); + return result; + } + result += value.slice(cursor, start); + const full = value.slice(start, close + 1); + const {dependency, fallback} = splitVarArguments(value.slice(start + 4, close)); + if (dependency === '--saturation-factor') { + result += full; + } else if (stack.has(dependency) || !values.get(dependency)) { + result += fallback ?? full; + } else { const nextStack = new Set(stack); nextStack.add(name); - return resolveVariableValue(dependency, values, nextStack); - }, - ); + result += resolveVariableValue(dependency, values, nextStack); + } + cursor = close + 1; + } + return result; } function getGroupId(name: string): string { diff --git a/fluxer_app/src/app/globals.css b/fluxer_app/src/app/globals.css index f996b5b05..ad080b794 100644 --- a/fluxer_app/src/app/globals.css +++ b/fluxer_app/src/app/globals.css @@ -98,13 +98,37 @@ var { --media-border-radius: 0.25rem; --input-container-padding: 0.625rem; - --footer-row-height: 4.5rem; - --input-container-min-height: var(--footer-row-height); + --list-row-min-height: 4.5rem; --input-wrapper-padding-x: 0.5rem; --input-wrapper-padding-bottom: 0.5rem; --textarea-top-bar-height: 2.5rem; - --textarea-line-height: 1.375rem; - --textarea-content-offset: calc((var(--user-area-content-height) - var(--textarea-line-height)) / 2); + + --footer-box-height: 3.625rem; + --footer-box-inset: 0.375rem; + --footer-box-inset-inline: var(--footer-box-inset); + --footer-box-radius: var(--radius-lg); + --footer-box-inner-inset: 0.5rem; + --outline-frame-border-width: 0.0625rem; + --composer-mobile-box-height: 3rem; + --composer-action-gap: 0.25rem; + --floating-surface-ring-color: color-mix(in srgb, var(--background-modifier-accent) 20%, transparent); + --floating-surface-ring-color-strong: color-mix(in srgb, var(--background-modifier-accent) 45%, transparent); + + --footer-box-padding-y: max(0rem, calc((var(--footer-box-height) - var(--textarea-button-height, 2rem)) / 2)); + --composer-mobile-padding-y: max( + 0rem, + calc((var(--composer-mobile-box-height) - var(--textarea-button-height, 2rem)) / 2) + ); + --footer-row-height: calc(var(--footer-box-height) + var(--footer-box-inset) * 2); + --input-container-min-height: var(--footer-row-height); + --textarea-min-height: var(--footer-box-height); + --textarea-padding-y: var(--footer-box-padding-y); + --composer-box-inset: max(0rem, calc((var(--input-container-min-height) - var(--textarea-min-height)) / 2)); + --composer-box-inset-inline: min(var(--footer-box-inset), var(--chat-horizontal-padding, var(--spacing-4))); + --composer-box-padding-inline: max( + 0rem, + calc(var(--chat-horizontal-padding, var(--spacing-4)) - var(--composer-box-inset-inline)) + ); --typing-indicator-height: 1rem; --typing-pill-height: 1rem; @@ -113,10 +137,6 @@ var { --typing-avatar-size: 0.75rem; --typing-indicator-animation-size: 1rem; --typing-indicator-gap: 0px; - --typing-upload-column-width: calc( - var(--user-area-content-height) + - (var(--textarea-side-button-padding, 0.34375rem) * 2) - ); --spoiler-border-radius: 0.375rem; --markup-restricted-inline-icon-baseline-shift: -0.125em; @@ -145,14 +165,19 @@ var { --layout-guild-list-width: 4.5rem; --layout-sidebar-width: 20rem; --layout-header-height: 3.5rem; - --layout-user-area-height: var(--input-container-min-height); + --layout-user-area-height: var(--footer-box-height); --layout-user-area-reserved-height: 0px; --layout-mobile-bottom-nav-reserved-height: 0px; - --user-area-content-height: 2.25rem; - --user-area-padding-y: calc((var(--layout-user-area-height) - var(--user-area-content-height)) / 2); - --user-area-padding-x: var(--spacing-4); + --user-area-box-inset-block-end: calc(var(--footer-box-inset) + var(--outline-frame-border-width)); + --user-area-content-height: var(--textarea-button-height, 2rem); + --user-area-padding-y: var(--footer-box-padding-y); + --user-area-padding-x: var(--footer-box-inner-inset); + --user-area-avatar-lead: max( + var(--footer-box-inner-inset), + calc(var(--layout-guild-list-width) / 2 - var(--footer-box-inset-inline) - var(--user-area-content-height) / 2) + ); --voice-connection-padding-y: var(--spacing-2); - --footer-row-padding-y: var(--user-area-padding-y); + --voice-connection-padding-x: var(--footer-box-inner-inset); --layout-header-popout-width: calc(var(--layout-sidebar-width) - (var(--spacing-4) * 2)); --layout-gap: var(--spacing-4); diff --git a/fluxer_app/src/features/app/components/layout/GuildsLayout.module.css b/fluxer_app/src/features/app/components/layout/GuildsLayout.module.css index 4750dc976..7b41cd42f 100644 --- a/fluxer_app/src/features/app/components/layout/GuildsLayout.module.css +++ b/fluxer_app/src/features/app/components/layout/GuildsLayout.module.css @@ -19,7 +19,11 @@ } .guildsLayoutReserveSpace { - --layout-user-area-overlay-height: calc(var(--layout-user-area-height) + var(--layout-voice-connection-height, 0px)); + --layout-user-area-overlay-height: calc( + var(--layout-user-area-height) + + var(--user-area-box-inset-block-end) + + var(--layout-voice-connection-height, 0px) + ); } .guildsLayoutReserveMobileBottomNav { @@ -181,7 +185,8 @@ width: calc(var(--layout-guild-list-width) + var(--layout-sidebar-width) + 0.0625rem); display: flex; align-items: flex-end; - padding: 0; + padding: 0 var(--footer-box-inset-inline) var(--user-area-box-inset-block-end); + background-color: var(--background-secondary); pointer-events: none; z-index: var(--z-index-elevated-1); } diff --git a/fluxer_app/src/features/app/components/layout/OutlineFrame.module.css b/fluxer_app/src/features/app/components/layout/OutlineFrame.module.css index 323b302ff..463ed4e71 100644 --- a/fluxer_app/src/features/app/components/layout/OutlineFrame.module.css +++ b/fluxer_app/src/features/app/components/layout/OutlineFrame.module.css @@ -4,7 +4,7 @@ position: relative; height: 100%; width: 100%; - border: 0.0625rem solid var(--user-area-divider-color); + border: var(--outline-frame-border-width, 0.0625rem) solid var(--user-area-divider-color); border-top: none; border-top-left-radius: var(--outline-radius, 0px); background: var(--background-secondary-lighter); diff --git a/fluxer_app/src/features/app/components/layout/UserArea.module.css b/fluxer_app/src/features/app/components/layout/UserArea.module.css index 410944daa..9e125c8ff 100644 --- a/fluxer_app/src/features/app/components/layout/UserArea.module.css +++ b/fluxer_app/src/features/app/components/layout/UserArea.module.css @@ -6,20 +6,19 @@ gap: 0; width: 100%; background-color: var(--panel-control-bg); + border-radius: var(--footer-box-radius); + box-shadow: inset 0 0 0 0.0625rem var(--floating-surface-ring-color); + overflow: hidden; position: relative; } -.separator { - height: 0.0625rem; - background-color: var(--user-area-divider-color); -} - .userAreaContainer { display: flex; align-items: center; gap: var(--spacing-3); margin: 0; - padding: var(--user-area-padding-y) var(--user-area-padding-x); + padding-block: var(--user-area-padding-y); + padding-inline: var(--user-area-avatar-lead) var(--user-area-padding-x); box-sizing: border-box; background-color: transparent; width: 100%; @@ -30,17 +29,8 @@ --popout-radius: 0.375rem; } -.userAreaInnerWrapperHasVoiceConnection { - min-height: var(--layout-user-area-height); -} - -.userAreaInnerWrapperHasVoiceConnection .userAreaContainer { - border-top: 0; -} - .voiceConnectionWrapper { - border-bottom: 0; - border-top: 0; + border-bottom: 0.0625rem solid var(--floating-surface-ring-color-strong); } .userInfo { @@ -50,11 +40,12 @@ flex: 1; min-width: 0; cursor: pointer; - padding: 0 var(--spacing-2); + padding: 0; margin: 0; border-radius: var(--radius-md); height: var(--user-area-content-height); position: relative; + isolation: isolate; transition: color var(--transition-normal); outline: none; } @@ -98,7 +89,7 @@ .userStatus { font-size: 0.6875rem; - line-height: 1rem; + line-height: 0.875rem; color: color-mix(in srgb, var(--text-primary-muted) 85%, transparent); font-weight: 500; overflow: hidden; diff --git a/fluxer_app/src/features/app/components/layout/UserArea.tsx b/fluxer_app/src/features/app/components/layout/UserArea.tsx index 0d1923d68..705d3192e 100644 --- a/fluxer_app/src/features/app/components/layout/UserArea.tsx +++ b/fluxer_app/src/features/app/components/layout/UserArea.tsx @@ -200,10 +200,7 @@ const UserAreaInner = observer( clearHeight(); }; }, [hasVoiceConnection]); - const wrapperClassName = clsx( - styles.userAreaInnerWrapper, - hasVoiceConnection && styles.userAreaInnerWrapperHasVoiceConnection, - ); + const wrapperClassName = styles.userAreaInnerWrapper; const pushToTalkCombo = Keybind.getByAction('voice_push_to_talk').combo; const pushToTalkHint = formatKeyCombo(pushToTalkCombo); const isPushToTalkEffective = Keybind.isPushToTalkEffective(); @@ -251,19 +248,14 @@ const UserAreaInner = observer( > {hasVoiceConnection && (
-
-
)} - {!hasVoiceConnection && ( -
- )}
- +
{displayName} diff --git a/fluxer_app/src/features/app/keybindings/keybind_manager/handlers/defaultHandlers.ts b/fluxer_app/src/features/app/keybindings/keybind_manager/handlers/defaultHandlers.ts index e97b63cf2..48aca7d0f 100644 --- a/fluxer_app/src/features/app/keybindings/keybind_manager/handlers/defaultHandlers.ts +++ b/fluxer_app/src/features/app/keybindings/keybind_manager/handlers/defaultHandlers.ts @@ -11,6 +11,7 @@ import { YOU_CAN_T_UNMUTE_YOURSELF_BECAUSE_A_MODERATOR_DESCRIPTOR, } from '@app/features/app/keybindings/keybind_manager/shared'; import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; +import {requestChannelComposerAffordanceDismissal} from '@app/features/channel/components/ChannelComposerDismissal'; import {CreateDMModal} from '@app/features/channel/components/modals/CreateDMModal'; import Channels from '@app/features/channel/state/Channels'; import * as VoiceStateCommands from '@app/features/devtools/commands/VoiceStateCommands'; @@ -325,8 +326,9 @@ export function registerDefaultKeybindHandlers(host: HandlerHost, i18n: I18n): v if (type !== 'press') return; const channelId = host.currentChannelId; if (!channelId) return; + if (requestChannelComposerAffordanceDismissal(channelId)) return; if (ReadStates.hasUnread(channelId)) { - ComponentDispatch.dispatch('ESCAPE_PRESSED'); + ComponentDispatch.dispatch('ESCAPE_PRESSED', {channelId}); } }); host.register('chat_mark_guild_read', ({type}) => { diff --git a/fluxer_app/src/features/channel/components/Autocomplete.tsx b/fluxer_app/src/features/channel/components/Autocomplete.tsx index 33c1c4803..7a00aadb6 100644 --- a/fluxer_app/src/features/channel/components/Autocomplete.tsx +++ b/fluxer_app/src/features/channel/components/Autocomplete.tsx @@ -164,6 +164,9 @@ export { isSpecialMention, isSticker, } from '@app/features/channel/components/AutocompleteTypes'; + +const ATTACHED_AUTOCOMPLETE_GAP = 4; + export const Autocomplete = observer( ({ type, @@ -214,11 +217,11 @@ export const Autocomplete = observer( setReferenceState(resolveReferenceElement(referenceElement)); }, [referenceElement]); const portalHost = usePortalHost(); - let resolvedMainAxisOffset = attached ? 0 : 8; + let resolvedMainAxisOffset = attached ? ATTACHED_AUTOCOMPLETE_GAP : 8; if (mainAxisOffset != null) { resolvedMainAxisOffset = mainAxisOffset; } - const resolvedCrossAxisOffset = attached ? 8 : 0; + const resolvedCrossAxisOffset = 0; const heading = resolveAutocompleteHeading(type, options, i18n); const {refs, floatingStyles} = useFloating({ placement: 'top-start', @@ -230,7 +233,7 @@ export const Autocomplete = observer( flip({padding: 16}), size({ apply({rects, elements}) { - const width = attached ? Math.max(0, rects.reference.width - 16) : rects.reference.width; + const width = rects.reference.width; Object.assign(elements.floating.style, { width: `${width}px`, }); diff --git a/fluxer_app/src/features/channel/components/ChannelChatLayout.module.css b/fluxer_app/src/features/channel/components/ChannelChatLayout.module.css index 83b05e2dc..edd2557c8 100644 --- a/fluxer_app/src/features/channel/components/ChannelChatLayout.module.css +++ b/fluxer_app/src/features/channel/components/ChannelChatLayout.module.css @@ -1,6 +1,15 @@ /* SPDX-License-Identifier: AGPL-3.0-or-later */ .container { + --composer-surface-color: var(--background-secondary-lighter); + --composer-status-line-height: 1.125rem; + --composer-status-safe-gap: 0.5rem; + --composer-status-safe-area: calc( + var(--composer-status-line-height) + + var(--composer-status-safe-gap) + + var(--composer-status-safe-gap) + ); + --messages-bottom-clearance: max(0px, calc(var(--composer-status-safe-area) - var(--composer-box-inset, 0px))); display: flex; flex-direction: column; height: 100%; @@ -9,7 +18,7 @@ max-width: 100%; min-width: 0; overflow: hidden; - background-color: var(--background-secondary-lighter); + background-color: var(--composer-surface-color); contain: layout style; } @@ -33,7 +42,6 @@ z-index: 1; padding: 0; overflow: visible; - background-color: var(--background-secondary-lighter); width: 100%; max-width: 100%; box-sizing: border-box; diff --git a/fluxer_app/src/features/channel/components/ChannelComposerDismissal.ts b/fluxer_app/src/features/channel/components/ChannelComposerDismissal.ts new file mode 100644 index 000000000..b32835518 --- /dev/null +++ b/fluxer_app/src/features/channel/components/ChannelComposerDismissal.ts @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +import {ComponentDispatch} from '@app/features/platform/utils/ComponentBus'; + +export interface ChannelComposerDismissalRequest { + channelId: string; +} + +export function requestChannelComposerAffordanceDismissal(channelId: string): boolean { + const result = ComponentDispatch.dispatchToFirstResult( + 'TEXTAREA_DISMISS_AFFORDANCE', + {channelId}, + (candidate) => candidate === true, + ); + return result === true; +} diff --git a/fluxer_app/src/features/channel/components/ChannelComposerStatusRail.tsx b/fluxer_app/src/features/channel/components/ChannelComposerStatusRail.tsx index 52686e0a4..f4382e07e 100644 --- a/fluxer_app/src/features/channel/components/ChannelComposerStatusRail.tsx +++ b/fluxer_app/src/features/channel/components/ChannelComposerStatusRail.tsx @@ -7,7 +7,6 @@ import {TypingUsers, usePresentableTypingUsers} from '@app/features/channel/comp import wrapperStyles from '@app/features/channel/components/textarea/InputWrapper.module.css'; import type {Channel} from '@app/features/channel/models/Channel'; import type {Message} from '@app/features/messaging/models/MessagingMessage'; -import {clsx} from 'clsx'; import {observer} from 'mobx-react-lite'; import type React from 'react'; @@ -24,7 +23,6 @@ interface ChannelComposerStatusRailProps { slowmodeRemaining: number; slowmodeImmune: boolean; mobile: boolean; - leadingContentInFlow: boolean; onCancelEdit: () => void; } @@ -41,7 +39,6 @@ export const ChannelComposerStatusRail = observer(function ChannelComposerStatus slowmodeRemaining, slowmodeImmune, mobile, - leadingContentInFlow, onCancelEdit, }: ChannelComposerStatusRailProps) { const presentableTypingUsers = usePresentableTypingUsers(channel); @@ -50,9 +47,6 @@ export const ChannelComposerStatusRail = observer(function ChannelComposerStatus const leadingContentVisible = mobileEditVisible || replyVisible; const typingVisible = showTypingStatus && !autocompleteVisible && presentableTypingUsers.length > 0; const slowmodeVisible = showSlowmodeStatus && slowmodeEnabled; - if (!leadingContentVisible && !typingVisible && !slowmodeVisible) { - return null; - } let topBar: React.ReactNode = null; if (mobileEditVisible) { topBar = ; @@ -68,35 +62,33 @@ export const ChannelComposerStatusRail = observer(function ChannelComposerStatus ); } return ( -
-
- {topBar !== null && ( -
- {topBar} -
- )} - {typingVisible && ( -
- + <> +
+
+ {typingVisible && ( +
+ +
+ )} +
+ {slowmodeVisible && ( +
+
)}
- {slowmodeVisible && ( -
- + {leadingContentVisible && ( +
+
+ {topBar} +
)} -
+ ); }); diff --git a/fluxer_app/src/features/channel/components/ChannelEditBar.module.css b/fluxer_app/src/features/channel/components/ChannelEditBar.module.css index 4e7f7c538..22ef4c6ff 100644 --- a/fluxer_app/src/features/channel/components/ChannelEditBar.module.css +++ b/fluxer_app/src/features/channel/components/ChannelEditBar.module.css @@ -23,20 +23,16 @@ flex-shrink: 0; border: none; background-color: transparent; - width: var(--composer-status-pill-height, 1.5rem); - height: var(--composer-status-pill-height, 1.5rem); + width: var(--composer-action-button-size, 2rem); + height: var(--composer-action-button-size, 2rem); padding: 0; - border-radius: var(--radius-full); color: var(--text-primary-muted); line-height: 0; - transition: - color 200ms, - background-color 200ms; + transition: color 200ms; } .button:hover { color: var(--text-primary); - background-color: var(--background-modifier-hover); } .icon { diff --git a/fluxer_app/src/features/channel/components/ChannelMessages.module.css b/fluxer_app/src/features/channel/components/ChannelMessages.module.css index e3b97d0d9..519dede26 100644 --- a/fluxer_app/src/features/channel/components/ChannelMessages.module.css +++ b/fluxer_app/src/features/channel/components/ChannelMessages.module.css @@ -34,7 +34,7 @@ .scrollerSpacer { display: block; - height: var(--scroller-spacer-height); + height: var(--messages-bottom-clearance, var(--scroller-spacer-height)); pointer-events: none; width: 100%; flex-shrink: 0; @@ -147,7 +147,7 @@ .messageBottomPill { top: auto; - bottom: 0.625rem; + bottom: calc(0.625rem + var(--composer-status-safe-area, 0px)); } .jumpToPresentBar { diff --git a/fluxer_app/src/features/channel/components/ChannelMessages.tsx b/fluxer_app/src/features/channel/components/ChannelMessages.tsx index 37c61f02a..806e719bc 100644 --- a/fluxer_app/src/features/channel/components/ChannelMessages.tsx +++ b/fluxer_app/src/features/channel/components/ChannelMessages.tsx @@ -324,12 +324,17 @@ export const Messages = observer(function Messages({ ReadStateCommands.ack(channel.id, true, false); } }, [channel.id, state.messages?.hasMoreAfter, state.visualUnreadMessageId, scrollManager]); - const onEscapePressed = useCallback(() => { - if (scrollManager.jumpReturnToOrigin()) { - return; - } - onScrollToPresentAndAck(); - }, [onScrollToPresentAndAck, scrollManager]); + const onEscapePressed = useCallback( + (payload?: unknown) => { + const data = payload as {channelId?: string} | undefined; + if (data?.channelId && data.channelId !== channel.id) return; + if (scrollManager.jumpReturnToOrigin()) { + return; + } + onScrollToPresentAndAck(); + }, + [channel.id, onScrollToPresentAndAck, scrollManager], + ); const onRetryLoadMessages = useCallback(() => { void MessageCommands.fetchMessages(channel.id, null, null, MAX_MESSAGES_PER_CHANNEL); }, [channel.id]); diff --git a/fluxer_app/src/features/channel/components/ChannelReplyBar.module.css b/fluxer_app/src/features/channel/components/ChannelReplyBar.module.css index f4bbd55ea..91ac1eca8 100644 --- a/fluxer_app/src/features/channel/components/ChannelReplyBar.module.css +++ b/fluxer_app/src/features/channel/components/ChannelReplyBar.module.css @@ -11,8 +11,9 @@ .replyTargetButton { display: block; + justify-self: start; min-width: 0; - width: 100%; + max-width: 100%; cursor: pointer; border: 0; background: transparent; @@ -35,7 +36,7 @@ align-items: center; flex: 0 0 auto; gap: 0.125rem; - min-height: var(--composer-status-pill-height, 1.5rem); + min-height: var(--composer-action-button-size, 2rem); } .mentionToggle { @@ -43,7 +44,7 @@ cursor: pointer; align-items: center; justify-content: center; - height: calc(var(--composer-status-pill-height, 1.5rem) - 0.25rem); + height: calc(var(--composer-action-button-size, 2rem) - 0.25rem); inline-size: 3.5rem; flex: 0 0 3.5rem; padding: 0 0.5rem; @@ -91,20 +92,16 @@ flex-shrink: 0; border: none; background-color: transparent; - width: var(--composer-status-pill-height, 1.5rem); - height: var(--composer-status-pill-height, 1.5rem); + width: var(--composer-action-button-size, 2rem); + height: var(--composer-action-button-size, 2rem); padding: 0; - border-radius: var(--radius-full); color: var(--text-primary-muted); line-height: 0; - transition: - color 200ms, - background-color 200ms; + transition: color 200ms; } .closeButton:hover { color: var(--text-primary); - background-color: var(--background-modifier-hover); } .closeIcon { diff --git a/fluxer_app/src/features/channel/components/ChannelStickersArea.module.css b/fluxer_app/src/features/channel/components/ChannelStickersArea.module.css index b4abb831c..daba717c8 100644 --- a/fluxer_app/src/features/channel/components/ChannelStickersArea.module.css +++ b/fluxer_app/src/features/channel/components/ChannelStickersArea.module.css @@ -1,8 +1,7 @@ /* SPDX-License-Identifier: AGPL-3.0-or-later */ .container { - border-color: var(--background-header-secondary); - background-color: var(--background-secondary-lighter); + border-color: var(--composer-divider-color, var(--background-modifier-accent)); padding: 0.5rem 1rem; width: fit-content; } @@ -13,7 +12,7 @@ } .standalone { - border-radius: var(--radius-lg) var(--radius-lg) 0 0; + border-radius: var(--radius-lg); border-width: 0.0625rem; border-style: solid; } diff --git a/fluxer_app/src/features/channel/components/EditingMessageInput.tsx b/fluxer_app/src/features/channel/components/EditingMessageInput.tsx index a47ad7a30..2b4974c4d 100644 --- a/fluxer_app/src/features/channel/components/EditingMessageInput.tsx +++ b/fluxer_app/src/features/channel/components/EditingMessageInput.tsx @@ -165,14 +165,13 @@ export const EditingMessageInput = observer( ComponentDispatch.dispatch('INBOX_OPEN'); return; } - if (event.key === 'Escape' && !event.shiftKey) { + if (event.key === 'Escape' && !event.shiftKey && !event.defaultPrevented && !event.nativeEvent.isComposing) { event.preventDefault(); event.stopPropagation(); - ComponentDispatch.dispatch('ESCAPE_PRESSED', {channelId: channel.id}); onCancel(); } }, - [actualContent, channel.id, onCancel], + [actualContent, onCancel], ); useEffect(() => { if (editingDisabled || hasFocusedInitiallyRef.current) { diff --git a/fluxer_app/src/features/channel/components/LexicalChannelTextareaContent.tsx b/fluxer_app/src/features/channel/components/LexicalChannelTextareaContent.tsx index cd1813b13..bbdf76989 100644 --- a/fluxer_app/src/features/channel/components/LexicalChannelTextareaContent.tsx +++ b/fluxer_app/src/features/channel/components/LexicalChannelTextareaContent.tsx @@ -7,6 +7,10 @@ import RuntimeConfig from '@app/features/app/state/RuntimeConfig'; import {Limits} from '@app/features/app/utils/UserLimits'; import {fetchSlowmodeState} from '@app/features/channel/commands/ChannelCommands'; import {ChannelAttachmentArea} from '@app/features/channel/components/ChannelAttachmentArea'; +import { + type ChannelComposerDismissalRequest, + requestChannelComposerAffordanceDismissal, +} from '@app/features/channel/components/ChannelComposerDismissal'; import {EditBar} from '@app/features/channel/components/ChannelEditBar'; import {ReplyBar} from '@app/features/channel/components/ChannelReplyBar'; import {ChannelStickersArea} from '@app/features/channel/components/ChannelStickersArea'; @@ -99,7 +103,6 @@ import * as ModalCommands from '@app/features/ui/commands/ModalCommands'; import {modal} from '@app/features/ui/commands/ModalCommands'; import * as PopoutCommands from '@app/features/ui/commands/PopoutCommands'; import {SlashCommandIcon} from '@app/features/ui/components/icons/SlashCommandIcon'; -import FocusRing from '@app/features/ui/focus_ring/FocusRing'; import {openPopout} from '@app/features/ui/popover/PopoverPopout'; import ContextMenuState from '@app/features/ui/state/ContextMenu'; import KeyboardMode from '@app/features/ui/state/KeyboardMode'; @@ -110,7 +113,7 @@ import {openVoiceMessageComposerModal} from '@app/features/voice/components/Voic import {flxElementClassName} from '@app/lib/react'; import {msg} from '@lingui/core/macro'; import {useLingui} from '@lingui/react/macro'; -import {PlusCircleIcon} from '@phosphor-icons/react'; +import {PlusIcon} from '@phosphor-icons/react'; import {observer} from 'mobx-react-lite'; import type React from 'react'; import {useCallback, useEffect, useId, useLayoutEffect, useMemo, useRef, useState} from 'react'; @@ -128,6 +131,8 @@ const CLEAR_COMMAND_DESCRIPTOR = msg({ comment: 'Accessible label for the composer button that clears the slash command currently being composed.', }); +const PLUS_ICON_PROPS = {weight: 'bold'} as const; + export const LexicalChannelTextareaContent = observer( ({ channel, @@ -672,21 +677,88 @@ export const LexicalChannelTextareaContent = observer( onMentionConfirmationNeeded: handleMentionConfirmationNeeded, i18n: i18n, }); + const handleClearSlashCommand = useCallback(() => { + const handle = handleRef.current; + if (handle !== null) { + handle.clear(); + } + setValue(''); + clearSegments(); + DraftCommands.deleteDraft(channel.id); + if (handle !== null) { + handle.focus(); + } + }, [channel.id, clearSegments]); + const handleCancelEdit = useCallback(() => { + setValue(''); + clearSegments(); + }, [clearSegments]); + const focusComposer = useCallback(() => { + const handle = handleRef.current; + if (handle !== null) { + handle.focus(); + } + }, []); + const dismissTopmostComposerAffordance = useCallback((): boolean => { + const editingInline = MessageEdit.getEditingMessageId(channel.id) !== null; + if (editingInline) { + MessageCommands.stopEdit(channel.id); + return true; + } + if (hasPendingSticker) { + ChannelSticker.removePendingSticker(channel.id); + focusComposer(); + return true; + } + if (hasAttachments) { + CloudUpload.clearTextarea(channel.id); + focusComposer(); + return true; + } + const slashCommandResolution = LexicalMessageCommandResolver.resolve(handleRef.current); + if (slashCommandResolution.status !== LexicalMessageCommandResolutionStatus.NO_COMMAND) { + handleClearSlashCommand(); + return true; + } + if (editingMessageForComposer !== null && mobileLayout.enabled) { + MessageCommands.stopEditMobile(channel.id); + handleCancelEdit(); + focusComposer(); + return true; + } + if (replyingMessage !== null) { + MessageCommands.stopReply(channel.id); + focusComposer(); + return true; + } + return false; + }, [ + channel.id, + editingMessageForComposer, + focusComposer, + handleCancelEdit, + handleClearSlashCommand, + hasAttachments, + hasPendingSticker, + mobileLayout.enabled, + replyingMessage, + ]); + useEffect(() => { + return ComponentDispatch.subscribe('TEXTAREA_DISMISS_AFFORDANCE', (request?: unknown) => { + const dismissalRequest = request as ChannelComposerDismissalRequest | undefined; + if (dismissalRequest?.channelId !== channel.id) { + return false; + } + return dismissTopmostComposerAffordance(); + }); + }, [channel.id, dismissTopmostComposerAffordance]); const handleEscapeKey = useCallback( (event: React.KeyboardEvent) => { - if (event.key !== 'Escape') return; - if (event.shiftKey) return; - if (hasAttachments || hasPendingSticker || replyingMessage) { + if (event.defaultPrevented || event.nativeEvent.isComposing) return; + if (event.key !== 'Escape' || event.shiftKey) return; + if (requestChannelComposerAffordanceDismissal(channel.id)) { event.preventDefault(); - if (hasAttachments) { - CloudUpload.clearTextarea(channel.id); - } - if (hasPendingSticker) { - ChannelSticker.removePendingSticker(channel.id); - } - if (replyingMessage) { - MessageCommands.stopReply(channel.id); - } + event.stopPropagation(); return; } if (isInputAreaFocused && KeyboardMode.keyboardModeEnabled) { @@ -698,15 +770,7 @@ export const LexicalChannelTextareaContent = observer( KeyboardMode.exitKeyboardMode(); } }, - [ - channel.id, - hasAttachments, - hasPendingSticker, - replyingMessage, - isInputAreaFocused, - KeyboardMode.keyboardModeEnabled, - Accessibility.escapeExitsKeyboardMode, - ], + [channel.id, isInputAreaFocused, KeyboardMode.keyboardModeEnabled, Accessibility.escapeExitsKeyboardMode], ); const slotResolvers = useMemo(() => { const guildId = channel.guildId; @@ -776,18 +840,6 @@ export const LexicalChannelTextareaContent = observer( } MessageCommands.startEdit(channel.id, message.id, message.content); }, [channel.id]); - const handleClearSlashCommand = useCallback(() => { - const handle = handleRef.current; - if (handle !== null) { - handle.clear(); - } - setValue(''); - clearSegments(); - DraftCommands.deleteDraft(channel.id); - if (handle !== null) { - handle.focus(); - } - }, [channel.id, clearSegments]); useTextareaDraftAndTyping({ channelId: channel.id, value, @@ -808,11 +860,6 @@ export const LexicalChannelTextareaContent = observer( textareaInputDisabled, isFocused, handleArrowUpEmpty, - editingMessage, - replyingMessage, - mobileLayout, - setValue, - clearSegments, }); const messageLabel = i18n._(MESSAGE_DESCRIPTOR); const messagePrefix = `${messageLabel} `; @@ -933,10 +980,6 @@ export const LexicalChannelTextareaContent = observer( resizeObserver.disconnect(); }; }, [mobileLayout.enabled]); - const handleCancelEdit = useCallback(() => { - setValue(''); - clearSegments(); - }, [clearSegments]); const isPlusContextMenuOpen = useCallback(() => { const plusButton = plusButtonRef.current; const contextMenu = ContextMenuState.contextMenu; @@ -1093,36 +1136,29 @@ export const LexicalChannelTextareaContent = observer( ], ); const isSlashParamBarVisible = slashCommandState.activeSlot != null; - const hasStackedSections = Boolean( - referencedMessage || - (editingMessage && mobileLayout.enabled) || - uploadAttachments.length > 0 || - hasPendingSticker || - isSlashParamBarVisible, - ); const isMobileEditBarVisible = editingMessage && mobileLayout.enabled; const isReplyBarVisible = !isMobileEditBarVisible && referencedMessage != null; const presentableTypingUsers = usePresentableTypingUsers(channel); const isTypingStatusVisible = !isAutocompleteVisible && presentableTypingUsers.length > 0; const isSlowmodeIndicatorVisible = isSlowmodeEnabled; const hasLeadingStatusContent = isMobileEditBarVisible || isReplyBarVisible || isSlashParamBarVisible; - const hasComposerStatusRail = isTypingStatusVisible || hasLeadingStatusContent || isSlowmodeIndicatorVisible; let shouldReplyMention = false; if (replyingMessage !== null && replyingMessage !== undefined) { shouldReplyMention = replyingMessage.mentioning; } - const topBarContent = isMobileEditBarVisible ? ( - - ) : ( - referencedMessage && ( + let topBarContent: React.ReactNode = null; + if (isMobileEditBarVisible) { + topBarContent = ; + } else if (referencedMessage !== null) { + topBarContent = ( MessageCommands.setReplyMentioning(channel.id, mentioning)} channel={channel} /> - ) - ); + ); + } const renderSection = (content: React.ReactNode, sectionClassName?: string) => ( {content} @@ -1130,171 +1166,155 @@ export const LexicalChannelTextareaContent = observer( ); return ( <> - - - {hasComposerStatusRail && ( - - - {topBarContent && ( - - {topBarContent} - - )} - {slashCommandState.activeSlot != null && ( - - - - )} - {isTypingStatusVisible && ( - - - - )} - - {isSlowmodeIndicatorVisible && ( - - - - )} - - )} - {showAttachments && - renderSection(, styles.collapsibleSection)} - {showStickers && - renderSection( - , - styles.collapsibleSection, + + + {isTypingStatusVisible && ( + + + )} - {renderSection( - - - - - - - { - setIsFocused(true); - setIsInputAreaFocused(true); - ChannelSearch.setInputFocused(channel.id, false); - }} - onBlur={() => { - setIsFocused(false); - setIsInputAreaFocused(false); - }} - onSlashCommandStateChange={setSlashCommandState} - /> - - - 0} - expressionPickerTriggerRef={expressionPickerTriggerRef} - invisibleExpressionPickerTriggerRef={invisibleExpressionPickerTriggerRef} - onExpressionPickerToggle={handleExpressionPickerTabToggle} - onSubmit={handleSubmit} - channelId={channel.id} + + {isSlowmodeIndicatorVisible && ( + + - , - styles.inputSection, + )} - - - + + {hasLeadingStatusContent && ( +
+ {topBarContent !== null && ( +
+ {topBarContent} +
+ )} + {slashCommandState.activeSlot !== null && ( +
+ +
+ )} +
+ )} + {showAttachments && + renderSection(, styles.collapsibleSection)} + {showStickers && + renderSection( + , + styles.collapsibleSection, + )} + {renderSection( + + + + + + + { + setIsFocused(true); + setIsInputAreaFocused(true); + ChannelSearch.setInputFocused(channel.id, false); + }} + onBlur={() => { + setIsFocused(false); + setIsInputAreaFocused(false); + }} + onSlashCommandStateChange={setSlashCommandState} + /> + + + 0} + expressionPickerTriggerRef={expressionPickerTriggerRef} + invisibleExpressionPickerTriggerRef={invisibleExpressionPickerTriggerRef} + onExpressionPickerToggle={handleExpressionPickerTabToggle} + onSubmit={handleSubmit} + channelId={channel.id} + /> + , + styles.inputSection, + )} + + {mobileLayout.enabled && ( <> 0; - const tooltipText = isImmune - ? i18n._(SLOWMODE_IS_ENABLED_BUT_YOU_ARE_IMMUNE_DESCRIPTOR) - : onCooldown - ? i18n._(YOU_ARE_IN_SLOWMODE_PLEASE_WAIT_BEFORE_SENDING_DESCRIPTOR) - : i18n._(SLOWMODE_IS_ENABLED_FOR_THIS_CHANNEL_DESCRIPTOR); const durationLabel = formatSlowmodeDuration(slowmodeDuration, locale); + let tooltipText: string; + if (isImmune) { + tooltipText = i18n._(SLOWMODE_IS_SET_BUT_YOU_ARE_IMMUNE_DESCRIPTOR, {durationLabel}); + } else if (onCooldown) { + tooltipText = i18n._(SLOWMODE_IS_SET_WAIT_BEFORE_SENDING_DESCRIPTOR, {durationLabel}); + } else { + tooltipText = i18n._(SLOWMODE_IS_SET_FOR_THIS_CHANNEL_DESCRIPTOR, {durationLabel}); + } + let statusLabel: string; + if (onCooldown) { + statusLabel = i18n._(SLOWMODE_IS_ACTIVE_DESCRIPTOR, {remaining: formatSlowmodeTime(slowmodeRemaining, locale)}); + } else { + statusLabel = i18n._(SLOWMODE_IS_ENABLED_DESCRIPTOR); + } return (
- - {onCooldown ? ( - - {formatSlowmodeTime(slowmodeRemaining, locale)} - - ) : ( - - {i18n._(SLOWMODE_DESCRIPTOR, {durationLabel})} - - )} + + {statusLabel} + +
); diff --git a/fluxer_app/src/features/channel/components/TypingUsers.module.css b/fluxer_app/src/features/channel/components/TypingUsers.module.css index 11b44f891..7c20a047a 100644 --- a/fluxer_app/src/features/channel/components/TypingUsers.module.css +++ b/fluxer_app/src/features/channel/components/TypingUsers.module.css @@ -5,9 +5,19 @@ display: flex; align-items: center; justify-content: center; - color: var(--text-primary); + color: var(--text-primary-muted); } .username { font-weight: 600; } + +.composerStatus { + display: inline-flex; + align-items: center; + height: var(--typing-pill-height, 1.125rem); + max-width: 100%; + min-width: 0; + color: var(--text-primary-muted); + pointer-events: auto; +} diff --git a/fluxer_app/src/features/channel/components/TypingUsers.tsx b/fluxer_app/src/features/channel/components/TypingUsers.tsx index 9a269a76e..15b584684 100644 --- a/fluxer_app/src/features/channel/components/TypingUsers.tsx +++ b/fluxer_app/src/features/channel/components/TypingUsers.tsx @@ -118,10 +118,7 @@ export const TypingUsers = observer( className={`${messageStyles.typingContainer} ${messageStyles.typingCluster} ${messageStyles.typingClusterComposerStatus}`} data-flx="channel.typing-users.div" > -
+
button { margin: 0; + height: var(--textarea-button-height); + min-height: var(--textarea-button-height); } .timer { + display: inline-flex; + align-items: center; + box-sizing: border-box; + height: var(--textarea-button-height); border-radius: 0.375rem; background-color: var(--background-secondary-alt); - padding: 0.375rem 0.75rem; + padding: 0 0.75rem; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; font-size: 0.875rem; line-height: 1.25rem; diff --git a/fluxer_app/src/features/channel/components/barriers/BarrierComponents.tsx b/fluxer_app/src/features/channel/components/barriers/BarrierComponents.tsx index d9e080383..3de3f7202 100644 --- a/fluxer_app/src/features/channel/components/barriers/BarrierComponents.tsx +++ b/fluxer_app/src/features/channel/components/barriers/BarrierComponents.tsx @@ -55,9 +55,8 @@ const BarrierBase = observer(({message, action, icon}: BarrierBaseProps) => { wrapperStyles.box, wrapperStyles.wrapperSides, textareaStyles.textareaOuter, - textareaStyles.textareaOuterMinHeight, + textareaStyles.textareaOuterRow, wrapperStyles.roundedAll, - wrapperStyles.bottomSpacing, )} data-flx="channel.barriers.barrier-components.barrier-base.div" > diff --git a/fluxer_app/src/features/channel/components/textarea/InputWrapper.module.css b/fluxer_app/src/features/channel/components/textarea/InputWrapper.module.css index 46bca6d6f..0617b93a5 100644 --- a/fluxer_app/src/features/channel/components/textarea/InputWrapper.module.css +++ b/fluxer_app/src/features/channel/components/textarea/InputWrapper.module.css @@ -1,19 +1,12 @@ /* SPDX-License-Identifier: AGPL-3.0-or-later */ .wrapperSides { - margin-left: 0; - margin-right: 0; - width: 100%; max-width: 100%; box-sizing: border-box; } .box { position: relative; - background-color: var(--background-secondary-lighter); - border: none; - transition: border-color 0.2s ease; - margin-bottom: 0; max-width: 100%; box-sizing: border-box; } @@ -28,15 +21,11 @@ } .stackSection + .stackSection { - border-top: 0.0625rem solid var(--user-area-divider-color); -} - -.box:focus-within { - border-top: none; + border-top: 0.0625rem solid var(--composer-divider-color, var(--user-area-divider-color)); } .roundedAll { - border-radius: 0; + border-radius: var(--composer-box-radius, 0px); } .roundedTop { @@ -44,32 +33,42 @@ border-top-right-radius: 0; } -.roundedBottom { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; -} - .noBottomBorder { border-bottom-width: 0; } -.bottomSpacing { - margin-bottom: 0; -} - .disabled { opacity: 0.6; cursor: not-allowed; } -.statusRail { - --composer-status-pill-height: 1.5rem; - --typing-pill-height: var(--composer-status-pill-height); - --slowmode-indicator-height: var(--composer-status-pill-height); +.composerRoot { + --composer-action-button-size: 2rem; + --composer-divider-color: var(--floating-surface-ring-color-strong); +} + +.composerRoot::before { + content: ''; position: absolute; - inset-inline: var(--composer-status-rail-inset, 0); - top: 0; - transform: translateY(-50%); + bottom: calc(100% + var(--composer-box-inset, 0px)); + inset-inline: calc(-1 * var(--composer-box-inset-inline, 0px)); + height: max(0px, calc(var(--composer-status-safe-area) - var(--composer-box-inset, 0px))); + background: linear-gradient( + to bottom, + transparent 0%, + color-mix(in srgb, var(--composer-surface-color) 42%, transparent) 34%, + color-mix(in srgb, var(--composer-surface-color) 82%, transparent) 66%, + var(--composer-surface-color) 100% + ); + pointer-events: none; +} + +.statusRail { + --typing-pill-height: var(--composer-status-line-height, 1.125rem); + --slowmode-indicator-height: var(--composer-status-line-height, 1.125rem); + position: absolute; + inset-inline: var(--composer-box-padding-inline, 0px); + bottom: calc(100% + var(--composer-status-safe-gap, 0.5rem)); z-index: 3; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, auto); @@ -77,24 +76,17 @@ gap: 0.5rem; min-width: 0; max-width: 100%; - min-height: calc(var(--composer-status-pill-height) + 0.5rem); - padding: 0.25rem 0; + height: var(--composer-status-line-height, 1.125rem); box-sizing: border-box; + text-shadow: + 0 0 0.1875rem var(--composer-surface-color), + 0 0 0.5rem var(--composer-surface-color); pointer-events: none; } -.statusRailInFlow { - position: static; - inset: auto; - transform: none; - z-index: auto; - padding-top: 0.5rem; -} - .statusRailLeft { display: flex; align-items: center; - gap: 0.5rem; min-width: 0; max-width: 100%; overflow: hidden; @@ -109,11 +101,6 @@ pointer-events: auto; } -.statusRailLeftWithLeading .statusTypingSlot { - margin-left: auto; - max-width: min(22rem, 45%); -} - .statusTypingSlot > * { min-width: 0; max-width: 100%; @@ -126,17 +113,36 @@ pointer-events: auto; } -.topBarContainer { - position: relative; - z-index: 1; - max-width: 100%; - min-width: 0; - box-sizing: border-box; +.composerActionStack { display: flex; - justify-content: flex-start; - pointer-events: auto; - width: fit-content; - flex: 0 1 auto; + flex: 0 0 auto; + flex-direction: column; + margin-inline: calc(-1 * var(--composer-box-padding-inline, 0px)); + min-width: 0; + width: auto; + overflow: hidden; + box-sizing: border-box; + border-bottom: 0.0625rem solid var(--composer-divider-color, var(--background-modifier-accent)); + border-radius: var(--composer-box-radius, 0px) var(--composer-box-radius, 0px) 0 0; + background-color: color-mix(in srgb, var(--background-textarea) 84%, var(--background-tertiary) 16%); +} + +.composerActionRow { + display: flex; + min-width: 0; + width: 100%; + max-width: 100%; + box-sizing: border-box; +} + +.composerActionRow + .composerActionRow { + border-top: 0.0625rem solid color-mix(in srgb, var(--background-modifier-accent) 72%, transparent); +} + +.composerActionRow > * { + width: 100%; + max-width: 100%; + background-color: transparent; } .barInner { @@ -150,39 +156,16 @@ box-sizing: border-box; } -.topBarContainer > * { - pointer-events: auto; -} - -.topBarContainer > .box { - width: fit-content; - max-width: min(30rem, 100%); - border-radius: var(--radius-full); - background-color: color-mix(in srgb, var(--background-textarea) 84%, var(--background-tertiary) 16%); - border: 0.0625rem solid color-mix(in srgb, var(--background-modifier-accent) 82%, transparent); - overflow: hidden; -} - -.topBarContainer .barInner { - display: flex; - align-items: center; - gap: 0.5rem; - min-height: var(--composer-status-pill-height); - padding: 0 0.25rem 0 0.625rem; - width: 100%; - min-width: 0; -} - -.topBarContainer .barInner > :first-child { - min-width: 0; - flex: 1 1 auto; -} - .separator { height: 0.0625rem; background-color: transparent; } -.topBarContainer .separator { +.composerActionRow .barInner { + min-height: 2.25rem; + padding-inline: 0.75rem 0.375rem; +} + +.composerActionRow .separator { display: none; } diff --git a/fluxer_app/src/features/channel/components/textarea/TextareaButton.module.css b/fluxer_app/src/features/channel/components/textarea/TextareaButton.module.css index 191cfe419..9d72049c1 100644 --- a/fluxer_app/src/features/channel/components/textarea/TextareaButton.module.css +++ b/fluxer_app/src/features/channel/components/textarea/TextareaButton.module.css @@ -9,7 +9,10 @@ height: var(--textarea-button-height); padding: 0; color: var(--text-primary-muted); - transition: color var(--transition-normal); + border-radius: var(--radius-md); + transition: + color var(--transition-normal), + background-color var(--transition-normal); cursor: pointer; background: transparent; border: none; @@ -20,6 +23,7 @@ .button:hover:not(:disabled), .button.contextMenuHover:not(:disabled) { color: var(--text-primary); + background-color: var(--background-modifier-hover); } .button:disabled { diff --git a/fluxer_app/src/features/channel/components/textarea/TextareaInput.module.css b/fluxer_app/src/features/channel/components/textarea/TextareaInput.module.css index 811790d97..0a76d11ab 100644 --- a/fluxer_app/src/features/channel/components/textarea/TextareaInput.module.css +++ b/fluxer_app/src/features/channel/components/textarea/TextareaInput.module.css @@ -2,19 +2,17 @@ :root { --textarea-font-size: var(--font-size, 1rem); - --textarea-button-height: var(--user-area-content-height); - --textarea-button-icon-size: 1.625rem; + --textarea-button-height: 2rem; + --textarea-button-icon-size: 1.375rem; --textarea-button-padding-x: 0px; --textarea-button-min-width: auto; - --textarea-button-compact-height: var(--user-area-content-height); - --textarea-button-compact-icon-size: 1.375rem; + --textarea-button-compact-height: 2rem; + --textarea-button-compact-icon-size: 1.25rem; --textarea-container-padding-y: 0px; --textarea-container-padding-x: 0px; - --textarea-min-height: var(--input-container-min-height); - --textarea-horizontal-padding: var(--chat-horizontal-padding, var(--spacing-4)); - --textarea-content-offset: calc((var(--user-area-content-height) - var(--textarea-line-height)) / 2); + --textarea-content-offset: max(0rem, calc((var(--textarea-button-height) - var(--textarea-line-height)) / 2)); --textarea-upload-gap: var(--message-gutter, 1rem); --textarea-side-button-padding: max( 0px, @@ -92,7 +90,7 @@ } .textarea::placeholder { - color: var(--text-primary-muted); + color: var(--text-tertiary-secondary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; @@ -168,7 +166,7 @@ width: 0.0625rem; height: 1.5rem; background-color: var(--background-modifier-hover); - margin: 0 0.25rem; + margin-inline: var(--composer-action-gap); align-self: center; } @@ -176,17 +174,12 @@ display: flex; flex-direction: column; flex: 0 1 auto; - min-height: 0; - padding-left: var(--textarea-horizontal-padding); - padding-right: var(--textarea-horizontal-padding); + padding-inline: var(--composer-box-padding-inline); box-sizing: border-box; - box-shadow: inset 0 0.0625rem 0 var(--user-area-divider-color); - width: 100%; max-width: 100%; min-width: 0; contain: inline-size; overflow: visible; - --composer-status-rail-inset: var(--textarea-horizontal-padding); } .collapsibleSection { @@ -201,7 +194,12 @@ .textareaOuterMobile { padding: 0; - --composer-status-rail-inset: 0px; + min-height: 0; + --textarea-min-height: var(--composer-mobile-box-height); + --textarea-padding-y: var(--composer-mobile-padding-y); + --composer-box-inset: 0px; + --composer-box-inset-inline: 0px; + --composer-box-padding-inline: 0px; } .textareaMobile { @@ -211,21 +209,17 @@ .mainWrapperDense { display: grid; grid-template-columns: minmax(0, auto) minmax(0, 1fr) minmax(0, auto); - align-items: flex-start; + align-items: start; position: relative; min-height: var(--textarea-min-height); box-sizing: border-box; - padding: var(--user-area-padding-y) 0; + padding: var(--textarea-padding-y) 0; column-gap: var(--textarea-upload-gap); min-width: 0; width: 100%; max-width: 100%; } -.textareaFocusRing { - border-radius: var(--radius-xl); -} - .mainWrapperEditing { display: flex; align-items: flex-start; @@ -234,7 +228,7 @@ background-color: var(--background-textarea); border: 0.0625rem solid var(--background-modifier-accent); border-radius: var(--radius-md); - transition: colors; + transition: border-color 0.15s cubic-bezier(0.4, 0, 0.2, 1); --scrollbar-track-bg: var(--background-textarea); } @@ -253,7 +247,7 @@ display: flex; align-items: center; justify-content: center; - min-height: var(--user-area-content-height); + min-height: var(--textarea-button-height); min-width: 0; flex-shrink: 1; } @@ -271,7 +265,7 @@ grid-column: 2; display: flex; flex-direction: column; - min-height: var(--user-area-content-height); + min-height: var(--textarea-button-height); min-width: 0; padding-top: var(--textarea-content-offset); } @@ -300,9 +294,9 @@ .buttonContainerDense { grid-column: 3; display: flex; - align-items: flex-start; - gap: 0.625rem; - min-height: var(--user-area-content-height); + align-items: center; + gap: var(--composer-action-gap); + min-height: var(--textarea-button-height); min-width: 0; flex-shrink: 1; } @@ -371,6 +365,26 @@ min-width: 0; } -.textareaOuterMinHeight { - min-height: var(--input-container-min-height); +.textareaOuterRow { + min-height: var(--textarea-min-height); + margin-block: var(--composer-box-inset); + margin-inline: var(--composer-box-inset-inline); + background-color: var(--background-textarea); + --composer-box-radius: var(--footer-box-radius); + --composer-box-ring-color: var(--floating-surface-ring-color); + --scrollbar-track-bg: var(--background-textarea); +} + +.textareaOuterRow::after { + content: ''; + position: absolute; + inset: 0; + border-radius: inherit; + box-shadow: inset 0 0 0 0.0625rem var(--composer-box-ring-color); + transition: box-shadow 0.15s cubic-bezier(0.4, 0, 0.2, 1); + pointer-events: none; +} + +.textareaOuterRow:focus-within { + --composer-box-ring-color: var(--floating-surface-ring-color-strong); } diff --git a/fluxer_app/src/features/channel/components/useChannelComposerGlobalShortcuts.ts b/fluxer_app/src/features/channel/components/useChannelComposerGlobalShortcuts.ts index 19c387ba9..882a5b357 100644 --- a/fluxer_app/src/features/channel/components/useChannelComposerGlobalShortcuts.ts +++ b/fluxer_app/src/features/channel/components/useChannelComposerGlobalShortcuts.ts @@ -1,12 +1,9 @@ // SPDX-License-Identifier: AGPL-3.0-or-later +import {requestChannelComposerAffordanceDismissal} from '@app/features/channel/components/ChannelComposerDismissal'; import type {Channel} from '@app/features/channel/models/Channel'; import type {ComposerHandle} from '@app/features/lexical/composer/ComposerHandle'; -import * as MessageCommands from '@app/features/messaging/commands/MessageCommands'; -import type {Message} from '@app/features/messaging/models/MessagingMessage'; -import MessageEdit from '@app/features/messaging/state/MessageEdit'; import MessageFocus from '@app/features/messaging/state/MessageFocus'; -import type {MessageReplyState} from '@app/features/messaging/state/MessageReply'; import {ComponentDispatch} from '@app/features/platform/utils/ComponentBus'; import {canFocusTextarea, safeFocus} from '@app/features/platform/utils/InputFocusManager'; import {isTextInputKeyEvent} from '@app/features/platform/utils/IsTextInputKeyEvent'; @@ -23,15 +20,6 @@ interface UseChannelComposerGlobalShortcutsParams { textareaInputDisabled: boolean; isFocused: boolean; handleArrowUpEmpty: () => void; - editingMessage: Message | null | undefined; - replyingMessage: MessageReplyState | null; - mobileLayout: ComposerMobileLayout; - setValue: React.Dispatch>; - clearSegments: () => void; -} - -interface ComposerMobileLayout { - enabled: boolean; } export function useChannelComposerGlobalShortcuts({ @@ -41,11 +29,6 @@ export function useChannelComposerGlobalShortcuts({ textareaInputDisabled, isFocused, handleArrowUpEmpty, - editingMessage, - replyingMessage, - mobileLayout, - setValue, - clearSegments, }: UseChannelComposerGlobalShortcutsParams): void { useEffect(() => { if (textareaInputDisabled) { @@ -108,31 +91,19 @@ export function useChannelComposerGlobalShortcuts({ return; } const handleKeyDown = (event: KeyboardEvent) => { - if (event.key !== 'Escape') return; - if (event.shiftKey) return; - ComponentDispatch.dispatch('ESCAPE_PRESSED', {channelId: channel.id}); - const isEditingInline = MessageEdit.getEditingMessageId(channel.id) != null; - if (isEditingInline) { + if (event.defaultPrevented || event.isComposing) return; + if (event.key !== 'Escape' || event.shiftKey) return; + if (requestChannelComposerAffordanceDismissal(channel.id)) { event.preventDefault(); event.stopPropagation(); - MessageCommands.stopEdit(channel.id); return; } - if (editingMessage && mobileLayout.enabled) { - event.preventDefault(); - MessageCommands.stopEditMobile(channel.id); - setValue(''); - clearSegments(); - } else if (replyingMessage) { - event.preventDefault(); - MessageCommands.stopReply(channel.id); - } else { - event.preventDefault(); - } + ComponentDispatch.dispatch('ESCAPE_PRESSED', {channelId: channel.id}); + event.preventDefault(); }; window.addEventListener('keydown', handleKeyDown); return () => { window.removeEventListener('keydown', handleKeyDown); }; - }, [channel.id, editingMessage, replyingMessage, mobileLayout.enabled, textareaInputDisabled, clearSegments]); + }, [channel.id, textareaInputDisabled]); } diff --git a/fluxer_app/src/features/guild/components/modals/guild_tabs/GuildAuditLogTab.module.css b/fluxer_app/src/features/guild/components/modals/guild_tabs/GuildAuditLogTab.module.css index 28e25a41e..f7a830d4c 100644 --- a/fluxer_app/src/features/guild/components/modals/guild_tabs/GuildAuditLogTab.module.css +++ b/fluxer_app/src/features/guild/components/modals/guild_tabs/GuildAuditLogTab.module.css @@ -179,7 +179,7 @@ align-items: center; justify-content: space-between; width: 100%; - min-height: var(--input-container-min-height); + min-height: var(--list-row-min-height); padding: 0 var(--input-container-padding); background: transparent; border: none; diff --git a/fluxer_app/src/features/i18n/locales/ar/messages.po b/fluxer_app/src/features/i18n/locales/ar/messages.po index cff8211b0..4bc0fb018 100644 --- a/fluxer_app/src/features/i18n/locales/ar/messages.po +++ b/fluxer_app/src/features/i18n/locales/ar/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# إشارة مرجعية} few {# إشارات مر msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# مجتمع تم العثور عليه} other {# مجتمعات تم العثور عليها}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# مجموعة غير متاحة مؤقتًا بسبب عطل في مكثف التدفق.} other {# مجموعات غير متاحة مؤقتًا بسبب عطل في مكثف التدفق.}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# إيموجي} few {# إيموجي} many {# إيم msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# هدية} other {# هدايا}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# ساعة} few {# ساعات} many {# ساعة} other {# ساعات}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# عنصر} other {# عناصر}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# عضو} other {# أعضاء}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# دقيقة} other {# دقائق}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# مجتمع مشترك} other {# مجتمعات مشتركة}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# متفاعل} few {# متفاعلون} many {# م msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# وسائط محفوظة} other {# وسائط محفوظة}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# ثانية} other {# ثوانٍ}}" @@ -667,11 +658,6 @@ msgstr "أمامك بـ {duration}" msgid "{duration} behind you" msgstr "متأخر عنك بـ {duration}" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "الوضع البطيء {durationLabel}" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "أوقف المسؤولون الدعوات مؤقتًا — لا يمك #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "نوع القناة: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "تم تحديث القناة" @@ -7162,7 +7148,7 @@ msgstr "مسح مرفقات الاختبار" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "مسح الأمر" @@ -13509,7 +13495,7 @@ msgstr "أدخل رمز الرسالة النصية القصيرة" msgid "Enter this code in your browser to complete sign-in." msgstr "أدخل هذا الرمز في متصفحك لإكمال تسجيل الدخول." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "اضغط Enter لـ <0><1>حفظ" @@ -13650,7 +13636,7 @@ msgstr "مفتاح الهروب" msgid "Escape key exits keyboard mode" msgstr "مفتاح الهروب يخرج من وضع لوحة المفاتيح" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "اضغط على Escape لـ <0><1>الإلغاء" @@ -22465,7 +22451,7 @@ msgstr "أشياء" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "إعادة تعيين حالة الاشتراك المميز" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "إعادة تعيين شريط التمرير إلى القيمة الافتراضية" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "الأمر {commandName}/" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "قيمة شريط التمرير" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "تحميل بطيء للملف الشخصي" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "الوضع البطيء" @@ -29984,21 +29970,36 @@ msgstr "الوضع البطيء · انتظر {remaining}" msgid "Slowmode active" msgstr "الوضع البطيء نشط" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "تم تفعيل الوضع البطيء لهذه القناة." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "الوضع البطيء نشط ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "الوضع البطيء مفعّل، لكنك معفى." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "الوضع البطيء مُفعّل" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "الوضع البطيء قيد التشغيل — انتظر {duration} قبل إرسال رسالة أخرى." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "الوضع البطيء مضبوط على {durationLabel} لهذه القناة." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "الوضع البطيء مضبوط على {durationLabel}، لكنك مُستثنى." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "الوضع البطيء مضبوط على {durationLabel}. انتظر قبل إرسال رسالة أخرى." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "انتظر لحظة. ستُغلَق هذه النافذة تلقائيًا بمجرد استلام رسالتك." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "الانتظار بين الرسائل. يمكن لـ \"{bypassSlowmodePermissionLabel}\" تجاوز ذلك." @@ -38500,11 +38501,6 @@ msgstr "أهلاً بك، {username}! سعيدون بانضمامك إلينا." msgid "You're in preview mode" msgstr "أنت في وضع المعاينة" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "أنت في وضع الحركة البطيئة. انتظر قبل إرسال رسالة أخرى." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/auto-i18n-reviewed-unchanged.json b/fluxer_app/src/features/i18n/locales/auto-i18n-reviewed-unchanged.json index 7372a3274..24ac41d43 100644 --- a/fluxer_app/src/features/i18n/locales/auto-i18n-reviewed-unchanged.json +++ b/fluxer_app/src/features/i18n/locales/auto-i18n-reviewed-unchanged.json @@ -1,6758 +1,6773 @@ { - "version": 1, - "locales": { - "ar": [ - { - "msgid": "Alt" - }, - { - "msgid": "Bluesky OAuth" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Enter" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "PgDn" - }, - { - "msgid": "PgUp" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "cron" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "macOS" - }, - { - "msgid": "user@example.com" - } - ], - "bg": [ - { - "msgid": "Alt" - }, - { - "msgid": "Backspace" - }, - { - "msgid": "Bluesky" - }, - { - "msgid": "Bluesky OAuth" - }, - { - "msgid": "Cisco" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Enter" - }, - { - "msgid": "Esc" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "Markdown" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Win" - }, - { - "msgid": "Wordmark" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "cron" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "macOS" - }, - { - "msgid": "user@example.com" - }, - { - "msgid": "{kilobits} kbps" - }, - { - "msgid": "{megabits} Mbps" - }, - { - "msgid": "{messageGroupSpacing}px" - }, - { - "msgid": "{zoomPercent}%" - } - ], - "cs": [ - { - "msgid": "15 FPS" - }, - { - "msgid": "30 FPS" - }, - { - "msgid": "60 FPS" - }, - { - "msgid": "Alt" - }, - { - "msgid": "Backspace" - }, - { - "msgid": "Banner" - }, - { - "msgid": "Bluesky" - }, - { - "msgid": "Bot" - }, - { - "msgid": "Chat" - }, - { - "msgid": "Cisco" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Data" - }, - { - "msgid": "Detail" - }, - { - "msgid": "Emoji" - }, - { - "msgid": "Enter" - }, - { - "msgid": "Esc" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "Hardware" - }, - { - "msgid": "Limit" - }, - { - "msgid": "Logo" - }, - { - "msgid": "Malta" - }, - { - "msgid": "Markdown" - }, - { - "msgid": "Metadata" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "Neko" - }, - { - "msgid": "Offline" - }, - { - "msgid": "Online" - }, - { - "msgid": "PgDn" - }, - { - "msgid": "PgUp" - }, - { - "msgid": "Ping" - }, - { - "msgid": "Plutonium" - }, - { - "msgid": "Port" - }, - { - "msgid": "Premium" - }, - { - "msgid": "Role" - }, - { - "msgid": "Shift" - }, - { - "msgid": "Spam" - }, - { - "msgid": "Stream" - }, - { - "msgid": "Symbol" - }, - { - "msgid": "Text" - }, - { - "msgid": "Tip" - }, - { - "msgid": "Token" - }, - { - "msgid": "Uploader" - }, - { - "msgid": "Video" - }, - { - "msgid": "Web {buildVersion}" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Webhook" - }, - { - "msgid": "Webhook {currentName}" - }, - { - "msgid": "Win" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "cron" - }, - { - "msgid": "emoji {emojiName}" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "macOS" - }, - { - "msgid": "online" - }, - { - "msgid": "video" - }, - { - "msgid": "{desktopChannel} Desktop {desktopVersion}" - }, - { - "msgid": "{fps} FPS" - }, - { - "msgid": "{kilobits} kbps" - }, - { - "msgid": "{megabits} Mbps" - }, - { - "msgid": "{messageGroupSpacing}px" - }, - { - "msgid": "{onlineCount} online" - }, - { - "msgid": "{presenceCount} online" - }, - { - "msgid": "{releaseChannel} Web {buildVersion}" - }, - { - "msgid": "{renderedPresenceCount} online" - }, - { - "msgctxt": "community-settings-tab", - "msgid": "Emoji" - }, - { - "msgctxt": "voice-video-settings-section", - "msgid": "Video" - } - ], - "da": [ - { - "msgid": "15 FPS" - }, - { - "msgid": "30 FPS" - }, - { - "msgid": "60 FPS" - }, - { - "msgid": "Acceleration" - }, - { - "msgid": "Admin" - }, - { - "msgid": "Administrator" - }, - { - "msgid": "Alt" - }, - { - "msgid": "Animation" - }, - { - "msgid": "Apps" - }, - { - "msgid": "Avatar" - }, - { - "msgid": "Badge" - }, - { - "msgid": "Banner" - }, - { - "msgid": "Bind" - }, - { - "msgid": "Bio" - }, - { - "msgid": "Bitrate" - }, - { - "msgid": "Bluesky" - }, - { - "msgid": "Bluesky OAuth" - }, - { - "msgid": "Boost" - }, - { - "msgid": "Bot" - }, - { - "msgid": "Bots" - }, - { - "msgid": "Branding" - }, - { - "msgid": "Chat" - }, - { - "msgid": "Cisco" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Codec" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Data" - }, - { - "msgid": "Download" - }, - { - "msgid": "Download {productName}" - }, - { - "msgid": "Emoji" - }, - { - "msgid": "Emojis" - }, - { - "msgid": "Enter" - }, - { - "msgid": "Esc" - }, - { - "msgid": "Favicon" - }, - { - "msgid": "Finland" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "Gaming" - }, - { - "msgid": "Gateway" - }, - { - "msgid": "Hardware" - }, - { - "msgid": "Hashing" - }, - { - "msgid": "Hindi" - }, - { - "msgid": "Hyperlink" - }, - { - "msgid": "Inviter" - }, - { - "msgid": "Jitter" - }, - { - "msgid": "Job {jobId}: {jobStatus}" - }, - { - "msgid": "Jobs" - }, - { - "msgid": "Lane" - }, - { - "msgid": "Link" - }, - { - "msgid": "Links" - }, - { - "msgid": "Live" - }, - { - "msgid": "Logo" - }, - { - "msgid": "Luxembourg" - }, - { - "msgid": "Malta" - }, - { - "msgid": "Markdown" - }, - { - "msgid": "Metadata" - }, - { - "msgid": "Moderator" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "Navigation" - }, - { - "msgid": "Neko" - }, - { - "msgid": "Net" - }, - { - "msgid": "Node" - }, - { - "msgid": "Normal" - }, - { - "msgid": "Offline" - }, - { - "msgid": "Offset {offset}" - }, - { - "msgid": "Online" - }, - { - "msgid": "Output" - }, - { - "msgid": "Permanent" - }, - { - "msgid": "PgDn" - }, - { - "msgid": "PgUp" - }, - { - "msgid": "Ping" - }, - { - "msgid": "Platform" - }, - { - "msgid": "Plutonium" - }, - { - "msgid": "Port" - }, - { - "msgid": "Portugal" - }, - { - "msgid": "Premium" - }, - { - "msgid": "Prompt" - }, - { - "msgid": "Region: {regionName}" - }, - { - "msgid": "Relevant" - }, - { - "msgid": "Send" - }, - { - "msgid": "Send ({selectedCount}/{selectionLimit})" - }, - { - "msgid": "Send GIF {title}" - }, - { - "msgid": "Send animation" - }, - { - "msgid": "Session" - }, - { - "msgid": "Spoiler" - }, - { - "msgid": "Standard" - }, - { - "msgid": "Standard {baseCurrencyLabel}" - }, - { - "msgid": "Start" - }, - { - "msgid": "Status" - }, - { - "msgid": "Sticker" - }, - { - "msgid": "Stop" - }, - { - "msgid": "Stream" - }, - { - "msgid": "Stream video" - }, - { - "msgid": "Symbol" - }, - { - "msgid": "System" - }, - { - "msgid": "Tag" - }, - { - "msgid": "Tags" - }, - { - "msgid": "Tags ({tagCount}/{tagLimit})" - }, - { - "msgid": "Test SMTP" - }, - { - "msgid": "Thai" - }, - { - "msgid": "Tip" - }, - { - "msgid": "Token" - }, - { - "msgid": "Tokens" - }, - { - "msgid": "Tone" - }, - { - "msgid": "Top" - }, - { - "msgid": "Type" - }, - { - "msgid": "Type {premiumType}" - }, - { - "msgid": "Upload banner" - }, - { - "msgid": "Upload emoji" - }, - { - "msgid": "Uploader" - }, - { - "msgid": "Version" - }, - { - "msgid": "Video" - }, - { - "msgid": "Web {buildVersion}" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Webcam" - }, - { - "msgid": "Webhook" - }, - { - "msgid": "Webhook {currentName}" - }, - { - "msgid": "Webhooks" - }, - { - "msgid": "Win" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "Zoom" - }, - { - "msgid": "emoji {emojiName}" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "link" - }, - { - "msgid": "macOS" - }, - { - "msgid": "online" - }, - { - "msgid": "repost" - }, - { - "msgid": "slash {commandName}" - }, - { - "msgid": "spoiler" - }, - { - "msgid": "sticker" - }, - { - "msgid": "video" - }, - { - "msgid": "{count, plural, one {# emoji} other {# emojis}}" - }, - { - "msgid": "{desktopChannel} Desktop {desktopVersion}" - }, - { - "msgid": "{formattedPresenceCount} online" - }, - { - "msgid": "{fps} FPS" - }, - { - "msgid": "{kilobits} kbps" - }, - { - "msgid": "{length} apps" - }, - { - "msgid": "{megabits} Mbps" - }, - { - "msgid": "{messageGroupSpacing}px" - }, - { - "msgid": "{onlineCount} online" - }, - { - "msgid": "{presenceCount} online" - }, - { - "msgid": "{releaseChannel} Web {buildVersion}" - }, - { - "msgid": "{renderedPresenceCount} online" - }, - { - "msgid": "{tokenCount, plural, one {# token} other {# tokens}}" - }, - { - "msgid": "{zoomPercent}%" - }, - { - "msgctxt": "accessibility-settings-section", - "msgid": "Animation" - }, - { - "msgctxt": "channel-settings-tab", - "msgid": "Webhooks" - }, - { - "msgctxt": "chat-settings-section", - "msgid": "Input" - }, - { - "msgctxt": "community-settings-tab", - "msgid": "Webhooks" - }, - { - "msgctxt": "noise-suppression-option", - "msgid": "Standard" - }, - { - "msgctxt": "voice-video-settings-section", - "msgid": "Video" - } - ], - "de": [ - { - "msgid": "15 FPS" - }, - { - "msgid": "30 FPS" - }, - { - "msgid": "60 FPS" - }, - { - "msgid": "ACLs" - }, - { - "msgid": "Admin" - }, - { - "msgid": "Administrator" - }, - { - "msgid": "Animation" - }, - { - "msgid": "Apps" - }, - { - "msgid": "Assets" - }, - { - "msgid": "Audio" - }, - { - "msgid": "Avatar" - }, - { - "msgid": "Banner" - }, - { - "msgid": "Bitrate" - }, - { - "msgid": "Bluesky" - }, - { - "msgid": "Bluesky OAuth" - }, - { - "msgid": "Boost" - }, - { - "msgid": "Bot" - }, - { - "msgid": "Bots" - }, - { - "msgid": "Branding" - }, - { - "msgid": "Chat" - }, - { - "msgid": "Cisco" - }, - { - "msgid": "Client" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Code" - }, - { - "msgid": "Codec" - }, - { - "msgid": "Codes" - }, - { - "msgid": "Communities" - }, - { - "msgid": "Community" - }, - { - "msgid": "Favicon" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "Jitter" - }, - { - "msgid": "Link" - }, - { - "msgid": "Links" - }, - { - "msgid": "Live" - }, - { - "msgid": "Logo" - }, - { - "msgid": "Malta" - }, - { - "msgid": "Markdown" - }, - { - "msgid": "Mod" - }, - { - "msgid": "Moderation" - }, - { - "msgid": "Moderator" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "Name" - }, - { - "msgid": "Name: {0}." - }, - { - "msgid": "Navigation" - }, - { - "msgid": "Neko" - }, - { - "msgid": "Normal" - }, - { - "msgid": "Offline" - }, - { - "msgid": "Offset {offset}" - }, - { - "msgid": "Okay" - }, - { - "msgid": "Online" - }, - { - "msgid": "Passkey" - }, - { - "msgid": "Passkeys" - }, - { - "msgid": "Pause" - }, - { - "msgid": "Plutonium" - }, - { - "msgid": "Port" - }, - { - "msgid": "Portugal" - }, - { - "msgid": "Position" - }, - { - "msgid": "Premium" - }, - { - "msgid": "Region" - }, - { - "msgid": "Region: {regionName}" - }, - { - "msgid": "Smileys" - }, - { - "msgid": "Spam" - }, - { - "msgid": "Spoiler" - }, - { - "msgid": "Standard" - }, - { - "msgid": "Standard {baseCurrencyLabel}" - }, - { - "msgid": "Status" - }, - { - "msgid": "Sticker" - }, - { - "msgid": "Sticker: {stickerName}" - }, - { - "msgid": "Stream" - }, - { - "msgid": "Symbol" - }, - { - "msgid": "System" - }, - { - "msgid": "Tab" - }, - { - "msgid": "Tag" - }, - { - "msgid": "Tags" - }, - { - "msgid": "Tags ({tagCount}/{tagLimit})" - }, - { - "msgid": "Text" - }, - { - "msgid": "Toast" - }, - { - "msgid": "Token" - }, - { - "msgid": "Tokens" - }, - { - "msgid": "Tracking" - }, - { - "msgid": "Uploader" - }, - { - "msgid": "Version" - }, - { - "msgid": "Video" - }, - { - "msgid": "Videos" - }, - { - "msgid": "Web {buildVersion}" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Webcam" - }, - { - "msgid": "Webhook" - }, - { - "msgid": "Webhook {currentName}" - }, - { - "msgid": "Webhooks" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "macOS" - }, - { - "msgid": "{desktopChannel} Desktop {desktopVersion}" - }, - { - "msgid": "{formattedPresenceCount} online" - }, - { - "msgid": "{fps} FPS" - }, - { - "msgid": "{kilobits} kbps" - }, - { - "msgid": "{megabits} Mbps" - }, - { - "msgid": "{messageGroupSpacing}px" - }, - { - "msgid": "{onlineCount} online" - }, - { - "msgid": "{presenceCount} online" - }, - { - "msgid": "{productName} Bug Hunter" - }, - { - "msgid": "{productName} Desktop" - }, - { - "msgid": "{releaseChannel} Web {buildVersion}" - }, - { - "msgid": "{renderedPresenceCount} online" - }, - { - "msgctxt": "accessibility-settings-section", - "msgid": "Animation" - }, - { - "msgctxt": "channel-settings-tab", - "msgid": "Webhooks" - }, - { - "msgctxt": "community-settings-tab", - "msgid": "Moderation" - }, - { - "msgctxt": "community-settings-tab", - "msgid": "Webhooks" - }, - { - "msgctxt": "noise-suppression-option", - "msgid": "Standard" - }, - { - "msgctxt": "voice-video-settings-section", - "msgid": "Video" - } - ], - "el": [ - { - "msgid": "15 FPS" - }, - { - "msgid": "30 FPS" - }, - { - "msgid": "60 FPS" - }, - { - "msgid": "Alt" - }, - { - "msgid": "Anime & manga" - }, - { - "msgid": "Backspace" - }, - { - "msgid": "Bluesky" - }, - { - "msgid": "Bluesky OAuth" - }, - { - "msgid": "Cisco" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Email" - }, - { - "msgid": "Emoji" - }, - { - "msgid": "Enter" - }, - { - "msgid": "Esc" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "Neko" - }, - { - "msgid": "PgDn" - }, - { - "msgid": "PgUp" - }, - { - "msgid": "Ping: {currentLatency}ms" - }, - { - "msgid": "Ping: {latency}ms" - }, - { - "msgid": "Premium" - }, - { - "msgid": "Spam" - }, - { - "msgid": "Web {buildVersion}" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Webhook" - }, - { - "msgid": "Webhook {currentName}" - }, - { - "msgid": "Webhooks" - }, - { - "msgid": "Win" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "cron" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "macOS" - }, - { - "msgid": "user@example.com" - }, - { - "msgid": "{fps} FPS" - }, - { - "msgid": "{kilobits} kbps" - }, - { - "msgid": "{megabits} Mbps" - }, - { - "msgid": "{messageGroupSpacing}px" - }, - { - "msgid": "{releaseChannel} Web {buildVersion}" - }, - { - "msgctxt": "community-settings-tab", - "msgid": "Emoji" - }, - { - "msgctxt": "community-settings-tab", - "msgid": "Webhooks" - } - ], - "en-GB": [ - { - "msgid": "<0>{targetUserTag} is currently timed out. You can update their timeout duration or remove the timeout." - }, - { - "msgid": "Add a Klipy API key to enable GIF search at runtime." - }, - { - "msgid": "Advertise a capped decode codec to force publisher migration" - }, - { - "msgid": "Anyone can create an account." - }, - { - "msgid": "Anyone can request an account, but an administrator must approve it." - }, - { - "msgid": "Approval required" - }, - { - "msgid": "Are you sure you want to kick <0>{targetUserTag} from the community? They will be able to rejoin with a new invite." - }, - { - "msgid": "Banned {targetUserTag} from the community" - }, - { - "msgid": "Bluesky connections" - }, - { - "msgid": "Bold" - }, - { - "msgid": "Branding asset preview" - }, - { - "msgid": "Choices" - }, - { - "msgid": "Choose how new accounts are created on this instance." - }, - { - "msgid": "Choose the premium model" - }, - { - "msgid": "Clear command" - }, - { - "msgid": "Closed" - }, - { - "msgid": "Codec negotiation testing" - }, - { - "msgid": "Combobox" - }, - { - "msgid": "Commands" - }, - { - "msgid": "Community model" - }, - { - "msgid": "Community overrides" - }, - { - "msgid": "Connection volume controls" - }, - { - "msgid": "Could not load the instance configuration. Try reloading the page." - }, - { - "msgid": "Couldn't connect to voice. Please try again." - }, - { - "msgid": "Couldn't duplicate this channel" - }, - { - "msgid": "Create administrator account" - }, - { - "msgid": "Create the administrator account" - }, - { - "msgid": "Custom emoji {emojiName} from a community" - }, - { - "msgid": "Custom emoji {emojiName} from {communityName}" - }, - { - "msgid": "Decide how premium limits apply to people on this instance." - }, - { - "msgid": "Denied" - }, - { - "msgid": "Device volume" - }, - { - "msgid": "Disable direct messages and friend requests" - }, - { - "msgid": "Emulate decode codec (testing)" - }, - { - "msgid": "Enable the integrations whose credentials you have configured. Only available services are shown." - }, - { - "msgid": "Ensures file messages appear in the order you sent them" - }, - { - "msgid": "Enter a community name between 1 and 100 characters." - }, - { - "msgid": "Enter a product name between 1 and 80 characters." - }, - { - "msgid": "Enter the PIN for your security key to continue." - }, - { - "msgid": "Entrance sounds unavailable" - }, - { - "msgid": "Excluded search filter: {filter}" - }, - { - "msgid": "Favicon" - }, - { - "msgid": "File ordering" - }, - { - "msgid": "Finish" - }, - { - "msgid": "Finish setup" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "Focus window" - }, - { - "msgid": "Full user tag: {tag}" - }, - { - "msgid": "Fully quit and restart {productName} so macOS applies this permission." - }, - { - "msgid": "Give everyone on this instance the highest premium limits." - }, - { - "msgid": "Grant" - }, - { - "msgid": "Granted" - }, - { - "msgid": "How much of the member's recent message history to delete." - }, - { - "msgid": "Image assets" - }, - { - "msgid": "Incorrect PIN. Try again." - }, - { - "msgid": "Incorrect PIN. {retriesRemaining, plural, one {# attempt} other {# attempts}} left before the security key locks." - }, - { - "msgid": "Inline code" - }, - { - "msgid": "Italic" - }, - { - "msgid": "Keep Neko still" - }, - { - "msgid": "Kicked {targetUserTag} from the community" - }, - { - "msgid": "Klipy GIFs" - }, - { - "msgid": "Let people link their Bluesky account to their profile." - }, - { - "msgid": "Let people search and send GIFs powered by Klipy." - }, - { - "msgid": "Loading instance configuration" - }, - { - "msgid": "Logo" - }, - { - "msgid": "Make the instance yours" - }, - { - "msgid": "Mirror tiers" - }, - { - "msgid": "My community" - }, - { - "msgid": "Neko cat that chases your cursor" - }, - { - "msgid": "No optional services are available on this instance. You can skip this step." - }, - { - "msgid": "Open Settings" - }, - { - "msgid": "Open popup" - }, - { - "msgid": "Opens the Members page. Press Space or Enter to open." - }, - { - "msgid": "Optional arguments" - }, - { - "msgid": "Optional services" - }, - { - "msgid": "Ordered upload" - }, - { - "msgid": "Per-device volume" - }, - { - "msgid": "Pin Neko to the top-right of the chat input instead of following your cursor" - }, - { - "msgid": "Popped out" - }, - { - "msgid": "Premium model" - }, - { - "msgid": "Prevent <0>{targetUserTag} from sending messages, reacting, and connecting to voice channels for the specified duration." - }, - { - "msgid": "Prevent <0>{targetUserTag} from sending messages, reacting, and joining voice channels for the specified duration." - }, - { - "msgid": "Previous 2 days" - }, - { - "msgid": "Previous 3 days" - }, - { - "msgid": "Previous 4 days" - }, - { - "msgid": "Previous 5 days" - }, - { - "msgid": "Previous 6 days" - }, - { - "msgid": "Product name" - }, - { - "msgid": "Profile banners are not enabled on this instance." - }, - { - "msgid": "Public registration is closed." - }, - { - "msgid": "Reason (optional)." - }, - { - "msgid": "Registration" - }, - { - "msgid": "Removed timeout from {targetUserTag}" - }, - { - "msgid": "Removing the timeout will allow <0>{targetUserTag} to send messages, react, and join voice channels again." - }, - { - "msgid": "Resize expression picker from bottom left" - }, - { - "msgid": "Resize expression picker from bottom right" - }, - { - "msgid": "Resize expression picker from top left" - }, - { - "msgid": "Resize expression picker from top right" - }, - { - "msgid": "Resize inbox from bottom left" - }, - { - "msgid": "Resize inbox from bottom right" - }, - { - "msgid": "Resize inbox from top left" - }, - { - "msgid": "Resize inbox from top right" - }, - { - "msgid": "Resize sidebar" - }, - { - "msgid": "Review" - }, - { - "msgid": "Review microphone, camera, screen recording, and Input Monitoring access." - }, - { - "msgid": "Review the permissions {productName} uses for voice, video, screen sharing, and shortcuts." - }, - { - "msgid": "Review your choices below, then finish. This saves the configuration, opens the instance, and reloads the app." - }, - { - "msgid": "Run the instance as one community instead of many. This can only be enabled now, during setup." - }, - { - "msgid": "Search filter: {filter}" - }, - { - "msgid": "Security key PIN" - }, - { - "msgid": "Security key PIN form" - }, - { - "msgid": "Self-host setup" - }, - { - "msgid": "Send file messages in order" - }, - { - "msgid": "Sequential send" - }, - { - "msgid": "Serial send" - }, - { - "msgid": "Set up {productName}" - }, - { - "msgid": "Shape the social model" - }, - { - "msgid": "Share screens and windows." - }, - { - "msgid": "Show connection volume controls" - }, - { - "msgid": "Show per-device participant volume sliders in voice menus" - }, - { - "msgid": "Show rich previews for YouTube links." - }, - { - "msgid": "Sign-in details" - }, - { - "msgid": "Single community" - }, - { - "msgid": "Single community mode" - }, - { - "msgid": "Static Neko" - }, - { - "msgid": "Still Neko" - }, - { - "msgid": "Stop Neko from chasing your cursor while keeping it draggable and interactive." - }, - { - "msgid": "Symbol" - }, - { - "msgid": "Syntax highlighting" - }, - { - "msgid": "Talk in calls and test your input." - }, - { - "msgid": "Text is rendered with grayscale antialiasing instead of ClearType while transparency is enabled, so it will look softer." - }, - { - "msgid": "That image could not be used. Try a different file." - }, - { - "msgid": "The member to target." - }, - { - "msgid": "The message to send." - }, - { - "msgid": "These options change how people use the instance. Some can only be chosen during setup." - }, - { - "msgid": "This instance currently allows screen share up to 720p at 30 FPS." - }, - { - "msgid": "This instance has no accounts yet. The first account you create automatically becomes the administrator. Create it now, then return here to finish setup." - }, - { - "msgid": "This option is required. Please provide a value." - }, - { - "msgid": "This reset link has expired. Reset links last 1 hour. Please request a new one." - }, - { - "msgid": "Timed out {targetUserTag}" - }, - { - "msgid": "Unavailable" - }, - { - "msgid": "Use system-wide push-to-talk and shortcuts." - }, - { - "msgid": "Use the Up and Down arrow keys to move between items and Space or Enter to open one. Where a tab has sections, the Right arrow expands it and the Left arrow collapses it." - }, - { - "msgid": "Use video and camera previews." - }, - { - "msgid": "Volume sliders" - }, - { - "msgid": "Welcome" - }, - { - "msgid": "Welcome to {productName}" - }, - { - "msgid": "What to search for." - }, - { - "msgid": "Who can join" - }, - { - "msgid": "Wordmark" - }, - { - "msgid": "YouTube enrichment" - }, - { - "msgid": "Your new nickname, or leave blank to reset it." - }, - { - "msgid": "farewell" - }, - { - "msgid": "greeting" - }, - { - "msgid": "macOS" - }, - { - "msgid": "macOS permissions" - }, - { - "msgid": "members" - }, - { - "msgid": "not" - }, - { - "msgid": "online" - }, - { - "msgid": "{count, plural, =0 {∞ No limit} one {# participant} other {# participants}}" - }, - { - "msgid": "{count, plural, one {# minute} other {# minutes}}" - }, - { - "msgid": "{productName} application logo" - }, - { - "msgid": "{productName} needs screen recording access. Allow screen recording in your operating system privacy settings and restart the app." - }, - { - "msgid": "{productName} wordmark" - }, - { - "msgid": "{remaining, plural, one {+# more} other {+# more}}" - }, - { - "msgctxt": "security-settings-section", - "msgid": "Sign-in details" - }, - { - "msgctxt": "voice-connection-status", - "msgid": "Connection failed" - }, - { - "msgctxt": "voice-connection-status", - "msgid": "Dismiss" - }, - { - "msgctxt": "voice-connection-status", - "msgid": "Retry" - } - ], - "es-419": [ - { - "msgid": "15 FPS" - }, - { - "msgid": "30 FPS" - }, - { - "msgid": "60 FPS" - }, - { - "msgid": "Alt" - }, - { - "msgid": "Audio" - }, - { - "msgid": "Austria" - }, - { - "msgid": "Avatar" - }, - { - "msgid": "Banner" - }, - { - "msgid": "Bluesky" - }, - { - "msgid": "Bot" - }, - { - "msgid": "Bots" - }, - { - "msgid": "Bulgaria" - }, - { - "msgid": "Chat" - }, - { - "msgid": "Cisco" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Color" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Emoji" - }, - { - "msgid": "Emojis" - }, - { - "msgid": "Error" - }, - { - "msgid": "Esc" - }, - { - "msgid": "Escape" - }, - { - "msgid": "Estonia" - }, - { - "msgid": "Experimental" - }, - { - "msgid": "Favicon" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "GIFs" - }, - { - "msgid": "General" - }, - { - "msgid": "Hardware" - }, - { - "msgid": "Hindi" - }, - { - "msgid": "Invisible" - }, - { - "msgid": "Logo" - }, - { - "msgid": "Malta" - }, - { - "msgid": "Markdown" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "Neko" - }, - { - "msgid": "No" - }, - { - "msgid": "Normal" - }, - { - "msgid": "PiP" - }, - { - "msgid": "Plan" - }, - { - "msgid": "Portugal" - }, - { - "msgid": "Premium" - }, - { - "msgid": "Roles" - }, - { - "msgid": "Roles ({roleCount})" - }, - { - "msgid": "Social" - }, - { - "msgid": "Spam" - }, - { - "msgid": "Spoiler" - }, - { - "msgid": "Spoilers" - }, - { - "msgid": "Sticker" - }, - { - "msgid": "Sticker: {stickerName}" - }, - { - "msgid": "Stickers" - }, - { - "msgid": "Stickers: {stickerNames}" - }, - { - "msgid": "Token" - }, - { - "msgid": "Tokens" - }, - { - "msgid": "Video" - }, - { - "msgid": "Videos" - }, - { - "msgid": "Visual" - }, - { - "msgid": "Web {buildVersion}" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Webhook" - }, - { - "msgid": "Webhook {currentName}" - }, - { - "msgid": "Webhooks" - }, - { - "msgid": "Win" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "Zoom" - }, - { - "msgid": "cron" - }, - { - "msgid": "emoji {emojiName}" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "macOS" - }, - { - "msgid": "sendSystemDm" - }, - { - "msgid": "spoiler" - }, - { - "msgid": "sticker" - }, - { - "msgid": "video" - }, - { - "msgid": "{count, plural, one {# emoji} other {# emojis}}" - }, - { - "msgid": "{fps} FPS" - }, - { - "msgid": "{kilobits} kbps" - }, - { - "msgid": "{length} stickers" - }, - { - "msgid": "{megabits} Mbps" - }, - { - "msgid": "{messageGroupSpacing}px" - }, - { - "msgid": "{tokenCount, plural, one {# token} other {# tokens}}" - }, - { - "msgid": "{totalCount} total" - }, - { - "msgid": "{zoomPercent}%" - }, - { - "msgctxt": "channel-settings-tab", - "msgid": "Webhooks" - }, - { - "msgctxt": "community-settings-tab", - "msgid": "Roles" - }, - { - "msgctxt": "community-settings-tab", - "msgid": "Webhooks" - }, - { - "msgctxt": "voice-video-settings-section", - "msgid": "Audio" - }, - { - "msgctxt": "voice-video-settings-section", - "msgid": "Video" - } - ], - "es-ES": [ - { - "msgid": "15 FPS" - }, - { - "msgid": "30 FPS" - }, - { - "msgid": "60 FPS" - }, - { - "msgid": "Alt" - }, - { - "msgid": "Audio" - }, - { - "msgid": "Austria" - }, - { - "msgid": "Avatar" - }, - { - "msgid": "Bluesky" - }, - { - "msgid": "Bot" - }, - { - "msgid": "Bots" - }, - { - "msgid": "Bulgaria" - }, - { - "msgid": "Chat" - }, - { - "msgid": "Cisco" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Color" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Emoji" - }, - { - "msgid": "Emojis" - }, - { - "msgid": "Error" - }, - { - "msgid": "Esc" - }, - { - "msgid": "Escape" - }, - { - "msgid": "Estonia" - }, - { - "msgid": "Experimental" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "Gateway" - }, - { - "msgid": "General" - }, - { - "msgid": "Hardware" - }, - { - "msgid": "Hindi" - }, - { - "msgid": "Invisible" - }, - { - "msgid": "Malta" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "Neko" - }, - { - "msgid": "Roles ({roleCount})" - }, - { - "msgid": "Token" - }, - { - "msgid": "Tokens" - }, - { - "msgid": "Visual" - }, - { - "msgid": "Web {buildVersion}" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Webhook" - }, - { - "msgid": "Webhook {currentName}" - }, - { - "msgid": "Webhooks" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "Zoom" - }, - { - "msgid": "cron" - }, - { - "msgid": "emoji {emojiName}" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "macOS" - }, - { - "msgid": "{count, plural, one {# emoji} other {# emojis}}" - }, - { - "msgid": "{fps} FPS" - }, - { - "msgid": "{kilobits} kbps" - }, - { - "msgid": "{megabits} Mbps" - }, - { - "msgid": "{messageGroupSpacing}px" - }, - { - "msgid": "{releaseChannel} Web {buildVersion}" - }, - { - "msgid": "{tokenCount, plural, one {# token} other {# tokens}}" - }, - { - "msgid": "{zoomPercent}%" - }, - { - "msgctxt": "channel-settings-tab", - "msgid": "Webhooks" - }, - { - "msgctxt": "community-settings-tab", - "msgid": "Webhooks" - }, - { - "msgctxt": "voice-video-settings-section", - "msgid": "Audio" - } - ], - "fi": [ - { - "msgid": "15 FPS" - }, - { - "msgid": "30 FPS" - }, - { - "msgid": "60 FPS" - }, - { - "msgid": "Alt" - }, - { - "msgid": "Bluesky" - }, - { - "msgid": "Bluesky OAuth" - }, - { - "msgid": "Bulgaria" - }, - { - "msgid": "Chat" - }, - { - "msgid": "Cisco" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Emoji" - }, - { - "msgid": "Enter" - }, - { - "msgid": "Esc" - }, - { - "msgid": "Favicon" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "Latvia" - }, - { - "msgid": "Logo" - }, - { - "msgid": "Malta" - }, - { - "msgid": "Markdown" - }, - { - "msgid": "Media" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "Neko" - }, - { - "msgid": "Plutonium" - }, - { - "msgid": "Premium" - }, - { - "msgid": "Romania" - }, - { - "msgid": "Slovakia" - }, - { - "msgid": "Slovenia" - }, - { - "msgid": "Video" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Webhook" - }, - { - "msgid": "Webhook {currentName}" - }, - { - "msgid": "Win" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "cron" - }, - { - "msgid": "emoji {emojiName}" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "macOS" - }, - { - "msgid": "video" - }, - { - "msgid": "{fps} FPS" - }, - { - "msgid": "{kilobits} kbps" - }, - { - "msgid": "{megabits} Mbps" - }, - { - "msgid": "{messageGroupSpacing}px" - }, - { - "msgid": "{releaseChannel} Web {buildVersion}" - }, - { - "msgctxt": "chat-settings-section", - "msgid": "Media" - }, - { - "msgctxt": "voice-video-settings-section", - "msgid": "Video" - } - ], - "fr": [ - { - "msgid": "1 mention" - }, - { - "msgid": "1 minute" - }, - { - "msgid": "10 minutes" - }, - { - "msgid": "15 minutes" - }, - { - "msgid": "30 minutes" - }, - { - "msgid": "5 minutes" - }, - { - "msgid": "Action" - }, - { - "msgid": "Actions" - }, - { - "msgid": "Admin" - }, - { - "msgid": "Alt" - }, - { - "msgid": "Animation" - }, - { - "msgid": "Animations" - }, - { - "msgid": "Applications" - }, - { - "msgid": "Archives" - }, - { - "msgid": "Audio" - }, - { - "msgid": "Auto" - }, - { - "msgid": "Avatar" - }, - { - "msgid": "Avatars" - }, - { - "msgid": "Badge" - }, - { - "msgid": "Bio" - }, - { - "msgid": "Bluesky" - }, - { - "msgid": "Bot" - }, - { - "msgid": "Bots" - }, - { - "msgid": "Capture" - }, - { - "msgid": "Cisco" - }, - { - "msgid": "Client" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Code" - }, - { - "msgid": "Codec" - }, - { - "msgid": "Codes" - }, - { - "msgid": "Communication" - }, - { - "msgid": "Compact" - }, - { - "msgid": "Compact (400x300)" - }, - { - "msgid": "Composer" - }, - { - "msgid": "Confirmation" - }, - { - "msgid": "Contact" - }, - { - "msgid": "Conversations" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Danger" - }, - { - "msgid": "Date" - }, - { - "msgid": "Dense" - }, - { - "msgid": "Description" - }, - { - "msgid": "Documentation" - }, - { - "msgid": "Expiration" - }, - { - "msgid": "Expressions" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "France" - }, - { - "msgid": "Hindi" - }, - { - "msgid": "Image" - }, - { - "msgid": "Images" - }, - { - "msgid": "Important" - }, - { - "msgid": "Interface" - }, - { - "msgid": "Invisible" - }, - { - "msgid": "Inviter" - }, - { - "msgid": "Latitude" - }, - { - "msgid": "Local {localizedCurrencyLabel}" - }, - { - "msgid": "Logo" - }, - { - "msgid": "Longitude" - }, - { - "msgid": "Luxembourg" - }, - { - "msgid": "Markdown" - }, - { - "msgid": "Mature" - }, - { - "msgid": "Mentions" - }, - { - "msgid": "Message" - }, - { - "msgid": "Message @" - }, - { - "msgid": "Messages" - }, - { - "msgid": "Microphone" - }, - { - "msgid": "Minutes" - }, - { - "msgid": "Narration" - }, - { - "msgid": "Navigation" - }, - { - "msgid": "Neko" - }, - { - "msgid": "Normal" - }, - { - "msgid": "Note" - }, - { - "msgid": "Notifications" - }, - { - "msgid": "Options" - }, - { - "msgid": "Packs" - }, - { - "msgid": "Page {pageNumber}" - }, - { - "msgid": "Participants" - }, - { - "msgid": "Pause" - }, - { - "msgid": "Permanent" - }, - { - "msgid": "Photo" - }, - { - "msgid": "Phrase" - }, - { - "msgid": "PiP" - }, - { - "msgid": "Ping" - }, - { - "msgid": "Plutonium" - }, - { - "msgid": "Port" - }, - { - "msgid": "Portugal" - }, - { - "msgid": "Position" - }, - { - "msgid": "Premium" - }, - { - "msgid": "Saturation" - }, - { - "msgid": "Secret" - }, - { - "msgid": "Secrets" - }, - { - "msgid": "Session" - }, - { - "msgid": "Sessions" - }, - { - "msgid": "Silence" - }, - { - "msgid": "Social" - }, - { - "msgid": "Source" - }, - { - "msgid": "Spam" - }, - { - "msgid": "Spoiler" - }, - { - "msgid": "Spoilers" - }, - { - "msgid": "Standard" - }, - { - "msgid": "Standard {baseCurrencyLabel}" - }, - { - "msgid": "Stickers" - }, - { - "msgid": "Suggestions" - }, - { - "msgid": "Suppression" - }, - { - "msgid": "Tag" - }, - { - "msgid": "Tags" - }, - { - "msgid": "Tags ({tagCount}/{tagLimit})" - }, - { - "msgid": "Toast" - }, - { - "msgid": "Traits" - }, - { - "msgid": "Type" - }, - { - "msgid": "Type {premiumType}" - }, - { - "msgid": "Version" - }, - { - "msgid": "Volume" - }, - { - "msgid": "Web {buildVersion}" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Webcam" - }, - { - "msgid": "Webhook" - }, - { - "msgid": "Webhook {currentName}" - }, - { - "msgid": "Webhooks" - }, - { - "msgid": "Win" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "Zoom" - }, - { - "msgid": "cron" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "image" - }, - { - "msgid": "macOS" - }, - { - "msgid": "message" - }, - { - "msgid": "spoiler" - }, - { - "msgid": "{channelHeading}, {mentionCount} mentions" - }, - { - "msgid": "{count, plural, one {# minute} other {# minutes}}" - }, - { - "msgid": "{countLabel} minutes" - }, - { - "msgid": "{fifteenMinutes} minutes" - }, - { - "msgid": "{fps} FPS" - }, - { - "msgid": "{kilobits} kbps" - }, - { - "msgid": "{length} types" - }, - { - "msgid": "{megabits} Mbps" - }, - { - "msgid": "{mentionCount} mentions" - }, - { - "msgid": "{messageCount} messages" - }, - { - "msgid": "{messageGroupSpacing}px" - }, - { - "msgid": "{minutes, plural, one {# minute} other {# minutes}}" - }, - { - "msgid": "{minutes} minutes" - }, - { - "msgid": "{oneMinute} minute" - }, - { - "msgid": "{thirtyMinutes} minutes" - }, - { - "msgid": "{totalCount} total" - }, - { - "msgid": "{totalMentionCount} mentions" - }, - { - "msgctxt": "accessibility-settings-section", - "msgid": "Animation" - }, - { - "msgctxt": "appearance-settings-section", - "msgid": "Interface" - }, - { - "msgctxt": "appearance-settings-section", - "msgid": "Messages" - }, - { - "msgctxt": "channel-settings-tab", - "msgid": "Permissions" - }, - { - "msgctxt": "channel-settings-tab", - "msgid": "Webhooks" - }, - { - "msgctxt": "community-settings-tab", - "msgid": "Webhooks" - }, - { - "msgctxt": "noise-suppression-option", - "msgid": "Standard" - }, - { - "msgctxt": "privacy-settings-section", - "msgid": "Communication" - }, - { - "msgctxt": "user-settings-tab", - "msgid": "Notifications" - }, - { - "msgctxt": "voice-video-settings-section", - "msgid": "Audio" - } - ], - "he": [ - { - "msgid": "Alt" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Enter" - }, - { - "msgid": "Esc" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "PgDn" - }, - { - "msgid": "PgUp" - }, - { - "msgid": "Visionary" - }, - { - "msgid": "Web {buildVersion}" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Webhook {currentName}" - }, - { - "msgid": "Win" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "cron" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "macOS" - }, - { - "msgid": "sendSystemDm" - }, - { - "msgid": "user@example.com" - }, - { - "msgid": "{messageGroupSpacing}px" - }, - { - "msgid": "{releaseChannel} Web {buildVersion}" - }, - { - "msgid": "{zoomPercent}%" - } - ], - "hi": [ - { - "msgid": "15 FPS" - }, - { - "msgid": "Alt" - }, - { - "msgid": "Bluesky OAuth" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Enter" - }, - { - "msgid": "Esc" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "PgDn" - }, - { - "msgid": "PgUp" - }, - { - "msgid": "Win" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "macOS" - }, - { - "msgid": "sendSystemDm" - }, - { - "msgid": "user@example.com" - }, - { - "msgid": "{fps} FPS" - }, - { - "msgid": "{kilobits} kbps" - }, - { - "msgid": "{megabits} Mbps" - }, - { - "msgid": "{messageGroupSpacing}px" - }, - { - "msgid": "{zoomPercent}%" - } - ], - "hr": [ - { - "msgid": "15 FPS" - }, - { - "msgid": "30 FPS" - }, - { - "msgid": "60 FPS" - }, - { - "msgid": "Administrator" - }, - { - "msgid": "Alt" - }, - { - "msgid": "Backspace" - }, - { - "msgid": "Bluesky" - }, - { - "msgid": "Bluesky OAuth" - }, - { - "msgid": "Bot" - }, - { - "msgid": "Cisco" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Enter" - }, - { - "msgid": "Esc" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "Font" - }, - { - "msgid": "Gateway" - }, - { - "msgid": "Logo" - }, - { - "msgid": "Malta" - }, - { - "msgid": "Markdown" - }, - { - "msgid": "Moderator" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "Neko" - }, - { - "msgid": "Online" - }, - { - "msgid": "PgDn" - }, - { - "msgid": "PgUp" - }, - { - "msgid": "Ping" - }, - { - "msgid": "Plan" - }, - { - "msgid": "Port" - }, - { - "msgid": "Portugal" - }, - { - "msgid": "Premium" - }, - { - "msgid": "Premium model" - }, - { - "msgid": "Spam" - }, - { - "msgid": "Status" - }, - { - "msgid": "Token" - }, - { - "msgid": "Web {buildVersion}" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Webhook" - }, - { - "msgid": "Webhook {currentName}" - }, - { - "msgid": "Win" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "cron" - }, - { - "msgid": "emoji {emojiName}" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "macOS" - }, - { - "msgid": "user@example.com" - }, - { - "msgid": "{fps} FPS" - }, - { - "msgid": "{kilobits} kbps" - }, - { - "msgid": "{megabits} Mbps" - }, - { - "msgid": "{messageGroupSpacing}px" - }, - { - "msgid": "{releaseChannel} Web {buildVersion}" - } - ], - "hu": [ - { - "msgid": "15 FPS" - }, - { - "msgid": "30 FPS" - }, - { - "msgid": "60 FPS" - }, - { - "msgid": "Alt" - }, - { - "msgid": "Avatar hash" - }, - { - "msgid": "Belgium" - }, - { - "msgid": "Bluesky" - }, - { - "msgid": "Bluesky OAuth" - }, - { - "msgid": "Bot" - }, - { - "msgid": "Bot DM" - }, - { - "msgid": "Cisco" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Domain" - }, - { - "msgid": "Emoji" - }, - { - "msgid": "Enter" - }, - { - "msgid": "Esc" - }, - { - "msgid": "Favicon" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "Gateway" - }, - { - "msgid": "JWKS URL" - }, - { - "msgid": "Jitter" - }, - { - "msgid": "Link" - }, - { - "msgid": "Markdown" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "Neko" - }, - { - "msgid": "Offline" - }, - { - "msgid": "Online" - }, - { - "msgid": "PgDn" - }, - { - "msgid": "PgUp" - }, - { - "msgid": "Ping" - }, - { - "msgid": "Port" - }, - { - "msgid": "Token" - }, - { - "msgid": "Visionary" - }, - { - "msgid": "Web {buildVersion}" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Webhook" - }, - { - "msgid": "Webhook URL" - }, - { - "msgid": "Win" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "cron" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "link" - }, - { - "msgid": "macOS" - }, - { - "msgid": "online" - }, - { - "msgid": "user@example.com" - }, - { - "msgid": "{fps} FPS" - }, - { - "msgid": "{kilobits} kbps" - }, - { - "msgid": "{megabits} Mbps" - }, - { - "msgid": "{messageGroupSpacing}px" - }, - { - "msgid": "{onlineCount} online" - }, - { - "msgid": "{presenceCount} online" - }, - { - "msgid": "{renderedPresenceCount} online" - }, - { - "msgid": "{zoomPercent}%" - } - ], - "id": [ - { - "msgid": "15 FPS" - }, - { - "msgid": "30 FPS" - }, - { - "msgid": "60 FPS" - }, - { - "msgid": "Admin" - }, - { - "msgid": "Administrator" - }, - { - "msgid": "Alt" - }, - { - "msgid": "Anime & manga" - }, - { - "msgid": "Audio" - }, - { - "msgid": "Audio & video" - }, - { - "msgid": "Austria" - }, - { - "msgid": "Avatar" - }, - { - "msgid": "Backspace" - }, - { - "msgid": "Bandwidth" - }, - { - "msgid": "Bio" - }, - { - "msgid": "Bitrate" - }, - { - "msgid": "Bluesky" - }, - { - "msgid": "Bot" - }, - { - "msgid": "Bulgaria" - }, - { - "msgid": "Cisco" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Codec" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Data" - }, - { - "msgid": "Debug" - }, - { - "msgid": "Default" - }, - { - "msgid": "Edit \"{0}\"" - }, - { - "msgid": "Edit {engineName}" - }, - { - "msgid": "Favicon" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "Hindi" - }, - { - "msgid": "Host" - }, - { - "msgid": "Jitter" - }, - { - "msgid": "Latvia" - }, - { - "msgid": "Logo" - }, - { - "msgid": "Malta" - }, - { - "msgid": "Markdown" - }, - { - "msgid": "Media" - }, - { - "msgid": "Metadata" - }, - { - "msgid": "Moderator" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "Neko" - }, - { - "msgid": "Node" - }, - { - "msgid": "Normal" - }, - { - "msgid": "Offline" - }, - { - "msgid": "Offset {offset}" - }, - { - "msgid": "Online" - }, - { - "msgid": "Output" - }, - { - "msgid": "PgDn" - }, - { - "msgid": "PgUp" - }, - { - "msgid": "PiP" - }, - { - "msgid": "Ping" - }, - { - "msgid": "Platform" - }, - { - "msgid": "Plutonium" - }, - { - "msgid": "Port" - }, - { - "msgid": "Portugal" - }, - { - "msgid": "Premium" - }, - { - "msgid": "SHA-256 Hash" - }, - { - "msgid": "Shift" - }, - { - "msgid": "Slovenia" - }, - { - "msgid": "Spam" - }, - { - "msgid": "Spoiler" - }, - { - "msgid": "Status" - }, - { - "msgid": "Submenu" - }, - { - "msgid": "Substring" - }, - { - "msgid": "Tab" - }, - { - "msgid": "Tag" - }, - { - "msgid": "Target" - }, - { - "msgid": "Template" - }, - { - "msgid": "Token" - }, - { - "msgid": "Total RAM" - }, - { - "msgid": "Unit" - }, - { - "msgid": "Video" - }, - { - "msgid": "Visual" - }, - { - "msgid": "Volume" - }, - { - "msgid": "Web {buildVersion}" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Webcam" - }, - { - "msgid": "Webhook" - }, - { - "msgid": "Webhook {currentName}" - }, - { - "msgid": "Win" - }, - { - "msgid": "Wordmark" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "cron" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "macOS" - }, - { - "msgid": "online" - }, - { - "msgid": "spoiler" - }, - { - "msgid": "user@example.com" - }, - { - "msgid": "video" - }, - { - "msgid": "{formattedPresenceCount} online" - }, - { - "msgid": "{fps} FPS" - }, - { - "msgid": "{kilobits} kbps" - }, - { - "msgid": "{megabits} Mbps" - }, - { - "msgid": "{onlineCount} online" - }, - { - "msgid": "{presenceCount} online" - }, - { - "msgid": "{productName} Desktop" - }, - { - "msgid": "{renderedPresenceCount} online" - }, - { - "msgid": "{totalCount} total" - }, - { - "msgid": "{zoomPercent}%" - }, - { - "msgctxt": "accessibility-settings-section", - "msgid": "Visual" - }, - { - "msgctxt": "chat-settings-section", - "msgid": "Input" - }, - { - "msgctxt": "chat-settings-section", - "msgid": "Media" - }, - { - "msgctxt": "voice-video-settings-section", - "msgid": "Video" - } - ], - "it": [ - { - "msgid": "15 FPS" - }, - { - "msgid": "30 FPS" - }, - { - "msgid": "60 FPS" - }, - { - "msgid": "Account" - }, - { - "msgid": "Alt" - }, - { - "msgid": "Audio" - }, - { - "msgid": "Austria" - }, - { - "msgid": "Avatar" - }, - { - "msgid": "Backspace" - }, - { - "msgid": "Badge" - }, - { - "msgid": "Banner" - }, - { - "msgid": "Bitrate" - }, - { - "msgid": "Bluesky" - }, - { - "msgid": "Bot" - }, - { - "msgid": "Bulgaria" - }, - { - "msgid": "Chat" - }, - { - "msgid": "Cisco" - }, - { - "msgid": "Client" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Codec" - }, - { - "msgid": "Combobox" - }, - { - "msgid": "Community" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Debug" - }, - { - "msgid": "Desktop" - }, - { - "msgid": "Email" - }, - { - "msgid": "Emoji" - }, - { - "msgid": "Endpoint" - }, - { - "msgid": "Esc" - }, - { - "msgid": "Estonia" - }, - { - "msgid": "Favicon" - }, - { - "msgid": "File" - }, - { - "msgid": "File: {fileName}" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "Gateway" - }, - { - "msgid": "Hardware" - }, - { - "msgid": "Hashing" - }, - { - "msgid": "Hindi" - }, - { - "msgid": "Home" - }, - { - "msgid": "Host" - }, - { - "msgid": "In" - }, - { - "msgid": "Input" - }, - { - "msgid": "Jitter" - }, - { - "msgid": "Link" - }, - { - "msgid": "Logo" - }, - { - "msgid": "Malta" - }, - { - "msgid": "Media" - }, - { - "msgid": "Neko" - }, - { - "msgid": "Nickname" - }, - { - "msgid": "Nickname: {nickname}" - }, - { - "msgid": "No" - }, - { - "msgid": "Online" - }, - { - "msgid": "Output" - }, - { - "msgid": "Passkey" - }, - { - "msgid": "Password" - }, - { - "msgid": "Payload" - }, - { - "msgid": "PiP" - }, - { - "msgid": "Ping" - }, - { - "msgid": "Ping: {currentLatency}ms" - }, - { - "msgid": "Ping: {latency}ms" - }, - { - "msgid": "Premium" - }, - { - "msgid": "Privacy" - }, - { - "msgid": "Provider" - }, - { - "msgid": "Romania" - }, - { - "msgid": "Slovenia" - }, - { - "msgid": "Spam" - }, - { - "msgid": "Spoiler" - }, - { - "msgid": "Standard" - }, - { - "msgid": "Standard {baseCurrencyLabel}" - }, - { - "msgid": "Static Neko" - }, - { - "msgid": "Tag" - }, - { - "msgid": "Test SMTP" - }, - { - "msgid": "Token" - }, - { - "msgid": "Video" - }, - { - "msgid": "Volume" - }, - { - "msgid": "Web {buildVersion}" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Webcam" - }, - { - "msgid": "Webhook" - }, - { - "msgid": "Webhook {currentName}" - }, - { - "msgid": "Win" - }, - { - "msgid": "Wordmark" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "Zoom" - }, - { - "msgid": "community" - }, - { - "msgid": "cron" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "link" - }, - { - "msgid": "macOS" - }, - { - "msgid": "online" - }, - { - "msgid": "spoiler" - }, - { - "msgid": "user@example.com" - }, - { - "msgid": "video" - }, - { - "msgid": "{desktopChannel} Desktop {desktopVersion}" - }, - { - "msgid": "{fps} FPS" - }, - { - "msgid": "{kilobits} kbps" - }, - { - "msgid": "{megabits} Mbps" - }, - { - "msgid": "{messageGroupSpacing}px" - }, - { - "msgid": "{productName} Desktop" - }, - { - "msgid": "{releaseChannel} Web {buildVersion}" - }, - { - "msgid": "{zoomPercent}%" - }, - { - "msgctxt": "chat-settings-section", - "msgid": "Input" - }, - { - "msgctxt": "community-settings-tab", - "msgid": "Emoji" - }, - { - "msgctxt": "noise-suppression-option", - "msgid": "Standard" - }, - { - "msgctxt": "security-settings-section", - "msgid": "Account" - }, - { - "msgctxt": "voice-video-settings-section", - "msgid": "Audio" - }, - { - "msgctxt": "voice-video-settings-section", - "msgid": "Video" - } - ], - "ja": [ - { - "msgid": "15 FPS" - }, - { - "msgid": "30 FPS" - }, - { - "msgid": "60 FPS" - }, - { - "msgid": "Alt" - }, - { - "msgid": "Backspace" - }, - { - "msgid": "Bluesky" - }, - { - "msgid": "Bluesky OAuth" - }, - { - "msgid": "Cisco" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Enter" - }, - { - "msgid": "Esc" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "JWKS URL" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "Ping" - }, - { - "msgid": "Ping: {currentLatency}ms" - }, - { - "msgid": "Ping: {latency}ms" - }, - { - "msgid": "Visionary" - }, - { - "msgid": "Visionary ({visionaryLifetimeBadgeLabel})" - }, - { - "msgid": "Visionary ID {visionaryIdLabel}" - }, - { - "msgid": "Web {buildVersion}" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Webhook" - }, - { - "msgid": "Webhook URL" - }, - { - "msgid": "Win" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "cron" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "macOS" - }, - { - "msgid": "user@example.com" - }, - { - "msgid": "{fps} FPS" - }, - { - "msgid": "{kilobits} kbps" - }, - { - "msgid": "{megabits} Mbps" - }, - { - "msgid": "{messageGroupSpacing}px" - }, - { - "msgid": "{releaseChannel} Web {buildVersion}" - }, - { - "msgid": "{zoomPercent}%" - } - ], - "ko": [ - { - "msgid": "15 FPS" - }, - { - "msgid": "30 FPS" - }, - { - "msgid": "60 FPS" - }, - { - "msgid": "Alt" - }, - { - "msgid": "Bluesky OAuth" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Enter" - }, - { - "msgid": "Esc" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "JWKS URL" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "Visionary" - }, - { - "msgid": "cron" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "macOS" - }, - { - "msgid": "sendSystemDm" - }, - { - "msgid": "user@example.com" - }, - { - "msgid": "{fps} FPS" - }, - { - "msgid": "{messageGroupSpacing}px" - }, - { - "msgid": "{zoomPercent}%" - } - ], - "lt": [ - { - "msgid": "60 FPS" - }, - { - "msgid": "Alt" - }, - { - "msgid": "Cisco" - }, - { - "msgid": "Enter" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "Hindi" - }, - { - "msgid": "JWKS URL" - }, - { - "msgid": "Malta" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "Neko" - }, - { - "msgid": "PgDn" - }, - { - "msgid": "PgUp" - }, - { - "msgid": "Premium" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "cron" - }, - { - "msgid": "{fps} FPS" - }, - { - "msgid": "{kilobits} kbps" - }, - { - "msgid": "{megabits} Mbps" - } - ], - "nl": [ - { - "msgid": "1 week" - }, - { - "msgid": "15 FPS" - }, - { - "msgid": "Account" - }, - { - "msgid": "Accounts" - }, - { - "msgid": "Alt" - }, - { - "msgid": "Apps" - }, - { - "msgid": "Audio" - }, - { - "msgid": "Authenticator" - }, - { - "msgid": "Authenticators" - }, - { - "msgid": "Backspace" - }, - { - "msgid": "Badge" - }, - { - "msgid": "Banner" - }, - { - "msgid": "Bio" - }, - { - "msgid": "Bluesky" - }, - { - "msgid": "Bluesky OAuth" - }, - { - "msgid": "Bot" - }, - { - "msgid": "Bots" - }, - { - "msgid": "Camera" - }, - { - "msgid": "Chat" - }, - { - "msgid": "Cisco" - }, - { - "msgid": "Client" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Code" - }, - { - "msgid": "Codec" - }, - { - "msgid": "Codes" - }, - { - "msgid": "Community" - }, - { - "msgid": "Compact" - }, - { - "msgid": "Compact (400x300)" - }, - { - "msgid": "Contact" - }, - { - "msgid": "Contrast" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Cyprus" - }, - { - "msgid": "Desktop" - }, - { - "msgid": "Detail" - }, - { - "msgid": "Details" - }, - { - "msgid": "Discriminator" - }, - { - "msgid": "Echo" - }, - { - "msgid": "Emoji" - }, - { - "msgid": "Emoticon" - }, - { - "msgid": "Emoticons" - }, - { - "msgid": "Favicon" - }, - { - "msgid": "Finland" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "Focus" - }, - { - "msgid": "Gaming" - }, - { - "msgid": "Gateway" - }, - { - "msgid": "Hardware" - }, - { - "msgid": "Help" - }, - { - "msgid": "Hindi" - }, - { - "msgid": "Host" - }, - { - "msgid": "Hyperlink" - }, - { - "msgid": "In" - }, - { - "msgid": "Indicator" - }, - { - "msgid": "Inline" - }, - { - "msgid": "Inline code" - }, - { - "msgid": "Interface" - }, - { - "msgid": "Jitter" - }, - { - "msgid": "Jobs" - }, - { - "msgid": "Lane" - }, - { - "msgid": "Later" - }, - { - "msgid": "Link" - }, - { - "msgid": "Links" - }, - { - "msgid": "Live" - }, - { - "msgid": "Logo" - }, - { - "msgid": "Malta" - }, - { - "msgid": "Markdown" - }, - { - "msgid": "Media" - }, - { - "msgid": "Metadata" - }, - { - "msgid": "Moderator" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "Neko" - }, - { - "msgid": "Node" - }, - { - "msgid": "Nodes" - }, - { - "msgid": "Offline" - }, - { - "msgid": "Offset {offset}" - }, - { - "msgid": "Online" - }, - { - "msgid": "Open @{displayName}" - }, - { - "msgid": "Open community" - }, - { - "msgid": "Open event sink" - }, - { - "msgid": "Open {contextName}" - }, - { - "msgid": "Open {displayName}" - }, - { - "msgid": "Open {landmarkName}" - }, - { - "msgid": "Open {macosSystemSettingsName}" - }, - { - "msgid": "Open {productName}" - }, - { - "msgid": "Payload" - }, - { - "msgid": "Permanent" - }, - { - "msgid": "PgDn" - }, - { - "msgid": "PgUp" - }, - { - "msgid": "PiP" - }, - { - "msgid": "Ping" - }, - { - "msgid": "Platform" - }, - { - "msgid": "Plutonium" - }, - { - "msgid": "Portugal" - }, - { - "msgid": "Premium" - }, - { - "msgid": "Premium model" - }, - { - "msgid": "Privacy" - }, - { - "msgid": "Provider" - }, - { - "msgid": "Realtime" - }, - { - "msgid": "Recent" - }, - { - "msgid": "Relevant" - }, - { - "msgid": "Spam" - }, - { - "msgid": "Spelling" - }, - { - "msgid": "Spoiler" - }, - { - "msgid": "Spoilers" - }, - { - "msgid": "Status" - }, - { - "msgid": "Sticker" - }, - { - "msgid": "Sticker: {stickerName}" - }, - { - "msgid": "Stickers" - }, - { - "msgid": "Stickers: {stickerNames}" - }, - { - "msgid": "Stream" - }, - { - "msgid": "Submenu" - }, - { - "msgid": "Substring" - }, - { - "msgid": "Tag" - }, - { - "msgid": "Tags" - }, - { - "msgid": "Tags ({tagCount}/{tagLimit})" - }, - { - "msgid": "Test SMTP" - }, - { - "msgid": "Tip" - }, - { - "msgid": "Token" - }, - { - "msgid": "Tokens" - }, - { - "msgid": "Tooltips" - }, - { - "msgid": "Tracking" - }, - { - "msgid": "Type" - }, - { - "msgid": "Type {premiumType}" - }, - { - "msgid": "Uploader" - }, - { - "msgid": "Video" - }, - { - "msgid": "Voice servers: {regionName}" - }, - { - "msgid": "Volume" - }, - { - "msgid": "Web {buildVersion}" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Webcam" - }, - { - "msgid": "Webhook" - }, - { - "msgid": "Webhook {currentName}" - }, - { - "msgid": "Webhooks" - }, - { - "msgid": "Website" - }, - { - "msgid": "Win" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "cron" - }, - { - "msgid": "emoji {emojiName}" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "link" - }, - { - "msgid": "macOS" - }, - { - "msgid": "online" - }, - { - "msgid": "reposts" - }, - { - "msgid": "slash {commandName}" - }, - { - "msgid": "spoiler" - }, - { - "msgid": "sticker" - }, - { - "msgid": "video" - }, - { - "msgid": "{count, plural, one {# item} other {# items}}" - }, - { - "msgid": "{formattedPresenceCount} online" - }, - { - "msgid": "{fps} FPS" - }, - { - "msgid": "{kilobits} kbps" - }, - { - "msgid": "{length} apps" - }, - { - "msgid": "{length} stickers" - }, - { - "msgid": "{megabits} Mbps" - }, - { - "msgid": "{onlineCount} online" - }, - { - "msgid": "{presenceCount} online" - }, - { - "msgid": "{renderedPresenceCount} online" - }, - { - "msgid": "{tokenCount, plural, one {# token} other {# tokens}}" - }, - { - "msgid": "{zoomPercent}%" - }, - { - "msgctxt": "appearance-settings-section", - "msgid": "Interface" - }, - { - "msgctxt": "channel-settings-tab", - "msgid": "Webhooks" - }, - { - "msgctxt": "chat-settings-section", - "msgid": "Media" - }, - { - "msgctxt": "community-settings-tab", - "msgid": "Emoji" - }, - { - "msgctxt": "community-settings-tab", - "msgid": "Stickers" - }, - { - "msgctxt": "community-settings-tab", - "msgid": "Webhooks" - }, - { - "msgctxt": "voice-video-settings-section", - "msgid": "Video" - } - ], - "no": [ - { - "msgid": "15 FPS" - }, - { - "msgid": "30 FPS" - }, - { - "msgid": "60 FPS" - }, - { - "msgid": "Admin" - }, - { - "msgid": "Administrator" - }, - { - "msgid": "Alt" - }, - { - "msgid": "Banner" - }, - { - "msgid": "Bind" - }, - { - "msgid": "Bluesky" - }, - { - "msgid": "Bluesky OAuth" - }, - { - "msgid": "Boost" - }, - { - "msgid": "Bot" - }, - { - "msgid": "Bulgaria" - }, - { - "msgid": "Chat" - }, - { - "msgid": "Cisco" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Data" - }, - { - "msgid": "Emoji" - }, - { - "msgid": "Enter" - }, - { - "msgid": "Esc" - }, - { - "msgid": "Favicon" - }, - { - "msgid": "Filter" - }, - { - "msgid": "Finland" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "Full" - }, - { - "msgid": "Gateway" - }, - { - "msgid": "Hindi" - }, - { - "msgid": "Inviter" - }, - { - "msgid": "Jitter" - }, - { - "msgid": "Lane" - }, - { - "msgid": "Latitude" - }, - { - "msgid": "Latvia" - }, - { - "msgid": "Logo" - }, - { - "msgid": "Luxembourg" - }, - { - "msgid": "Malta" - }, - { - "msgid": "Markdown" - }, - { - "msgid": "Metadata" - }, - { - "msgid": "Moderator" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "Neko" - }, - { - "msgid": "Node" - }, - { - "msgid": "Normal" - }, - { - "msgid": "Pause" - }, - { - "msgid": "Permanent" - }, - { - "msgid": "Ping" - }, - { - "msgid": "Plutonium" - }, - { - "msgid": "Port" - }, - { - "msgid": "Portugal" - }, - { - "msgid": "Premium" - }, - { - "msgid": "Region" - }, - { - "msgid": "Region: {regionName}" - }, - { - "msgid": "Ring" - }, - { - "msgid": "Romania" - }, - { - "msgid": "Send" - }, - { - "msgid": "Send ({selectedCount}/{selectionLimit})" - }, - { - "msgid": "Send GIF {title}" - }, - { - "msgid": "Slovakia" - }, - { - "msgid": "Slovenia" - }, - { - "msgid": "Spam" - }, - { - "msgid": "Standard" - }, - { - "msgid": "Standard {baseCurrencyLabel}" - }, - { - "msgid": "Start" - }, - { - "msgid": "Status" - }, - { - "msgid": "Symbol" - }, - { - "msgid": "System" - }, - { - "msgid": "Test SMTP" - }, - { - "msgid": "Thai" - }, - { - "msgid": "Token" - }, - { - "msgid": "Tokens" - }, - { - "msgid": "Tone" - }, - { - "msgid": "Total RAM" - }, - { - "msgid": "Type" - }, - { - "msgid": "Type {premiumType}" - }, - { - "msgid": "Video" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Webhook" - }, - { - "msgid": "Webhook {currentName}" - }, - { - "msgid": "Win" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "Zoom" - }, - { - "msgid": "cron" - }, - { - "msgid": "emoji {emojiName}" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "macOS" - }, - { - "msgid": "repost" - }, - { - "msgid": "sendSystemDm" - }, - { - "msgid": "video" - }, - { - "msgid": "{fps} FPS" - }, - { - "msgid": "{kilobits} kbps" - }, - { - "msgid": "{megabits} Mbps" - }, - { - "msgctxt": "community-settings-tab", - "msgid": "Emoji" - } - ], - "pl": [ - { - "msgid": "Administrator" - }, - { - "msgid": "Alt" - }, - { - "msgid": "Austria" - }, - { - "msgid": "Bluesky" - }, - { - "msgid": "Bot" - }, - { - "msgid": "Cisco" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Echo" - }, - { - "msgid": "Emoji" - }, - { - "msgid": "Enter" - }, - { - "msgid": "Esc" - }, - { - "msgid": "Estonia" - }, - { - "msgid": "Favicon" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "Folder" - }, - { - "msgid": "Hindi" - }, - { - "msgid": "Host" - }, - { - "msgid": "Jitter" - }, - { - "msgid": "Limit" - }, - { - "msgid": "Link" - }, - { - "msgid": "Logo" - }, - { - "msgid": "Malta" - }, - { - "msgid": "Markdown" - }, - { - "msgid": "Moderator" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "Neko" - }, - { - "msgid": "Offline" - }, - { - "msgid": "Online" - }, - { - "msgid": "PgUp" - }, - { - "msgid": "Ping" - }, - { - "msgid": "Plan" - }, - { - "msgid": "Port" - }, - { - "msgid": "Premium" - }, - { - "msgid": "Region" - }, - { - "msgid": "Region: {regionName}" - }, - { - "msgid": "Spam" - }, - { - "msgid": "Status" - }, - { - "msgid": "Symbol" - }, - { - "msgid": "System" - }, - { - "msgid": "Tag" - }, - { - "msgid": "Token" - }, - { - "msgid": "Web {buildVersion}" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Webhook" - }, - { - "msgid": "Webhook {currentName}" - }, - { - "msgid": "Win" - }, - { - "msgid": "Wordmark" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "cron" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "macOS" - }, - { - "msgid": "online" - }, - { - "msgid": "{desktopChannel} Desktop {desktopVersion}" - }, - { - "msgid": "{onlineCount} online" - }, - { - "msgid": "{presenceCount} online" - }, - { - "msgid": "{renderedPresenceCount} online" - }, - { - "msgctxt": "community-settings-tab", - "msgid": "Emoji" - } - ], - "pt-BR": [ - { - "msgid": "15 FPS" - }, - { - "msgid": "30 FPS" - }, - { - "msgid": "60 FPS" - }, - { - "msgid": "ACLs" - }, - { - "msgid": "Admin" - }, - { - "msgid": "Alt" - }, - { - "msgid": "Avatar" - }, - { - "msgid": "Banner" - }, - { - "msgid": "Bluesky" - }, - { - "msgid": "Bot" - }, - { - "msgid": "Bots" - }, - { - "msgid": "Cisco" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Codec" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Emoji" - }, - { - "msgid": "Emojis" - }, - { - "msgid": "Emoticon" - }, - { - "msgid": "Emoticons" - }, - { - "msgid": "Enter" - }, - { - "msgid": "Esc" - }, - { - "msgid": "Experimental" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "GIFs" - }, - { - "msgid": "Gateway" - }, - { - "msgid": "Hardware" - }, - { - "msgid": "Hindi" - }, - { - "msgid": "Interface" - }, - { - "msgid": "Latitude" - }, - { - "msgid": "Link" - }, - { - "msgid": "Links" - }, - { - "msgid": "Login" - }, - { - "msgid": "Logo" - }, - { - "msgid": "Longitude" - }, - { - "msgid": "Malta" - }, - { - "msgid": "Markdown" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "Neko" - }, - { - "msgid": "Normal" - }, - { - "msgid": "Online" - }, - { - "msgid": "PiP" - }, - { - "msgid": "Ping" - }, - { - "msgid": "Ping: {currentLatency}ms" - }, - { - "msgid": "Ping: {latency}ms" - }, - { - "msgid": "Portugal" - }, - { - "msgid": "Premium" - }, - { - "msgid": "Prompt" - }, - { - "msgid": "Social" - }, - { - "msgid": "Spam" - }, - { - "msgid": "Submenu" - }, - { - "msgid": "Substring" - }, - { - "msgid": "Tag" - }, - { - "msgid": "Tags" - }, - { - "msgid": "Tags ({tagCount}/{tagLimit})" - }, - { - "msgid": "Token" - }, - { - "msgid": "Tokens" - }, - { - "msgid": "Visual" - }, - { - "msgid": "Volume" - }, - { - "msgid": "Web {buildVersion}" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Webcam" - }, - { - "msgid": "Webhook" - }, - { - "msgid": "Webhook {currentName}" - }, - { - "msgid": "Webhooks" - }, - { - "msgid": "Win" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "Zoom" - }, - { - "msgid": "cron" - }, - { - "msgid": "emoji {emojiName}" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "link" - }, - { - "msgid": "macOS" - }, - { - "msgid": "online" - }, - { - "msgid": "spoiler" - }, - { - "msgid": "{count, plural, one {# emoji} other {# emojis}}" - }, - { - "msgid": "{desktopChannel} Desktop {desktopVersion}" - }, - { - "msgid": "{formattedPresenceCount} online" - }, - { - "msgid": "{fps} FPS" - }, - { - "msgid": "{kilobits} kbps" - }, - { - "msgid": "{length} apps" - }, - { - "msgid": "{megabits} Mbps" - }, - { - "msgid": "{messageGroupSpacing}px" - }, - { - "msgid": "{onlineCount} online" - }, - { - "msgid": "{presenceCount} online" - }, - { - "msgid": "{renderedPresenceCount} online" - }, - { - "msgid": "{tokenCount, plural, one {# token} other {# tokens}}" - }, - { - "msgid": "{totalCount} total" - }, - { - "msgid": "{zoomPercent}%" - }, - { - "msgctxt": "accessibility-settings-section", - "msgid": "Visual" - }, - { - "msgctxt": "appearance-settings-section", - "msgid": "Interface" - }, - { - "msgctxt": "channel-settings-tab", - "msgid": "Webhooks" - }, - { - "msgctxt": "community-settings-tab", - "msgid": "Webhooks" - } - ], - "ro": [ - { - "msgid": "15 FPS" - }, - { - "msgid": "30 FPS" - }, - { - "msgid": "60 FPS" - }, - { - "msgid": "Admin" - }, - { - "msgid": "Administrator" - }, - { - "msgid": "Alt" - }, - { - "msgid": "Audio" - }, - { - "msgid": "Austria" - }, - { - "msgid": "Avatar" - }, - { - "msgid": "Banner" - }, - { - "msgid": "Bitrate" - }, - { - "msgid": "Bluesky" - }, - { - "msgid": "Bot" - }, - { - "msgid": "Bulgaria" - }, - { - "msgid": "Chat" - }, - { - "msgid": "Cisco" - }, - { - "msgid": "Client" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Codec" - }, - { - "msgid": "Combobox" - }, - { - "msgid": "Compact" - }, - { - "msgid": "Compact (400x300)" - }, - { - "msgid": "Contact" - }, - { - "msgid": "Contrast" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Desktop" - }, - { - "msgid": "Discriminator" - }, - { - "msgid": "Emoji" - }, - { - "msgid": "Emoticon" - }, - { - "msgid": "Enter" - }, - { - "msgid": "Esc" - }, - { - "msgid": "Estonia" - }, - { - "msgid": "Experimental" - }, - { - "msgid": "Export" - }, - { - "msgid": "Favicon" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "Font" - }, - { - "msgid": "Gateway" - }, - { - "msgid": "General" - }, - { - "msgid": "Hardware" - }, - { - "msgid": "Hindi" - }, - { - "msgid": "Important" - }, - { - "msgid": "Indicator" - }, - { - "msgid": "Invalid" - }, - { - "msgid": "Job {jobId}: {jobStatus}" - }, - { - "msgid": "Link" - }, - { - "msgid": "Local {localizedCurrencyLabel}" - }, - { - "msgid": "Logo" - }, - { - "msgid": "Malta" - }, - { - "msgid": "Markdown" - }, - { - "msgid": "Media" - }, - { - "msgid": "Mod" - }, - { - "msgid": "Moderator" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "Neko" - }, - { - "msgid": "Net" - }, - { - "msgid": "Normal" - }, - { - "msgid": "Permanent" - }, - { - "msgid": "PgDn" - }, - { - "msgid": "PgUp" - }, - { - "msgid": "PiP" - }, - { - "msgid": "Ping" - }, - { - "msgid": "Port" - }, - { - "msgid": "Premium" - }, - { - "msgid": "Secret" - }, - { - "msgid": "Slovenia" - }, - { - "msgid": "Social" - }, - { - "msgid": "Spam" - }, - { - "msgid": "Spoiler" - }, - { - "msgid": "Standard" - }, - { - "msgid": "Standard {baseCurrencyLabel}" - }, - { - "msgid": "Static" - }, - { - "msgid": "Static Neko" - }, - { - "msgid": "Streaming" - }, - { - "msgid": "Subtext" - }, - { - "msgid": "Text" - }, - { - "msgid": "Token" - }, - { - "msgid": "Video" - }, - { - "msgid": "Web {buildVersion}" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Webhook" - }, - { - "msgid": "Webhook {currentName}" - }, - { - "msgid": "Win" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "Zoom" - }, - { - "msgid": "cron" - }, - { - "msgid": "emoji {emojiName}" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "link" - }, - { - "msgid": "macOS" - }, - { - "msgid": "online" - }, - { - "msgid": "slash {commandName}" - }, - { - "msgid": "spoiler" - }, - { - "msgid": "user@example.com" - }, - { - "msgid": "video" - }, - { - "msgid": "{desktopChannel} Desktop {desktopVersion}" - }, - { - "msgid": "{fps} FPS" - }, - { - "msgid": "{kilobits} kbps" - }, - { - "msgid": "{megabits} Mbps" - }, - { - "msgid": "{messageGroupSpacing}px" - }, - { - "msgid": "{onlineCount} online" - }, - { - "msgid": "{presenceCount} online" - }, - { - "msgid": "{releaseChannel} Web {buildVersion}" - }, - { - "msgid": "{renderedPresenceCount} online" - }, - { - "msgid": "{totalCount} total" - }, - { - "msgctxt": "chat-settings-section", - "msgid": "Media" - }, - { - "msgctxt": "community-settings-tab", - "msgid": "Emoji" - }, - { - "msgctxt": "noise-suppression-option", - "msgid": "Standard" - }, - { - "msgctxt": "voice-video-settings-section", - "msgid": "Audio" - }, - { - "msgctxt": "voice-video-settings-section", - "msgid": "Video" - } - ], - "ru": [ - { - "msgid": "Alt" - }, - { - "msgid": "Backspace" - }, - { - "msgid": "Bluesky" - }, - { - "msgid": "Cisco" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Esc" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "PgDn" - }, - { - "msgid": "PgUp" - }, - { - "msgid": "Visionary" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Win" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "cron" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "macOS" - }, - { - "msgid": "sendSystemDm" - }, - { - "msgid": "user@example.com" - }, - { - "msgid": "{fps} FPS" - }, - { - "msgid": "{messageGroupSpacing}px" - }, - { - "msgid": "{releaseChannel} Web {buildVersion}" - }, - { - "msgid": "{zoomPercent}%" - } - ], - "sv-SE": [ - { - "msgid": "15 FPS" - }, - { - "msgid": "30 FPS" - }, - { - "msgid": "60 FPS" - }, - { - "msgid": "Acceleration" - }, - { - "msgid": "Admin" - }, - { - "msgid": "Alt" - }, - { - "msgid": "Avatar" - }, - { - "msgid": "Banner" - }, - { - "msgid": "Bio" - }, - { - "msgid": "Bluesky" - }, - { - "msgid": "Bluesky OAuth" - }, - { - "msgid": "Bot" - }, - { - "msgid": "Cisco" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Codec" - }, - { - "msgid": "Community" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Data" - }, - { - "msgid": "Emoji" - }, - { - "msgid": "Emojis" - }, - { - "msgid": "Esc" - }, - { - "msgid": "Favicon" - }, - { - "msgid": "Finland" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "Gateway" - }, - { - "msgid": "Hindi" - }, - { - "msgid": "Jitter" - }, - { - "msgid": "Lane" - }, - { - "msgid": "Live" - }, - { - "msgid": "Malta" - }, - { - "msgid": "Markdown" - }, - { - "msgid": "Max {maxSize}." - }, - { - "msgid": "Media" - }, - { - "msgid": "Metadata" - }, - { - "msgid": "Moderator" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "Neko" - }, - { - "msgid": "Normal" - }, - { - "msgid": "Permanent" - }, - { - "msgid": "PgUp" - }, - { - "msgid": "Ping" - }, - { - "msgid": "Plan" - }, - { - "msgid": "Plutonium" - }, - { - "msgid": "Popup" - }, - { - "msgid": "Port" - }, - { - "msgid": "Portugal" - }, - { - "msgid": "Position" - }, - { - "msgid": "Premium" - }, - { - "msgid": "Region" - }, - { - "msgid": "Region: {regionName}" - }, - { - "msgid": "Relevant" - }, - { - "msgid": "Ring" - }, - { - "msgid": "Session" - }, - { - "msgid": "Standard" - }, - { - "msgid": "Standard {baseCurrencyLabel}" - }, - { - "msgid": "Status" - }, - { - "msgid": "Symbol" - }, - { - "msgid": "System" - }, - { - "msgid": "Text" - }, - { - "msgid": "Token" - }, - { - "msgid": "Version" - }, - { - "msgid": "Video" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Webhook" - }, - { - "msgid": "Webhook {currentName}" - }, - { - "msgid": "Webhooks" - }, - { - "msgid": "Win" - }, - { - "msgid": "Wordmark" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "community" - }, - { - "msgid": "cron" - }, - { - "msgid": "emoji {emojiName}" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "macOS" - }, - { - "msgid": "online" - }, - { - "msgid": "video" - }, - { - "msgid": "{count, plural, one {# emoji} other {# emojis}}" - }, - { - "msgid": "{desktopChannel} Desktop {desktopVersion}" - }, - { - "msgid": "{formattedPresenceCount} online" - }, - { - "msgid": "{fps} FPS" - }, - { - "msgid": "{kilobits} kbps" - }, - { - "msgid": "{megabits} Mbps" - }, - { - "msgid": "{onlineCount} online" - }, - { - "msgid": "{presenceCount} online" - }, - { - "msgid": "{releaseChannel} Web {buildVersion}" - }, - { - "msgid": "{renderedPresenceCount} online" - }, - { - "msgid": "{tokenCount, plural, one {# token} other {# tokens}}" - }, - { - "msgid": "{zoomPercent}%" - }, - { - "msgctxt": "channel-settings-tab", - "msgid": "Webhooks" - }, - { - "msgctxt": "chat-settings-section", - "msgid": "Media" - }, - { - "msgctxt": "community-settings-tab", - "msgid": "Webhooks" - }, - { - "msgctxt": "voice-video-settings-section", - "msgid": "Video" - } - ], - "th": [ - { - "msgid": "15 FPS" - }, - { - "msgid": "30 FPS" - }, - { - "msgid": "60 FPS" - }, - { - "msgid": "Alt" - }, - { - "msgid": "Backspace" - }, - { - "msgid": "Bluesky OAuth" - }, - { - "msgid": "Cisco" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Esc" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "PgDn" - }, - { - "msgid": "PgUp" - }, - { - "msgid": "PiP" - }, - { - "msgid": "Static Neko" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Webhook" - }, - { - "msgid": "Webhook {currentName}" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "cron" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "macOS" - }, - { - "msgid": "user@example.com" - }, - { - "msgid": "{fps} FPS" - }, - { - "msgid": "{kilobits} kbps" - }, - { - "msgid": "{megabits} Mbps" - }, - { - "msgid": "{messageGroupSpacing}px" - }, - { - "msgid": "{zoomPercent}%" - } - ], - "tr": [ - { - "msgid": "15 FPS" - }, - { - "msgid": "30 FPS" - }, - { - "msgid": "60 FPS" - }, - { - "msgid": "Alt" - }, - { - "msgid": "Avatar" - }, - { - "msgid": "Bluesky" - }, - { - "msgid": "Bluesky OAuth" - }, - { - "msgid": "Bot" - }, - { - "msgid": "Cisco" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Emoji" - }, - { - "msgid": "Favicon" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "Logo" - }, - { - "msgid": "Malta" - }, - { - "msgid": "Markdown" - }, - { - "msgid": "Mod" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "Neko" - }, - { - "msgid": "Net" - }, - { - "msgid": "Normal" - }, - { - "msgid": "Ping" - }, - { - "msgid": "Ping: {currentLatency}ms" - }, - { - "msgid": "Ping: {latency}ms" - }, - { - "msgid": "Plan" - }, - { - "msgid": "Platform" - }, - { - "msgid": "Port" - }, - { - "msgid": "Premium" - }, - { - "msgid": "Premium model" - }, - { - "msgid": "Spam" - }, - { - "msgid": "Video" - }, - { - "msgid": "Web {buildVersion}" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Webhook" - }, - { - "msgid": "Webhook {currentName}" - }, - { - "msgid": "Win" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "cron" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "macOS" - }, - { - "msgid": "video" - }, - { - "msgid": "{fps} FPS" - }, - { - "msgid": "{kilobits} kbps" - }, - { - "msgid": "{megabits} Mbps" - }, - { - "msgid": "{messageGroupSpacing}px" - }, - { - "msgid": "{releaseChannel} Web {buildVersion}" - }, - { - "msgctxt": "community-settings-tab", - "msgid": "Emoji" - }, - { - "msgctxt": "voice-video-settings-section", - "msgid": "Video" - } - ], - "uk": [ - { - "msgid": "Alt" - }, - { - "msgid": "Backspace" - }, - { - "msgid": "Bluesky" - }, - { - "msgid": "Cisco" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Enter" - }, - { - "msgid": "Esc" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "Markdown" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "PgDn" - }, - { - "msgid": "PgUp" - }, - { - "msgid": "Visionary" - }, - { - "msgid": "Visionary ({visionaryLifetimeBadgeLabel})" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Win" - }, - { - "msgid": "Wordmark" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "cron" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "macOS" - }, - { - "msgid": "user@example.com" - }, - { - "msgid": "{messageGroupSpacing}px" - }, - { - "msgid": "{releaseChannel} Web {buildVersion}" - }, - { - "msgid": "{zoomPercent}%" - } - ], - "vi": [ - { - "msgid": "15 FPS" - }, - { - "msgid": "30 FPS" - }, - { - "msgid": "60 FPS" - }, - { - "msgid": "Alt" - }, - { - "msgid": "Anime & manga" - }, - { - "msgid": "Bluesky" - }, - { - "msgid": "Bot" - }, - { - "msgid": "Bulgaria" - }, - { - "msgid": "Camera" - }, - { - "msgid": "Cisco" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Croatia" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Email" - }, - { - "msgid": "Enter" - }, - { - "msgid": "Esc" - }, - { - "msgid": "Estonia" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "Hungary" - }, - { - "msgid": "Ireland" - }, - { - "msgid": "Latvia" - }, - { - "msgid": "Logo" - }, - { - "msgid": "Luxembourg" - }, - { - "msgid": "Malta" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "Neko" - }, - { - "msgid": "PgDn" - }, - { - "msgid": "PgUp" - }, - { - "msgid": "Ping" - }, - { - "msgid": "Plutonium" - }, - { - "msgid": "Romania" - }, - { - "msgid": "Slovakia" - }, - { - "msgid": "Slovenia" - }, - { - "msgid": "Spam" - }, - { - "msgid": "Tab" - }, - { - "msgid": "Video" - }, - { - "msgid": "Visionary" - }, - { - "msgid": "Visionary ({visionaryLifetimeBadgeLabel})" - }, - { - "msgid": "Web {buildVersion}" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Webhook" - }, - { - "msgid": "Webhook {currentName}" - }, - { - "msgid": "Win" - }, - { - "msgid": "Wordmark" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "cron" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "macOS" - }, - { - "msgid": "user@example.com" - }, - { - "msgid": "video" - }, - { - "msgid": "{fps} FPS" - }, - { - "msgid": "{kilobits} kbps" - }, - { - "msgid": "{megabits} Mbps" - }, - { - "msgid": "{messageGroupSpacing}px" - }, - { - "msgid": "{zoomPercent}%" - }, - { - "msgctxt": "voice-video-settings-section", - "msgid": "Video" - } - ], - "zh-CN": [ - { - "msgid": "Bluesky" - }, - { - "msgid": "Bluesky OAuth" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Esc" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "JWKS URL" - }, - { - "msgid": "Logo" - }, - { - "msgid": "Logo URL" - }, - { - "msgid": "Markdown" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Webhook" - }, - { - "msgid": "Webhook {currentName}" - }, - { - "msgid": "Win" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "cron" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "macOS" - }, - { - "msgid": "sendSystemDm" - }, - { - "msgid": "user@example.com" - }, - { - "msgid": "{kilobits} kbps" - }, - { - "msgid": "{megabits} Mbps" - }, - { - "msgid": "{releaseChannel} Web {buildVersion}" - }, - { - "msgid": "{zoomPercent}%" - } - ], - "zh-TW": [ - { - "msgid": "15 FPS" - }, - { - "msgid": "30 FPS" - }, - { - "msgid": "60 FPS" - }, - { - "msgid": "Bluesky" - }, - { - "msgid": "Bluesky OAuth" - }, - { - "msgid": "Cloudflare Turnstile" - }, - { - "msgid": "Ctrl" - }, - { - "msgid": "Enter" - }, - { - "msgid": "Esc" - }, - { - "msgid": "Fluxer" - }, - { - "msgid": "Logo" - }, - { - "msgid": "Markdown" - }, - { - "msgid": "NCMEC {ncmecReportId}" - }, - { - "msgid": "PgDn" - }, - { - "msgid": "WebAuthn" - }, - { - "msgid": "Webhook" - }, - { - "msgid": "Webhook {currentName}" - }, - { - "msgid": "Win" - }, - { - "msgid": "Wordmark" - }, - { - "msgid": "YubiKey" - }, - { - "msgid": "cron" - }, - { - "msgid": "hCaptcha" - }, - { - "msgid": "macOS" - }, - { - "msgid": "sendSystemDm" - }, - { - "msgid": "user@example.com" - }, - { - "msgid": "{fps} FPS" - }, - { - "msgid": "{kilobits} kbps" - }, - { - "msgid": "{megabits} Mbps" - }, - { - "msgid": "{zoomPercent}%" - } - ] - } + "version": 1, + "locales": { + "ar": [ + { + "msgid": "Alt" + }, + { + "msgid": "Bluesky OAuth" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Enter" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "PgDn" + }, + { + "msgid": "PgUp" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "cron" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "macOS" + }, + { + "msgid": "user@example.com" + } + ], + "bg": [ + { + "msgid": "Alt" + }, + { + "msgid": "Backspace" + }, + { + "msgid": "Bluesky" + }, + { + "msgid": "Bluesky OAuth" + }, + { + "msgid": "Cisco" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Enter" + }, + { + "msgid": "Esc" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "Markdown" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Win" + }, + { + "msgid": "Wordmark" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "cron" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "macOS" + }, + { + "msgid": "user@example.com" + }, + { + "msgid": "{kilobits} kbps" + }, + { + "msgid": "{megabits} Mbps" + }, + { + "msgid": "{messageGroupSpacing}px" + }, + { + "msgid": "{zoomPercent}%" + } + ], + "cs": [ + { + "msgid": "15 FPS" + }, + { + "msgid": "30 FPS" + }, + { + "msgid": "60 FPS" + }, + { + "msgid": "Alt" + }, + { + "msgid": "Backspace" + }, + { + "msgid": "Banner" + }, + { + "msgid": "Bluesky" + }, + { + "msgid": "Bot" + }, + { + "msgid": "Chat" + }, + { + "msgid": "Cisco" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Data" + }, + { + "msgid": "Detail" + }, + { + "msgid": "Emoji" + }, + { + "msgid": "Enter" + }, + { + "msgid": "Esc" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "Hardware" + }, + { + "msgid": "Limit" + }, + { + "msgid": "Logo" + }, + { + "msgid": "Malta" + }, + { + "msgid": "Markdown" + }, + { + "msgid": "Metadata" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "Neko" + }, + { + "msgid": "Offline" + }, + { + "msgid": "Online" + }, + { + "msgid": "PgDn" + }, + { + "msgid": "PgUp" + }, + { + "msgid": "Ping" + }, + { + "msgid": "Plutonium" + }, + { + "msgid": "Port" + }, + { + "msgid": "Premium" + }, + { + "msgid": "Role" + }, + { + "msgid": "Shift" + }, + { + "msgid": "Spam" + }, + { + "msgid": "Stream" + }, + { + "msgid": "Symbol" + }, + { + "msgid": "Text" + }, + { + "msgid": "Tip" + }, + { + "msgid": "Token" + }, + { + "msgid": "Uploader" + }, + { + "msgid": "Video" + }, + { + "msgid": "Web {buildVersion}" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Webhook" + }, + { + "msgid": "Webhook {currentName}" + }, + { + "msgid": "Win" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "cron" + }, + { + "msgid": "emoji {emojiName}" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "macOS" + }, + { + "msgid": "online" + }, + { + "msgid": "video" + }, + { + "msgid": "{desktopChannel} Desktop {desktopVersion}" + }, + { + "msgid": "{fps} FPS" + }, + { + "msgid": "{kilobits} kbps" + }, + { + "msgid": "{megabits} Mbps" + }, + { + "msgid": "{messageGroupSpacing}px" + }, + { + "msgid": "{onlineCount} online" + }, + { + "msgid": "{presenceCount} online" + }, + { + "msgid": "{releaseChannel} Web {buildVersion}" + }, + { + "msgid": "{renderedPresenceCount} online" + }, + { + "msgctxt": "community-settings-tab", + "msgid": "Emoji" + }, + { + "msgctxt": "voice-video-settings-section", + "msgid": "Video" + } + ], + "da": [ + { + "msgid": "15 FPS" + }, + { + "msgid": "30 FPS" + }, + { + "msgid": "60 FPS" + }, + { + "msgid": "Acceleration" + }, + { + "msgid": "Admin" + }, + { + "msgid": "Administrator" + }, + { + "msgid": "Alt" + }, + { + "msgid": "Animation" + }, + { + "msgid": "Apps" + }, + { + "msgid": "Avatar" + }, + { + "msgid": "Badge" + }, + { + "msgid": "Banner" + }, + { + "msgid": "Bind" + }, + { + "msgid": "Bio" + }, + { + "msgid": "Bitrate" + }, + { + "msgid": "Bluesky" + }, + { + "msgid": "Bluesky OAuth" + }, + { + "msgid": "Boost" + }, + { + "msgid": "Bot" + }, + { + "msgid": "Bots" + }, + { + "msgid": "Branding" + }, + { + "msgid": "Chat" + }, + { + "msgid": "Cisco" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Codec" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Data" + }, + { + "msgid": "Download" + }, + { + "msgid": "Download {productName}" + }, + { + "msgid": "Emoji" + }, + { + "msgid": "Emojis" + }, + { + "msgid": "Enter" + }, + { + "msgid": "Esc" + }, + { + "msgid": "Favicon" + }, + { + "msgid": "Finland" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "Gaming" + }, + { + "msgid": "Gateway" + }, + { + "msgid": "Hardware" + }, + { + "msgid": "Hashing" + }, + { + "msgid": "Hindi" + }, + { + "msgid": "Hyperlink" + }, + { + "msgid": "Inviter" + }, + { + "msgid": "Jitter" + }, + { + "msgid": "Job {jobId}: {jobStatus}" + }, + { + "msgid": "Jobs" + }, + { + "msgid": "Lane" + }, + { + "msgid": "Link" + }, + { + "msgid": "Links" + }, + { + "msgid": "Live" + }, + { + "msgid": "Logo" + }, + { + "msgid": "Luxembourg" + }, + { + "msgid": "Malta" + }, + { + "msgid": "Markdown" + }, + { + "msgid": "Metadata" + }, + { + "msgid": "Moderator" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "Navigation" + }, + { + "msgid": "Neko" + }, + { + "msgid": "Net" + }, + { + "msgid": "Node" + }, + { + "msgid": "Normal" + }, + { + "msgid": "Offline" + }, + { + "msgid": "Offset {offset}" + }, + { + "msgid": "Online" + }, + { + "msgid": "Output" + }, + { + "msgid": "Permanent" + }, + { + "msgid": "PgDn" + }, + { + "msgid": "PgUp" + }, + { + "msgid": "Ping" + }, + { + "msgid": "Platform" + }, + { + "msgid": "Plutonium" + }, + { + "msgid": "Port" + }, + { + "msgid": "Portugal" + }, + { + "msgid": "Premium" + }, + { + "msgid": "Prompt" + }, + { + "msgid": "Region: {regionName}" + }, + { + "msgid": "Relevant" + }, + { + "msgid": "Send" + }, + { + "msgid": "Send ({selectedCount}/{selectionLimit})" + }, + { + "msgid": "Send GIF {title}" + }, + { + "msgid": "Send animation" + }, + { + "msgid": "Session" + }, + { + "msgid": "Spoiler" + }, + { + "msgid": "Standard" + }, + { + "msgid": "Standard {baseCurrencyLabel}" + }, + { + "msgid": "Start" + }, + { + "msgid": "Status" + }, + { + "msgid": "Sticker" + }, + { + "msgid": "Stop" + }, + { + "msgid": "Stream" + }, + { + "msgid": "Stream video" + }, + { + "msgid": "Symbol" + }, + { + "msgid": "System" + }, + { + "msgid": "Tag" + }, + { + "msgid": "Tags" + }, + { + "msgid": "Tags ({tagCount}/{tagLimit})" + }, + { + "msgid": "Test SMTP" + }, + { + "msgid": "Thai" + }, + { + "msgid": "Tip" + }, + { + "msgid": "Token" + }, + { + "msgid": "Tokens" + }, + { + "msgid": "Tone" + }, + { + "msgid": "Top" + }, + { + "msgid": "Type" + }, + { + "msgid": "Type {premiumType}" + }, + { + "msgid": "Upload banner" + }, + { + "msgid": "Upload emoji" + }, + { + "msgid": "Uploader" + }, + { + "msgid": "Version" + }, + { + "msgid": "Video" + }, + { + "msgid": "Web {buildVersion}" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Webcam" + }, + { + "msgid": "Webhook" + }, + { + "msgid": "Webhook {currentName}" + }, + { + "msgid": "Webhooks" + }, + { + "msgid": "Win" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "Zoom" + }, + { + "msgid": "emoji {emojiName}" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "link" + }, + { + "msgid": "macOS" + }, + { + "msgid": "online" + }, + { + "msgid": "repost" + }, + { + "msgid": "slash {commandName}" + }, + { + "msgid": "spoiler" + }, + { + "msgid": "sticker" + }, + { + "msgid": "video" + }, + { + "msgid": "{count, plural, one {# emoji} other {# emojis}}" + }, + { + "msgid": "{desktopChannel} Desktop {desktopVersion}" + }, + { + "msgid": "{formattedPresenceCount} online" + }, + { + "msgid": "{fps} FPS" + }, + { + "msgid": "{kilobits} kbps" + }, + { + "msgid": "{length} apps" + }, + { + "msgid": "{megabits} Mbps" + }, + { + "msgid": "{messageGroupSpacing}px" + }, + { + "msgid": "{onlineCount} online" + }, + { + "msgid": "{presenceCount} online" + }, + { + "msgid": "{releaseChannel} Web {buildVersion}" + }, + { + "msgid": "{renderedPresenceCount} online" + }, + { + "msgid": "{tokenCount, plural, one {# token} other {# tokens}}" + }, + { + "msgid": "{zoomPercent}%" + }, + { + "msgctxt": "accessibility-settings-section", + "msgid": "Animation" + }, + { + "msgctxt": "channel-settings-tab", + "msgid": "Webhooks" + }, + { + "msgctxt": "chat-settings-section", + "msgid": "Input" + }, + { + "msgctxt": "community-settings-tab", + "msgid": "Webhooks" + }, + { + "msgctxt": "noise-suppression-option", + "msgid": "Standard" + }, + { + "msgctxt": "voice-video-settings-section", + "msgid": "Video" + } + ], + "de": [ + { + "msgid": "15 FPS" + }, + { + "msgid": "30 FPS" + }, + { + "msgid": "60 FPS" + }, + { + "msgid": "ACLs" + }, + { + "msgid": "Admin" + }, + { + "msgid": "Administrator" + }, + { + "msgid": "Animation" + }, + { + "msgid": "Apps" + }, + { + "msgid": "Assets" + }, + { + "msgid": "Audio" + }, + { + "msgid": "Avatar" + }, + { + "msgid": "Banner" + }, + { + "msgid": "Bitrate" + }, + { + "msgid": "Bluesky" + }, + { + "msgid": "Bluesky OAuth" + }, + { + "msgid": "Boost" + }, + { + "msgid": "Bot" + }, + { + "msgid": "Bots" + }, + { + "msgid": "Branding" + }, + { + "msgid": "Chat" + }, + { + "msgid": "Cisco" + }, + { + "msgid": "Client" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Code" + }, + { + "msgid": "Codec" + }, + { + "msgid": "Codes" + }, + { + "msgid": "Communities" + }, + { + "msgid": "Community" + }, + { + "msgid": "Favicon" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "Jitter" + }, + { + "msgid": "Link" + }, + { + "msgid": "Links" + }, + { + "msgid": "Live" + }, + { + "msgid": "Logo" + }, + { + "msgid": "Malta" + }, + { + "msgid": "Markdown" + }, + { + "msgid": "Mod" + }, + { + "msgid": "Moderation" + }, + { + "msgid": "Moderator" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "Name" + }, + { + "msgid": "Name: {0}." + }, + { + "msgid": "Navigation" + }, + { + "msgid": "Neko" + }, + { + "msgid": "Normal" + }, + { + "msgid": "Offline" + }, + { + "msgid": "Offset {offset}" + }, + { + "msgid": "Okay" + }, + { + "msgid": "Online" + }, + { + "msgid": "Passkey" + }, + { + "msgid": "Passkeys" + }, + { + "msgid": "Pause" + }, + { + "msgid": "Plutonium" + }, + { + "msgid": "Port" + }, + { + "msgid": "Portugal" + }, + { + "msgid": "Position" + }, + { + "msgid": "Premium" + }, + { + "msgid": "Region" + }, + { + "msgid": "Region: {regionName}" + }, + { + "msgid": "Smileys" + }, + { + "msgid": "Spam" + }, + { + "msgid": "Spoiler" + }, + { + "msgid": "Standard" + }, + { + "msgid": "Standard {baseCurrencyLabel}" + }, + { + "msgid": "Status" + }, + { + "msgid": "Sticker" + }, + { + "msgid": "Sticker: {stickerName}" + }, + { + "msgid": "Stream" + }, + { + "msgid": "Symbol" + }, + { + "msgid": "System" + }, + { + "msgid": "Tab" + }, + { + "msgid": "Tag" + }, + { + "msgid": "Tags" + }, + { + "msgid": "Tags ({tagCount}/{tagLimit})" + }, + { + "msgid": "Text" + }, + { + "msgid": "Toast" + }, + { + "msgid": "Token" + }, + { + "msgid": "Tokens" + }, + { + "msgid": "Tracking" + }, + { + "msgid": "Uploader" + }, + { + "msgid": "Version" + }, + { + "msgid": "Video" + }, + { + "msgid": "Videos" + }, + { + "msgid": "Web {buildVersion}" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Webcam" + }, + { + "msgid": "Webhook" + }, + { + "msgid": "Webhook {currentName}" + }, + { + "msgid": "Webhooks" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "macOS" + }, + { + "msgid": "{desktopChannel} Desktop {desktopVersion}" + }, + { + "msgid": "{formattedPresenceCount} online" + }, + { + "msgid": "{fps} FPS" + }, + { + "msgid": "{kilobits} kbps" + }, + { + "msgid": "{megabits} Mbps" + }, + { + "msgid": "{messageGroupSpacing}px" + }, + { + "msgid": "{onlineCount} online" + }, + { + "msgid": "{presenceCount} online" + }, + { + "msgid": "{productName} Bug Hunter" + }, + { + "msgid": "{productName} Desktop" + }, + { + "msgid": "{releaseChannel} Web {buildVersion}" + }, + { + "msgid": "{renderedPresenceCount} online" + }, + { + "msgctxt": "accessibility-settings-section", + "msgid": "Animation" + }, + { + "msgctxt": "channel-settings-tab", + "msgid": "Webhooks" + }, + { + "msgctxt": "community-settings-tab", + "msgid": "Moderation" + }, + { + "msgctxt": "community-settings-tab", + "msgid": "Webhooks" + }, + { + "msgctxt": "noise-suppression-option", + "msgid": "Standard" + }, + { + "msgctxt": "voice-video-settings-section", + "msgid": "Video" + } + ], + "el": [ + { + "msgid": "15 FPS" + }, + { + "msgid": "30 FPS" + }, + { + "msgid": "60 FPS" + }, + { + "msgid": "Alt" + }, + { + "msgid": "Anime & manga" + }, + { + "msgid": "Backspace" + }, + { + "msgid": "Bluesky" + }, + { + "msgid": "Bluesky OAuth" + }, + { + "msgid": "Cisco" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Email" + }, + { + "msgid": "Emoji" + }, + { + "msgid": "Enter" + }, + { + "msgid": "Esc" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "Neko" + }, + { + "msgid": "PgDn" + }, + { + "msgid": "PgUp" + }, + { + "msgid": "Ping: {currentLatency}ms" + }, + { + "msgid": "Ping: {latency}ms" + }, + { + "msgid": "Premium" + }, + { + "msgid": "Spam" + }, + { + "msgid": "Web {buildVersion}" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Webhook" + }, + { + "msgid": "Webhook {currentName}" + }, + { + "msgid": "Webhooks" + }, + { + "msgid": "Win" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "cron" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "macOS" + }, + { + "msgid": "user@example.com" + }, + { + "msgid": "{fps} FPS" + }, + { + "msgid": "{kilobits} kbps" + }, + { + "msgid": "{megabits} Mbps" + }, + { + "msgid": "{messageGroupSpacing}px" + }, + { + "msgid": "{releaseChannel} Web {buildVersion}" + }, + { + "msgctxt": "community-settings-tab", + "msgid": "Emoji" + }, + { + "msgctxt": "community-settings-tab", + "msgid": "Webhooks" + } + ], + "en-GB": [ + { + "msgid": "<0>{targetUserTag} is currently timed out. You can update their timeout duration or remove the timeout." + }, + { + "msgid": "Add a Klipy API key to enable GIF search at runtime." + }, + { + "msgid": "Advertise a capped decode codec to force publisher migration" + }, + { + "msgid": "Anyone can create an account." + }, + { + "msgid": "Anyone can request an account, but an administrator must approve it." + }, + { + "msgid": "Approval required" + }, + { + "msgid": "Are you sure you want to kick <0>{targetUserTag} from the community? They will be able to rejoin with a new invite." + }, + { + "msgid": "Banned {targetUserTag} from the community" + }, + { + "msgid": "Bluesky connections" + }, + { + "msgid": "Bold" + }, + { + "msgid": "Branding asset preview" + }, + { + "msgid": "Choices" + }, + { + "msgid": "Choose how new accounts are created on this instance." + }, + { + "msgid": "Choose the premium model" + }, + { + "msgid": "Clear command" + }, + { + "msgid": "Closed" + }, + { + "msgid": "Codec negotiation testing" + }, + { + "msgid": "Combobox" + }, + { + "msgid": "Commands" + }, + { + "msgid": "Community model" + }, + { + "msgid": "Community overrides" + }, + { + "msgid": "Connection volume controls" + }, + { + "msgid": "Could not load the instance configuration. Try reloading the page." + }, + { + "msgid": "Couldn't connect to voice. Please try again." + }, + { + "msgid": "Couldn't duplicate this channel" + }, + { + "msgid": "Create administrator account" + }, + { + "msgid": "Create the administrator account" + }, + { + "msgid": "Custom emoji {emojiName} from a community" + }, + { + "msgid": "Custom emoji {emojiName} from {communityName}" + }, + { + "msgid": "Decide how premium limits apply to people on this instance." + }, + { + "msgid": "Denied" + }, + { + "msgid": "Device volume" + }, + { + "msgid": "Disable direct messages and friend requests" + }, + { + "msgid": "Emulate decode codec (testing)" + }, + { + "msgid": "Enable the integrations whose credentials you have configured. Only available services are shown." + }, + { + "msgid": "Ensures file messages appear in the order you sent them" + }, + { + "msgid": "Enter a community name between 1 and 100 characters." + }, + { + "msgid": "Enter a product name between 1 and 80 characters." + }, + { + "msgid": "Enter the PIN for your security key to continue." + }, + { + "msgid": "Entrance sounds unavailable" + }, + { + "msgid": "Excluded search filter: {filter}" + }, + { + "msgid": "Favicon" + }, + { + "msgid": "File ordering" + }, + { + "msgid": "Finish" + }, + { + "msgid": "Finish setup" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "Focus window" + }, + { + "msgid": "Full user tag: {tag}" + }, + { + "msgid": "Fully quit and restart {productName} so macOS applies this permission." + }, + { + "msgid": "Give everyone on this instance the highest premium limits." + }, + { + "msgid": "Grant" + }, + { + "msgid": "Granted" + }, + { + "msgid": "How much of the member's recent message history to delete." + }, + { + "msgid": "Image assets" + }, + { + "msgid": "Incorrect PIN. Try again." + }, + { + "msgid": "Incorrect PIN. {retriesRemaining, plural, one {# attempt} other {# attempts}} left before the security key locks." + }, + { + "msgid": "Inline code" + }, + { + "msgid": "Italic" + }, + { + "msgid": "Keep Neko still" + }, + { + "msgid": "Kicked {targetUserTag} from the community" + }, + { + "msgid": "Klipy GIFs" + }, + { + "msgid": "Let people link their Bluesky account to their profile." + }, + { + "msgid": "Let people search and send GIFs powered by Klipy." + }, + { + "msgid": "Loading instance configuration" + }, + { + "msgid": "Logo" + }, + { + "msgid": "Make the instance yours" + }, + { + "msgid": "Mirror tiers" + }, + { + "msgid": "My community" + }, + { + "msgid": "Neko cat that chases your cursor" + }, + { + "msgid": "No optional services are available on this instance. You can skip this step." + }, + { + "msgid": "Open Settings" + }, + { + "msgid": "Open popup" + }, + { + "msgid": "Opens the Members page. Press Space or Enter to open." + }, + { + "msgid": "Optional arguments" + }, + { + "msgid": "Optional services" + }, + { + "msgid": "Ordered upload" + }, + { + "msgid": "Per-device volume" + }, + { + "msgid": "Pin Neko to the top-right of the chat input instead of following your cursor" + }, + { + "msgid": "Popped out" + }, + { + "msgid": "Premium model" + }, + { + "msgid": "Prevent <0>{targetUserTag} from sending messages, reacting, and connecting to voice channels for the specified duration." + }, + { + "msgid": "Prevent <0>{targetUserTag} from sending messages, reacting, and joining voice channels for the specified duration." + }, + { + "msgid": "Previous 2 days" + }, + { + "msgid": "Previous 3 days" + }, + { + "msgid": "Previous 4 days" + }, + { + "msgid": "Previous 5 days" + }, + { + "msgid": "Previous 6 days" + }, + { + "msgid": "Product name" + }, + { + "msgid": "Profile banners are not enabled on this instance." + }, + { + "msgid": "Public registration is closed." + }, + { + "msgid": "Reason (optional)." + }, + { + "msgid": "Registration" + }, + { + "msgid": "Removed timeout from {targetUserTag}" + }, + { + "msgid": "Removing the timeout will allow <0>{targetUserTag} to send messages, react, and join voice channels again." + }, + { + "msgid": "Resize expression picker from bottom left" + }, + { + "msgid": "Resize expression picker from bottom right" + }, + { + "msgid": "Resize expression picker from top left" + }, + { + "msgid": "Resize expression picker from top right" + }, + { + "msgid": "Resize inbox from bottom left" + }, + { + "msgid": "Resize inbox from bottom right" + }, + { + "msgid": "Resize inbox from top left" + }, + { + "msgid": "Resize inbox from top right" + }, + { + "msgid": "Resize sidebar" + }, + { + "msgid": "Review" + }, + { + "msgid": "Review microphone, camera, screen recording, and Input Monitoring access." + }, + { + "msgid": "Review the permissions {productName} uses for voice, video, screen sharing, and shortcuts." + }, + { + "msgid": "Review your choices below, then finish. This saves the configuration, opens the instance, and reloads the app." + }, + { + "msgid": "Run the instance as one community instead of many. This can only be enabled now, during setup." + }, + { + "msgid": "Search filter: {filter}" + }, + { + "msgid": "Security key PIN" + }, + { + "msgid": "Security key PIN form" + }, + { + "msgid": "Self-host setup" + }, + { + "msgid": "Send file messages in order" + }, + { + "msgid": "Sequential send" + }, + { + "msgid": "Serial send" + }, + { + "msgid": "Set up {productName}" + }, + { + "msgid": "Shape the social model" + }, + { + "msgid": "Share screens and windows." + }, + { + "msgid": "Show connection volume controls" + }, + { + "msgid": "Show per-device participant volume sliders in voice menus" + }, + { + "msgid": "Show rich previews for YouTube links." + }, + { + "msgid": "Sign-in details" + }, + { + "msgid": "Single community" + }, + { + "msgid": "Single community mode" + }, + { + "msgid": "Slowmode is active ({remaining})" + }, + { + "msgid": "Slowmode is enabled" + }, + { + "msgid": "Slowmode is set to {durationLabel} for this channel." + }, + { + "msgid": "Slowmode is set to {durationLabel}, but you are immune." + }, + { + "msgid": "Slowmode is set to {durationLabel}. Wait before sending another message." + }, + { + "msgid": "Static Neko" + }, + { + "msgid": "Still Neko" + }, + { + "msgid": "Stop Neko from chasing your cursor while keeping it draggable and interactive." + }, + { + "msgid": "Symbol" + }, + { + "msgid": "Syntax highlighting" + }, + { + "msgid": "Talk in calls and test your input." + }, + { + "msgid": "Text is rendered with grayscale antialiasing instead of ClearType while transparency is enabled, so it will look softer." + }, + { + "msgid": "That image could not be used. Try a different file." + }, + { + "msgid": "The member to target." + }, + { + "msgid": "The message to send." + }, + { + "msgid": "These options change how people use the instance. Some can only be chosen during setup." + }, + { + "msgid": "This instance currently allows screen share up to 720p at 30 FPS." + }, + { + "msgid": "This instance has no accounts yet. The first account you create automatically becomes the administrator. Create it now, then return here to finish setup." + }, + { + "msgid": "This option is required. Please provide a value." + }, + { + "msgid": "This reset link has expired. Reset links last 1 hour. Please request a new one." + }, + { + "msgid": "Timed out {targetUserTag}" + }, + { + "msgid": "Unavailable" + }, + { + "msgid": "Use system-wide push-to-talk and shortcuts." + }, + { + "msgid": "Use the Up and Down arrow keys to move between items and Space or Enter to open one. Where a tab has sections, the Right arrow expands it and the Left arrow collapses it." + }, + { + "msgid": "Use video and camera previews." + }, + { + "msgid": "Volume sliders" + }, + { + "msgid": "Welcome" + }, + { + "msgid": "Welcome to {productName}" + }, + { + "msgid": "What to search for." + }, + { + "msgid": "Who can join" + }, + { + "msgid": "Wordmark" + }, + { + "msgid": "YouTube enrichment" + }, + { + "msgid": "Your new nickname, or leave blank to reset it." + }, + { + "msgid": "farewell" + }, + { + "msgid": "greeting" + }, + { + "msgid": "macOS" + }, + { + "msgid": "macOS permissions" + }, + { + "msgid": "members" + }, + { + "msgid": "not" + }, + { + "msgid": "online" + }, + { + "msgid": "{count, plural, =0 {∞ No limit} one {# participant} other {# participants}}" + }, + { + "msgid": "{count, plural, one {# minute} other {# minutes}}" + }, + { + "msgid": "{productName} application logo" + }, + { + "msgid": "{productName} needs screen recording access. Allow screen recording in your operating system privacy settings and restart the app." + }, + { + "msgid": "{productName} wordmark" + }, + { + "msgid": "{remaining, plural, one {+# more} other {+# more}}" + }, + { + "msgctxt": "security-settings-section", + "msgid": "Sign-in details" + }, + { + "msgctxt": "voice-connection-status", + "msgid": "Connection failed" + }, + { + "msgctxt": "voice-connection-status", + "msgid": "Dismiss" + }, + { + "msgctxt": "voice-connection-status", + "msgid": "Retry" + } + ], + "es-419": [ + { + "msgid": "15 FPS" + }, + { + "msgid": "30 FPS" + }, + { + "msgid": "60 FPS" + }, + { + "msgid": "Alt" + }, + { + "msgid": "Audio" + }, + { + "msgid": "Austria" + }, + { + "msgid": "Avatar" + }, + { + "msgid": "Banner" + }, + { + "msgid": "Bluesky" + }, + { + "msgid": "Bot" + }, + { + "msgid": "Bots" + }, + { + "msgid": "Bulgaria" + }, + { + "msgid": "Chat" + }, + { + "msgid": "Cisco" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Color" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Emoji" + }, + { + "msgid": "Emojis" + }, + { + "msgid": "Error" + }, + { + "msgid": "Esc" + }, + { + "msgid": "Escape" + }, + { + "msgid": "Estonia" + }, + { + "msgid": "Experimental" + }, + { + "msgid": "Favicon" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "GIFs" + }, + { + "msgid": "General" + }, + { + "msgid": "Hardware" + }, + { + "msgid": "Hindi" + }, + { + "msgid": "Invisible" + }, + { + "msgid": "Logo" + }, + { + "msgid": "Malta" + }, + { + "msgid": "Markdown" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "Neko" + }, + { + "msgid": "No" + }, + { + "msgid": "Normal" + }, + { + "msgid": "PiP" + }, + { + "msgid": "Plan" + }, + { + "msgid": "Portugal" + }, + { + "msgid": "Premium" + }, + { + "msgid": "Roles" + }, + { + "msgid": "Roles ({roleCount})" + }, + { + "msgid": "Social" + }, + { + "msgid": "Spam" + }, + { + "msgid": "Spoiler" + }, + { + "msgid": "Spoilers" + }, + { + "msgid": "Sticker" + }, + { + "msgid": "Sticker: {stickerName}" + }, + { + "msgid": "Stickers" + }, + { + "msgid": "Stickers: {stickerNames}" + }, + { + "msgid": "Token" + }, + { + "msgid": "Tokens" + }, + { + "msgid": "Video" + }, + { + "msgid": "Videos" + }, + { + "msgid": "Visual" + }, + { + "msgid": "Web {buildVersion}" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Webhook" + }, + { + "msgid": "Webhook {currentName}" + }, + { + "msgid": "Webhooks" + }, + { + "msgid": "Win" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "Zoom" + }, + { + "msgid": "cron" + }, + { + "msgid": "emoji {emojiName}" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "macOS" + }, + { + "msgid": "sendSystemDm" + }, + { + "msgid": "spoiler" + }, + { + "msgid": "sticker" + }, + { + "msgid": "video" + }, + { + "msgid": "{count, plural, one {# emoji} other {# emojis}}" + }, + { + "msgid": "{fps} FPS" + }, + { + "msgid": "{kilobits} kbps" + }, + { + "msgid": "{length} stickers" + }, + { + "msgid": "{megabits} Mbps" + }, + { + "msgid": "{messageGroupSpacing}px" + }, + { + "msgid": "{tokenCount, plural, one {# token} other {# tokens}}" + }, + { + "msgid": "{totalCount} total" + }, + { + "msgid": "{zoomPercent}%" + }, + { + "msgctxt": "channel-settings-tab", + "msgid": "Webhooks" + }, + { + "msgctxt": "community-settings-tab", + "msgid": "Roles" + }, + { + "msgctxt": "community-settings-tab", + "msgid": "Webhooks" + }, + { + "msgctxt": "voice-video-settings-section", + "msgid": "Audio" + }, + { + "msgctxt": "voice-video-settings-section", + "msgid": "Video" + } + ], + "es-ES": [ + { + "msgid": "15 FPS" + }, + { + "msgid": "30 FPS" + }, + { + "msgid": "60 FPS" + }, + { + "msgid": "Alt" + }, + { + "msgid": "Audio" + }, + { + "msgid": "Austria" + }, + { + "msgid": "Avatar" + }, + { + "msgid": "Bluesky" + }, + { + "msgid": "Bot" + }, + { + "msgid": "Bots" + }, + { + "msgid": "Bulgaria" + }, + { + "msgid": "Chat" + }, + { + "msgid": "Cisco" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Color" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Emoji" + }, + { + "msgid": "Emojis" + }, + { + "msgid": "Error" + }, + { + "msgid": "Esc" + }, + { + "msgid": "Escape" + }, + { + "msgid": "Estonia" + }, + { + "msgid": "Experimental" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "Gateway" + }, + { + "msgid": "General" + }, + { + "msgid": "Hardware" + }, + { + "msgid": "Hindi" + }, + { + "msgid": "Invisible" + }, + { + "msgid": "Malta" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "Neko" + }, + { + "msgid": "Roles ({roleCount})" + }, + { + "msgid": "Token" + }, + { + "msgid": "Tokens" + }, + { + "msgid": "Visual" + }, + { + "msgid": "Web {buildVersion}" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Webhook" + }, + { + "msgid": "Webhook {currentName}" + }, + { + "msgid": "Webhooks" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "Zoom" + }, + { + "msgid": "cron" + }, + { + "msgid": "emoji {emojiName}" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "macOS" + }, + { + "msgid": "{count, plural, one {# emoji} other {# emojis}}" + }, + { + "msgid": "{fps} FPS" + }, + { + "msgid": "{kilobits} kbps" + }, + { + "msgid": "{megabits} Mbps" + }, + { + "msgid": "{messageGroupSpacing}px" + }, + { + "msgid": "{releaseChannel} Web {buildVersion}" + }, + { + "msgid": "{tokenCount, plural, one {# token} other {# tokens}}" + }, + { + "msgid": "{zoomPercent}%" + }, + { + "msgctxt": "channel-settings-tab", + "msgid": "Webhooks" + }, + { + "msgctxt": "community-settings-tab", + "msgid": "Webhooks" + }, + { + "msgctxt": "voice-video-settings-section", + "msgid": "Audio" + } + ], + "fi": [ + { + "msgid": "15 FPS" + }, + { + "msgid": "30 FPS" + }, + { + "msgid": "60 FPS" + }, + { + "msgid": "Alt" + }, + { + "msgid": "Bluesky" + }, + { + "msgid": "Bluesky OAuth" + }, + { + "msgid": "Bulgaria" + }, + { + "msgid": "Chat" + }, + { + "msgid": "Cisco" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Emoji" + }, + { + "msgid": "Enter" + }, + { + "msgid": "Esc" + }, + { + "msgid": "Favicon" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "Latvia" + }, + { + "msgid": "Logo" + }, + { + "msgid": "Malta" + }, + { + "msgid": "Markdown" + }, + { + "msgid": "Media" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "Neko" + }, + { + "msgid": "Plutonium" + }, + { + "msgid": "Premium" + }, + { + "msgid": "Romania" + }, + { + "msgid": "Slovakia" + }, + { + "msgid": "Slovenia" + }, + { + "msgid": "Video" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Webhook" + }, + { + "msgid": "Webhook {currentName}" + }, + { + "msgid": "Win" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "cron" + }, + { + "msgid": "emoji {emojiName}" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "macOS" + }, + { + "msgid": "video" + }, + { + "msgid": "{fps} FPS" + }, + { + "msgid": "{kilobits} kbps" + }, + { + "msgid": "{megabits} Mbps" + }, + { + "msgid": "{messageGroupSpacing}px" + }, + { + "msgid": "{releaseChannel} Web {buildVersion}" + }, + { + "msgctxt": "chat-settings-section", + "msgid": "Media" + }, + { + "msgctxt": "voice-video-settings-section", + "msgid": "Video" + } + ], + "fr": [ + { + "msgid": "1 mention" + }, + { + "msgid": "1 minute" + }, + { + "msgid": "10 minutes" + }, + { + "msgid": "15 minutes" + }, + { + "msgid": "30 minutes" + }, + { + "msgid": "5 minutes" + }, + { + "msgid": "Action" + }, + { + "msgid": "Actions" + }, + { + "msgid": "Admin" + }, + { + "msgid": "Alt" + }, + { + "msgid": "Animation" + }, + { + "msgid": "Animations" + }, + { + "msgid": "Applications" + }, + { + "msgid": "Archives" + }, + { + "msgid": "Audio" + }, + { + "msgid": "Auto" + }, + { + "msgid": "Avatar" + }, + { + "msgid": "Avatars" + }, + { + "msgid": "Badge" + }, + { + "msgid": "Bio" + }, + { + "msgid": "Bluesky" + }, + { + "msgid": "Bot" + }, + { + "msgid": "Bots" + }, + { + "msgid": "Capture" + }, + { + "msgid": "Cisco" + }, + { + "msgid": "Client" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Code" + }, + { + "msgid": "Codec" + }, + { + "msgid": "Codes" + }, + { + "msgid": "Communication" + }, + { + "msgid": "Compact" + }, + { + "msgid": "Compact (400x300)" + }, + { + "msgid": "Composer" + }, + { + "msgid": "Confirmation" + }, + { + "msgid": "Contact" + }, + { + "msgid": "Conversations" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Danger" + }, + { + "msgid": "Date" + }, + { + "msgid": "Dense" + }, + { + "msgid": "Description" + }, + { + "msgid": "Documentation" + }, + { + "msgid": "Expiration" + }, + { + "msgid": "Expressions" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "France" + }, + { + "msgid": "Hindi" + }, + { + "msgid": "Image" + }, + { + "msgid": "Images" + }, + { + "msgid": "Important" + }, + { + "msgid": "Interface" + }, + { + "msgid": "Invisible" + }, + { + "msgid": "Inviter" + }, + { + "msgid": "Latitude" + }, + { + "msgid": "Local {localizedCurrencyLabel}" + }, + { + "msgid": "Logo" + }, + { + "msgid": "Longitude" + }, + { + "msgid": "Luxembourg" + }, + { + "msgid": "Markdown" + }, + { + "msgid": "Mature" + }, + { + "msgid": "Mentions" + }, + { + "msgid": "Message" + }, + { + "msgid": "Message @" + }, + { + "msgid": "Messages" + }, + { + "msgid": "Microphone" + }, + { + "msgid": "Minutes" + }, + { + "msgid": "Narration" + }, + { + "msgid": "Navigation" + }, + { + "msgid": "Neko" + }, + { + "msgid": "Normal" + }, + { + "msgid": "Note" + }, + { + "msgid": "Notifications" + }, + { + "msgid": "Options" + }, + { + "msgid": "Packs" + }, + { + "msgid": "Page {pageNumber}" + }, + { + "msgid": "Participants" + }, + { + "msgid": "Pause" + }, + { + "msgid": "Permanent" + }, + { + "msgid": "Photo" + }, + { + "msgid": "Phrase" + }, + { + "msgid": "PiP" + }, + { + "msgid": "Ping" + }, + { + "msgid": "Plutonium" + }, + { + "msgid": "Port" + }, + { + "msgid": "Portugal" + }, + { + "msgid": "Position" + }, + { + "msgid": "Premium" + }, + { + "msgid": "Saturation" + }, + { + "msgid": "Secret" + }, + { + "msgid": "Secrets" + }, + { + "msgid": "Session" + }, + { + "msgid": "Sessions" + }, + { + "msgid": "Silence" + }, + { + "msgid": "Social" + }, + { + "msgid": "Source" + }, + { + "msgid": "Spam" + }, + { + "msgid": "Spoiler" + }, + { + "msgid": "Spoilers" + }, + { + "msgid": "Standard" + }, + { + "msgid": "Standard {baseCurrencyLabel}" + }, + { + "msgid": "Stickers" + }, + { + "msgid": "Suggestions" + }, + { + "msgid": "Suppression" + }, + { + "msgid": "Tag" + }, + { + "msgid": "Tags" + }, + { + "msgid": "Tags ({tagCount}/{tagLimit})" + }, + { + "msgid": "Toast" + }, + { + "msgid": "Traits" + }, + { + "msgid": "Type" + }, + { + "msgid": "Type {premiumType}" + }, + { + "msgid": "Version" + }, + { + "msgid": "Volume" + }, + { + "msgid": "Web {buildVersion}" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Webcam" + }, + { + "msgid": "Webhook" + }, + { + "msgid": "Webhook {currentName}" + }, + { + "msgid": "Webhooks" + }, + { + "msgid": "Win" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "Zoom" + }, + { + "msgid": "cron" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "image" + }, + { + "msgid": "macOS" + }, + { + "msgid": "message" + }, + { + "msgid": "spoiler" + }, + { + "msgid": "{channelHeading}, {mentionCount} mentions" + }, + { + "msgid": "{count, plural, one {# minute} other {# minutes}}" + }, + { + "msgid": "{countLabel} minutes" + }, + { + "msgid": "{fifteenMinutes} minutes" + }, + { + "msgid": "{fps} FPS" + }, + { + "msgid": "{kilobits} kbps" + }, + { + "msgid": "{length} types" + }, + { + "msgid": "{megabits} Mbps" + }, + { + "msgid": "{mentionCount} mentions" + }, + { + "msgid": "{messageCount} messages" + }, + { + "msgid": "{messageGroupSpacing}px" + }, + { + "msgid": "{minutes, plural, one {# minute} other {# minutes}}" + }, + { + "msgid": "{minutes} minutes" + }, + { + "msgid": "{oneMinute} minute" + }, + { + "msgid": "{thirtyMinutes} minutes" + }, + { + "msgid": "{totalCount} total" + }, + { + "msgid": "{totalMentionCount} mentions" + }, + { + "msgctxt": "accessibility-settings-section", + "msgid": "Animation" + }, + { + "msgctxt": "appearance-settings-section", + "msgid": "Interface" + }, + { + "msgctxt": "appearance-settings-section", + "msgid": "Messages" + }, + { + "msgctxt": "channel-settings-tab", + "msgid": "Permissions" + }, + { + "msgctxt": "channel-settings-tab", + "msgid": "Webhooks" + }, + { + "msgctxt": "community-settings-tab", + "msgid": "Webhooks" + }, + { + "msgctxt": "noise-suppression-option", + "msgid": "Standard" + }, + { + "msgctxt": "privacy-settings-section", + "msgid": "Communication" + }, + { + "msgctxt": "user-settings-tab", + "msgid": "Notifications" + }, + { + "msgctxt": "voice-video-settings-section", + "msgid": "Audio" + } + ], + "he": [ + { + "msgid": "Alt" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Enter" + }, + { + "msgid": "Esc" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "PgDn" + }, + { + "msgid": "PgUp" + }, + { + "msgid": "Visionary" + }, + { + "msgid": "Web {buildVersion}" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Webhook {currentName}" + }, + { + "msgid": "Win" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "cron" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "macOS" + }, + { + "msgid": "sendSystemDm" + }, + { + "msgid": "user@example.com" + }, + { + "msgid": "{messageGroupSpacing}px" + }, + { + "msgid": "{releaseChannel} Web {buildVersion}" + }, + { + "msgid": "{zoomPercent}%" + } + ], + "hi": [ + { + "msgid": "15 FPS" + }, + { + "msgid": "Alt" + }, + { + "msgid": "Bluesky OAuth" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Enter" + }, + { + "msgid": "Esc" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "PgDn" + }, + { + "msgid": "PgUp" + }, + { + "msgid": "Win" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "macOS" + }, + { + "msgid": "sendSystemDm" + }, + { + "msgid": "user@example.com" + }, + { + "msgid": "{fps} FPS" + }, + { + "msgid": "{kilobits} kbps" + }, + { + "msgid": "{megabits} Mbps" + }, + { + "msgid": "{messageGroupSpacing}px" + }, + { + "msgid": "{zoomPercent}%" + } + ], + "hr": [ + { + "msgid": "15 FPS" + }, + { + "msgid": "30 FPS" + }, + { + "msgid": "60 FPS" + }, + { + "msgid": "Administrator" + }, + { + "msgid": "Alt" + }, + { + "msgid": "Backspace" + }, + { + "msgid": "Bluesky" + }, + { + "msgid": "Bluesky OAuth" + }, + { + "msgid": "Bot" + }, + { + "msgid": "Cisco" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Enter" + }, + { + "msgid": "Esc" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "Font" + }, + { + "msgid": "Gateway" + }, + { + "msgid": "Logo" + }, + { + "msgid": "Malta" + }, + { + "msgid": "Markdown" + }, + { + "msgid": "Moderator" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "Neko" + }, + { + "msgid": "Online" + }, + { + "msgid": "PgDn" + }, + { + "msgid": "PgUp" + }, + { + "msgid": "Ping" + }, + { + "msgid": "Plan" + }, + { + "msgid": "Port" + }, + { + "msgid": "Portugal" + }, + { + "msgid": "Premium" + }, + { + "msgid": "Premium model" + }, + { + "msgid": "Spam" + }, + { + "msgid": "Status" + }, + { + "msgid": "Token" + }, + { + "msgid": "Web {buildVersion}" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Webhook" + }, + { + "msgid": "Webhook {currentName}" + }, + { + "msgid": "Win" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "cron" + }, + { + "msgid": "emoji {emojiName}" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "macOS" + }, + { + "msgid": "user@example.com" + }, + { + "msgid": "{fps} FPS" + }, + { + "msgid": "{kilobits} kbps" + }, + { + "msgid": "{megabits} Mbps" + }, + { + "msgid": "{messageGroupSpacing}px" + }, + { + "msgid": "{releaseChannel} Web {buildVersion}" + } + ], + "hu": [ + { + "msgid": "15 FPS" + }, + { + "msgid": "30 FPS" + }, + { + "msgid": "60 FPS" + }, + { + "msgid": "Alt" + }, + { + "msgid": "Avatar hash" + }, + { + "msgid": "Belgium" + }, + { + "msgid": "Bluesky" + }, + { + "msgid": "Bluesky OAuth" + }, + { + "msgid": "Bot" + }, + { + "msgid": "Bot DM" + }, + { + "msgid": "Cisco" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Domain" + }, + { + "msgid": "Emoji" + }, + { + "msgid": "Enter" + }, + { + "msgid": "Esc" + }, + { + "msgid": "Favicon" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "Gateway" + }, + { + "msgid": "JWKS URL" + }, + { + "msgid": "Jitter" + }, + { + "msgid": "Link" + }, + { + "msgid": "Markdown" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "Neko" + }, + { + "msgid": "Offline" + }, + { + "msgid": "Online" + }, + { + "msgid": "PgDn" + }, + { + "msgid": "PgUp" + }, + { + "msgid": "Ping" + }, + { + "msgid": "Port" + }, + { + "msgid": "Token" + }, + { + "msgid": "Visionary" + }, + { + "msgid": "Web {buildVersion}" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Webhook" + }, + { + "msgid": "Webhook URL" + }, + { + "msgid": "Win" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "cron" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "link" + }, + { + "msgid": "macOS" + }, + { + "msgid": "online" + }, + { + "msgid": "user@example.com" + }, + { + "msgid": "{fps} FPS" + }, + { + "msgid": "{kilobits} kbps" + }, + { + "msgid": "{megabits} Mbps" + }, + { + "msgid": "{messageGroupSpacing}px" + }, + { + "msgid": "{onlineCount} online" + }, + { + "msgid": "{presenceCount} online" + }, + { + "msgid": "{renderedPresenceCount} online" + }, + { + "msgid": "{zoomPercent}%" + } + ], + "id": [ + { + "msgid": "15 FPS" + }, + { + "msgid": "30 FPS" + }, + { + "msgid": "60 FPS" + }, + { + "msgid": "Admin" + }, + { + "msgid": "Administrator" + }, + { + "msgid": "Alt" + }, + { + "msgid": "Anime & manga" + }, + { + "msgid": "Audio" + }, + { + "msgid": "Audio & video" + }, + { + "msgid": "Austria" + }, + { + "msgid": "Avatar" + }, + { + "msgid": "Backspace" + }, + { + "msgid": "Bandwidth" + }, + { + "msgid": "Bio" + }, + { + "msgid": "Bitrate" + }, + { + "msgid": "Bluesky" + }, + { + "msgid": "Bot" + }, + { + "msgid": "Bulgaria" + }, + { + "msgid": "Cisco" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Codec" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Data" + }, + { + "msgid": "Debug" + }, + { + "msgid": "Default" + }, + { + "msgid": "Edit \"{0}\"" + }, + { + "msgid": "Edit {engineName}" + }, + { + "msgid": "Favicon" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "Hindi" + }, + { + "msgid": "Host" + }, + { + "msgid": "Jitter" + }, + { + "msgid": "Latvia" + }, + { + "msgid": "Logo" + }, + { + "msgid": "Malta" + }, + { + "msgid": "Markdown" + }, + { + "msgid": "Media" + }, + { + "msgid": "Metadata" + }, + { + "msgid": "Moderator" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "Neko" + }, + { + "msgid": "Node" + }, + { + "msgid": "Normal" + }, + { + "msgid": "Offline" + }, + { + "msgid": "Offset {offset}" + }, + { + "msgid": "Online" + }, + { + "msgid": "Output" + }, + { + "msgid": "PgDn" + }, + { + "msgid": "PgUp" + }, + { + "msgid": "PiP" + }, + { + "msgid": "Ping" + }, + { + "msgid": "Platform" + }, + { + "msgid": "Plutonium" + }, + { + "msgid": "Port" + }, + { + "msgid": "Portugal" + }, + { + "msgid": "Premium" + }, + { + "msgid": "SHA-256 Hash" + }, + { + "msgid": "Shift" + }, + { + "msgid": "Slovenia" + }, + { + "msgid": "Spam" + }, + { + "msgid": "Spoiler" + }, + { + "msgid": "Status" + }, + { + "msgid": "Submenu" + }, + { + "msgid": "Substring" + }, + { + "msgid": "Tab" + }, + { + "msgid": "Tag" + }, + { + "msgid": "Target" + }, + { + "msgid": "Template" + }, + { + "msgid": "Token" + }, + { + "msgid": "Total RAM" + }, + { + "msgid": "Unit" + }, + { + "msgid": "Video" + }, + { + "msgid": "Visual" + }, + { + "msgid": "Volume" + }, + { + "msgid": "Web {buildVersion}" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Webcam" + }, + { + "msgid": "Webhook" + }, + { + "msgid": "Webhook {currentName}" + }, + { + "msgid": "Win" + }, + { + "msgid": "Wordmark" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "cron" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "macOS" + }, + { + "msgid": "online" + }, + { + "msgid": "spoiler" + }, + { + "msgid": "user@example.com" + }, + { + "msgid": "video" + }, + { + "msgid": "{formattedPresenceCount} online" + }, + { + "msgid": "{fps} FPS" + }, + { + "msgid": "{kilobits} kbps" + }, + { + "msgid": "{megabits} Mbps" + }, + { + "msgid": "{onlineCount} online" + }, + { + "msgid": "{presenceCount} online" + }, + { + "msgid": "{productName} Desktop" + }, + { + "msgid": "{renderedPresenceCount} online" + }, + { + "msgid": "{totalCount} total" + }, + { + "msgid": "{zoomPercent}%" + }, + { + "msgctxt": "accessibility-settings-section", + "msgid": "Visual" + }, + { + "msgctxt": "chat-settings-section", + "msgid": "Input" + }, + { + "msgctxt": "chat-settings-section", + "msgid": "Media" + }, + { + "msgctxt": "voice-video-settings-section", + "msgid": "Video" + } + ], + "it": [ + { + "msgid": "15 FPS" + }, + { + "msgid": "30 FPS" + }, + { + "msgid": "60 FPS" + }, + { + "msgid": "Account" + }, + { + "msgid": "Alt" + }, + { + "msgid": "Audio" + }, + { + "msgid": "Austria" + }, + { + "msgid": "Avatar" + }, + { + "msgid": "Backspace" + }, + { + "msgid": "Badge" + }, + { + "msgid": "Banner" + }, + { + "msgid": "Bitrate" + }, + { + "msgid": "Bluesky" + }, + { + "msgid": "Bot" + }, + { + "msgid": "Bulgaria" + }, + { + "msgid": "Chat" + }, + { + "msgid": "Cisco" + }, + { + "msgid": "Client" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Codec" + }, + { + "msgid": "Combobox" + }, + { + "msgid": "Community" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Debug" + }, + { + "msgid": "Desktop" + }, + { + "msgid": "Email" + }, + { + "msgid": "Emoji" + }, + { + "msgid": "Endpoint" + }, + { + "msgid": "Esc" + }, + { + "msgid": "Estonia" + }, + { + "msgid": "Favicon" + }, + { + "msgid": "File" + }, + { + "msgid": "File: {fileName}" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "Gateway" + }, + { + "msgid": "Hardware" + }, + { + "msgid": "Hashing" + }, + { + "msgid": "Hindi" + }, + { + "msgid": "Home" + }, + { + "msgid": "Host" + }, + { + "msgid": "In" + }, + { + "msgid": "Input" + }, + { + "msgid": "Jitter" + }, + { + "msgid": "Link" + }, + { + "msgid": "Logo" + }, + { + "msgid": "Malta" + }, + { + "msgid": "Media" + }, + { + "msgid": "Neko" + }, + { + "msgid": "Nickname" + }, + { + "msgid": "Nickname: {nickname}" + }, + { + "msgid": "No" + }, + { + "msgid": "Online" + }, + { + "msgid": "Output" + }, + { + "msgid": "Passkey" + }, + { + "msgid": "Password" + }, + { + "msgid": "Payload" + }, + { + "msgid": "PiP" + }, + { + "msgid": "Ping" + }, + { + "msgid": "Ping: {currentLatency}ms" + }, + { + "msgid": "Ping: {latency}ms" + }, + { + "msgid": "Premium" + }, + { + "msgid": "Privacy" + }, + { + "msgid": "Provider" + }, + { + "msgid": "Romania" + }, + { + "msgid": "Slovenia" + }, + { + "msgid": "Spam" + }, + { + "msgid": "Spoiler" + }, + { + "msgid": "Standard" + }, + { + "msgid": "Standard {baseCurrencyLabel}" + }, + { + "msgid": "Static Neko" + }, + { + "msgid": "Tag" + }, + { + "msgid": "Test SMTP" + }, + { + "msgid": "Token" + }, + { + "msgid": "Video" + }, + { + "msgid": "Volume" + }, + { + "msgid": "Web {buildVersion}" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Webcam" + }, + { + "msgid": "Webhook" + }, + { + "msgid": "Webhook {currentName}" + }, + { + "msgid": "Win" + }, + { + "msgid": "Wordmark" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "Zoom" + }, + { + "msgid": "community" + }, + { + "msgid": "cron" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "link" + }, + { + "msgid": "macOS" + }, + { + "msgid": "online" + }, + { + "msgid": "spoiler" + }, + { + "msgid": "user@example.com" + }, + { + "msgid": "video" + }, + { + "msgid": "{desktopChannel} Desktop {desktopVersion}" + }, + { + "msgid": "{fps} FPS" + }, + { + "msgid": "{kilobits} kbps" + }, + { + "msgid": "{megabits} Mbps" + }, + { + "msgid": "{messageGroupSpacing}px" + }, + { + "msgid": "{productName} Desktop" + }, + { + "msgid": "{releaseChannel} Web {buildVersion}" + }, + { + "msgid": "{zoomPercent}%" + }, + { + "msgctxt": "chat-settings-section", + "msgid": "Input" + }, + { + "msgctxt": "community-settings-tab", + "msgid": "Emoji" + }, + { + "msgctxt": "noise-suppression-option", + "msgid": "Standard" + }, + { + "msgctxt": "security-settings-section", + "msgid": "Account" + }, + { + "msgctxt": "voice-video-settings-section", + "msgid": "Audio" + }, + { + "msgctxt": "voice-video-settings-section", + "msgid": "Video" + } + ], + "ja": [ + { + "msgid": "15 FPS" + }, + { + "msgid": "30 FPS" + }, + { + "msgid": "60 FPS" + }, + { + "msgid": "Alt" + }, + { + "msgid": "Backspace" + }, + { + "msgid": "Bluesky" + }, + { + "msgid": "Bluesky OAuth" + }, + { + "msgid": "Cisco" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Enter" + }, + { + "msgid": "Esc" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "JWKS URL" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "Ping" + }, + { + "msgid": "Ping: {currentLatency}ms" + }, + { + "msgid": "Ping: {latency}ms" + }, + { + "msgid": "Visionary" + }, + { + "msgid": "Visionary ({visionaryLifetimeBadgeLabel})" + }, + { + "msgid": "Visionary ID {visionaryIdLabel}" + }, + { + "msgid": "Web {buildVersion}" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Webhook" + }, + { + "msgid": "Webhook URL" + }, + { + "msgid": "Win" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "cron" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "macOS" + }, + { + "msgid": "user@example.com" + }, + { + "msgid": "{fps} FPS" + }, + { + "msgid": "{kilobits} kbps" + }, + { + "msgid": "{megabits} Mbps" + }, + { + "msgid": "{messageGroupSpacing}px" + }, + { + "msgid": "{releaseChannel} Web {buildVersion}" + }, + { + "msgid": "{zoomPercent}%" + } + ], + "ko": [ + { + "msgid": "15 FPS" + }, + { + "msgid": "30 FPS" + }, + { + "msgid": "60 FPS" + }, + { + "msgid": "Alt" + }, + { + "msgid": "Bluesky OAuth" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Enter" + }, + { + "msgid": "Esc" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "JWKS URL" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "Visionary" + }, + { + "msgid": "cron" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "macOS" + }, + { + "msgid": "sendSystemDm" + }, + { + "msgid": "user@example.com" + }, + { + "msgid": "{fps} FPS" + }, + { + "msgid": "{messageGroupSpacing}px" + }, + { + "msgid": "{zoomPercent}%" + } + ], + "lt": [ + { + "msgid": "60 FPS" + }, + { + "msgid": "Alt" + }, + { + "msgid": "Cisco" + }, + { + "msgid": "Enter" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "Hindi" + }, + { + "msgid": "JWKS URL" + }, + { + "msgid": "Malta" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "Neko" + }, + { + "msgid": "PgDn" + }, + { + "msgid": "PgUp" + }, + { + "msgid": "Premium" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "cron" + }, + { + "msgid": "{fps} FPS" + }, + { + "msgid": "{kilobits} kbps" + }, + { + "msgid": "{megabits} Mbps" + } + ], + "nl": [ + { + "msgid": "1 week" + }, + { + "msgid": "15 FPS" + }, + { + "msgid": "Account" + }, + { + "msgid": "Accounts" + }, + { + "msgid": "Alt" + }, + { + "msgid": "Apps" + }, + { + "msgid": "Audio" + }, + { + "msgid": "Authenticator" + }, + { + "msgid": "Authenticators" + }, + { + "msgid": "Backspace" + }, + { + "msgid": "Badge" + }, + { + "msgid": "Banner" + }, + { + "msgid": "Bio" + }, + { + "msgid": "Bluesky" + }, + { + "msgid": "Bluesky OAuth" + }, + { + "msgid": "Bot" + }, + { + "msgid": "Bots" + }, + { + "msgid": "Camera" + }, + { + "msgid": "Chat" + }, + { + "msgid": "Cisco" + }, + { + "msgid": "Client" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Code" + }, + { + "msgid": "Codec" + }, + { + "msgid": "Codes" + }, + { + "msgid": "Community" + }, + { + "msgid": "Compact" + }, + { + "msgid": "Compact (400x300)" + }, + { + "msgid": "Contact" + }, + { + "msgid": "Contrast" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Cyprus" + }, + { + "msgid": "Desktop" + }, + { + "msgid": "Detail" + }, + { + "msgid": "Details" + }, + { + "msgid": "Discriminator" + }, + { + "msgid": "Echo" + }, + { + "msgid": "Emoji" + }, + { + "msgid": "Emoticon" + }, + { + "msgid": "Emoticons" + }, + { + "msgid": "Favicon" + }, + { + "msgid": "Finland" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "Focus" + }, + { + "msgid": "Gaming" + }, + { + "msgid": "Gateway" + }, + { + "msgid": "Hardware" + }, + { + "msgid": "Help" + }, + { + "msgid": "Hindi" + }, + { + "msgid": "Host" + }, + { + "msgid": "Hyperlink" + }, + { + "msgid": "In" + }, + { + "msgid": "Indicator" + }, + { + "msgid": "Inline" + }, + { + "msgid": "Inline code" + }, + { + "msgid": "Interface" + }, + { + "msgid": "Jitter" + }, + { + "msgid": "Jobs" + }, + { + "msgid": "Lane" + }, + { + "msgid": "Later" + }, + { + "msgid": "Link" + }, + { + "msgid": "Links" + }, + { + "msgid": "Live" + }, + { + "msgid": "Logo" + }, + { + "msgid": "Malta" + }, + { + "msgid": "Markdown" + }, + { + "msgid": "Media" + }, + { + "msgid": "Metadata" + }, + { + "msgid": "Moderator" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "Neko" + }, + { + "msgid": "Node" + }, + { + "msgid": "Nodes" + }, + { + "msgid": "Offline" + }, + { + "msgid": "Offset {offset}" + }, + { + "msgid": "Online" + }, + { + "msgid": "Open @{displayName}" + }, + { + "msgid": "Open community" + }, + { + "msgid": "Open event sink" + }, + { + "msgid": "Open {contextName}" + }, + { + "msgid": "Open {displayName}" + }, + { + "msgid": "Open {landmarkName}" + }, + { + "msgid": "Open {macosSystemSettingsName}" + }, + { + "msgid": "Open {productName}" + }, + { + "msgid": "Payload" + }, + { + "msgid": "Permanent" + }, + { + "msgid": "PgDn" + }, + { + "msgid": "PgUp" + }, + { + "msgid": "PiP" + }, + { + "msgid": "Ping" + }, + { + "msgid": "Platform" + }, + { + "msgid": "Plutonium" + }, + { + "msgid": "Portugal" + }, + { + "msgid": "Premium" + }, + { + "msgid": "Premium model" + }, + { + "msgid": "Privacy" + }, + { + "msgid": "Provider" + }, + { + "msgid": "Realtime" + }, + { + "msgid": "Recent" + }, + { + "msgid": "Relevant" + }, + { + "msgid": "Spam" + }, + { + "msgid": "Spelling" + }, + { + "msgid": "Spoiler" + }, + { + "msgid": "Spoilers" + }, + { + "msgid": "Status" + }, + { + "msgid": "Sticker" + }, + { + "msgid": "Sticker: {stickerName}" + }, + { + "msgid": "Stickers" + }, + { + "msgid": "Stickers: {stickerNames}" + }, + { + "msgid": "Stream" + }, + { + "msgid": "Submenu" + }, + { + "msgid": "Substring" + }, + { + "msgid": "Tag" + }, + { + "msgid": "Tags" + }, + { + "msgid": "Tags ({tagCount}/{tagLimit})" + }, + { + "msgid": "Test SMTP" + }, + { + "msgid": "Tip" + }, + { + "msgid": "Token" + }, + { + "msgid": "Tokens" + }, + { + "msgid": "Tooltips" + }, + { + "msgid": "Tracking" + }, + { + "msgid": "Type" + }, + { + "msgid": "Type {premiumType}" + }, + { + "msgid": "Uploader" + }, + { + "msgid": "Video" + }, + { + "msgid": "Voice servers: {regionName}" + }, + { + "msgid": "Volume" + }, + { + "msgid": "Web {buildVersion}" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Webcam" + }, + { + "msgid": "Webhook" + }, + { + "msgid": "Webhook {currentName}" + }, + { + "msgid": "Webhooks" + }, + { + "msgid": "Website" + }, + { + "msgid": "Win" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "cron" + }, + { + "msgid": "emoji {emojiName}" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "link" + }, + { + "msgid": "macOS" + }, + { + "msgid": "online" + }, + { + "msgid": "reposts" + }, + { + "msgid": "slash {commandName}" + }, + { + "msgid": "spoiler" + }, + { + "msgid": "sticker" + }, + { + "msgid": "video" + }, + { + "msgid": "{count, plural, one {# item} other {# items}}" + }, + { + "msgid": "{formattedPresenceCount} online" + }, + { + "msgid": "{fps} FPS" + }, + { + "msgid": "{kilobits} kbps" + }, + { + "msgid": "{length} apps" + }, + { + "msgid": "{length} stickers" + }, + { + "msgid": "{megabits} Mbps" + }, + { + "msgid": "{onlineCount} online" + }, + { + "msgid": "{presenceCount} online" + }, + { + "msgid": "{renderedPresenceCount} online" + }, + { + "msgid": "{tokenCount, plural, one {# token} other {# tokens}}" + }, + { + "msgid": "{zoomPercent}%" + }, + { + "msgctxt": "appearance-settings-section", + "msgid": "Interface" + }, + { + "msgctxt": "channel-settings-tab", + "msgid": "Webhooks" + }, + { + "msgctxt": "chat-settings-section", + "msgid": "Media" + }, + { + "msgctxt": "community-settings-tab", + "msgid": "Emoji" + }, + { + "msgctxt": "community-settings-tab", + "msgid": "Stickers" + }, + { + "msgctxt": "community-settings-tab", + "msgid": "Webhooks" + }, + { + "msgctxt": "voice-video-settings-section", + "msgid": "Video" + } + ], + "no": [ + { + "msgid": "15 FPS" + }, + { + "msgid": "30 FPS" + }, + { + "msgid": "60 FPS" + }, + { + "msgid": "Admin" + }, + { + "msgid": "Administrator" + }, + { + "msgid": "Alt" + }, + { + "msgid": "Banner" + }, + { + "msgid": "Bind" + }, + { + "msgid": "Bluesky" + }, + { + "msgid": "Bluesky OAuth" + }, + { + "msgid": "Boost" + }, + { + "msgid": "Bot" + }, + { + "msgid": "Bulgaria" + }, + { + "msgid": "Chat" + }, + { + "msgid": "Cisco" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Data" + }, + { + "msgid": "Emoji" + }, + { + "msgid": "Enter" + }, + { + "msgid": "Esc" + }, + { + "msgid": "Favicon" + }, + { + "msgid": "Filter" + }, + { + "msgid": "Finland" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "Full" + }, + { + "msgid": "Gateway" + }, + { + "msgid": "Hindi" + }, + { + "msgid": "Inviter" + }, + { + "msgid": "Jitter" + }, + { + "msgid": "Lane" + }, + { + "msgid": "Latitude" + }, + { + "msgid": "Latvia" + }, + { + "msgid": "Logo" + }, + { + "msgid": "Luxembourg" + }, + { + "msgid": "Malta" + }, + { + "msgid": "Markdown" + }, + { + "msgid": "Metadata" + }, + { + "msgid": "Moderator" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "Neko" + }, + { + "msgid": "Node" + }, + { + "msgid": "Normal" + }, + { + "msgid": "Pause" + }, + { + "msgid": "Permanent" + }, + { + "msgid": "Ping" + }, + { + "msgid": "Plutonium" + }, + { + "msgid": "Port" + }, + { + "msgid": "Portugal" + }, + { + "msgid": "Premium" + }, + { + "msgid": "Region" + }, + { + "msgid": "Region: {regionName}" + }, + { + "msgid": "Ring" + }, + { + "msgid": "Romania" + }, + { + "msgid": "Send" + }, + { + "msgid": "Send ({selectedCount}/{selectionLimit})" + }, + { + "msgid": "Send GIF {title}" + }, + { + "msgid": "Slovakia" + }, + { + "msgid": "Slovenia" + }, + { + "msgid": "Spam" + }, + { + "msgid": "Standard" + }, + { + "msgid": "Standard {baseCurrencyLabel}" + }, + { + "msgid": "Start" + }, + { + "msgid": "Status" + }, + { + "msgid": "Symbol" + }, + { + "msgid": "System" + }, + { + "msgid": "Test SMTP" + }, + { + "msgid": "Thai" + }, + { + "msgid": "Token" + }, + { + "msgid": "Tokens" + }, + { + "msgid": "Tone" + }, + { + "msgid": "Total RAM" + }, + { + "msgid": "Type" + }, + { + "msgid": "Type {premiumType}" + }, + { + "msgid": "Video" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Webhook" + }, + { + "msgid": "Webhook {currentName}" + }, + { + "msgid": "Win" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "Zoom" + }, + { + "msgid": "cron" + }, + { + "msgid": "emoji {emojiName}" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "macOS" + }, + { + "msgid": "repost" + }, + { + "msgid": "sendSystemDm" + }, + { + "msgid": "video" + }, + { + "msgid": "{fps} FPS" + }, + { + "msgid": "{kilobits} kbps" + }, + { + "msgid": "{megabits} Mbps" + }, + { + "msgctxt": "community-settings-tab", + "msgid": "Emoji" + } + ], + "pl": [ + { + "msgid": "Administrator" + }, + { + "msgid": "Alt" + }, + { + "msgid": "Austria" + }, + { + "msgid": "Bluesky" + }, + { + "msgid": "Bot" + }, + { + "msgid": "Cisco" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Echo" + }, + { + "msgid": "Emoji" + }, + { + "msgid": "Enter" + }, + { + "msgid": "Esc" + }, + { + "msgid": "Estonia" + }, + { + "msgid": "Favicon" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "Folder" + }, + { + "msgid": "Hindi" + }, + { + "msgid": "Host" + }, + { + "msgid": "Jitter" + }, + { + "msgid": "Limit" + }, + { + "msgid": "Link" + }, + { + "msgid": "Logo" + }, + { + "msgid": "Malta" + }, + { + "msgid": "Markdown" + }, + { + "msgid": "Moderator" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "Neko" + }, + { + "msgid": "Offline" + }, + { + "msgid": "Online" + }, + { + "msgid": "PgUp" + }, + { + "msgid": "Ping" + }, + { + "msgid": "Plan" + }, + { + "msgid": "Port" + }, + { + "msgid": "Premium" + }, + { + "msgid": "Region" + }, + { + "msgid": "Region: {regionName}" + }, + { + "msgid": "Spam" + }, + { + "msgid": "Status" + }, + { + "msgid": "Symbol" + }, + { + "msgid": "System" + }, + { + "msgid": "Tag" + }, + { + "msgid": "Token" + }, + { + "msgid": "Web {buildVersion}" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Webhook" + }, + { + "msgid": "Webhook {currentName}" + }, + { + "msgid": "Win" + }, + { + "msgid": "Wordmark" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "cron" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "macOS" + }, + { + "msgid": "online" + }, + { + "msgid": "{desktopChannel} Desktop {desktopVersion}" + }, + { + "msgid": "{onlineCount} online" + }, + { + "msgid": "{presenceCount} online" + }, + { + "msgid": "{renderedPresenceCount} online" + }, + { + "msgctxt": "community-settings-tab", + "msgid": "Emoji" + } + ], + "pt-BR": [ + { + "msgid": "15 FPS" + }, + { + "msgid": "30 FPS" + }, + { + "msgid": "60 FPS" + }, + { + "msgid": "ACLs" + }, + { + "msgid": "Admin" + }, + { + "msgid": "Alt" + }, + { + "msgid": "Avatar" + }, + { + "msgid": "Banner" + }, + { + "msgid": "Bluesky" + }, + { + "msgid": "Bot" + }, + { + "msgid": "Bots" + }, + { + "msgid": "Cisco" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Codec" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Emoji" + }, + { + "msgid": "Emojis" + }, + { + "msgid": "Emoticon" + }, + { + "msgid": "Emoticons" + }, + { + "msgid": "Enter" + }, + { + "msgid": "Esc" + }, + { + "msgid": "Experimental" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "GIFs" + }, + { + "msgid": "Gateway" + }, + { + "msgid": "Hardware" + }, + { + "msgid": "Hindi" + }, + { + "msgid": "Interface" + }, + { + "msgid": "Latitude" + }, + { + "msgid": "Link" + }, + { + "msgid": "Links" + }, + { + "msgid": "Login" + }, + { + "msgid": "Logo" + }, + { + "msgid": "Longitude" + }, + { + "msgid": "Malta" + }, + { + "msgid": "Markdown" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "Neko" + }, + { + "msgid": "Normal" + }, + { + "msgid": "Online" + }, + { + "msgid": "PiP" + }, + { + "msgid": "Ping" + }, + { + "msgid": "Ping: {currentLatency}ms" + }, + { + "msgid": "Ping: {latency}ms" + }, + { + "msgid": "Portugal" + }, + { + "msgid": "Premium" + }, + { + "msgid": "Prompt" + }, + { + "msgid": "Social" + }, + { + "msgid": "Spam" + }, + { + "msgid": "Submenu" + }, + { + "msgid": "Substring" + }, + { + "msgid": "Tag" + }, + { + "msgid": "Tags" + }, + { + "msgid": "Tags ({tagCount}/{tagLimit})" + }, + { + "msgid": "Token" + }, + { + "msgid": "Tokens" + }, + { + "msgid": "Visual" + }, + { + "msgid": "Volume" + }, + { + "msgid": "Web {buildVersion}" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Webcam" + }, + { + "msgid": "Webhook" + }, + { + "msgid": "Webhook {currentName}" + }, + { + "msgid": "Webhooks" + }, + { + "msgid": "Win" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "Zoom" + }, + { + "msgid": "cron" + }, + { + "msgid": "emoji {emojiName}" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "link" + }, + { + "msgid": "macOS" + }, + { + "msgid": "online" + }, + { + "msgid": "spoiler" + }, + { + "msgid": "{count, plural, one {# emoji} other {# emojis}}" + }, + { + "msgid": "{desktopChannel} Desktop {desktopVersion}" + }, + { + "msgid": "{formattedPresenceCount} online" + }, + { + "msgid": "{fps} FPS" + }, + { + "msgid": "{kilobits} kbps" + }, + { + "msgid": "{length} apps" + }, + { + "msgid": "{megabits} Mbps" + }, + { + "msgid": "{messageGroupSpacing}px" + }, + { + "msgid": "{onlineCount} online" + }, + { + "msgid": "{presenceCount} online" + }, + { + "msgid": "{renderedPresenceCount} online" + }, + { + "msgid": "{tokenCount, plural, one {# token} other {# tokens}}" + }, + { + "msgid": "{totalCount} total" + }, + { + "msgid": "{zoomPercent}%" + }, + { + "msgctxt": "accessibility-settings-section", + "msgid": "Visual" + }, + { + "msgctxt": "appearance-settings-section", + "msgid": "Interface" + }, + { + "msgctxt": "channel-settings-tab", + "msgid": "Webhooks" + }, + { + "msgctxt": "community-settings-tab", + "msgid": "Webhooks" + } + ], + "ro": [ + { + "msgid": "15 FPS" + }, + { + "msgid": "30 FPS" + }, + { + "msgid": "60 FPS" + }, + { + "msgid": "Admin" + }, + { + "msgid": "Administrator" + }, + { + "msgid": "Alt" + }, + { + "msgid": "Audio" + }, + { + "msgid": "Austria" + }, + { + "msgid": "Avatar" + }, + { + "msgid": "Banner" + }, + { + "msgid": "Bitrate" + }, + { + "msgid": "Bluesky" + }, + { + "msgid": "Bot" + }, + { + "msgid": "Bulgaria" + }, + { + "msgid": "Chat" + }, + { + "msgid": "Cisco" + }, + { + "msgid": "Client" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Codec" + }, + { + "msgid": "Combobox" + }, + { + "msgid": "Compact" + }, + { + "msgid": "Compact (400x300)" + }, + { + "msgid": "Contact" + }, + { + "msgid": "Contrast" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Desktop" + }, + { + "msgid": "Discriminator" + }, + { + "msgid": "Emoji" + }, + { + "msgid": "Emoticon" + }, + { + "msgid": "Enter" + }, + { + "msgid": "Esc" + }, + { + "msgid": "Estonia" + }, + { + "msgid": "Experimental" + }, + { + "msgid": "Export" + }, + { + "msgid": "Favicon" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "Font" + }, + { + "msgid": "Gateway" + }, + { + "msgid": "General" + }, + { + "msgid": "Hardware" + }, + { + "msgid": "Hindi" + }, + { + "msgid": "Important" + }, + { + "msgid": "Indicator" + }, + { + "msgid": "Invalid" + }, + { + "msgid": "Job {jobId}: {jobStatus}" + }, + { + "msgid": "Link" + }, + { + "msgid": "Local {localizedCurrencyLabel}" + }, + { + "msgid": "Logo" + }, + { + "msgid": "Malta" + }, + { + "msgid": "Markdown" + }, + { + "msgid": "Media" + }, + { + "msgid": "Mod" + }, + { + "msgid": "Moderator" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "Neko" + }, + { + "msgid": "Net" + }, + { + "msgid": "Normal" + }, + { + "msgid": "Permanent" + }, + { + "msgid": "PgDn" + }, + { + "msgid": "PgUp" + }, + { + "msgid": "PiP" + }, + { + "msgid": "Ping" + }, + { + "msgid": "Port" + }, + { + "msgid": "Premium" + }, + { + "msgid": "Secret" + }, + { + "msgid": "Slovenia" + }, + { + "msgid": "Social" + }, + { + "msgid": "Spam" + }, + { + "msgid": "Spoiler" + }, + { + "msgid": "Standard" + }, + { + "msgid": "Standard {baseCurrencyLabel}" + }, + { + "msgid": "Static" + }, + { + "msgid": "Static Neko" + }, + { + "msgid": "Streaming" + }, + { + "msgid": "Subtext" + }, + { + "msgid": "Text" + }, + { + "msgid": "Token" + }, + { + "msgid": "Video" + }, + { + "msgid": "Web {buildVersion}" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Webhook" + }, + { + "msgid": "Webhook {currentName}" + }, + { + "msgid": "Win" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "Zoom" + }, + { + "msgid": "cron" + }, + { + "msgid": "emoji {emojiName}" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "link" + }, + { + "msgid": "macOS" + }, + { + "msgid": "online" + }, + { + "msgid": "slash {commandName}" + }, + { + "msgid": "spoiler" + }, + { + "msgid": "user@example.com" + }, + { + "msgid": "video" + }, + { + "msgid": "{desktopChannel} Desktop {desktopVersion}" + }, + { + "msgid": "{fps} FPS" + }, + { + "msgid": "{kilobits} kbps" + }, + { + "msgid": "{megabits} Mbps" + }, + { + "msgid": "{messageGroupSpacing}px" + }, + { + "msgid": "{onlineCount} online" + }, + { + "msgid": "{presenceCount} online" + }, + { + "msgid": "{releaseChannel} Web {buildVersion}" + }, + { + "msgid": "{renderedPresenceCount} online" + }, + { + "msgid": "{totalCount} total" + }, + { + "msgctxt": "chat-settings-section", + "msgid": "Media" + }, + { + "msgctxt": "community-settings-tab", + "msgid": "Emoji" + }, + { + "msgctxt": "noise-suppression-option", + "msgid": "Standard" + }, + { + "msgctxt": "voice-video-settings-section", + "msgid": "Audio" + }, + { + "msgctxt": "voice-video-settings-section", + "msgid": "Video" + } + ], + "ru": [ + { + "msgid": "Alt" + }, + { + "msgid": "Backspace" + }, + { + "msgid": "Bluesky" + }, + { + "msgid": "Cisco" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Esc" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "PgDn" + }, + { + "msgid": "PgUp" + }, + { + "msgid": "Visionary" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Win" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "cron" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "macOS" + }, + { + "msgid": "sendSystemDm" + }, + { + "msgid": "user@example.com" + }, + { + "msgid": "{fps} FPS" + }, + { + "msgid": "{messageGroupSpacing}px" + }, + { + "msgid": "{releaseChannel} Web {buildVersion}" + }, + { + "msgid": "{zoomPercent}%" + } + ], + "sv-SE": [ + { + "msgid": "15 FPS" + }, + { + "msgid": "30 FPS" + }, + { + "msgid": "60 FPS" + }, + { + "msgid": "Acceleration" + }, + { + "msgid": "Admin" + }, + { + "msgid": "Alt" + }, + { + "msgid": "Avatar" + }, + { + "msgid": "Banner" + }, + { + "msgid": "Bio" + }, + { + "msgid": "Bluesky" + }, + { + "msgid": "Bluesky OAuth" + }, + { + "msgid": "Bot" + }, + { + "msgid": "Cisco" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Codec" + }, + { + "msgid": "Community" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Data" + }, + { + "msgid": "Emoji" + }, + { + "msgid": "Emojis" + }, + { + "msgid": "Esc" + }, + { + "msgid": "Favicon" + }, + { + "msgid": "Finland" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "Gateway" + }, + { + "msgid": "Hindi" + }, + { + "msgid": "Jitter" + }, + { + "msgid": "Lane" + }, + { + "msgid": "Live" + }, + { + "msgid": "Malta" + }, + { + "msgid": "Markdown" + }, + { + "msgid": "Max {maxSize}." + }, + { + "msgid": "Media" + }, + { + "msgid": "Metadata" + }, + { + "msgid": "Moderator" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "Neko" + }, + { + "msgid": "Normal" + }, + { + "msgid": "Permanent" + }, + { + "msgid": "PgUp" + }, + { + "msgid": "Ping" + }, + { + "msgid": "Plan" + }, + { + "msgid": "Plutonium" + }, + { + "msgid": "Popup" + }, + { + "msgid": "Port" + }, + { + "msgid": "Portugal" + }, + { + "msgid": "Position" + }, + { + "msgid": "Premium" + }, + { + "msgid": "Region" + }, + { + "msgid": "Region: {regionName}" + }, + { + "msgid": "Relevant" + }, + { + "msgid": "Ring" + }, + { + "msgid": "Session" + }, + { + "msgid": "Standard" + }, + { + "msgid": "Standard {baseCurrencyLabel}" + }, + { + "msgid": "Status" + }, + { + "msgid": "Symbol" + }, + { + "msgid": "System" + }, + { + "msgid": "Text" + }, + { + "msgid": "Token" + }, + { + "msgid": "Version" + }, + { + "msgid": "Video" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Webhook" + }, + { + "msgid": "Webhook {currentName}" + }, + { + "msgid": "Webhooks" + }, + { + "msgid": "Win" + }, + { + "msgid": "Wordmark" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "community" + }, + { + "msgid": "cron" + }, + { + "msgid": "emoji {emojiName}" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "macOS" + }, + { + "msgid": "online" + }, + { + "msgid": "video" + }, + { + "msgid": "{count, plural, one {# emoji} other {# emojis}}" + }, + { + "msgid": "{desktopChannel} Desktop {desktopVersion}" + }, + { + "msgid": "{formattedPresenceCount} online" + }, + { + "msgid": "{fps} FPS" + }, + { + "msgid": "{kilobits} kbps" + }, + { + "msgid": "{megabits} Mbps" + }, + { + "msgid": "{onlineCount} online" + }, + { + "msgid": "{presenceCount} online" + }, + { + "msgid": "{releaseChannel} Web {buildVersion}" + }, + { + "msgid": "{renderedPresenceCount} online" + }, + { + "msgid": "{tokenCount, plural, one {# token} other {# tokens}}" + }, + { + "msgid": "{zoomPercent}%" + }, + { + "msgctxt": "channel-settings-tab", + "msgid": "Webhooks" + }, + { + "msgctxt": "chat-settings-section", + "msgid": "Media" + }, + { + "msgctxt": "community-settings-tab", + "msgid": "Webhooks" + }, + { + "msgctxt": "voice-video-settings-section", + "msgid": "Video" + } + ], + "th": [ + { + "msgid": "15 FPS" + }, + { + "msgid": "30 FPS" + }, + { + "msgid": "60 FPS" + }, + { + "msgid": "Alt" + }, + { + "msgid": "Backspace" + }, + { + "msgid": "Bluesky OAuth" + }, + { + "msgid": "Cisco" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Esc" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "PgDn" + }, + { + "msgid": "PgUp" + }, + { + "msgid": "PiP" + }, + { + "msgid": "Static Neko" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Webhook" + }, + { + "msgid": "Webhook {currentName}" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "cron" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "macOS" + }, + { + "msgid": "user@example.com" + }, + { + "msgid": "{fps} FPS" + }, + { + "msgid": "{kilobits} kbps" + }, + { + "msgid": "{megabits} Mbps" + }, + { + "msgid": "{messageGroupSpacing}px" + }, + { + "msgid": "{zoomPercent}%" + } + ], + "tr": [ + { + "msgid": "15 FPS" + }, + { + "msgid": "30 FPS" + }, + { + "msgid": "60 FPS" + }, + { + "msgid": "Alt" + }, + { + "msgid": "Avatar" + }, + { + "msgid": "Bluesky" + }, + { + "msgid": "Bluesky OAuth" + }, + { + "msgid": "Bot" + }, + { + "msgid": "Cisco" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Emoji" + }, + { + "msgid": "Favicon" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "Logo" + }, + { + "msgid": "Malta" + }, + { + "msgid": "Markdown" + }, + { + "msgid": "Mod" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "Neko" + }, + { + "msgid": "Net" + }, + { + "msgid": "Normal" + }, + { + "msgid": "Ping" + }, + { + "msgid": "Ping: {currentLatency}ms" + }, + { + "msgid": "Ping: {latency}ms" + }, + { + "msgid": "Plan" + }, + { + "msgid": "Platform" + }, + { + "msgid": "Port" + }, + { + "msgid": "Premium" + }, + { + "msgid": "Premium model" + }, + { + "msgid": "Spam" + }, + { + "msgid": "Video" + }, + { + "msgid": "Web {buildVersion}" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Webhook" + }, + { + "msgid": "Webhook {currentName}" + }, + { + "msgid": "Win" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "cron" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "macOS" + }, + { + "msgid": "video" + }, + { + "msgid": "{fps} FPS" + }, + { + "msgid": "{kilobits} kbps" + }, + { + "msgid": "{megabits} Mbps" + }, + { + "msgid": "{messageGroupSpacing}px" + }, + { + "msgid": "{releaseChannel} Web {buildVersion}" + }, + { + "msgctxt": "community-settings-tab", + "msgid": "Emoji" + }, + { + "msgctxt": "voice-video-settings-section", + "msgid": "Video" + } + ], + "uk": [ + { + "msgid": "Alt" + }, + { + "msgid": "Backspace" + }, + { + "msgid": "Bluesky" + }, + { + "msgid": "Cisco" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Enter" + }, + { + "msgid": "Esc" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "Markdown" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "PgDn" + }, + { + "msgid": "PgUp" + }, + { + "msgid": "Visionary" + }, + { + "msgid": "Visionary ({visionaryLifetimeBadgeLabel})" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Win" + }, + { + "msgid": "Wordmark" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "cron" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "macOS" + }, + { + "msgid": "user@example.com" + }, + { + "msgid": "{messageGroupSpacing}px" + }, + { + "msgid": "{releaseChannel} Web {buildVersion}" + }, + { + "msgid": "{zoomPercent}%" + } + ], + "vi": [ + { + "msgid": "15 FPS" + }, + { + "msgid": "30 FPS" + }, + { + "msgid": "60 FPS" + }, + { + "msgid": "Alt" + }, + { + "msgid": "Anime & manga" + }, + { + "msgid": "Bluesky" + }, + { + "msgid": "Bot" + }, + { + "msgid": "Bulgaria" + }, + { + "msgid": "Camera" + }, + { + "msgid": "Cisco" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Croatia" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Email" + }, + { + "msgid": "Enter" + }, + { + "msgid": "Esc" + }, + { + "msgid": "Estonia" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "Hungary" + }, + { + "msgid": "Ireland" + }, + { + "msgid": "Latvia" + }, + { + "msgid": "Logo" + }, + { + "msgid": "Luxembourg" + }, + { + "msgid": "Malta" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "Neko" + }, + { + "msgid": "PgDn" + }, + { + "msgid": "PgUp" + }, + { + "msgid": "Ping" + }, + { + "msgid": "Plutonium" + }, + { + "msgid": "Romania" + }, + { + "msgid": "Slovakia" + }, + { + "msgid": "Slovenia" + }, + { + "msgid": "Spam" + }, + { + "msgid": "Tab" + }, + { + "msgid": "Video" + }, + { + "msgid": "Visionary" + }, + { + "msgid": "Visionary ({visionaryLifetimeBadgeLabel})" + }, + { + "msgid": "Web {buildVersion}" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Webhook" + }, + { + "msgid": "Webhook {currentName}" + }, + { + "msgid": "Win" + }, + { + "msgid": "Wordmark" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "cron" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "macOS" + }, + { + "msgid": "user@example.com" + }, + { + "msgid": "video" + }, + { + "msgid": "{fps} FPS" + }, + { + "msgid": "{kilobits} kbps" + }, + { + "msgid": "{megabits} Mbps" + }, + { + "msgid": "{messageGroupSpacing}px" + }, + { + "msgid": "{zoomPercent}%" + }, + { + "msgctxt": "voice-video-settings-section", + "msgid": "Video" + } + ], + "zh-CN": [ + { + "msgid": "Bluesky" + }, + { + "msgid": "Bluesky OAuth" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Esc" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "JWKS URL" + }, + { + "msgid": "Logo" + }, + { + "msgid": "Logo URL" + }, + { + "msgid": "Markdown" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Webhook" + }, + { + "msgid": "Webhook {currentName}" + }, + { + "msgid": "Win" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "cron" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "macOS" + }, + { + "msgid": "sendSystemDm" + }, + { + "msgid": "user@example.com" + }, + { + "msgid": "{kilobits} kbps" + }, + { + "msgid": "{megabits} Mbps" + }, + { + "msgid": "{releaseChannel} Web {buildVersion}" + }, + { + "msgid": "{zoomPercent}%" + } + ], + "zh-TW": [ + { + "msgid": "15 FPS" + }, + { + "msgid": "30 FPS" + }, + { + "msgid": "60 FPS" + }, + { + "msgid": "Bluesky" + }, + { + "msgid": "Bluesky OAuth" + }, + { + "msgid": "Cloudflare Turnstile" + }, + { + "msgid": "Ctrl" + }, + { + "msgid": "Enter" + }, + { + "msgid": "Esc" + }, + { + "msgid": "Fluxer" + }, + { + "msgid": "Logo" + }, + { + "msgid": "Markdown" + }, + { + "msgid": "NCMEC {ncmecReportId}" + }, + { + "msgid": "PgDn" + }, + { + "msgid": "WebAuthn" + }, + { + "msgid": "Webhook" + }, + { + "msgid": "Webhook {currentName}" + }, + { + "msgid": "Win" + }, + { + "msgid": "Wordmark" + }, + { + "msgid": "YubiKey" + }, + { + "msgid": "cron" + }, + { + "msgid": "hCaptcha" + }, + { + "msgid": "macOS" + }, + { + "msgid": "sendSystemDm" + }, + { + "msgid": "user@example.com" + }, + { + "msgid": "{fps} FPS" + }, + { + "msgid": "{kilobits} kbps" + }, + { + "msgid": "{megabits} Mbps" + }, + { + "msgid": "{zoomPercent}%" + } + ] + } } diff --git a/fluxer_app/src/features/i18n/locales/bg/messages.po b/fluxer_app/src/features/i18n/locales/bg/messages.po index b4e86ad75..237f20fdd 100644 --- a/fluxer_app/src/features/i18n/locales/bg/messages.po +++ b/fluxer_app/src/features/i18n/locales/bg/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# отметка} other {# отметки}}" msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# общност намерена} other {# общности намерени}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# общност е временно недостъпна поради неизправност на флукс кондензатора.} other {# общности са временно недостъпни поради неизправност на флукс кондензатора.}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# емоджи} other {# емоджита}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# подарък} other {# подаръка}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# час} other {# часа}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# елемент} other {# елемента}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# член} other {# члена}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# минута} other {# минути}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# обща общност} other {# общи общности}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# реакция} other {# реакции}}" msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# запазено мултимедийно съдържание} other {# запазени мултимедийни елемента}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# секунда} other {# секунди}}" @@ -667,11 +658,6 @@ msgstr "{duration} пред вас" msgid "{duration} behind you" msgstr "с {duration} след вас" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "Забавен режим: {durationLabel}" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "Администраторите са поставили на пауза #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "Тип канал: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "Каналът е актуализиран" @@ -7162,7 +7148,7 @@ msgstr "Изчистване на прикачени макети" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "Изчисти команда" @@ -13509,7 +13495,7 @@ msgstr "Въведете SMS кода" msgid "Enter this code in your browser to complete sign-in." msgstr "Въведете този код в браузъра си, за да завършите влизането." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "натиснете Enter, за да <0><1>запазите" @@ -13650,7 +13636,7 @@ msgstr "клавиш Esc" msgid "Escape key exits keyboard mode" msgstr "Клавишът Esc излиза от режима на клавиатурата" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "натиснете Esc, за да <0><1>отмените" @@ -22465,7 +22451,7 @@ msgstr "Обекти" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "Нулиране на премиум статус" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "Възстановяване на плъзгача до стойността по подразбиране" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "наклонена черта {commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "Стойност на плъзгача" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "Бавно зареждане на профил" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "Бавен режим" @@ -29984,21 +29970,36 @@ msgstr "Забавен режим · изчакайте {remaining}" msgid "Slowmode active" msgstr "Забавен режим е активен" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "Бавен режим е активиран за този канал." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "Бавен режим е активен ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "Забавеният режим е включен, но вие сте имунизирани." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "Бавен режим е включен" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "Включен е бавен режим — изчакайте {duration}, преди да изпратите друго съобщение." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "Бавен режим е зададен на {durationLabel} за този канал." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "Бавен режим е зададен на {durationLabel}, но вие сте освободен." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "Бавен режим е зададен на {durationLabel}. Изчакайте, преди да изпратите друго съобщение." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "Изчакайте малко. Този прозорец ще се затвори автоматично, щом получим съобщението ви." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "Време между съобщенията. „{bypassSlowmodePermissionLabel}“ може да го заобиколи." @@ -38500,11 +38501,6 @@ msgstr "Вече си тук, {username}! Радваме се, че си с на msgid "You're in preview mode" msgstr "В режим на предварителен преглед сте" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "Включили сте бавен режим. Изчакайте, преди да изпратите друго съобщение." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/cs/messages.po b/fluxer_app/src/features/i18n/locales/cs/messages.po index 580f23aaf..a56a7a159 100644 --- a/fluxer_app/src/features/i18n/locales/cs/messages.po +++ b/fluxer_app/src/features/i18n/locales/cs/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# záložka} few {# záložky} many {# záložek} o msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# komunita nalezena} other {# komunit nalezeno} few {# komunity nalezeny}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# komunita je dočasně nedostupná kvůli poruše \"flux kondenzátoru\".} few {# komunity jsou dočasně nedostupné kvůli poruše \"flux kondenzátoru\".} many {# komunit je dočasně nedostupných kvůli poruše \"flux kondenzátoru\".} other {# komunit je dočasně nedostupných kvůli poruše \"flux kondenzátoru\".}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# emoji} few {# emoji} many {# emoji} other {# emoj msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# dárek} other {# dárky}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# hodina} few {# hodiny} many {# hodiny} other {# hodin}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# položka} few {# položky} many {# položek} othe msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# člen} few {# členové} many {# členů} other {# členů}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# minuta} other {# minut}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# společná komunita} other {# společné komunity}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# reakce} few {# reakce} many {# reakcí} other {# msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# uložená položka médií} few {# uložené položky médií} many {# uložených položek médií} other {# uložených položek médií}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# sekunda} few {# sekundy} many {# sekund} other {# sekund}}" @@ -667,11 +658,6 @@ msgstr "O {duration} před vámi" msgid "{duration} behind you" msgstr "{duration} za vámi" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "Pomalý režim: {durationLabel}" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "Správci pozastavili pozvánky – momentálně se nemůžete připojit. #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "Typ kanálu: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "Kanál aktualizován" @@ -7162,7 +7148,7 @@ msgstr "Vymazat makety příloh" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "Vymazat příkaz" @@ -13509,7 +13495,7 @@ msgstr "Zadejte kód SMS" msgid "Enter this code in your browser to complete sign-in." msgstr "Zadejte tento kód do prohlížeče a dokončete přihlášení." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "enter pro <0><1>uložení" @@ -13650,7 +13636,7 @@ msgstr "Klávesa Escape" msgid "Escape key exits keyboard mode" msgstr "Klávesa Escape ukončí režim klávesnice" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "stiskněte Esc pro <0><1>zrušení" @@ -22465,7 +22451,7 @@ msgstr "Předměty" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "Resetovat stav prémiového účtu" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "Obnovit výchozí hodnotu posuvníku" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "lomítko {commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "Hodnota posuvníku" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "Pomalé načítání profilu" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "Pomalý režim" @@ -29984,21 +29970,36 @@ msgstr "Pomalý režim · čekejte {remaining}" msgid "Slowmode active" msgstr "Pomalý režim aktivní" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "V tomto kanálu je zapnutý pomalý režim." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "Pomalý režim aktivní ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "Pomalý režim je zapnutý, ale jste imunní." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "Pomalý režim je zapnutý" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "Pomalý režim je zapnutý – před odesláním další zprávy počkejte {duration}." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "Pomalý režim je v tomto kanálu nastaven na {durationLabel}." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "Pomalý režim je nastaven na {durationLabel}, ale vy jste vyjmuti." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "Pomalý režim je nastaven na {durationLabel}. Před odesláním další zprávy počkejte." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "Moment. Toto okno se automaticky zavře, jakmile obdržíme vaši zprávu." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "Čas mezi zprávami. „{bypassSlowmodePermissionLabel}“ jej může obejít." @@ -38500,11 +38501,6 @@ msgstr "Ahoj, {username}! Jsme rádi, že jsi s námi." msgid "You're in preview mode" msgstr "Jste v režimu náhledu" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "Jste v pomalém režimu. Před odesláním další zprávy počkejte." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/da/messages.po b/fluxer_app/src/features/i18n/locales/da/messages.po index 15a6e8257..32d273ea6 100644 --- a/fluxer_app/src/features/i18n/locales/da/messages.po +++ b/fluxer_app/src/features/i18n/locales/da/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# bogmærke} other {# bogmærker}}" msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# fællesskab fundet} other {# fællesskaber fundet}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# fællesskab er midlertidigt utilgængeligt på grund af en fejl i fluxkondensatoren.} other {# fællesskaber er midlertidigt utilgængelige på grund af en fejl i fluxkondensatoren.}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# emoji} other {# emojis}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# gave} other {# gaver}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# time} other {# timer}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# element} other {# elementer}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# medlem} other {# medlemmer}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# minut} other {# minutter}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# fælles fællesskab} other {# fælles fællesskaber}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# reaktion} other {# reaktioner}}" msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# gemt medieelement} other {# gemte medieelementer}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# sekund} other {# sekunder}}" @@ -667,11 +658,6 @@ msgstr "{duration} foran dig" msgid "{duration} behind you" msgstr "{duration} efter dig" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "{durationLabel} slow-tilstand" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "Administratorer har sat invitationer på pause – du kan ikke deltage l #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "Kanaltype: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "Kanal opdateret" @@ -7162,7 +7148,7 @@ msgstr "Ryd vedhæftede filer (test)" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "Ryd kommando" @@ -13509,7 +13495,7 @@ msgstr "Indtast sms-koden" msgid "Enter this code in your browser to complete sign-in." msgstr "Indtast denne kode i din browser for at logge ind." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "tryk Enter for at <0><1>gemme" @@ -13650,7 +13636,7 @@ msgstr "Escape-tast" msgid "Escape key exits keyboard mode" msgstr "Escape-tasten afslutter tastaturtilstand" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "tryk på escape for at <0><1>annullere" @@ -22465,7 +22451,7 @@ msgstr "Objekter" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "Nulstil premium-status" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "Nulstil skyder til standardværdi" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "slash {commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "Skyderens værdi" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "Langsom indlæsning af profil" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "Langsom tilstand" @@ -29984,21 +29970,36 @@ msgstr "Langsom tilstand · vent {remaining}" msgid "Slowmode active" msgstr "Langsom tilstand aktiv" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "Slowmode er slået til for denne kanal." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "Langsom tilstand er aktiv ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "Slowmode er slået til, men du er immun." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "Langsom tilstand er aktiveret" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "Slowmode er slået til – vent {duration}, før du sender en ny besked." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "Langsom tilstand er sat til {durationLabel} for denne kanal." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "Langsom tilstand er sat til {durationLabel}, men du er fritaget." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "Langsom tilstand er sat til {durationLabel}. Vent, før du sender en ny besked." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "Vent et øjeblik. Dette vindue lukkes automatisk, når vi modtager din besked." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "Ventetid mellem beskeder. \"{bypassSlowmodePermissionLabel}\" kan tilsidesætte dette." @@ -38500,11 +38501,6 @@ msgstr "Velkommen, {username}! Godt at have dig med." msgid "You're in preview mode" msgstr "Du er i forhåndsvisningstilstand" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "Du er i slowmode. Vent, før du sender en ny besked." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/de/messages.po b/fluxer_app/src/features/i18n/locales/de/messages.po index bac7c3788..a98cacc71 100644 --- a/fluxer_app/src/features/i18n/locales/de/messages.po +++ b/fluxer_app/src/features/i18n/locales/de/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# Lesezeichen} other {# Lesezeichen}}" msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# Community gefunden} other {# Communitys gefunden}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# Community ist aufgrund einer Fehlfunktion des Fluxkompensators vorübergehend nicht verfügbar.} other {# Communitys sind aufgrund einer Fehlfunktion des Fluxkompensators vorübergehend nicht verfügbar.}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# Emoji} other {# Emojis}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# Geschenk} other {# Geschenke}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# Stunde} other {# Stunden}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# Element} other {# Elemente}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# Mitglied} other {# Mitglieder}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# Minute} other {# Minuten}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# gemeinsame Community} other {# gemeinsame Communitys}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# Reaktion} other {# Reaktionen}}" msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# gespeichertes Medium} other {# gespeicherte Medien}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# Sekunde} other {# Sekunden}}" @@ -667,11 +658,6 @@ msgstr "{duration} vor dir" msgid "{duration} behind you" msgstr "{duration} hinter dir" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "{durationLabel} langsamer Modus" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "Admins haben Einladungen pausiert – du kannst jetzt nicht beitreten." #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "Kanaltyp: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "Kanal aktualisiert" @@ -7162,7 +7148,7 @@ msgstr "Anhang-Mocks löschen" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "Befehl löschen" @@ -13509,7 +13495,7 @@ msgstr "SMS-Code eingeben" msgid "Enter this code in your browser to complete sign-in." msgstr "Gib diesen Code in deinem Browser ein, um die Anmeldung abzuschließen." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "Eingabetaste zum <0><1>Speichern" @@ -13650,7 +13636,7 @@ msgstr "Escape-Taste" msgid "Escape key exits keyboard mode" msgstr "Escape-Taste beendet den Tastaturmodus" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "Esc zum <0><1>Abbrechen" @@ -22465,7 +22451,7 @@ msgstr "Objekte" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "Premium-Status zurücksetzen" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "Schieberegler auf Standardwert zurücksetzen" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "Slash {commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "Schiebereglerwert" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "Langsames Laden des Profils" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "Slow-Modus" @@ -29984,21 +29970,36 @@ msgstr "Slow-Modus · warte {remaining}" msgid "Slowmode active" msgstr "Langsamer Modus aktiv" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "Der Langsam-Modus ist für diesen Kanal aktiviert." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "Slow-Modus ist aktiv ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "Der Slow-Modus ist aktiviert, aber du bist ausgenommen." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "Slow-Modus ist aktiviert" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "Der Langsam-Modus ist aktiv – warte {duration}, bevor du eine weitere Nachricht sendest." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "Der Slow-Modus ist für diesen Kanal auf {durationLabel} eingestellt." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "Der Slow-Modus ist auf {durationLabel} eingestellt, aber du bist davon ausgenommen." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "Der Slow-Modus ist auf {durationLabel} eingestellt. Warte, bevor du eine weitere Nachricht sendest." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "Bitte warte einen Moment. Dieses Fenster schließt sich automatisch, sobald wir deine Nachricht erhalten." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "Wartezeit zwischen Nachrichten. \"{bypassSlowmodePermissionLabel}\" kann diese umgehen." @@ -38500,11 +38501,6 @@ msgstr "Du bist da, {username}! Schön, dich bei uns zu haben." msgid "You're in preview mode" msgstr "Du bist im Vorschaumodus" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "Du bist im Slowmode. Warte, bevor du eine weitere Nachricht sendest." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/el/messages.po b/fluxer_app/src/features/i18n/locales/el/messages.po index 47be66505..edb18f84b 100644 --- a/fluxer_app/src/features/i18n/locales/el/messages.po +++ b/fluxer_app/src/features/i18n/locales/el/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# σελιδοδείκτη} other {# σελιδοδ msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# κοινότητα βρέθηκε} other {# κοινότητες βρέθηκαν}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# κοινότητα είναι προσωρινά μη διαθέσιμη λόγω δυσλειτουργίας του πυκνωτή ροής.} other {# κοινότητες είναι προσωρινά μη διαθέσιμες λόγω δυσλειτουργίας του πυκνωτή ροής.}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# emoji} other {# emoji}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# δώρο} other {# δώρα}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# ώρα} other {# ώρες}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# αντικείμενο} other {# αντικείμ msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# μέλος} other {# μέλη}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# λεπτό} other {# λεπτά}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# κοινή κοινότητα} other {# κοινές κοινότητες}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# αντίδραση} other {# αντιδράσει msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# αποθηκευμένο πολυμέσο} other {# αποθηκευμένα πολυμέσα}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# δευτερόλεπτο} other {# δευτερόλεπτα}}" @@ -667,11 +658,6 @@ msgstr "{duration} μπροστά από εσάς" msgid "{duration} behind you" msgstr "{duration} πίσω σας" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "Αργή λειτουργία {durationLabel}" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "Οι διαχειριστές έχουν θέσει σε παύση τι #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "Τύπος καναλιού: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "Το κανάλι ενημερώθηκε" @@ -7162,7 +7148,7 @@ msgstr "Εκκαθάριση εικονικών συνημμένων" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "Εκκαθάριση εντολής" @@ -13509,7 +13495,7 @@ msgstr "Εισαγάγετε τον κωδικό SMS" msgid "Enter this code in your browser to complete sign-in." msgstr "Πληκτρολογήστε αυτόν τον κωδικό στο πρόγραμμα περιήγησής σας για να ολοκληρώσετε τη σύνδεση." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "πατήστε enter για <0><1>αποθήκευση" @@ -13650,7 +13636,7 @@ msgstr "Πλήκτρο Esc" msgid "Escape key exits keyboard mode" msgstr "Το πλήκτρο Esc βγαίνει από τη λειτουργία πληκτρολογίου" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "πατήστε escape για <0><1>ακύρωση" @@ -22465,7 +22451,7 @@ msgstr "Αντικείμενα" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "Επαναφορά κατάστασης premium" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "Επαναφορά ρυθμιστικού στην προεπιλεγμένη τιμή" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "/{commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "Τιμή ρυθμιστικού" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "Αργή φόρτωση προφίλ" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "Αργή λειτουργία" @@ -29984,21 +29970,36 @@ msgstr "Αργή λειτουργία · αναμονή {remaining}" msgid "Slowmode active" msgstr "Ενεργή αργή λειτουργία" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "Η αργή λειτουργία είναι ενεργοποιημένη για αυτό το κανάλι." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "Η αργή λειτουργία είναι ενεργή ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "Η αργή λειτουργία είναι ενεργοποιημένη, αλλά έχετε εξαίρεση." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "Η αργή λειτουργία είναι ενεργοποιημένη" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "Η αργή λειτουργία είναι ενεργοποιημένη — περιμένετε {duration} πριν στείλετε άλλο μήνυμα." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "Η αργή λειτουργία έχει οριστεί σε {durationLabel} για αυτό το κανάλι." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "Η αργή λειτουργία έχει οριστεί σε {durationLabel}, αλλά εσείς είστε εξαιρούμενος." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "Η αργή λειτουργία έχει οριστεί σε {durationLabel}. Περιμένετε πριν στείλετε άλλο μήνυμα." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "Περιμένετε λίγο. Αυτό το παράθυρο θα κλείσει αυτόματα μόλις λάβουμε το μήνυμά σας." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "Χρονικό διάστημα μεταξύ των μηνυμάτων. Η άδεια \"{bypassSlowmodePermissionLabel}\" μπορεί να το παρακάμψει." @@ -38500,11 +38501,6 @@ msgstr "Είσαι εδώ, {username}! Χαιρόμαστε που σε έχου msgid "You're in preview mode" msgstr "Είστε σε λειτουργία προεπισκόπησης" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "Είστε σε λειτουργία αργής λειτουργίας. Περιμένετε πριν στείλετε άλλο μήνυμα." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/en-GB/messages.po b/fluxer_app/src/features/i18n/locales/en-GB/messages.po index 2c801e099..b7bc93bf7 100644 --- a/fluxer_app/src/features/i18n/locales/en-GB/messages.po +++ b/fluxer_app/src/features/i18n/locales/en-GB/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# bookmark} other {# bookmarks}}" msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# community found} other {# communities found}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# emoji} other {# emojis}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# gift} other {# gifts}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# hour} other {# hours}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# item} other {# items}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# member} other {# members}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# minute} other {# minutes}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# mutual community} other {# mutual communities}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# reactor} other {# reactors}}" msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# saved media item} other {# saved media items}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# second} other {# seconds}}" @@ -667,11 +658,6 @@ msgstr "{duration} ahead of you" msgid "{duration} behind you" msgstr "{duration} behind you" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "{durationLabel} slowmode" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "Admins paused invites — you can't join right now." #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "Channel type: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "Channel updated" @@ -7162,7 +7148,7 @@ msgstr "Clear attachment mocks" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "Clear command" @@ -13509,7 +13495,7 @@ msgstr "Enter the SMS code" msgid "Enter this code in your browser to complete sign-in." msgstr "Enter this code in your browser to complete sign-in." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "enter to <0><1>save" @@ -13650,7 +13636,7 @@ msgstr "Escape key" msgid "Escape key exits keyboard mode" msgstr "Escape key exits keyboard mode" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "escape to <0><1>cancel" @@ -22465,7 +22451,7 @@ msgstr "Objects" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "Reset premium state" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "Reset slider to default value" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "slash {commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "Slider value" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "Slow profile load" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "Slowmode" @@ -29984,21 +29970,37 @@ msgstr "Slowmode · wait {remaining}" msgid "Slowmode active" msgstr "Slowmode active" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "Slowmode is enabled for this channel." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "Slowmode is active ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "Slowmode is on, but you're immune." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "Slowmode is enabled" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "Slowmode is on – wait {duration} before sending another." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "Slowmode is set to {durationLabel} for this channel." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "Slowmode is set to {durationLabel}, but you are immune." + +# auto-i18n: reviewed unchanged +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "Slowmode is set to {durationLabel}. Wait before sending another message." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36914,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "Please wait a moment. This window will close automatically once we receive your message." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." @@ -37416,7 +37418,6 @@ msgstr "What should people call you?" msgid "What to include" msgstr "What to include" -# auto-i18n: reviewed unchanged #. Description for a media search slash-command query. #: src/features/devtools/hooks/useCommands.ts:74 msgid "What to search for." @@ -38501,11 +38502,6 @@ msgstr "You're here, {username}! Good to have you with us." msgid "You're in preview mode" msgstr "You're in preview mode" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "You're in slowmode. Wait before sending another message." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" @@ -38868,7 +38864,6 @@ msgstr "Your most recent purchase is no longer within the refund window. Contact msgid "your new email" msgstr "Your new email" -# auto-i18n: reviewed unchanged #. Description for the /nick nickname option. #: src/features/devtools/hooks/useCommands.ts:78 msgid "Your new nickname, or leave blank to reset it." diff --git a/fluxer_app/src/features/i18n/locales/en-US/messages.po b/fluxer_app/src/features/i18n/locales/en-US/messages.po index 105930b3a..02c982a36 100644 --- a/fluxer_app/src/features/i18n/locales/en-US/messages.po +++ b/fluxer_app/src/features/i18n/locales/en-US/messages.po @@ -356,7 +356,7 @@ msgstr "{count, plural, one {# bookmark} other {# bookmarks}}" msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# community found} other {# communities found}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" @@ -379,8 +379,6 @@ msgstr "{count, plural, one {# emoji} other {# emojis}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# gift} other {# gifts}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# hour} other {# hours}}" @@ -398,11 +396,6 @@ msgstr "{count, plural, one {# item} other {# items}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# member} other {# members}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# minute} other {# minutes}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# mutual community} other {# mutual communities}}" @@ -434,9 +427,7 @@ msgstr "{count, plural, one {# reactor} other {# reactors}}" msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# saved media item} other {# saved media items}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# second} other {# seconds}}" @@ -668,11 +659,6 @@ msgstr "{duration} ahead of you" msgid "{duration} behind you" msgstr "{duration} behind you" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "{durationLabel} slowmode" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2848,7 +2834,7 @@ msgstr "Admins paused invites — you can't join right now." #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6547,8 +6533,8 @@ msgstr "Channel type: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "Channel updated" @@ -7163,7 +7149,7 @@ msgstr "Clear attachment mocks" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "Clear command" @@ -13510,7 +13496,7 @@ msgstr "Enter the SMS code" msgid "Enter this code in your browser to complete sign-in." msgstr "Enter this code in your browser to complete sign-in." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "enter to <0><1>save" @@ -13651,7 +13637,7 @@ msgstr "Escape key" msgid "Escape key exits keyboard mode" msgstr "Escape key exits keyboard mode" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "escape to <0><1>cancel" @@ -22466,7 +22452,7 @@ msgstr "Objects" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26669,7 +26655,7 @@ msgid "Reset premium state" msgstr "Reset premium state" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "Reset slider to default value" @@ -29897,7 +29883,7 @@ msgid "slash {commandName}" msgstr "slash {commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "Slider value" @@ -29969,7 +29955,7 @@ msgid "Slow profile load" msgstr "Slow profile load" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "Slowmode" @@ -29985,21 +29971,36 @@ msgstr "Slowmode · wait {remaining}" msgid "Slowmode active" msgstr "Slowmode active" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "Slowmode is enabled for this channel." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "Slowmode is active ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "Slowmode is enabled, but you are immune." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "Slowmode is enabled" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "Slowmode is on — wait {duration} before sending another." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "Slowmode is set to {durationLabel} for this channel." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "Slowmode is set to {durationLabel}, but you are immune." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "Slowmode is set to {durationLabel}. Wait before sending another message." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36913,7 +36914,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "Wait a moment. This window will close automatically once we receive your message." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." @@ -38501,11 +38502,6 @@ msgstr "You're here, {username}! Good to have you with us." msgid "You're in preview mode" msgstr "You're in preview mode" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "You're in slowmode. Wait before sending another message." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/es-419/messages.po b/fluxer_app/src/features/i18n/locales/es-419/messages.po index 6fcc074b9..c32edc248 100644 --- a/fluxer_app/src/features/i18n/locales/es-419/messages.po +++ b/fluxer_app/src/features/i18n/locales/es-419/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# marcador} other {# marcadores}}" msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# comunidad encontrada} other {# comunidades encontradas}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# comunidad no está disponible temporalmente debido a una falla en el condensador de flujo.} other {# comunidades no están disponibles temporalmente debido a una falla en el condensador de flujo.}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# emoji} other {# emojis}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# regalo} other {# regalos}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# hora} other {# horas}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# elemento} other {# elementos}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# miembro} other {# miembros}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# minuto} other {# minutos}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# comunidad en común} other {# comunidades en común}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# reacción} other {# reacciones}}" msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# elemento multimedia guardado} other {# elementos multimedia guardados}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# segundo} other {# segundos}}" @@ -667,11 +658,6 @@ msgstr "{duration} más que tú" msgid "{duration} behind you" msgstr "A {duration} de ti" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "modo lento de {durationLabel}" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "Los administradores pausaron las invitaciones; no puedes unirte ahora." #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "Tipo de canal: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "Canal actualizado" @@ -7162,7 +7148,7 @@ msgstr "Borrar simulaciones de adjuntos" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "Borrar comando" @@ -13509,7 +13495,7 @@ msgstr "Ingresa el código SMS" msgid "Enter this code in your browser to complete sign-in." msgstr "Ingresa este código en tu navegador para completar el inicio de sesión." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "enter para <0><1>guardar" @@ -13650,7 +13636,7 @@ msgstr "tecla Escape" msgid "Escape key exits keyboard mode" msgstr "La tecla Escape sale del modo teclado" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "escape para <0><1>cancelar" @@ -22465,7 +22451,7 @@ msgstr "Objetos" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "Restablecer estado premium" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "Restablecer el deslizador al valor predeterminado" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "barra {commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "Valor del deslizador" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "Carga lenta de perfil" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "Modo lento" @@ -29984,21 +29970,36 @@ msgstr "Modo lento · espera {remaining}" msgid "Slowmode active" msgstr "Modo lento activado" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "El modo lento está activado para este canal." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "Modo lento activo ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "El modo lento está activado, pero eres inmune." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "Modo lento habilitado" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "Modo lento activado: espera {duration} antes de enviar otro mensaje." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "El modo lento está configurado en {durationLabel} para este canal." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "El modo lento está configurado en {durationLabel}, pero eres inmune." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "El modo lento está configurado en {durationLabel}. Espera antes de enviar otro mensaje." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "Espera un momento. Esta ventana se cerrará automáticamente cuando recibamos tu mensaje." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "Tiempo de espera entre mensajes. \"{bypassSlowmodePermissionLabel}\" puede omitirlo." @@ -38500,11 +38501,6 @@ msgstr "¡Llegaste, {username}! Qué bueno tenerte con nosotros." msgid "You're in preview mode" msgstr "Estás en modo de vista previa" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "Estás en modo lento. Espera antes de enviar otro mensaje." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/es-ES/messages.po b/fluxer_app/src/features/i18n/locales/es-ES/messages.po index 08c67fff9..e7d0ff81c 100644 --- a/fluxer_app/src/features/i18n/locales/es-ES/messages.po +++ b/fluxer_app/src/features/i18n/locales/es-ES/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# marcador} other {# marcadores}}" msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# comunidad encontrada} other {# comunidades encontradas}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# comunidad no está disponible temporalmente debido a un fallo en el condensador de flujo.} other {# comunidades no están disponibles temporalmente debido a un fallo en el condensador de flujo.}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# emoji} other {# emojis}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# regalo} other {# regalos}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# hora} other {# horas}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# elemento} other {# elementos}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# miembro} other {# miembros}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# minuto} other {# minutos}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# comunidad en común} other {# comunidades en común}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# reacción} other {# reacciones}}" msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# elemento multimedia guardado} other {# elementos multimedia guardados}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# segundo} other {# segundos}}" @@ -667,11 +658,6 @@ msgstr "{duration} más que tú" msgid "{duration} behind you" msgstr "A {duration} de ti" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "Modo lento de {durationLabel}" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "Los administradores han pausado las invitaciones; no puedes unirte ahora #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "Tipo de canal: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "Canal actualizado" @@ -7162,7 +7148,7 @@ msgstr "Borrar simulaciones de adjuntos" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "Borrar comando" @@ -13509,7 +13495,7 @@ msgstr "Introduce el código SMS" msgid "Enter this code in your browser to complete sign-in." msgstr "Introduce este código en tu navegador para completar el inicio de sesión." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "pulsa para <0><1>guardar" @@ -13650,7 +13636,7 @@ msgstr "Tecla Escape" msgid "Escape key exits keyboard mode" msgstr "La tecla Escape sale del modo teclado" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "pulsa escape para <0><1>cancelar" @@ -22465,7 +22451,7 @@ msgstr "Objetos" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "Restablecer estado premium" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "Restablecer el deslizador a su valor predeterminado" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "barra {commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "Valor del deslizador" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "Carga lenta del perfil" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "Modo lento" @@ -29984,21 +29970,36 @@ msgstr "Modo lento · espera {remaining}" msgid "Slowmode active" msgstr "Modo lento activo" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "El modo lento está activado en este canal." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "Modo lento activo ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "El modo lento está activado, pero eres inmune." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "Modo lento activado" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "El modo lento está activado. Espera {duration} antes de enviar otro mensaje." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "El modo lento está configurado en {durationLabel} para este canal." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "El modo lento está configurado en {durationLabel}, pero eres inmune." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "El modo lento está configurado en {durationLabel}. Espera antes de enviar otro mensaje." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "Espera un momento. Esta ventana se cerrará automáticamente cuando recibamos tu mensaje." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "Tiempo de espera entre mensajes. \"{bypassSlowmodePermissionLabel}\" puede omitirlo." @@ -38500,11 +38501,6 @@ msgstr "¡Ya estás aquí, {username}! Nos alegra tenerte con nosotros." msgid "You're in preview mode" msgstr "Estás en modo de vista previa" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "Estás en modo lento. Espera antes de enviar otro mensaje." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/fi/messages.po b/fluxer_app/src/features/i18n/locales/fi/messages.po index 5c9f4a632..7e947ddcf 100644 --- a/fluxer_app/src/features/i18n/locales/fi/messages.po +++ b/fluxer_app/src/features/i18n/locales/fi/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# kirjanmerkki} other {# kirjanmerkkiä}}" msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# yhteisö löytyi} other {# yhteisöä löytyi}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# yhteisö on tilapäisesti pois käytöstä toimintahäiriön vuoksi.} other {# yhteisöä on tilapäisesti pois käytöstä toimintahäiriön vuoksi.}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# emoji} other {# emojia}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# lahja} other {# lahjaa}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# tunti} other {# tuntia}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# kohde} other {# kohdetta}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# jäsen} other {# jäsentä}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# minuutti} other {# minuuttia}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# yhteinen yhteisö} other {# yhteistä yhteisöä}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# reagoija} other {# reagoijaa}}" msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# tallennettu media} other {# tallennettua mediaa}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# sekunti} other {# sekuntia}}" @@ -667,11 +658,6 @@ msgstr "sinua {duration} edellä" msgid "{duration} behind you" msgstr "{duration} sinua jäljessä" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "{durationLabel} hidastettu tila" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "Ylläpitäjät keskeyttivät kutsut – et voi liittyä juuri nyt." #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "Kanavan tyyppi: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "Kanava päivitetty" @@ -7162,7 +7148,7 @@ msgstr "Tyhjennä liitteiden mallit" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "Tyhjennä komento" @@ -13509,7 +13495,7 @@ msgstr "Anna tekstiviestikoodi" msgid "Enter this code in your browser to complete sign-in." msgstr "Kirjoita tämä koodi selaimeesi kirjautumisen viimeistelemiseksi." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "tallenna painamalla <0><1>enter" @@ -13650,7 +13636,7 @@ msgstr "Esc-näppäin" msgid "Escape key exits keyboard mode" msgstr "Esc-näppäin poistuu näppäimistötilasta" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "palaa ja <0><1>peruuta" @@ -22465,7 +22451,7 @@ msgstr "Esineet" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "Nollaa premium-tila" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "Palauta liukusäädin oletusarvoon" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "vinokomento {commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "Liukusäätimen arvo" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "Hidas profiilin lataus" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "Hidas tila" @@ -29984,21 +29970,36 @@ msgstr "Hidas tila · odota {remaining}" msgid "Slowmode active" msgstr "Hidas tila käytössä" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "Hidas tila on käytössä tällä kanavalla." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "Hidas tila aktiivinen ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "Hidas tila on käytössä, mutta sinuun se ei vaikuta." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "Hidas tila käytössä" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "Hidas tila on käytössä – odota {duration} ennen kuin lähetät uuden viestin." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "Hidas tila on asetettu arvoon {durationLabel} tälle kanavalle." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "Hidas tila on asetettu arvoon {durationLabel}, mutta sinulla on vapautus." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "Hidas tila on asetettu arvoon {durationLabel}. Odota ennen kuin lähetät uuden viestin." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "Odota hetki. Tämä ikkuna sulkeutuu automaattisesti, kun olemme vastaanottaneet viestisi." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "Viive viestien välillä. \"{bypassSlowmodePermissionLabel}\" voi ohittaa sen." @@ -38500,11 +38501,6 @@ msgstr "Tervetuloa, {username}! Mukava nähdä sinua täällä." msgid "You're in preview mode" msgstr "Esikatselutila käytössä" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "Olet hidastetussa tilassa. Odota ennen seuraavan viestin lähettämistä." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/fr/messages.po b/fluxer_app/src/features/i18n/locales/fr/messages.po index 3302d5609..30d75d054 100644 --- a/fluxer_app/src/features/i18n/locales/fr/messages.po +++ b/fluxer_app/src/features/i18n/locales/fr/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# signet} other {# signets}}" msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# communauté trouvée} other {# communautés trouvées}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# communauté est temporairement indisponible en raison d'un dysfonctionnement du condensateur de flux.} other {# communautés sont temporairement indisponibles en raison d'un dysfonctionnement du condensateur de flux.}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# emoji} other {# emojis}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# cadeau} other {# cadeaux}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# heure} other {# heures}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# élément} other {# éléments}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# membre} other {# membres}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# minute} other {# minutes}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# communauté en commun} other {# communautés en commun}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# personne a réagi} other {# personnes ont réagi} msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# élément multimédia enregistré} other {# éléments multimédias enregistrés}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# seconde} other {# secondes}}" @@ -667,11 +658,6 @@ msgstr "{duration} d'avance sur vous" msgid "{duration} behind you" msgstr "{duration} de décalage avec vous" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "Mode lent {durationLabel}" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "Les admins ont désactivé les invitations. Vous ne pouvez pas rejoindre #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "Type de canal : {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "Chaîne mise à jour" @@ -7162,7 +7148,7 @@ msgstr "Effacer les maquettes de pièces jointes" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "Effacer la commande" @@ -13509,7 +13495,7 @@ msgstr "Saisissez le code SMS" msgid "Enter this code in your browser to complete sign-in." msgstr "Saisissez ce code dans votre navigateur pour terminer la connexion." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "appuyez sur Entrée pour <0><1>enregistrer" @@ -13650,7 +13636,7 @@ msgstr "Touche Échap" msgid "Escape key exits keyboard mode" msgstr "La touche Échap quitte le mode clavier" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "Échap pour <0><1>annuler" @@ -22465,7 +22451,7 @@ msgstr "Objets" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "Réinitialiser l'état premium" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "Réinitialiser le curseur à sa valeur par défaut" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "/ {commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "Valeur du curseur" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "Chargement lent du profil" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "Mode lent" @@ -29984,21 +29970,36 @@ msgstr "Mode lent · attendez {remaining}" msgid "Slowmode active" msgstr "Mode lent activé" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "Le mode lent est activé pour ce canal." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "Mode lent actif ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "Le mode lent est activé, mais vous êtes immunisé." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "Mode lent activé" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "Le mode lent est activé — attendez {duration} avant d'envoyer un autre message." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "Le mode lent est réglé sur {durationLabel} pour ce canal." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "Le mode lent est réglé sur {durationLabel}, mais vous en êtes exempt." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "Le mode lent est réglé sur {durationLabel}. Attendez avant d'envoyer un autre message." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "Veuillez patienter un instant. Cette fenêtre se fermera automatiquement dès que nous recevrons votre message." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "Attendre entre les messages. « {bypassSlowmodePermissionLabel} » peut contourner cette limite." @@ -38500,11 +38501,6 @@ msgstr "Vous êtes là, {username} ! Content de vous avoir parmi nous." msgid "You're in preview mode" msgstr "Vous êtes en mode aperçu" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "Vous êtes en mode lent. Attendez avant d'envoyer un autre message." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/he/messages.po b/fluxer_app/src/features/i18n/locales/he/messages.po index 1cb993f40..b047d365b 100644 --- a/fluxer_app/src/features/i18n/locales/he/messages.po +++ b/fluxer_app/src/features/i18n/locales/he/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# סימנייה} other {# סימניות}}" msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# קהילה נמצאה} other {# קהילות נמצאו}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# קהילה אינה זמינה באופן זמני עקב תקלה בקבלן השטף.} other {# קהילות אינן זמינות באופן זמני עקב תקלה בקבלן השטף.}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# אימוג'י} other {# אימוג'יז}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# מתנה} other {# מתנות}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# שעה} other {# שעות}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# פריט} other {# פריטים}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# חבר} other {# חברים}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# דקה} other {# דקות}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# קהילה משותפת} other {# קהילות משותפות}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# מגיב} other {# מגיבים}}" msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# פריט מדיה שמור} other {# פריטי מדיה שמורים}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# שנייה} other {# שניות}}" @@ -667,11 +658,6 @@ msgstr "{duration} לפניך" msgid "{duration} behind you" msgstr "{duration} אחריך" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "מצב איטי: {durationLabel}" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "מנהלים השהו הזמנות – אינך יכול/ה להצטרף #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "סוג ערוץ: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "הערוץ עודכן" @@ -7162,7 +7148,7 @@ msgstr "מחיקת הדמיות קבצים מצורפים" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "נקה פקודה" @@ -13509,7 +13495,7 @@ msgstr "הזן את קוד ה-SMS" msgid "Enter this code in your browser to complete sign-in." msgstr "הזן קוד זה בדפדפן שלך כדי להשלים את הכניסה." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "Enter כדי <0><1>לשמור" @@ -13650,7 +13636,7 @@ msgstr "מקש Escape" msgid "Escape key exits keyboard mode" msgstr "מקש Escape יוצא ממצב מקלדת" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "הקש Escape כדי <0><1>לבטל" @@ -22465,7 +22451,7 @@ msgstr "אובייקטים" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "איפוס מצב פרימיום" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "איפוס המחוון לערך ברירת המחדל" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "קו נטוי {commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "ערך המחוון" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "טעינת פרופיל איטית" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "מצב איטי" @@ -29984,21 +29970,36 @@ msgstr "מצב איטי · המתן {remaining}" msgid "Slowmode active" msgstr "מצב איטי פעיל" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "מצב איטי מופעל בערוץ זה." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "מצב איטי פעיל ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "מצב איטי מופעל, אך אתה חסין." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "מצב איטי מופעל" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "מצב איטי מופעל – המתן {duration} לפני שליחת הודעה נוספת." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "מצב איטי מוגדר ל-{durationLabel} עבור ערוץ זה." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "מצב איטי מוגדר ל-{durationLabel}, אך אתה פטור." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "מצב איטי מוגדר ל-{durationLabel}. המתן לפני שליחת הודעה נוספת." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "המתן רגע. חלון זה ייסגר אוטומטית ברגע שנקבל את ההודעה שלך." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "המתנה בין הודעות. \"{bypassSlowmodePermissionLabel}\" יכול לעקוף זאת." @@ -38500,11 +38501,6 @@ msgstr "היי, {username}! כיף שבאת." msgid "You're in preview mode" msgstr "אתה במצב תצוגה מקדימה" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "אתה במצב איטי. המתן לפני שליחת הודעה נוספת." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/hi/messages.po b/fluxer_app/src/features/i18n/locales/hi/messages.po index 037cac43f..a95520a6f 100644 --- a/fluxer_app/src/features/i18n/locales/hi/messages.po +++ b/fluxer_app/src/features/i18n/locales/hi/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# बुकमार्क} other {# बुकम msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# समुदाय मिला} other {# समुदाय मिले}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# समुदाय फ्लक्स कैपेसिटर में खराबी के कारण अस्थायी रूप से अनुपलब्ध है।} other {# समुदाय फ्लक्स कैपेसिटर में खराबी के कारण अस्थायी रूप से अनुपलब्ध हैं।}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# इमोजी} other {# इमोजी}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# उपहार} other {# उपहार}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# घंटा} other {# घंटे}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# आइटम} other {# आइटम}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# सदस्य} other {# सदस्य}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# मिनट} other {# मिनट}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# साझा समुदाय} other {# साझा समुदाय}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# रिएक्शन} other {# रिएक् msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# सहेजी गई मीडिया आइटम} other {# सहेजी गई मीडिया आइटम}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# सेकंड} other {# सेकंड}}" @@ -667,11 +658,6 @@ msgstr "आपसे {duration} आगे" msgid "{duration} behind you" msgstr "आपसे {duration} पीछे" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "{durationLabel} स्लोमोड" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "एडमिन ने इनवाइट रोक दिए हैं #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "चैनल का प्रकार: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "चैनल अपडेट किया गया" @@ -7162,7 +7148,7 @@ msgstr "अटैचमेंट मॉक साफ़ करें" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "कमांड साफ़ करें" @@ -13509,7 +13495,7 @@ msgstr "एसएमएस कोड डालें" msgid "Enter this code in your browser to complete sign-in." msgstr "साइन-इन पूरा करने के लिए अपने ब्राउज़र में यह कोड डालें।" -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "सेव करने के लिए <0><1>एंटर करें" @@ -13650,7 +13636,7 @@ msgstr "एस्केप कुंजी" msgid "Escape key exits keyboard mode" msgstr "एस्केप कुंजी से कीबोर्ड मोड से बाहर निकलें" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "रद्द करने के लिए <0><1>एस्केप करें" @@ -22465,7 +22451,7 @@ msgstr "ऑब्जेक्ट" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "प्रीमियम स्थिति रीसेट करें" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "स्लाइडर को डिफ़ॉल्ट मान पर रीसेट करें" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "स्लैश {commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "स्लाइडर मान" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "प्रोफ़ाइल धीमी गति से लोड करें" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "स्लोमोड" @@ -29984,21 +29970,36 @@ msgstr "स्लोमोड · {remaining} प्रतीक्षा कर msgid "Slowmode active" msgstr "स्लोमोड सक्रिय है" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "इस चैनल के लिए स्लोमोड चालू है।" +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "स्लोमोड सक्रिय है ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "स्लोमोड चालू है, लेकिन आप पर इसका असर नहीं होगा।" +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "स्लोमोड सक्रिय है" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "स्लोमोड चालू है — दूसरा मैसेज भेजने से पहले {duration} इंतज़ार करें." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "इस चैनल के लिए स्लोमोड {durationLabel} पर सेट है." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "स्लोमोड {durationLabel} पर सेट है, लेकिन आप इससे मुक्त हैं." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "स्लोमोड {durationLabel} पर सेट है. दूसरा मैसेज भेजने से पहले इंतज़ार करें." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "थोड़ा इंतज़ार करें. आपका मैसेज मिलते ही यह विंडो अपने-आप बंद हो जाएगी." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "संदेशों के बीच प्रतीक्षा करें। \"{bypassSlowmodePermissionLabel}\" इसे बायपास कर सकता है।" @@ -38500,11 +38501,6 @@ msgstr "आप आ गए, {username}! आपको हमारे साथ msgid "You're in preview mode" msgstr "आप प्रीव्यू मोड में हैं" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "आप स्लोमोड में हैं। दूसरा मैसेज भेजने से पहले इंतज़ार करें।" - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/hr/messages.po b/fluxer_app/src/features/i18n/locales/hr/messages.po index 83d8c48bd..ad6bcb7c4 100644 --- a/fluxer_app/src/features/i18n/locales/hr/messages.po +++ b/fluxer_app/src/features/i18n/locales/hr/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# oznaka} other {# oznake}}" msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# zajednica pronađena} few {# zajednice pronađene} other {# zajednica pronađeno}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# zajednica privremeno nije dostupna zbog kvara na protočnom kondenzatoru.} other {# zajednice privremeno nisu dostupne zbog kvara na protočnom kondenzatoru.}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# emoji} few {# emojija} other {# emojija}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# poklon} other {# poklona}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# sat} other {# sati}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# stavka} other {# stavke}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# član} other {# članova}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# minuta} other {# minuta}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# zajednička zajednica} other {# zajedničke zajednice}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# reakcija} few {# reakcije} other {# reakcija}}" msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# spremljeni medijski sadržaj} other {# spremljena medijska sadržaja} few {# spremljena medijska sadržaja} many {# spremljenih medijskih sadržaja}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# sekunda} few {# sekunde} other {# sekundi}}" @@ -667,11 +658,6 @@ msgstr "{duration} ispred vas" msgid "{duration} behind you" msgstr "{duration} iza vas" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "Usporeni način rada: {durationLabel}" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "Administratori su pauzirali pozivnice — trenutačno se ne možete prid #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "Vrsta kanala: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "Kanal ažuriran" @@ -7162,7 +7148,7 @@ msgstr "Očisti lažne privitke" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "Očisti naredbu" @@ -13509,7 +13495,7 @@ msgstr "Unesite SMS kod" msgid "Enter this code in your browser to complete sign-in." msgstr "Unesite ovaj kôd u preglednik kako biste dovršili prijavu." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "enter za <0><1>spremanje" @@ -13650,7 +13636,7 @@ msgstr "Tipka Escape" msgid "Escape key exits keyboard mode" msgstr "Tipka Esc izlazi iz načina rada tipkovnice" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "escape za <0><1>odustajanje" @@ -22465,7 +22451,7 @@ msgstr "Predmeti" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "Poništi premium status" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "Vrati klizač na zadanu vrijednost" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "kosa crta {commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "Vrijednost klizača" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "Sporo učitavanje profila" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "Usporeni način" @@ -29984,21 +29970,36 @@ msgstr "Usporeni način · čekajte {remaining}" msgid "Slowmode active" msgstr "Usporeni način rada aktivan" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "Usporeni način rada omogućen je za ovaj kanal." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "Usporeni način rada je aktivan ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "Usporeni način rada je uključen, ali ste imuni." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "Usporeni način rada je omogućen" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "Usporeni način rada je uključen — pričekajte {duration} prije nego što pošaljete drugu poruku." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "Usporeni način rada je postavljen na {durationLabel} za ovaj kanal." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "Usporeni način rada je postavljen na {durationLabel}, ali ste izuzeti." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "Usporeni način rada je postavljen na {durationLabel}. Pričekajte prije nego što pošaljete drugu poruku." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "Pričekajte trenutak. Ovaj će se prozor automatski zatvoriti čim primimo vašu poruku." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "Vrijeme čekanja između poruka. \"{bypassSlowmodePermissionLabel}\" može ga zaobići." @@ -38500,11 +38501,6 @@ msgstr "Tu si, {username}! Drago nam je što si s nama." msgid "You're in preview mode" msgstr "U načinu ste pretpregleda" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "U sporom ste načinu rada. Pričekajte prije slanja druge poruke." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/hu/messages.po b/fluxer_app/src/features/i18n/locales/hu/messages.po index b5b6fc423..64f3a6bd8 100644 --- a/fluxer_app/src/features/i18n/locales/hu/messages.po +++ b/fluxer_app/src/features/i18n/locales/hu/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# könyvjelző} other {# könyvjelző}}" msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# közösség található} other {# közösség található}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# közösség átmenetileg nem elérhető egy \"fluxuskondenzátor\" meghibásodása miatt.} other {# közösség átmenetileg nem elérhető egy \"fluxuskondenzátor\" meghibásodása miatt.}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# hangulatjel} other {# hangulatjel}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# ajándék} other {# ajándék}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# óra} other {# óra}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# elem} other {# elem}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# tag} other {# tag}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# perc} other {# perc}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# közös közösség} other {# közös közösség}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# reakció} other {# reakció}}" msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# mentett médiaelem} other {# mentett médiaelem}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# másodperc} other {# másodperc}}" @@ -667,11 +658,6 @@ msgstr "{duration} előtted" msgid "{duration} behind you" msgstr "{duration} hátrányban hozzád képest" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "{durationLabel} lassú mód" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "Az adminok szüneteltetik a meghívásokat – most nem tudsz csatlakozn #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "Csatornatípus: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "A csatorna frissítve" @@ -7162,7 +7148,7 @@ msgstr "Melléklet-makettek törlése" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "Parancs törlése" @@ -13509,7 +13495,7 @@ msgstr "Adja meg az SMS-kódot" msgid "Enter this code in your browser to complete sign-in." msgstr "Írd be ezt a kódot a böngésződbe a bejelentkezés befejezéséhez." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "nyomja meg az Entert a <0><1>mentéshez" @@ -13650,7 +13636,7 @@ msgstr "Esc billentyű" msgid "Escape key exits keyboard mode" msgstr "Az Esc billentyűvel léphet ki a billentyűzet módból" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "escape a(z) <0><1>mégse gombhoz" @@ -22465,7 +22451,7 @@ msgstr "Tárgyak" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "Prémium állapot visszaállítása" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "Csúszka visszaállítása alapértelmezett értékre" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "/{commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "Csúszka értéke" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "Lassú profilbetöltés" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "Lassú mód" @@ -29984,21 +29970,36 @@ msgstr "Lassú mód · várj {remaining}" msgid "Slowmode active" msgstr "Lassú mód aktív" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "A lassú mód be van kapcsolva ezen a csatornán." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "Lassú mód aktív ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "A lassú mód be van kapcsolva, de te immunis vagy." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "A lassú mód be van kapcsolva" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "A lassú mód be van kapcsolva – várj {duration} mielőtt újat küldenél." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "A lassú mód {durationLabel} értékre van állítva ezen a csatornán." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "A lassú mód {durationLabel} értékre van állítva, de te mentesülsz alóla." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "A lassú mód {durationLabel} értékre van állítva. Várj, mielőtt újabb üzenetet küldenél." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "Várj egy pillanatot. Ez az ablak automatikusan bezáródik, amint megkapjuk az üzenetedet." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "Üzenetek közötti várakozási idő. A \"{bypassSlowmodePermissionLabel}\" felülbírálhatja ezt." @@ -38500,11 +38501,6 @@ msgstr "Szia, {username}! Örülünk, hogy velünk vagy." msgid "You're in preview mode" msgstr "Előnézeti módban vagy" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "Lassú módban vagy. Várj, mielőtt újabb üzenetet küldenél." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/id/messages.po b/fluxer_app/src/features/i18n/locales/id/messages.po index bdc9d10d8..54ffb93a1 100644 --- a/fluxer_app/src/features/i18n/locales/id/messages.po +++ b/fluxer_app/src/features/i18n/locales/id/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# markah} other {# markah}}" msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# komunitas ditemukan} other {# komunitas ditemukan}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# komunitas sementara tidak tersedia karena kerusakan kapasitor fluks.} other {# komunitas sementara tidak tersedia karena kerusakan kapasitor fluks.}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# emoji} other {# emoji}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# hadiah} other {# hadiah}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# jam} other {# jam}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# item} other {# item}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# anggota} other {# anggota}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# menit} other {# menit}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# komunitas bersama} other {# komunitas bersama}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# reaksi} other {# reaksi}}" msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# media tersimpan} other {# media tersimpan}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# detik} other {# detik}}" @@ -667,11 +658,6 @@ msgstr "{duration} lebih cepat dari Anda" msgid "{duration} behind you" msgstr "{duration} di belakang Anda" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "Mode lambat {durationLabel}" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "Admin menjeda undangan — Anda tidak bisa bergabung sekarang." #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "Jenis saluran: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "Saluran diperbarui" @@ -7162,7 +7148,7 @@ msgstr "Hapus lampiran tiruan" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "Hapus perintah" @@ -13509,7 +13495,7 @@ msgstr "Masukkan kode SMS" msgid "Enter this code in your browser to complete sign-in." msgstr "Masukkan kode ini di browser Anda untuk menyelesaikan proses masuk." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "tekan enter untuk <0><1>menyimpan" @@ -13650,7 +13636,7 @@ msgstr "Tombol Escape" msgid "Escape key exits keyboard mode" msgstr "Tombol escape keluar dari mode keyboard" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "tekan escape untuk <0><1>membatalkan" @@ -22465,7 +22451,7 @@ msgstr "Objek" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "Set ulang status premium" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "Atur ulang penggeser ke nilai default" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "garis miring {commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "Nilai penggeser" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "Muat profil lambat" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "Mode lambat" @@ -29984,21 +29970,36 @@ msgstr "Mode lambat · tunggu {remaining}" msgid "Slowmode active" msgstr "Mode lambat aktif" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "Mode lambat diaktifkan untuk saluran ini." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "Mode lambat aktif ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "Mode lambat diaktifkan, tapi Anda kebal." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "Mode lambat diaktifkan" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "Mode lambat aktif — tunggu {duration} sebelum mengirim pesan lagi." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "Mode lambat diatur ke {durationLabel} untuk saluran ini." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "Mode lambat diatur ke {durationLabel}, tetapi Anda kebal." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "Mode lambat diatur ke {durationLabel}. Tunggu sebelum mengirim pesan lagi." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "Tunggu sebentar. Jendela ini akan tertutup otomatis setelah kami menerima pesan Anda." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "Jeda antar pesan. \"{bypassSlowmodePermissionLabel}\" dapat melewati ini." @@ -38500,11 +38501,6 @@ msgstr "Kamu di sini, {username}! Senang kamu bergabung." msgid "You're in preview mode" msgstr "Anda dalam mode pratinjau" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "Anda dalam mode lambat. Tunggu sebelum mengirim pesan lain." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/it/messages.po b/fluxer_app/src/features/i18n/locales/it/messages.po index 63e43c53a..5e9d2dfb1 100644 --- a/fluxer_app/src/features/i18n/locales/it/messages.po +++ b/fluxer_app/src/features/i18n/locales/it/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# segnalibro} other {# segnalibri}}" msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# community trovata} other {# community trovate}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# community è temporaneamente non disponibile a causa di un malfunzionamento del condensatore di flusso.} other {# community sono temporaneamente non disponibili a causa di un malfunzionamento del condensatore di flusso.}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# emoji} other {# emoji}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# regalo} other {# regali}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# ora} other {# ore}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# elemento} other {# elementi}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# membro} other {# membri}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# minuto} other {# minuti}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# community in comune} other {# community in comune}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# reazione} other {# reazioni}}" msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# elemento multimediale salvato} other {# elementi multimediali salvati}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# secondo} other {# secondi}}" @@ -667,11 +658,6 @@ msgstr "{duration} prima di te" msgid "{duration} behind you" msgstr "{duration} indietro rispetto a te" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "Modalità lenta: {durationLabel}" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "Gli amministratori hanno messo in pausa gli inviti, non puoi unirti in q #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "Tipo di canale: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "Canale aggiornato" @@ -7162,7 +7148,7 @@ msgstr "Cancella allegati di prova" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "Cancella comando" @@ -13509,7 +13495,7 @@ msgstr "Inserisci il codice SMS" msgid "Enter this code in your browser to complete sign-in." msgstr "Inserisci questo codice nel browser per completare l'accesso." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "invio per <0><1>salvare" @@ -13650,7 +13636,7 @@ msgstr "Tasto Esc" msgid "Escape key exits keyboard mode" msgstr "Il tasto Esc esce dalla modalità tastiera" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "premi Esc per <0><1>annullare" @@ -22465,7 +22451,7 @@ msgstr "Oggetti" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "Reimposta stato premium" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "Reimposta il cursore al valore predefinito" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "/{commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "Valore dello slider" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "Caricamento lento del profilo" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "Modalità lenta" @@ -29984,21 +29970,36 @@ msgstr "Modalità lenta · attendi {remaining}" msgid "Slowmode active" msgstr "Modalità lenta attiva" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "La modalità lenta è attiva per questo canale." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "Modalità lenta attiva ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "Modalità lenta attiva, ma sei immune." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "Modalità lenta abilitata" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "La modalità lenta è attiva: attendi {duration} prima di inviare un altro messaggio." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "La modalità lenta è impostata a {durationLabel} per questo canale." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "La modalità lenta è impostata a {durationLabel}, ma sei immune." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "La modalità lenta è impostata a {durationLabel}. Attendi prima di inviare un altro messaggio." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "Attendi un momento. Questa finestra si chiuderà automaticamente quando riceveremo il tuo messaggio." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "Tempo di attesa tra i messaggi. \"{bypassSlowmodePermissionLabel}\" può aggirare questa impostazione." @@ -38500,11 +38501,6 @@ msgstr "Ciao {username}! Benvenutə tra noi." msgid "You're in preview mode" msgstr "Sei in modalità anteprima" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "Hai la modalità lenta attiva. Attendi prima di inviare un altro messaggio." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/ja/messages.po b/fluxer_app/src/features/i18n/locales/ja/messages.po index 63daf22d4..d4323427d 100644 --- a/fluxer_app/src/features/i18n/locales/ja/messages.po +++ b/fluxer_app/src/features/i18n/locales/ja/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {#件のブックマーク} other {#件のブック msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {#件のコミュニティが見つかりました} other {#件のコミュニティが見つかりました}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {#件のコミュニティはフラックスキャパシタの不具合により一時的に利用できません。} other {#件のコミュニティはフラックスキャパシタの不具合により一時的に利用できません。}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {#個の絵文字} other {#個の絵文字}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {#ギフト} other {#ギフト}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {#時間} other {#時間}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {#件} other {#件}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {#人のメンバー} other {#人のメンバー}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# 分} other {# 分}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {#つの共通コミュニティ} other {#つの共通コミュニティ}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {#リアクション} other {#リアクション}}" msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {#件の保存済みメディア} other {#件の保存済みメディア}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {#秒} other {#秒}}" @@ -667,11 +658,6 @@ msgstr "あなたより{duration}進んでいます" msgid "{duration} behind you" msgstr "あなたより{duration}遅れています" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "{durationLabel} スローモード" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "管理者が招待を一時停止しました。現在参加すること #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "チャンネルの種類: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "チャンネルを更新しました" @@ -7162,7 +7148,7 @@ msgstr "添付ファイルのモックをクリア" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "コマンドをクリア" @@ -13509,7 +13495,7 @@ msgstr "SMSコードを入力" msgid "Enter this code in your browser to complete sign-in." msgstr "サインインを完了するには、ブラウザでこのコードを入力してください。" -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "Enterで<0><1>保存" @@ -13650,7 +13636,7 @@ msgstr "Escキー" msgid "Escape key exits keyboard mode" msgstr "Escキーでキーボードモードを終了" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "Escキーで<0><1>キャンセル" @@ -22465,7 +22451,7 @@ msgstr "物" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "プレミアム状態をリセット" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "スライダーを初期値にリセット" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "/{commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "スライダーの値" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "プロフィールの読み込みを遅くする" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "スローモード" @@ -29984,21 +29970,36 @@ msgstr "低速モード · 残り{remaining}" msgid "Slowmode active" msgstr "低速モードがオンです" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "このチャンネルでは低速モードがオンになっています。" +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "スローモードがオンです({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "低速モードがオンですが、あなたは影響を受けません。" +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "スローモードがオンです" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "スローモードがオンです。次のメッセージを送信するまで{duration}お待ちください。" +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "このチャンネルではスローモードが{durationLabel}に設定されています。" + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "スローモードは{durationLabel}に設定されていますが、あなたは免除されています。" + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "スローモードが{durationLabel}に設定されています。次のメッセージを送信する前にお待ちください。" + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "しばらくお待ちください。メッセージを受信すると、このウィンドウは自動的に閉じます。" #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "メッセージ間の待機時間。\"{bypassSlowmodePermissionLabel}\" はそれをバイパスできます。" @@ -38500,11 +38501,6 @@ msgstr "{username}さんが参加しました。" msgid "You're in preview mode" msgstr "プレビューモードです" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "スローモード中です。次のメッセージを送信するまでお待ちください。" - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/ko/messages.po b/fluxer_app/src/features/i18n/locales/ko/messages.po index fd05d4a03..a1885c81a 100644 --- a/fluxer_app/src/features/i18n/locales/ko/messages.po +++ b/fluxer_app/src/features/i18n/locales/ko/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {#개 북마크} other {#개 북마크}}" msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {#개 커뮤니티 찾음} other {#개 커뮤니티 찾음}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {#개 커뮤니티가 플럭스 캐패시터 오작동으로 인해 일시적으로 이용할 수 없습니다.} other {#개 커뮤니티가 플럭스 캐패시터 오작동으로 인해 일시적으로 이용할 수 없습니다.}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# 이모티콘} other {# 이모티콘}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {#개 선물} other {#개 선물}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {#시간} other {#시간}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {#개 항목} other {#개 항목}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {#명} other {#명}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {#분} other {#분}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {#개의 공통 커뮤니티} other {#개의 공통 커뮤니티}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {#명 반응} other {#명 반응}}" msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {#개 저장된 미디어 항목} other {#개 저장된 미디어 항목}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {#초} other {#초}}" @@ -667,11 +658,6 @@ msgstr "회원님보다 {duration} 빠름" msgid "{duration} behind you" msgstr "회원님보다 {duration} 느림" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "{durationLabel} 슬로우 모드" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "관리자가 초대를 일시 중지했습니다. 지금은 참여할 #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "채널 유형: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "채널 업데이트됨" @@ -7162,7 +7148,7 @@ msgstr "첨부 모의 데이터 지우기" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "명령 취소" @@ -13509,7 +13495,7 @@ msgstr "SMS 코드 입력" msgid "Enter this code in your browser to complete sign-in." msgstr "브라우저에 이 코드를 입력하여 로그인을 완료하세요." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "Enter 키를 눌러 <0><1>저장" @@ -13650,7 +13636,7 @@ msgstr "Esc 키" msgid "Escape key exits keyboard mode" msgstr "Esc 키로 키보드 모드 종료" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "취소하려면 <0><1>Esc 키를 누르세요" @@ -22465,7 +22451,7 @@ msgstr "사물" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "프리미엄 상태 초기화" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "슬라이더를 기본값으로 초기화" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "/{commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "슬라이더 값" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "느린 프로필 로드" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "슬로우 모드" @@ -29984,21 +29970,36 @@ msgstr "슬로우 모드 · {remaining} 기다리기" msgid "Slowmode active" msgstr "슬로우 모드 활성화됨" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "이 채널은 슬로우 모드가 설정되어 있습니다." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "슬로우 모드 활성화 중 ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "슬로우 모드가 켜져 있지만, 회원님은 영향을 받지 않습니다." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "슬로우 모드 활성화됨" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "슬로 모드가 켜져 있습니다. {duration} 후에 다시 메시지를 보내주세요." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "이 채널은 슬로우 모드가 {durationLabel}로 설정되어 있습니다." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "슬로우 모드가 {durationLabel}로 설정되어 있지만, 당신은 면제됩니다." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "슬로우 모드가 {durationLabel}로 설정되어 있습니다. 다음 메시지를 보내기 전에 기다려 주세요." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "잠시만 기다려 주세요. 메시지 수신 시 이 창은 자동으로 닫힙니다." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "메시지 사이에 대기합니다. \"{bypassSlowmodePermissionLabel}\" 권한이 있으면 이 제한을 우회할 수 있습니다." @@ -38500,11 +38501,6 @@ msgstr "{username}님, 오셨군요! 함께하게 되어 반갑습니다." msgid "You're in preview mode" msgstr "미리 보기 모드입니다" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "슬로 모드입니다. 다음 메시지를 보내기 전에 잠시 기다려 주세요." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/lt/messages.po b/fluxer_app/src/features/i18n/locales/lt/messages.po index b814b5a38..ec05aea55 100644 --- a/fluxer_app/src/features/i18n/locales/lt/messages.po +++ b/fluxer_app/src/features/i18n/locales/lt/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# žymė} other {# žymės}}" msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# bendrija rasta} other {# bendrijų rasta}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# bendruomenė laikinai nepasiekiama dėl srauto kondensatoriaus gedimo.} other {# bendruomenės laikinai nepasiekiamos dėl srauto kondensatoriaus gedimo.}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# jaustukas} other {# jaustukai}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# dovana} other {# dovanos}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# valanda} few {# valandos} other {# valandų}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# elementas} other {# elementai}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# narys} other {# nariai}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# minutė} other {# minutės}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# bendra bendruomenė} other {# bendros bendruomenės}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# reakcija} few {# reakcijos} other {# reakcijų}}" msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# išsaugotas medijos elementas} other {# išsaugoti medijos elementai}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# sekundė} other {# sekundės}}" @@ -667,11 +658,6 @@ msgstr "{duration} anksčiau už jus" msgid "{duration} behind you" msgstr "{duration} už jūsų" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "{durationLabel} lėtasis režimas" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "Administratoriai pristabdė kvietimus – šiuo metu negalite prisijungt #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "Kanalo tipas: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "Kanalas atnaujintas" @@ -7162,7 +7148,7 @@ msgstr "Išvalyti priedų maketus" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "Panaikinti komandą" @@ -13509,7 +13495,7 @@ msgstr "Įveskite SMS kodą" msgid "Enter this code in your browser to complete sign-in." msgstr "Įveskite šį kodą naršyklėje, kad prisijungtumėte." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "paspauskite \"enter\", kad <0><1>išsaugotumėte" @@ -13650,7 +13636,7 @@ msgstr "klavišas \"Esc\"" msgid "Escape key exits keyboard mode" msgstr "klavišas \"Esc\" išeina iš klaviatūros režimo" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "paspauskite \"escape\", kad <0><1>atšauktumėte" @@ -22465,7 +22451,7 @@ msgstr "Objektai" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "Iš naujo nustatyti \"Premium\" būseną" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "Grąžinti slankiklį į numatytąją reikšmę" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "/ {commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "Slankiklio reikšmė" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "Lėtas profilio įkėlimas" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "Lėtasis režimas" @@ -29984,21 +29970,36 @@ msgstr "Lėtasis režimas · laukti {remaining}" msgid "Slowmode active" msgstr "Lėtasis režimas aktyvus" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "Šiame kanale įjungtas lėtasis režimas." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "Lėtasis režimas aktyvus ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "Sulėgintasis režimas įjungtas, bet jums jis negalioja." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "Lėtasis režimas įjungtas" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "Įjungtas lėtasis režimas – prieš siųsdami kitą palaukite {duration}." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "Šiame kanale nustatytas lėtasis režimas – {durationLabel}." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "Nustatytas lėtasis režimas – {durationLabel}, bet jūs jo nepaisote." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "Nustatytas lėtasis režimas – {durationLabel}. Palaukite prieš siųsdami kitą pranešimą." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "Palaukite. Šis langas automatiškai užsidarys, kai tik gausime jūsų žinutę." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "Laikas tarp pranešimų. „{bypassSlowmodePermissionLabel}“ gali jį apeiti." @@ -38500,11 +38501,6 @@ msgstr "Sveiki atvykę, {username}! Smagu, kad esate su mumis." msgid "You're in preview mode" msgstr "Esate peržiūros režimu" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "Įjungtas lėtasis režimas. Palaukite prieš siųsdami kitą žinutę." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/nl/messages.po b/fluxer_app/src/features/i18n/locales/nl/messages.po index a7a7a5ecd..f107a365b 100644 --- a/fluxer_app/src/features/i18n/locales/nl/messages.po +++ b/fluxer_app/src/features/i18n/locales/nl/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# bladwijzer} other {# bladwijzers}}" msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# community gevonden} other {# communities gevonden}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# community is tijdelijk niet beschikbaar door een storing in de fluxcondensator.} other {# communities zijn tijdelijk niet beschikbaar door een storing in de fluxcondensator.}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# emoji} other {# emoji's}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# cadeau} other {# cadeaus}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# uur} other {# uur}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# item} other {# items}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# lid} other {# leden}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# minuut} other {# minuten}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# gemeenschappelijke community} other {# gemeenschappelijke communities}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# reactie} other {# reacties}}" msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# opgeslagen media-item} other {# opgeslagen media-items}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# seconde} other {# seconden}}" @@ -667,11 +658,6 @@ msgstr "{duration} voor op jou" msgid "{duration} behind you" msgstr "{duration} achter jou" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "{durationLabel} slowmodus" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "Beheerders hebben uitnodigingen gepauzeerd — je kunt nu niet deelnemen #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "Kanaaltype: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "Kanaal bijgewerkt" @@ -7162,7 +7148,7 @@ msgstr "Bijlagen-mocks wissen" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "Opdracht wissen" @@ -13509,7 +13495,7 @@ msgstr "Voer de sms-code in" msgid "Enter this code in your browser to complete sign-in." msgstr "Voer deze code in je browser in om het aanmelden te voltooien." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "enter om <0><1>op te sl1aan" @@ -13650,7 +13636,7 @@ msgstr "Esc-toets" msgid "Escape key exits keyboard mode" msgstr "Esc-toets sluit toetsenbordmodus af" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "Esc om te <0><1>annuleren" @@ -22465,7 +22451,7 @@ msgstr "Objecten" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "Premiumstatus resetten" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "Schuifregelaar op standaardwaarde zetten" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "slash {commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "Schuifregelaarwaarde" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "Langzaam profiel laden" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "Slowmodus" @@ -29984,21 +29970,36 @@ msgstr "Trage modus · wacht {remaining}" msgid "Slowmode active" msgstr "Trage modus actief" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "De \"Trage modus\" is ingeschakeld voor dit kanaal." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "Slowmodus is actief ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "Trage modus is ingeschakeld, maar jij bent immuun." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "Slowmodus is ingeschakeld" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "Slowmodus is ingeschakeld — wacht {duration} voordat je nog een bericht verzendt." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "Slowmodus is ingesteld op {durationLabel} voor dit kanaal." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "Slowmodus is ingesteld op {durationLabel}, maar je bent vrijgesteld." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "Slowmodus is ingesteld op {durationLabel}. Wacht voordat je nog een bericht verzendt." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "Even geduld. Dit venster sluit automatisch zodra we je bericht ontvangen." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "Wachttijd tussen berichten. \"{bypassSlowmodePermissionLabel}\" kan dit omzeilen." @@ -38500,11 +38501,6 @@ msgstr "Je bent er, {username}! Fijn dat je erbij bent." msgid "You're in preview mode" msgstr "Je bent in de voorbeeldmodus" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "Je zit in de slowmode. Wacht even voordat je een nieuw bericht stuurt." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/no/messages.po b/fluxer_app/src/features/i18n/locales/no/messages.po index e138759e6..9664b41e3 100644 --- a/fluxer_app/src/features/i18n/locales/no/messages.po +++ b/fluxer_app/src/features/i18n/locales/no/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# bokmerke} other {# bokmerker}}" msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# fellesskap funnet} other {# fellesskap funnet}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# fellesskap er midlertidig utilgjengelig på grunn av en feil i flukskondensatoren.} other {# fellesskap er midlertidig utilgjengelige på grunn av en feil i flukskondensatoren.}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# emoji} other {# emojier}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# gave} other {# gaver}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# time} other {# timer}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# element} other {# elementer}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# medlem} other {# medlemmer}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# minutt} other {# minutter}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# felles fellesskap} other {# felles fellesskap}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# reaksjon} other {# reaksjoner}}" msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# lagret medieelement} other {# lagrede medieelementer}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# sekund} other {# sekunder}}" @@ -667,11 +658,6 @@ msgstr "{duration} foran deg" msgid "{duration} behind you" msgstr "{duration} bak deg" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "{durationLabel} sakte modus" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "Administratorer har satt invitasjoner på pause – du kan ikke bli med #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "Kanastype: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "Kanalen er oppdatert" @@ -7162,7 +7148,7 @@ msgstr "Fjern vedleggs-mocks" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "Fjern kommando" @@ -13509,7 +13495,7 @@ msgstr "Skriv inn SMS-koden" msgid "Enter this code in your browser to complete sign-in." msgstr "Skriv inn denne koden i nettleseren din for å fullføre påloggingen." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "trykk enter for å <0><1>lagre" @@ -13650,7 +13636,7 @@ msgstr "Escape-tast" msgid "Escape key exits keyboard mode" msgstr "Escape-tasten avslutter tastaturmodus" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "trykk esc for å <0><1>avbryte" @@ -22465,7 +22451,7 @@ msgstr "Objekter" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "Tilbakestill premiumstatus" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "Tilbakestill glidebryteren til standardverdi" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "skråstrek {commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "Glidebryterverdi" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "Treg profilinnlasting" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "Sakte modus" @@ -29984,21 +29970,36 @@ msgstr "Treig modus · vent {remaining}" msgid "Slowmode active" msgstr "Saktemodus aktiv" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "Saktemodus er aktivert for denne kanalen." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "Sakte modus er aktiv ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "Sakte modus er aktivert, men du er immun." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "Sakte modus er aktivert" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "Saktemodus er på – vent {duration} før du sender en ny melding." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "Sakte modus er satt til {durationLabel} for denne kanalen." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "Sakte modus er satt til {durationLabel}, men du er unntatt." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "Sakte modus er satt til {durationLabel}. Vent før du sender en ny melding." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "Vent litt. Dette vinduet lukkes automatisk når vi mottar meldingen din." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "Ventetid mellom meldinger. «{bypassSlowmodePermissionLabel}» kan omgå dette." @@ -38500,11 +38501,6 @@ msgstr "Du er her, {username}! Godt å ha deg med oss." msgid "You're in preview mode" msgstr "Du er i forhåndsvisningsmodus" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "Du er i sakte modus. Vent før du sender en ny melding." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/pl/messages.po b/fluxer_app/src/features/i18n/locales/pl/messages.po index 12bf43362..01dd634f9 100644 --- a/fluxer_app/src/features/i18n/locales/pl/messages.po +++ b/fluxer_app/src/features/i18n/locales/pl/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# zakładka} few {# zakładki} many {# zakładek} o msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# społeczność znaleziona} few {# społeczności znalezione} many {# społeczności znalezionych} other {# społeczności znalezionych}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# społeczność jest tymczasowo niedostępna z powodu awarii \"kondensatora strumienia\".} few {# społeczności są tymczasowo niedostępne z powodu awarii \"kondensatora strumienia\".} many {# społeczności jest tymczasowo niedostępnych z powodu awarii \"kondensatora strumienia\".} other {# społeczności są tymczasowo niedostępne z powodu awarii \"kondensatora strumienia\".}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# emoji} few {# emoji} many {# emoji} other {# emoj msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# prezent} few {# prezenty} many {# prezentów} other {# prezentów}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# godzina} few {# godziny} many {# godzin} other {# godziny}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# element} few {# elementy} many {# elementów} oth msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# członek} few {# członków} many {# członków} other {# członków}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# minuta} other {# minut}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# wspólna społeczność} few {# wspólne społeczności} many {# wspólnych społeczności} other {# wspólnych społeczności}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# reakcja} few {# reakcje} many {# reakcji} other { msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# zapisany element} few {# zapisane elementy} many {# zapisanych elementów} other {# zapisanych elementów}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# sekunda} few {# sekundy} many {# sekund} other {# sekundy}}" @@ -667,11 +658,6 @@ msgstr "{duration} przed tobą" msgid "{duration} behind you" msgstr "{duration} za tobą" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "Tryb wolny: {durationLabel}" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "Administratorzy wstrzymali zaproszenia — nie możesz teraz dołączyć #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "Typ kanału: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "Kanał zaktualizowany" @@ -7162,7 +7148,7 @@ msgstr "Wyczyść makiety załączników" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "Wyczyść polecenie" @@ -13509,7 +13495,7 @@ msgstr "Wpisz kod SMS" msgid "Enter this code in your browser to complete sign-in." msgstr "Wpisz ten kod w przeglądarce, aby dokończyć logowanie." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "naciśnij Enter, aby <0><1>zapisać" @@ -13650,7 +13636,7 @@ msgstr "Klawisz Escape" msgid "Escape key exits keyboard mode" msgstr "Klawisz Esc wychodzi z trybu klawiatury" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "naciśnij Esc, aby <0><1>anulować" @@ -22465,7 +22451,7 @@ msgstr "Obiekty" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "Zresetuj status premium" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "Przywróć domyślną wartość suwaka" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "ukośnik {commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "Wartość suwaka" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "Wolne ładowanie profilu" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "Tryb wolny" @@ -29984,21 +29970,36 @@ msgstr "Tryb wolny · czekaj {remaining}" msgid "Slowmode active" msgstr "Tryb spowolniony aktywny" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "W tym kanale włączono tryb wolny." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "Tryb wolny jest aktywny ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "Włączono tryb powolny, ale jesteś odporny(-a)." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "Tryb wolny jest włączony" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "Włączono tryb spowolnienia — poczekaj {duration} przed wysłaniem kolejnej wiadomości." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "Tryb wolny jest ustawiony na {durationLabel} dla tego kanału." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "Tryb wolny jest ustawiony na {durationLabel}, ale jesteś odporny." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "Tryb wolny jest ustawiony na {durationLabel}. Poczekaj przed wysłaniem kolejnej wiadomości." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "Poczekaj chwilę. To okno zamknie się automatycznie, gdy tylko otrzymamy Twoją wiadomość." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "Odstęp między wiadomościami. Użytkownicy z uprawnieniem „{bypassSlowmodePermissionLabel}” mogą go obejść." @@ -38500,11 +38501,6 @@ msgstr "Witaj, {username}! Cieszymy się, że jesteś z nami." msgid "You're in preview mode" msgstr "Jesteś w trybie podglądu" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "Masz włączony tryb spowolnienia. Poczekaj, zanim wyślesz kolejną wiadomość." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/pt-BR/messages.po b/fluxer_app/src/features/i18n/locales/pt-BR/messages.po index 8ca00f81b..3bf8ee989 100644 --- a/fluxer_app/src/features/i18n/locales/pt-BR/messages.po +++ b/fluxer_app/src/features/i18n/locales/pt-BR/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# item salvo} other {# itens salvos}}" msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# comunidade encontrada} other {# comunidades encontradas}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# comunidade está temporariamente indisponível devido a um defeito no capacitor de fluxo.} other {# comunidades estão temporariamente indisponíveis devido a um defeito no capacitor de fluxo.}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# emoji} other {# emojis}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# presente} other {# presentes}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# hora} other {# horas}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# item} other {# itens}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# membro} other {# membros}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# minuto} other {# minutos}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# comunidade em comum} other {# comunidades em comum}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# reação} other {# reações}}" msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# item de mídia salvo} other {# itens de mídia salvos}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# segundo} other {# segundos}}" @@ -667,11 +658,6 @@ msgstr "{duration} à sua frente" msgid "{duration} behind you" msgstr "{duration} atrás de você" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "Modo lento: {durationLabel}" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "Administradores pausaram os convites — você não pode entrar agora." #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "Tipo de canal: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "Canal atualizado" @@ -7162,7 +7148,7 @@ msgstr "Limpar simulações de anexo" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "Limpar comando" @@ -13509,7 +13495,7 @@ msgstr "Insira o código SMS" msgid "Enter this code in your browser to complete sign-in." msgstr "Insira este código no seu navegador para concluir o login." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "aperte enter para <0><1>salvar" @@ -13650,7 +13636,7 @@ msgstr "tecla Esc" msgid "Escape key exits keyboard mode" msgstr "A tecla Esc sai do modo de teclado" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "aperte \"esc\" para <0><1>cancelar" @@ -22465,7 +22451,7 @@ msgstr "Objetos" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "Redefinir status premium" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "Redefinir controle deslizante para o valor padrão" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "barra {commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "Valor do controle deslizante" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "Carregamento lento de perfil" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "Modo lento" @@ -29984,21 +29970,36 @@ msgstr "Modo lento · aguarde {remaining}" msgid "Slowmode active" msgstr "Modo lento ativado" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "O modo lento está ativado para este canal." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "Modo lento ativo ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "Modo lento ativado, mas você é imune." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "Modo lento ativado" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "O modo lento está ativado — aguarde {duration} antes de enviar outra mensagem." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "O modo lento está definido como {durationLabel} para este canal." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "O modo lento está definido como {durationLabel}, mas você está isento." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "O modo lento está definido como {durationLabel}. Aguarde antes de enviar outra mensagem." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "Aguarde um momento. Esta janela fechará automaticamente assim que recebermos sua mensagem." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "Tempo entre mensagens. \"{bypassSlowmodePermissionLabel}\" pode ignorar isso." @@ -38500,11 +38501,6 @@ msgstr "Você chegou, {username}! Que bom ter você com a gente." msgid "You're in preview mode" msgstr "Você está no modo de visualização" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "Você está no modo lento. Aguarde antes de enviar outra mensagem." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/ro/messages.po b/fluxer_app/src/features/i18n/locales/ro/messages.po index 04dbbb83f..4c0d958ca 100644 --- a/fluxer_app/src/features/i18n/locales/ro/messages.po +++ b/fluxer_app/src/features/i18n/locales/ro/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# marcaj} other {# marcaje}}" msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# comunitate găsită} other {# comunități găsite}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# comunitate este temporar indisponibilă din cauza unei defecțiuni a condensatorului de flux.} other {# comunități sunt temporar indisponibile din cauza unei defecțiuni a condensatorului de flux.}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# emoji} other {# emoji}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# cadou} other {# cadouri}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# oră} other {# ore}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# element} other {# elemente}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# membru} other {# membri}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# minut} other {# minute}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# comunitate comună} other {# comunități comune}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# reacție} few {# reacții} other {# de reacții}} msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# element media salvat} few {# elemente media salvate} other {# elemente media salvate}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# secundă} other {# secunde}}" @@ -667,11 +658,6 @@ msgstr "cu {duration} înaintea ta" msgid "{duration} behind you" msgstr "cu {duration} în urma ta" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "Mod lent {durationLabel}" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "Administratorii au întrerupt invitațiile — nu te poți alătura acum #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "Tip canal: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "Canal actualizat" @@ -7162,7 +7148,7 @@ msgstr "Șterge simulările atașamentelor" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "Șterge comanda" @@ -13509,7 +13495,7 @@ msgstr "Introduceți codul SMS" msgid "Enter this code in your browser to complete sign-in." msgstr "Introdu acest cod în browser pentru a finaliza conectarea." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "enter pentru a <0><1>salva" @@ -13650,7 +13636,7 @@ msgstr "Tasta Esc" msgid "Escape key exits keyboard mode" msgstr "Tasta Esc iese din modul tastatură" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "apasă Esc pentru a <0><1>anula" @@ -22465,7 +22451,7 @@ msgstr "Obiecte" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "Resetați starea premium" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "Resetați glisorul la valoarea implicită" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "slash {commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "Valoare glisor" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "Încărcare lentă profil" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "Mod lent" @@ -29984,21 +29970,36 @@ msgstr "Mod lent · așteptați {remaining}" msgid "Slowmode active" msgstr "Modul lent activ" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "Modul lent este activat pentru acest canal." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "Modul lent este activ ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "Modul lent este activat, dar ești imun." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "Modul lent este activat" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "Modul lent este activat — așteaptă {duration} înainte de a trimite un alt mesaj." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "Modul lent este setat la {durationLabel} pentru acest canal." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "Modul lent este setat la {durationLabel}, dar ești exceptat." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "Modul lent este setat la {durationLabel}. Așteaptă înainte de a trimite un alt mesaj." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "Așteaptă un moment. Această fereastră se va închide automat după ce primim mesajul tău." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "Așteaptă între mesaje. „{bypassSlowmodePermissionLabel}” poate să ocolească această limită." @@ -38500,11 +38501,6 @@ msgstr "Ești aici, {username}! Bine că ești cu noi." msgid "You're in preview mode" msgstr "Ești în modul de previzualizare" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "Ești în modul lent. Așteaptă înainte de a trimite un alt mesaj." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/ru/messages.po b/fluxer_app/src/features/i18n/locales/ru/messages.po index d93426f31..32466ed9d 100644 --- a/fluxer_app/src/features/i18n/locales/ru/messages.po +++ b/fluxer_app/src/features/i18n/locales/ru/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# закладка} few {# закладки} many { msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# сообщество найдено} few {# сообщества найдено} many {# сообществ найдено} other {# сообществ найдено}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# сообщество временно недоступно из-за неисправности потокового накопителя.} few {# сообщества временно недоступны из-за неисправности потокового накопителя.} many {# сообществ временно недоступны из-за неисправности потокового накопителя.} other {# сообществ временно недоступны из-за неисправности потокового накопителя.}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# эмодзи} few {# эмодзи} many {# эмо msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# подарок} few {# подарка} many {# подарков} other {# подарков}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# час} few {# часа} many {# часов} other {# часа}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# запись} few {# записи} many {# зап msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# участник} few {# участника} many {# участников} other {# участников}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# минута} other {# минут}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# общее сообщество} few {# общих сообщества} many {# общих сообществ} other {# общих сообществ}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# реакция} few {# реакции} many {# р msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# сохраненный медиафайл} few {# сохраненных медиафайла} many {# сохраненных медиафайлов} other {# сохраненного медиафайла}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# секунда} few {# секунды} many {# секунд} other {# секунды}}" @@ -667,11 +658,6 @@ msgstr "на {duration} раньше, чем у вас" msgid "{duration} behind you" msgstr "на {duration} позже, чем у вас" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "Медленный режим: {durationLabel}" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "Администраторы приостановили приглаше #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "Тип канала: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "Канал обновлен" @@ -7162,7 +7148,7 @@ msgstr "Очистить моки вложений" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "Очистить команду" @@ -13509,7 +13495,7 @@ msgstr "Введите код из СМС" msgid "Enter this code in your browser to complete sign-in." msgstr "Введите этот код в браузере, чтобы завершить вход." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "enter, чтобы <0><1>сохранить" @@ -13650,7 +13636,7 @@ msgstr "Клавиша Esc" msgid "Escape key exits keyboard mode" msgstr "Клавиша Escape выходит из режима клавиатуры" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "нажмите escape, чтобы <0><1>отменить" @@ -22465,7 +22451,7 @@ msgstr "Объекты" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "Сбросить премиум-статус" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "Сбросить ползунок до значения по умолчанию" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "/ {commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "Значение ползунка" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "Медленная загрузка профиля" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "Медленный режим" @@ -29984,21 +29970,36 @@ msgstr "Медленный режим · ждать {remaining}" msgid "Slowmode active" msgstr "Медленный режим включен" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "В этом канале включён медленный режим." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "Медленный режим активен ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "Медленный режим включен, но для вас он не действует." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "Медленный режим включен" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "Медленный режим включен — подождите {duration}, прежде чем отправить следующее сообщение." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "Медленный режим установлен на {durationLabel} для этого канала." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "Медленный режим установлен на {durationLabel}, но вы освобождены от него." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "Медленный режим установлен на {durationLabel}. Подождите, прежде чем отправить следующее сообщение." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "Подождите. Это окно закроется автоматически, как только мы получим ваше сообщение." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "Интервал между сообщениями. Пользователь с правами \"{bypassSlowmodePermissionLabel}\" может его обойти." @@ -38500,11 +38501,6 @@ msgstr "Привет, {username}! Рады видеть тебя." msgid "You're in preview mode" msgstr "Вы в режиме предпросмотра" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "У вас включен медленный режим. Подождите, прежде чем отправлять следующее сообщение." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/sv-SE/messages.po b/fluxer_app/src/features/i18n/locales/sv-SE/messages.po index 6fbb39c4c..5f3433987 100644 --- a/fluxer_app/src/features/i18n/locales/sv-SE/messages.po +++ b/fluxer_app/src/features/i18n/locales/sv-SE/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# bokmärke} other {# bokmärken}}" msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# community hittades} other {# communities hittades}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# community är tillfälligt otillgänglig på grund av ett fel i flödeskondensatorn.} other {# communities är tillfälligt otillgängliga på grund av ett fel i flödeskondensatorn.}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# emoji} other {# emojis}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# gåva} other {# gåvor}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# timme} other {# timmar}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# objekt} other {# objekt}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# medlem} other {# medlemmar}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# minut} other {# minuter}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# gemensam community} other {# gemensamma communities}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# reaktion} other {# reaktioner}}" msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# sparad mediafil} other {# sparade mediafiler}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# sekund} other {# sekunder}}" @@ -667,11 +658,6 @@ msgstr "{duration} före dig" msgid "{duration} behind you" msgstr "{duration} efter dig" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "{durationLabel} långsamt läge" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "Administratörer pausade inbjudningar – du kan inte gå med just nu." #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "Kanaltyp: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "Kanalen uppdaterades" @@ -7162,7 +7148,7 @@ msgstr "Rensa bilagemockar" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "Rensa kommando" @@ -13509,7 +13495,7 @@ msgstr "Ange SMS-koden" msgid "Enter this code in your browser to complete sign-in." msgstr "Ange den här koden i din webbläsare för att slutföra inloggningen." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "tryck på retur för att <0><1>spara" @@ -13650,7 +13636,7 @@ msgstr "Escape-tangent" msgid "Escape key exits keyboard mode" msgstr "Esc-tangenten avslutar tangentbordsläget" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "escape för att <0><1>avbryta" @@ -22465,7 +22451,7 @@ msgstr "Föremål" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "Återställ premiumstatus" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "Återställ reglaget till standardvärdet" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "snedstreck {commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "Skjutreglagets värde" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "Långsam profilinläsning" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "Långsamt läge" @@ -29984,21 +29970,36 @@ msgstr "Långsamt läge · vänta {remaining}" msgid "Slowmode active" msgstr "Långsamt läge aktivt" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "Långsamt läge är aktiverat för den här kanalen." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "Långsamt läge aktivt ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "Långsamt läge är aktiverat, men du är immun." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "Långsamt läge är aktiverat" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "Långsamt läge är aktiverat – vänta {duration} innan du skickar ett nytt meddelande." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "Långsamt läge är inställt på {durationLabel} för den här kanalen." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "Långsamt läge är inställt på {durationLabel}, men du är undantagen." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "Långsamt läge är inställt på {durationLabel}. Vänta innan du skickar ett nytt meddelande." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "Vänta ett ögonblick. Det här fönstret stängs automatiskt när vi har tagit emot ditt meddelande." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "Vänta mellan meddelanden. \"{bypassSlowmodePermissionLabel}\" kan kringgå detta." @@ -38500,11 +38501,6 @@ msgstr "Välkommen, {username}! Kul att du är med oss." msgid "You're in preview mode" msgstr "Du är i förhandsgranskningsläge" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "Du är i långsamt läge. Vänta innan du skickar ett nytt meddelande." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/th/messages.po b/fluxer_app/src/features/i18n/locales/th/messages.po index 25dd72dbc..606b1e3fb 100644 --- a/fluxer_app/src/features/i18n/locales/th/messages.po +++ b/fluxer_app/src/features/i18n/locales/th/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, other {# รายการ}}" msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# ชุมชนที่พบ} other {# ชุมชนที่พบ}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# ชุมชนไม่พร้อมใช้งานชั่วคราว เนื่องจากเครื่องฟลักซ์คาปาซิเตอร์ทำงานผิดปกติ} other {# ชุมชนไม่พร้อมใช้งานชั่วคราว เนื่องจากเครื่องฟลักซ์คาปาซิเตอร์ทำงานผิดปกติ}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# อิโมจิ} other {# อิโมจิ}} msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# ชิ้น} other {# ชิ้น}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# ชั่วโมง} other {# ชั่วโมง}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# รายการ} other {# รายการ}} msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# สมาชิก} other {# สมาชิก}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# นาที} other {# นาที}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# ชุมชนร่วมกัน} other {# ชุมชนร่วมกัน}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# คนกดแสดงความรู้ส msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# รายการมีเดียที่บันทึกไว้} other {# รายการมีเดียที่บันทึกไว้}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# วินาที} other {# วินาที}}" @@ -667,11 +658,6 @@ msgstr "เร็วกว่าคุณ {duration}" msgid "{duration} behind you" msgstr "ช้ากว่าคุณ {duration}" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "โหมดช้า {durationLabel}" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "ผู้ดูแลระบบหยุดการเชิญชั #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "ประเภทช่อง: {0}" #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "อัปเดตช่องแล้ว" @@ -7162,7 +7148,7 @@ msgstr "ล้างข้อมูลจำลองไฟล์แนบ" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "ล้างคำสั่ง" @@ -13509,7 +13495,7 @@ msgstr "ป้อนรหัส SMS" msgid "Enter this code in your browser to complete sign-in." msgstr "ป้อนรหัสนี้ในเบราว์เซอร์เพื่อลงชื่อเข้าใช้ให้เสร็จสมบูรณ์" -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "กด Enter เพื่อ<0><1>บันทึก" @@ -13650,7 +13636,7 @@ msgstr "ปุ่ม Esc" msgid "Escape key exits keyboard mode" msgstr "ปุ่ม Esc ออกจากโหมดแป้นพิมพ์" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "กด escape เพื่อ <0><1>ยกเลิก" @@ -22465,7 +22451,7 @@ msgstr "วัตถุ" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "รีเซ็ตสถานะพรีเมียม" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "รีเซ็ตแถบเลื่อนเป็นค่าเริ่มต้น" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "/{commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "ค่าตัวเลื่อน" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "โหลดโปรไฟล์ช้า" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "โหมดจำกัดเวลา" @@ -29984,21 +29970,36 @@ msgstr "โหมดหน่วงเวลา · รอ {remaining}" msgid "Slowmode active" msgstr "เปิดโหมดจำกัดเวลา" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "เปิดโหมดจำกัดเวลาสำหรับช่องนี้" +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "โหมดจำกัดเวลาทำงานอยู่ ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "เปิดโหมดจำกัดข้อความช้า แต่คุณไม่ได้รับผลกระทบ" +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "เปิดโหมดจำกัดเวลา" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "โหมดหน่วงเวลาเปิดอยู่ — รออีก {duration} ก่อนส่งข้อความถัดไป" +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "โหมดจำกัดเวลาถูกตั้งเป็น {durationLabel} สำหรับช่องนี้" + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "โหมดจำกัดเวลาถูกตั้งเป็น {durationLabel} แต่คุณไม่ถูกจำกัด" + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "โหมดจำกัดเวลาถูกตั้งเป็น {durationLabel} รอก่อนส่งข้อความถัดไป" + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "รอสักครู่ หน้าต่างนี้จะปิดเองเมื่อเราได้รับข้อความของคุณ" #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "รอระหว่างข้อความ \"{bypassSlowmodePermissionLabel}\" สามารถข้ามได้" @@ -38500,11 +38501,6 @@ msgstr "คุณมาแล้ว, {username}! ยินดีต้อนร msgid "You're in preview mode" msgstr "คุณอยู่ในโหมดพรีวิว" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "คุณอยู่ในโหมดหน่วงเวลา โปรดรอสักครู่ก่อนส่งข้อความอื่น" - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/tr/messages.po b/fluxer_app/src/features/i18n/locales/tr/messages.po index f07cfd7a3..7c3e1acd8 100644 --- a/fluxer_app/src/features/i18n/locales/tr/messages.po +++ b/fluxer_app/src/features/i18n/locales/tr/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# yer işareti} other {# yer işaretleri}}" msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# topluluk bulundu} other {# topluluk bulundu}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# topluluk, bir \"flux kapasitörü\" arızası nedeniyle geçici olarak kullanılamıyor.} other {# topluluk, bir \"flux kapasitörü\" arızası nedeniyle geçici olarak kullanılamıyor.}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# emoji} other {# emojiler}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# hediye} other {# hediye}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# saat} other {# saat}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# öğe} other {# öğe}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# üye} other {# üye}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# dakika} other {# dakika}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# ortak topluluk} other {# ortak topluluk}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# tepki} other {# tepki}}" msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# kaydedilmiş medya öğesi} other {# kaydedilmiş medya öğesi}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# saniye} other {# saniye}}" @@ -667,11 +658,6 @@ msgstr "Sizden {duration} ileride" msgid "{duration} behind you" msgstr "Sizden {duration} geride" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "{durationLabel} yavaş mod" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "Yöneticiler davetleri duraklattı; şu anda katılamazsınız." #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "Kanal türü: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "Kanal güncellendi" @@ -7162,7 +7148,7 @@ msgstr "Ek mock'larını temizle" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "Komutu temizle" @@ -13509,7 +13495,7 @@ msgstr "SMS kodunu girin" msgid "Enter this code in your browser to complete sign-in." msgstr "Giriş yapmak için bu kodu tarayıcınıza girin." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "kaydetmek için <0><1>enter tuşuna basın" @@ -13650,7 +13636,7 @@ msgstr "Esc tuşu" msgid "Escape key exits keyboard mode" msgstr "Esc tuşu klavye modundan çıkar" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "iptal etmek için <0><1>çıkın" @@ -22465,7 +22451,7 @@ msgstr "Nesneler" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "Premium durumu sıfırla" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "Kaydırıcıyı varsayılan değere sıfırla" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "/{commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "Kaydırıcı değeri" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "Yavaş profil yüklemesi" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "Yavaş mod" @@ -29984,21 +29970,36 @@ msgstr "Yavaş mod · {remaining} bekle" msgid "Slowmode active" msgstr "Yavaş mod etkin" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "Bu kanalda yavaş mod açık." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "Yavaş mod etkin ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "Yavaş mod açık ama sen etkilenmiyorsun." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "Yavaş mod etkin" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "Yavaş mod açık — başka bir mesaj göndermeden önce {duration} bekle." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "Bu kanal için yavaş mod {durationLabel} olarak ayarlandı." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "Yavaş mod {durationLabel} olarak ayarlandı, ancak sen muafsın." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "Yavaş mod {durationLabel} olarak ayarlandı. Başka bir mesaj göndermeden önce bekle." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "Biraz bekleyin. Mesajınızı aldığımızda bu pencere otomatik olarak kapanacaktır." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "Mesajlar arasında bekleme süresi. \"{bypassSlowmodePermissionLabel}\" bunu geçersiz kılabilir." @@ -38500,11 +38501,6 @@ msgstr "Buradasın, {username}! Aramıza hoş geldin." msgid "You're in preview mode" msgstr "Önizleme modundasınız" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "Yavaş moddasınız. Başka bir mesaj göndermeden önce bekleyin." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/uk/messages.po b/fluxer_app/src/features/i18n/locales/uk/messages.po index c9bdc7273..08ac83ef3 100644 --- a/fluxer_app/src/features/i18n/locales/uk/messages.po +++ b/fluxer_app/src/features/i18n/locales/uk/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# закладка} few {# закладки} many { msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# спільнота знайдена} few {# спільноти знайдені} many {# спільнот знайдено} other {# спільнот знайдено}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# спільнота тимчасово недоступна через несправність потокового накопичувача.} few {# спільноти тимчасово недоступні через несправність потокового накопичувача.} many {# спільнот тимчасово недоступні через несправність потокового накопичувача.} other {# спільнот тимчасово недоступні через несправність потокового накопичувача.}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# емодзі} few {# емодзі} many {# емо msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# подарунок} few {# подарунки} many {# подарунків} other {# подарунків}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# година} few {# години} many {# годин} other {# години}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# елемент} few {# елементи} many {# msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# учасник} few {# учасники} many {# учасників} other {# учасників}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# хвилина} few {# хвилини} many {# хвилин} other {# хвилин}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# спільна спільнота} few {# спільні спільноти} many {# спільних спільнот} other {# спільних спільнот}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# реакція} few {# реакції} many {# р msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# збережений медіафайл} few {# збережені медіафайли} many {# збережених медіафайлів} other {# збереженого медіафайлу}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# секунда} few {# секунди} many {# секунд} other {# секунди}}" @@ -667,11 +658,6 @@ msgstr "на {duration} попереду вас" msgid "{duration} behind you" msgstr "На {duration} пізніше, ніж у вас" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "Уповільнений режим: {durationLabel}" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "Адміністратори призупинили запрошення #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "Тип каналу: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "Канал оновлено" @@ -7162,7 +7148,7 @@ msgstr "Очистити макети вкладень" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "Очистити команду" @@ -13509,7 +13495,7 @@ msgstr "Введіть SMS-код" msgid "Enter this code in your browser to complete sign-in." msgstr "Введіть цей код у своєму браузері, щоб завершити вхід." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "натисніть Enter, щоб <0><1>зберегти" @@ -13650,7 +13636,7 @@ msgstr "Клавіша Esc" msgid "Escape key exits keyboard mode" msgstr "Клавіша Esc виходить з режиму клавіатури" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "натисніть escape, щоб <0><1>скасувати" @@ -22465,7 +22451,7 @@ msgstr "Об'єкти" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "Скинути преміум-статус" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "Скинути повзунок до значення за замовчуванням" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "слеш {commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "Значення повзунка" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "Повільне завантаження профілю" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "Повільний режим" @@ -29984,21 +29970,36 @@ msgstr "Повільний режим · зачекайте {remaining}" msgid "Slowmode active" msgstr "Увімкнено повільний режим" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "У цьому каналі ввімкнено повільний режим." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "Повільний режим активний ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "Увімкнено повільний режим, але для вас він не діє." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "Увімкнено повільний режим" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "Увімкнено повільний режим — зачекайте {duration}, перш ніж надсилати наступне повідомлення." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "Для цього каналу встановлено повільний режим на {durationLabel}." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "Встановлено повільний режим на {durationLabel}, але ви маєте імунітет." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "Встановлено повільний режим на {durationLabel}. Зачекайте, перш ніж надсилати наступне повідомлення." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "Зачекайте. Це вікно автоматично закриється, щойно ми отримаємо ваше повідомлення." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "Час між повідомленнями. «{bypassSlowmodePermissionLabel}» може це обійти." @@ -38500,11 +38501,6 @@ msgstr "Ви тут, {username}! Раді, що ви з нами." msgid "You're in preview mode" msgstr "Ви в режимі попереднього перегляду" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "Ви в повільному режимі. Зачекайте, перш ніж надсилати інше повідомлення." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/vi/messages.po b/fluxer_app/src/features/i18n/locales/vi/messages.po index 28f2bcfb8..d0e96b322 100644 --- a/fluxer_app/src/features/i18n/locales/vi/messages.po +++ b/fluxer_app/src/features/i18n/locales/vi/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# dấu trang} other {# dấu trang}}" msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# cộng đồng được tìm thấy} other {# cộng đồng được tìm thấy}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# cộng đồng hiện không khả dụng do lỗi bộ biến đổi dòng chảy.} other {# cộng đồng hiện không khả dụng do lỗi bộ biến đổi dòng chảy.}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# biểu tượng cảm xúc} other {# biểu tư msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# quà} other {# quà}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# giờ} other {# giờ}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# mục} other {# mục}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# thành viên} other {# thành viên}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# phút} other {# phút}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# cộng đồng chung} other {# cộng đồng chung}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# người bày tỏ cảm xúc} other {# người msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# mục đã lưu} other {# mục đã lưu}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# giây} other {# giây}}" @@ -667,11 +658,6 @@ msgstr "Trước bạn {duration}" msgid "{duration} behind you" msgstr "Chậm hơn bạn {duration}" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "Chế độ chậm {durationLabel}" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "Quản trị viên đã tạm dừng lời mời – bạn không thể #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "Loại kênh: {0}." #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "Đã cập nhật kênh" @@ -7162,7 +7148,7 @@ msgstr "Xóa mô phỏng tệp đính kèm" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "Xóa lệnh" @@ -13509,7 +13495,7 @@ msgstr "Nhập mã SMS" msgid "Enter this code in your browser to complete sign-in." msgstr "Nhập mã này vào trình duyệt để hoàn tất đăng nhập." -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "nhấn enter để <0><1>lưu" @@ -13650,7 +13636,7 @@ msgstr "Phím Escape" msgid "Escape key exits keyboard mode" msgstr "Phím Escape thoát chế độ bàn phím" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "nhấn escape để <0><1>hủy" @@ -22465,7 +22451,7 @@ msgstr "Vật thể" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "Đặt lại trạng thái premium" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "Đặt lại thanh trượt về giá trị mặc định" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "lệnh {commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "Giá trị thanh trượt" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "Tải hồ sơ chậm" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "Chế độ chậm" @@ -29984,21 +29970,36 @@ msgstr "Chế độ chậm · chờ {remaining}" msgid "Slowmode active" msgstr "Chế độ chậm đang bật" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "Kênh này đang bật chế độ chậm." +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "Chế độ chậm đang hoạt động ({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "Chế độ chậm đang bật, nhưng bạn được miễn trừ." +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "Chế độ chậm đang bật" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "Chế độ chậm đang bật — đợi {duration} trước khi gửi tin nhắn khác." +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "Chế độ chậm được đặt thành {durationLabel} cho kênh này." + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "Chế độ chậm được đặt thành {durationLabel}, nhưng bạn được miễn trừ." + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "Chế độ chậm được đặt thành {durationLabel}. Hãy đợi trước khi gửi tin nhắn khác." + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "Vui lòng đợi một chút. Cửa sổ này sẽ tự động đóng khi chúng tôi nhận được tin nhắn của bạn." #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "Chờ giữa các tin nhắn. \"{bypassSlowmodePermissionLabel}\" có thể bỏ qua nó." @@ -38500,11 +38501,6 @@ msgstr "Bạn đã ở đây, {username}! Rất vui khi có bạn tham gia cùng msgid "You're in preview mode" msgstr "Bạn đang ở chế độ xem trước" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "Bạn đang ở chế độ chậm. Vui lòng đợi trước khi gửi tin nhắn khác." - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/zh-CN/messages.po b/fluxer_app/src/features/i18n/locales/zh-CN/messages.po index efb71f85b..f131bad96 100644 --- a/fluxer_app/src/features/i18n/locales/zh-CN/messages.po +++ b/fluxer_app/src/features/i18n/locales/zh-CN/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# 条书签} other {# 条书签}}" msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# 个社群} other {# 个社群}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# 个社群因时空穿梭器故障暂时不可用。} other {# 个社群因时空穿梭器故障暂时不可用。}}" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# 个表情} other {# 个表情}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# 份礼物} other {# 份礼物}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# 小时} other {# 小时}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# 项} other {# 项}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# 位成员} other {# 位成员}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# 分钟} other {# 分钟}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {#个共同社区} other {#个共同社区}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# 位回应者} other {# 位回应者}}" msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# 个收藏的媒体文件} other {# 个收藏的媒体文件}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# 秒} other {# 秒}}" @@ -667,11 +658,6 @@ msgstr "比你快 {duration}" msgid "{duration} behind you" msgstr "比你晚 {duration}" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "{durationLabel} 慢速模式" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "管理员已暂停邀请,你暂时无法加入。" #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "频道类型:{0}。" #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "频道已更新" @@ -7162,7 +7148,7 @@ msgstr "清除附件模拟数据" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "清除命令" @@ -13509,7 +13495,7 @@ msgstr "输入短信验证码" msgid "Enter this code in your browser to complete sign-in." msgstr "在浏览器中输入此代码以完成登录。" -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "按 Enter 键<0><1>保存" @@ -13650,7 +13636,7 @@ msgstr "Esc 键" msgid "Escape key exits keyboard mode" msgstr "按 Esc 键退出键盘模式" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "按 Esc 键<0><1>取消" @@ -22465,7 +22451,7 @@ msgstr "物品" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "重置会员状态" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "将滑块重置为默认值" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "/{commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "滑块值" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "慢速加载个人资料" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "慢速模式" @@ -29984,21 +29970,36 @@ msgstr "慢速模式 · 等待 {remaining}" msgid "Slowmode active" msgstr "慢速模式已开启" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "本频道已开启慢速模式。" +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "慢速模式生效中({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "慢速模式已开启,但你免疫此限制。" +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "慢速模式已启用" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "慢速模式已开启 — 请等待 {duration} 后再发送消息。" +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "此频道的慢速模式已设置为 {durationLabel}。" + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "慢速模式已设置为 {durationLabel},但您不受限制。" + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "慢速模式已设置为 {durationLabel}。请等待后再发送下一条消息。" + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "请稍候。收到您的消息后,此窗口将自动关闭。" #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "消息之间的等待时间。“{bypassSlowmodePermissionLabel}”可以跳过此限制。" @@ -38500,11 +38501,6 @@ msgstr "{username},你来啦!很高兴你加入我们。" msgid "You're in preview mode" msgstr "你正在预览模式中" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "你处于慢速模式。请稍候再发送消息。" - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/i18n/locales/zh-TW/messages.po b/fluxer_app/src/features/i18n/locales/zh-TW/messages.po index 74631affd..582e44040 100644 --- a/fluxer_app/src/features/i18n/locales/zh-TW/messages.po +++ b/fluxer_app/src/features/i18n/locales/zh-TW/messages.po @@ -355,7 +355,7 @@ msgstr "{count, plural, one {# 個書籤} other {# 個書籤}}" msgid "{count, plural, one {# community found} other {# communities found}}" msgstr "{count, plural, one {# 個社群} other {# 個社群}}" -#: src/features/app/components/layout/GuildsLayout.tsx:902 +#: src/features/app/components/layout/GuildsLayout.tsx:907 msgid "{count, plural, one {# community is temporarily unavailable due to a flux capacitor malfunction.} other {# communities are temporarily unavailable due to a flux capacitor malfunction.}}" msgstr "{count, plural, one {# 個社群} other {# 個社群}}因時空電容器故障,暫時無法使用" @@ -378,8 +378,6 @@ msgstr "{count, plural, one {# 個表情符號} other {# 個表情符號}}" msgid "{count, plural, one {# gift} other {# gifts}}" msgstr "{count, plural, one {# 份禮物} other {# 份禮物}}" -#. Slowmode duration expressed in hours, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:41 #: src/features/channel/components/modals/GroupInvitesBottomSheet.tsx:139 msgid "{count, plural, one {# hour} other {# hours}}" msgstr "{count, plural, one {# 小時} other {# 小時}}" @@ -397,11 +395,6 @@ msgstr "{count, plural, one {# 個項目} other {# 個項目}}" msgid "{count, plural, one {# member} other {# members}}" msgstr "{count, plural, one {# 位成員} other {# 位成員}}" -#. Slowmode duration expressed in minutes, shown on the channel settings slowmode slider. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:37 -msgid "{count, plural, one {# minute} other {# minutes}}" -msgstr "{count, plural, one {# 分鐘} other {# 分鐘}}" - #: src/features/channel/components/direct_message/DMWelcomeSection.tsx:246 msgid "{count, plural, one {# mutual community} other {# mutual communities}}" msgstr "{count, plural, one {# 個共同社群} other {# 個共同社群}}" @@ -433,9 +426,7 @@ msgstr "{count, plural, one {# 個心情} other {# 個心情}}" msgid "{count, plural, one {# saved media item} other {# saved media items}}" msgstr "{count, plural, one {# 個已儲存的媒體項目} other {# 個已儲存的媒體項目}}" -#. Slowmode duration expressed in seconds, shown on the channel settings slowmode slider. #: src/features/channel/components/channel_header_components/developer_tools/MockingMenu.tsx:183 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:33 msgid "{count, plural, one {# second} other {# seconds}}" msgstr "{count, plural, one {# 秒} other {# 秒}}" @@ -667,11 +658,6 @@ msgstr "比您快 {duration}" msgid "{duration} behind you" msgstr "比你晚 {duration}" -#. Short label in the channel and chat slowmode indicator. Keep it concise. Preserve {durationLabel}; it is inserted by code. -#: src/features/channel/components/SlowmodeIndicator.tsx:31 -msgid "{durationLabel} slowmode" -msgstr "{durationLabel} 慢速模式" - #. Gift duration label. PREMIUM_PRODUCT_NAME is the paid plan name. #: src/features/gift/utils/GiftUtils.ts:12 msgid "{durationQuantity, plural, one {# day} other {# days}} of {premiumProductName}" @@ -2847,7 +2833,7 @@ msgstr "管理員已暫停邀請 — 您目前無法加入。" #. Disclosure button label in the voice connection status popout. Reveals technical bandwidth and network stats. #. User settings tab for power-user and experimental application preferences. #. Voice participant context menu submenu label for IDs and diagnostics. -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:337 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:336 #: src/features/guild/components/modals/guild_tabs/guild_overview_tab/index.tsx:28 #: src/features/ui/action_menu/items/VoiceParticipantMenuData.tsx:178 #: src/features/user/components/settings_utils/SettingsConstants.tsx:145 @@ -6546,8 +6532,8 @@ msgstr "頻道類型:{0}。" #. Audit log entry label. Past-tense action describing that a channel was edited. #: src/features/app/config/AuditLogConstants.ts:16 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:207 -#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:226 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:206 +#: src/features/channel/components/modals/channel_tabs/ChannelOverviewTab.tsx:225 msgid "Channel updated" msgstr "頻道已更新" @@ -7162,7 +7148,7 @@ msgstr "清除附件模擬資料" #. Accessible label for the button that clears the slash command being composed in the message box. #. Accessible label for the composer button that clears the slash command currently being composed. -#: src/features/channel/components/LexicalChannelTextareaContent.tsx:126 +#: src/features/channel/components/LexicalChannelTextareaContent.tsx:130 #: src/features/channel/components/SlashCommandParamBar.tsx:16 msgid "Clear command" msgstr "清除指令" @@ -13509,7 +13495,7 @@ msgstr "輸入簡訊驗證碼" msgid "Enter this code in your browser to complete sign-in." msgstr "請在瀏覽器中輸入此代碼以完成登入。" -#: src/features/channel/components/EditingMessageInput.tsx:359 +#: src/features/channel/components/EditingMessageInput.tsx:358 msgid "enter to <0><1>save" msgstr "按 Enter 鍵<0><1>儲存" @@ -13650,7 +13636,7 @@ msgstr "Esc 鍵" msgid "Escape key exits keyboard mode" msgstr "按下 Esc 鍵可離開鍵盤模式" -#: src/features/channel/components/EditingMessageInput.tsx:346 +#: src/features/channel/components/EditingMessageInput.tsx:345 msgid "escape to <0><1>cancel" msgstr "按 Esc 鍵<0><1>取消" @@ -22465,7 +22451,7 @@ msgstr "物品" #. Option label for an H.264 backup stream select. #: src/features/channel/components/ChannelReplyBar.tsx:62 #: src/features/channel/components/modals/channel_tabs/channel_overview_tab/MatureContentSection.tsx:26 -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:23 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:24 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:97 #: src/features/guild/components/modals/guild_tabs/GuildModerationTab.tsx:139 #: src/features/user/components/modals/tabs/advanced_settings_tab/AdvancedVideoControls.tsx:123 @@ -26668,7 +26654,7 @@ msgid "Reset premium state" msgstr "重設付費狀態" #. Accessible label for a button that resets a slider to its default value. -#: src/features/ui/components/Slider.tsx:18 +#: src/features/ui/components/Slider.tsx:24 msgid "Reset slider to default value" msgstr "將滑桿重設為預設值" @@ -29896,7 +29882,7 @@ msgid "slash {commandName}" msgstr "斜線 {commandName}" #. Accessible label announcing the current slider value. -#: src/features/ui/components/Slider.tsx:22 +#: src/features/ui/components/Slider.tsx:28 msgid "Slider value" msgstr "滑桿值" @@ -29968,7 +29954,7 @@ msgid "Slow profile load" msgstr "載入個人檔案緩慢" #. Channel overview settings tab label, control, or validation message (name, topic, slowmode, voice region, mature content gate). -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:18 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:19 msgid "Slowmode" msgstr "慢速模式" @@ -29984,21 +29970,36 @@ msgstr "慢速模式 · 等待 {remaining}" msgid "Slowmode active" msgstr "慢速模式已啟用" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:27 -msgid "Slowmode is enabled for this channel." -msgstr "此頻道已啟用慢速模式。" +#. Short label in the composer slowmode indicator while the countdown runs. Keep it concise. Preserve {remaining}; it is an mm:ss or hh:mm:ss timer inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:38 +msgid "Slowmode is active ({remaining})" +msgstr "慢速模式進行中({remaining})" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:19 -msgid "Slowmode is enabled, but you are immune." -msgstr "慢速模式已開啟,但您不受影響。" +#. Short label in the composer slowmode indicator when the reader is free to send. Keep it concise. +#: src/features/channel/components/SlowmodeIndicator.tsx:34 +msgid "Slowmode is enabled" +msgstr "慢速模式已啟用" #. Modal body shown when slowmode blocks sending a message. {duration} is a localized short duration such as "2 minutes". #: src/features/slowmode/components/alerts/SlowmodeRateLimitedModal.tsx:17 msgid "Slowmode is on — wait {duration} before sending another." msgstr "慢速模式已開啟 — 請在 {duration} 後再傳送訊息。" +#. Tooltip on the composer slowmode indicator when the reader is free to send. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:29 +msgid "Slowmode is set to {durationLabel} for this channel." +msgstr "此頻道的慢速模式設為 {durationLabel}。" + +#. Tooltip on the composer slowmode indicator when the reader can bypass slowmode. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:19 +msgid "Slowmode is set to {durationLabel}, but you are immune." +msgstr "慢速模式設為 {durationLabel},但您不受限制。" + +#. Tooltip on the composer slowmode indicator while the reader is counting down. Preserve {durationLabel}; it is inserted by code. +#: src/features/channel/components/SlowmodeIndicator.tsx:24 +msgid "Slowmode is set to {durationLabel}. Wait before sending another message." +msgstr "慢速模式設為 {durationLabel}。請稍候再傳送下一則訊息。" + #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #: src/features/channel/components/channel_header_components/developer_tools/DeveloperOptionLabels.ts:253 msgid "Slowmode remaining" @@ -36912,7 +36913,7 @@ msgid "Wait a moment. This window will close automatically once we receive your msgstr "請稍候,收到您的訊息後此視窗將自動關閉。" #. Description under the slowmode slider in channel settings. bypassSlowmodePermissionLabel is the localized Bypass Slowmode permission name. -#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:28 +#: src/features/channel/components/modals/channel_tabs/channel_overview_tab/SlowmodeControl.tsx:29 msgid "Wait between messages. \"{bypassSlowmodePermissionLabel}\" can bypass it." msgstr "訊息之間間隔時間。\"{bypassSlowmodePermissionLabel}\" 可以繞過此設定。" @@ -38500,11 +38501,6 @@ msgstr "{username},你來啦!很高興有你加入。" msgid "You're in preview mode" msgstr "您正在預覽模式中" -#. Description text in the channel and chat slowmode indicator. -#: src/features/channel/components/SlowmodeIndicator.tsx:23 -msgid "You're in slowmode. Wait before sending another message." -msgstr "您正處於慢速模式。請稍候再傳送訊息。" - #. Subtitle below the connected-call header confirming the user is connected. #: src/features/voice/components/bottomsheets/DirectCallLobbyBottomSheet.tsx:108 msgid "You're in the call" diff --git a/fluxer_app/src/features/lexical/composer/LexicalComposerInput.tsx b/fluxer_app/src/features/lexical/composer/LexicalComposerInput.tsx index 19e6c477c..aa8da85ce 100644 --- a/fluxer_app/src/features/lexical/composer/LexicalComposerInput.tsx +++ b/fluxer_app/src/features/lexical/composer/LexicalComposerInput.tsx @@ -67,6 +67,7 @@ import ChatInputSettings from '@app/features/messaging/state/ChatInputSettings'; import {isIMEComposing} from '@app/features/messaging/utils/IMECompositionUtils'; import type {MentionSegment} from '@app/features/messaging/utils/TextareaSegmentManager'; import markupStyles from '@app/features/theme/styles/Markup.module.css'; +import FocusRing from '@app/features/ui/focus_ring/FocusRing'; import MobileLayout from '@app/features/ui/state/MobileLayout'; import {flxElementClassName} from '@app/lib/react'; import type {InitialConfigType} from '@lexical/react/LexicalComposer'; @@ -127,6 +128,8 @@ export interface LexicalComposerInputProps { guildId?: string; selectionToolbar?: boolean; submitOnEnter?: boolean; + focusRingTarget?: React.RefObject; + focusRingEnabled?: boolean; className?: string; id?: string; ariaLabel?: string; @@ -207,6 +210,8 @@ const ComposerInner = ({ emojiShortcodeResolver, selectionToolbar = true, submitOnEnter = true, + focusRingTarget, + focusRingEnabled = false, className, id, ariaLabel, @@ -711,33 +716,35 @@ const ComposerInner = ({ <> - {placeholder} - - } - data-channel-textarea - data-composer-render-mode={plainText ? 'plain' : 'rich'} - /> + + + {placeholder} + + } + data-channel-textarea + data-composer-render-mode={plainText ? 'plain' : 'rich'} + /> + } ErrorBoundary={LexicalErrorBoundary} /> diff --git a/fluxer_app/src/features/lexical/composer/LexicalMessageComposer.module.css b/fluxer_app/src/features/lexical/composer/LexicalMessageComposer.module.css index e20c57cfd..8deed41ab 100644 --- a/fluxer_app/src/features/lexical/composer/LexicalMessageComposer.module.css +++ b/fluxer_app/src/features/lexical/composer/LexicalMessageComposer.module.css @@ -40,7 +40,7 @@ left: var(--composer-placeholder-left, 0); pointer-events: none; user-select: none; - color: var(--text-primary-muted); + color: var(--text-tertiary-secondary); font-size: var(--composer-font-size, var(--textarea-font-size, 1rem)); line-height: var(--composer-line-height, var(--textarea-line-height, 1.375rem)); overflow: hidden; diff --git a/fluxer_app/src/features/platform/utils/ComponentBus.ts b/fluxer_app/src/features/platform/utils/ComponentBus.ts index 16ebe5180..3eb3148bb 100644 --- a/fluxer_app/src/features/platform/utils/ComponentBus.ts +++ b/fluxer_app/src/features/platform/utils/ComponentBus.ts @@ -36,6 +36,7 @@ export type ComponentActionType = | 'STICKER_PICKER_RERENDER' | 'STICKER_SELECT' | 'TEXTAREA_SEND_VOICE_MESSAGE' + | 'TEXTAREA_DISMISS_AFFORDANCE' | 'TEXTAREA_UPLOAD_FILE' | 'USER_SETTINGS_TAB_SELECT'; type ComponentDispatchEvents = { diff --git a/fluxer_app/src/features/theme/layout/MessageLayoutSpec.ts b/fluxer_app/src/features/theme/layout/MessageLayoutSpec.ts index a59989804..15f58709a 100644 --- a/fluxer_app/src/features/theme/layout/MessageLayoutSpec.ts +++ b/fluxer_app/src/features/theme/layout/MessageLayoutSpec.ts @@ -111,7 +111,7 @@ export const MESSAGE_LAYOUT_SPEC = { gap: '0.25rem', usernameGap: '0.45rem', }, - gutter: '1rem', + gutter: '0.75rem', spacingY: '0.125rem', lineHeight: '1.375rem', containerGap: '0.25rem', diff --git a/fluxer_app/src/features/theme/styles/Message.module.css b/fluxer_app/src/features/theme/styles/Message.module.css index a4898b230..79bb77034 100644 --- a/fluxer_app/src/features/theme/styles/Message.module.css +++ b/fluxer_app/src/features/theme/styles/Message.module.css @@ -1073,19 +1073,6 @@ align-items: flex-start; justify-content: center; padding-block-start: 0.15em; - padding-inline-start: max( - 0px, - calc( - ( - var(--textarea-horizontal-padding, 1rem) + - var(--textarea-side-button-padding, 0.34375rem) + - (var(--textarea-button-height, 2rem) / 2) - - var(--chat-horizontal-padding, 1rem) - - (var(--message-avatar-size) / 2) - ) * - 2 - ) - ); user-select: none; -webkit-user-select: none; } @@ -1261,7 +1248,10 @@ .typingCluster { display: grid; - grid-template-columns: var(--typing-upload-column-width) minmax(0, 1fr); + grid-template-columns: calc(var(--textarea-button-height, 2rem) + var(--textarea-side-button-padding, 0.25rem) * 2) minmax( + 0, + 1fr + ); column-gap: var(--textarea-upload-gap, 0.75rem); align-items: center; pointer-events: none; @@ -1338,22 +1328,8 @@ flex: 0 1 auto; } -.typingPillComposerStatus { - height: var(--composer-status-pill-height); - min-height: var(--composer-status-pill-height); - max-width: 100%; - min-width: 0; - padding: 0 0.5rem; - border-radius: var(--radius-full); -} - -.typingPillComposerStatus .typingIndicator, -.typingPillComposerStatus .typingAvatarContainer { - height: var(--composer-status-pill-height); -} - -.typingPillComposerStatus .typingText { - line-height: var(--composer-status-pill-height); +.typingClusterComposerStatus .typingAvatarContainer { + --avatar-stack-outline-color: var(--composer-surface-color, var(--background-secondary-lighter)); } .compactContentWrapper { diff --git a/fluxer_app/src/features/theme/variables/ThemeVariableManifest.ts b/fluxer_app/src/features/theme/variables/ThemeVariableManifest.ts index eaba7a06d..edd25048b 100644 --- a/fluxer_app/src/features/theme/variables/ThemeVariableManifest.ts +++ b/fluxer_app/src/features/theme/variables/ThemeVariableManifest.ts @@ -117,6 +117,12 @@ export const THEME_VARIABLES: ReadonlyArray = [ {name: "--code-inline-bg", kind: "color", groupId: "code", groupLabel: "Code & terminal", source: "color-system"}, {name: "--code-muted", kind: "color", groupId: "code", groupLabel: "Code & terminal", source: "color-system"}, {name: "--code-text", kind: "color", groupId: "code", groupLabel: "Code & terminal", source: "color-system"}, + {name: "--composer-action-gap", kind: "dimension", groupId: "layout", groupLabel: "Layout", source: "globals"}, + {name: "--composer-box-inset", kind: "dimension", groupId: "other", groupLabel: "Other", source: "globals"}, + {name: "--composer-box-inset-inline", kind: "dimension", groupId: "other", groupLabel: "Other", source: "globals"}, + {name: "--composer-box-padding-inline", kind: "dimension", groupId: "layout", groupLabel: "Layout", source: "globals"}, + {name: "--composer-mobile-box-height", kind: "dimension", groupId: "layout", groupLabel: "Layout", source: "globals"}, + {name: "--composer-mobile-padding-y", kind: "dimension", groupId: "layout", groupLabel: "Layout", source: "globals"}, {name: "--content-padding", kind: "dimension", groupId: "layout", groupLabel: "Layout", source: "globals"}, {name: "--content-padding-lg", kind: "dimension", groupId: "layout", groupLabel: "Layout", source: "globals"}, {name: "--content-padding-sm", kind: "dimension", groupId: "layout", groupLabel: "Layout", source: "globals"}, @@ -130,14 +136,21 @@ export const THEME_VARIABLES: ReadonlyArray = [ {name: "--control-button-normal-text", kind: "color", groupId: "buttons", groupLabel: "Buttons", source: "color-system"}, {name: "--emoji-size-emoji", kind: "dimension", groupId: "emoji", groupLabel: "Emoji", source: "globals"}, {name: "--emoji-size-jumbo-emoji", kind: "dimension", groupId: "emoji", groupLabel: "Emoji", source: "globals"}, + {name: "--floating-surface-ring-color", kind: "color", groupId: "surfaces", groupLabel: "Surfaces", source: "globals"}, + {name: "--floating-surface-ring-color-strong", kind: "color", groupId: "surfaces", groupLabel: "Surfaces", source: "globals"}, {name: "--focus-primary", kind: "color", groupId: "borders", groupLabel: "Borders & focus", source: "globals"}, {name: "--font-keybind", kind: "other", groupId: "typography", groupLabel: "Typography", source: "globals"}, {name: "--font-mono", kind: "font", groupId: "typography", groupLabel: "Typography", source: "runtime-fonts"}, {name: "--font-sans", kind: "font", groupId: "typography", groupLabel: "Typography", source: "runtime-fonts"}, {name: "--font-size", kind: "dimension", groupId: "typography", groupLabel: "Typography", source: "runtime-accessibility"}, {name: "--font-size-xs", kind: "dimension", groupId: "typography", groupLabel: "Typography", source: "globals"}, + {name: "--footer-box-height", kind: "dimension", groupId: "layout", groupLabel: "Layout", source: "globals"}, + {name: "--footer-box-inner-inset", kind: "dimension", groupId: "other", groupLabel: "Other", source: "globals"}, + {name: "--footer-box-inset", kind: "dimension", groupId: "other", groupLabel: "Other", source: "globals"}, + {name: "--footer-box-inset-inline", kind: "dimension", groupId: "other", groupLabel: "Other", source: "globals"}, + {name: "--footer-box-padding-y", kind: "dimension", groupId: "layout", groupLabel: "Layout", source: "globals"}, + {name: "--footer-box-radius", kind: "dimension", groupId: "borders", groupLabel: "Borders & focus", source: "globals"}, {name: "--footer-row-height", kind: "dimension", groupId: "layout", groupLabel: "Layout", source: "globals"}, - {name: "--footer-row-padding-y", kind: "dimension", groupId: "layout", groupLabel: "Layout", source: "globals"}, {name: "--form-surface-background", kind: "color", groupId: "forms", groupLabel: "Forms", source: "globals"}, {name: "--guild-icon-gap", kind: "dimension", groupId: "layout", groupLabel: "Layout", source: "globals"}, {name: "--guild-icon-size", kind: "dimension", groupId: "layout", groupLabel: "Layout", source: "globals"}, @@ -160,6 +173,7 @@ export const THEME_VARIABLES: ReadonlyArray = [ {name: "--layout-user-area-height", kind: "dimension", groupId: "layout", groupLabel: "Layout", source: "globals"}, {name: "--layout-user-area-reserved-height", kind: "dimension", groupId: "layout", groupLabel: "Layout", source: "globals"}, {name: "--link-decoration", kind: "other", groupId: "other", groupLabel: "Other", source: "runtime-accessibility"}, + {name: "--list-row-min-height", kind: "dimension", groupId: "layout", groupLabel: "Layout", source: "globals"}, {name: "--macos-traffic-light-inset", kind: "dimension", groupId: "other", groupLabel: "Other", source: "globals"}, {name: "--markup-everyone-border", kind: "color", groupId: "markup", groupLabel: "Markup & mentions", source: "color-system"}, {name: "--markup-everyone-fill", kind: "color", groupId: "markup", groupLabel: "Markup & mentions", source: "color-system"}, @@ -238,6 +252,7 @@ export const THEME_VARIABLES: ReadonlyArray = [ {name: "--message-unknown-warning-color", kind: "color", groupId: "messages", groupLabel: "Messages", source: "features/theme/styles/Message.module.css"}, {name: "--mobile-bottom-nav-height", kind: "dimension", groupId: "layout", groupLabel: "Layout", source: "globals"}, {name: "--native-titlebar-height", kind: "dimension", groupId: "layout", groupLabel: "Layout", source: "globals"}, + {name: "--outline-frame-border-width", kind: "dimension", groupId: "borders", groupLabel: "Borders & focus", source: "globals"}, {name: "--panel-control-bg", kind: "color", groupId: "surfaces", groupLabel: "Surfaces", source: "color-system"}, {name: "--panel-control-border", kind: "color", groupId: "borders", groupLabel: "Borders & focus", source: "color-system"}, {name: "--panel-control-divider", kind: "color", groupId: "other", groupLabel: "Other", source: "color-system"}, @@ -313,9 +328,9 @@ export const THEME_VARIABLES: ReadonlyArray = [ {name: "--textarea-container-padding-y", kind: "dimension", groupId: "forms", groupLabel: "Forms", source: "features/channel/components/textarea/TextareaInput.module.css"}, {name: "--textarea-content-offset", kind: "dimension", groupId: "forms", groupLabel: "Forms", source: "features/channel/components/textarea/TextareaInput.module.css"}, {name: "--textarea-font-size", kind: "dimension", groupId: "forms", groupLabel: "Forms", source: "features/channel/components/textarea/TextareaInput.module.css"}, - {name: "--textarea-horizontal-padding", kind: "dimension", groupId: "forms", groupLabel: "Forms", source: "features/channel/components/textarea/TextareaInput.module.css"}, {name: "--textarea-line-height", kind: "dimension", groupId: "forms", groupLabel: "Forms", source: "features/channel/components/textarea/TextareaInput.module.css"}, - {name: "--textarea-min-height", kind: "dimension", groupId: "forms", groupLabel: "Forms", source: "features/channel/components/textarea/TextareaInput.module.css"}, + {name: "--textarea-min-height", kind: "dimension", groupId: "forms", groupLabel: "Forms", source: "globals"}, + {name: "--textarea-padding-y", kind: "dimension", groupId: "forms", groupLabel: "Forms", source: "globals"}, {name: "--textarea-side-button-padding", kind: "dimension", groupId: "forms", groupLabel: "Forms", source: "features/channel/components/textarea/TextareaInput.module.css"}, {name: "--textarea-top-bar-height", kind: "dimension", groupId: "forms", groupLabel: "Forms", source: "globals"}, {name: "--textarea-upload-gap", kind: "dimension", groupId: "forms", groupLabel: "Forms", source: "features/channel/components/textarea/TextareaInput.module.css"}, @@ -329,12 +344,14 @@ export const THEME_VARIABLES: ReadonlyArray = [ {name: "--typing-indicator-gap", kind: "dimension", groupId: "messages", groupLabel: "Messages", source: "globals"}, {name: "--typing-indicator-height", kind: "dimension", groupId: "messages", groupLabel: "Messages", source: "globals"}, {name: "--typing-pill-height", kind: "dimension", groupId: "messages", groupLabel: "Messages", source: "globals"}, - {name: "--typing-upload-column-width", kind: "dimension", groupId: "messages", groupLabel: "Messages", source: "globals"}, + {name: "--user-area-avatar-lead", kind: "dimension", groupId: "media", groupLabel: "Media", source: "globals"}, + {name: "--user-area-box-inset-block-end", kind: "dimension", groupId: "other", groupLabel: "Other", source: "globals"}, {name: "--user-area-content-height", kind: "dimension", groupId: "layout", groupLabel: "Layout", source: "globals"}, {name: "--user-area-divider-color", kind: "color", groupId: "other", groupLabel: "Other", source: "color-system"}, {name: "--user-area-padding-x", kind: "dimension", groupId: "layout", groupLabel: "Layout", source: "globals"}, {name: "--user-area-padding-y", kind: "dimension", groupId: "layout", groupLabel: "Layout", source: "globals"}, {name: "--user-select", kind: "other", groupId: "other", groupLabel: "Other", source: "globals"}, + {name: "--voice-connection-padding-x", kind: "dimension", groupId: "layout", groupLabel: "Layout", source: "globals"}, {name: "--voice-connection-padding-y", kind: "dimension", groupId: "layout", groupLabel: "Layout", source: "globals"}, {name: "--z-index-base", kind: "number", groupId: "layering", groupLabel: "Layering", source: "globals"}, {name: "--z-index-contextmenu", kind: "number", groupId: "layering", groupLabel: "Layering", source: "globals"}, @@ -457,6 +474,12 @@ export const THEME_VARIABLE_NAMES: ReadonlyArray = [ "--code-inline-bg", "--code-muted", "--code-text", + "--composer-action-gap", + "--composer-box-inset", + "--composer-box-inset-inline", + "--composer-box-padding-inline", + "--composer-mobile-box-height", + "--composer-mobile-padding-y", "--content-padding", "--content-padding-lg", "--content-padding-sm", @@ -470,14 +493,21 @@ export const THEME_VARIABLE_NAMES: ReadonlyArray = [ "--control-button-normal-text", "--emoji-size-emoji", "--emoji-size-jumbo-emoji", + "--floating-surface-ring-color", + "--floating-surface-ring-color-strong", "--focus-primary", "--font-keybind", "--font-mono", "--font-sans", "--font-size", "--font-size-xs", + "--footer-box-height", + "--footer-box-inner-inset", + "--footer-box-inset", + "--footer-box-inset-inline", + "--footer-box-padding-y", + "--footer-box-radius", "--footer-row-height", - "--footer-row-padding-y", "--form-surface-background", "--guild-icon-gap", "--guild-icon-size", @@ -500,6 +530,7 @@ export const THEME_VARIABLE_NAMES: ReadonlyArray = [ "--layout-user-area-height", "--layout-user-area-reserved-height", "--link-decoration", + "--list-row-min-height", "--macos-traffic-light-inset", "--markup-everyone-border", "--markup-everyone-fill", @@ -578,6 +609,7 @@ export const THEME_VARIABLE_NAMES: ReadonlyArray = [ "--message-unknown-warning-color", "--mobile-bottom-nav-height", "--native-titlebar-height", + "--outline-frame-border-width", "--panel-control-bg", "--panel-control-border", "--panel-control-divider", @@ -653,9 +685,9 @@ export const THEME_VARIABLE_NAMES: ReadonlyArray = [ "--textarea-container-padding-y", "--textarea-content-offset", "--textarea-font-size", - "--textarea-horizontal-padding", "--textarea-line-height", "--textarea-min-height", + "--textarea-padding-y", "--textarea-side-button-padding", "--textarea-top-bar-height", "--textarea-upload-gap", @@ -669,12 +701,14 @@ export const THEME_VARIABLE_NAMES: ReadonlyArray = [ "--typing-indicator-gap", "--typing-indicator-height", "--typing-pill-height", - "--typing-upload-column-width", + "--user-area-avatar-lead", + "--user-area-box-inset-block-end", "--user-area-content-height", "--user-area-divider-color", "--user-area-padding-x", "--user-area-padding-y", "--user-select", + "--voice-connection-padding-x", "--voice-connection-padding-y", "--z-index-base", "--z-index-contextmenu", @@ -801,6 +835,8 @@ export const THEME_COLOR_VARIABLES: ReadonlyArray = [ "--control-button-hover-text", "--control-button-normal-bg", "--control-button-normal-text", + "--floating-surface-ring-color", + "--floating-surface-ring-color-strong", "--focus-primary", "--form-surface-background", "--guild-list-foreground", @@ -932,7 +968,7 @@ export const THEME_STUDIO_DARK_DEFAULT_VARIABLE_VALUES: Readonly