diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 7ab669fef..a50cf423c 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -448,6 +448,9 @@ jobs: - name: Check formatting and lint run: pnpm exec biome ci . + - name: Lint JSX for browser-translation safety + run: pnpm exec eslint . --max-warnings 0 + i18n: runs-on: ubuntu-24.04 timeout-minutes: 25 diff --git a/biome.json b/biome.json index 207626358..6f4e6fd80 100644 --- a/biome.json +++ b/biome.json @@ -84,7 +84,18 @@ }, "useConst": "error", "noNonNullAssertion": "off", - "noParameterAssign": "off" + "noParameterAssign": "off", + "noRestrictedImports": { + "level": "error", + "options": { + "paths": { + "@lingui/react": { + "importNames": ["I18nProvider"], + "message": "Use AppI18nProvider from @app/features/i18n/components/AppI18nProvider so output stays safe under page translation." + } + } + } + } }, "a11y": { "recommended": true, @@ -116,10 +127,21 @@ }, "assist": {"actions": {"source": {"organizeImports": "on"}}}, "overrides": [ + { + "includes": ["fluxer_app/src/**/*.tsx"], + "plugins": ["./tools/lint/no-adjacent-jsx-text.grit"] + }, { "includes": ["fluxer_docs/scripts/VerifyDocsCoverage.ts"], "linter": {"rules": {"suspicious": {"noTemplateCurlyInString": "off"}}} }, + { + "includes": [ + "fluxer_app/src/features/i18n/components/AppI18nProvider.tsx", + "fluxer_app/src/features/i18n/components/AppI18nProvider.test.tsx" + ], + "linter": {"rules": {"style": {"noRestrictedImports": "off"}}} + }, { "includes": ["**/*.astro"], "linter": {"rules": {"correctness": {"noUnusedImports": "off", "noUnusedVariables": "off"}}}, diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 000000000..57456bbda --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,38 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +import reactGoogleTranslate from 'eslint-plugin-react-google-translate'; +import tseslint from 'typescript-eslint'; + +export default [ + { + ignores: [ + '**/node_modules/**', + '**/dist/**', + '**/build/**', + '**/coverage/**', + '**/*.generated.*', + 'fluxer_app/src/features/i18n/locales/*/messages.mjs', + ], + }, + { + files: ['fluxer_app/src/**/*.tsx'], + linterOptions: { + reportUnusedDisableDirectives: 'error', + }, + languageOptions: { + parser: tseslint.parser, + parserOptions: { + project: './fluxer_app/tsconfig.json', + tsconfigRootDir: import.meta.dirname, + }, + }, + plugins: {'react-google-translate': reactGoogleTranslate}, + rules: { + 'react-google-translate/no-conditional-text-nodes-with-siblings': [ + 'error', + {ignoreParents: ['Trans', 'Plural', 'Select', 'SelectOrdinal']}, + ], + 'react-google-translate/no-return-text-nodes': 'error', + }, + }, +]; diff --git a/fluxer_app/scripts/add-data-flx-attributes.mjs b/fluxer_app/scripts/add-data-flx-attributes.mjs index edcbb1299..2dffe861c 100644 --- a/fluxer_app/scripts/add-data-flx-attributes.mjs +++ b/fluxer_app/scripts/add-data-flx-attributes.mjs @@ -11,6 +11,7 @@ const JSX_EXTENSIONS = new Set(['.tsx', '.jsx']); const SKIP_DIRS = new Set(['node_modules', 'dist', 'coverage', '.cache', '.swc']); const GENERATED_FILES = new Set([join(SOURCE_DIR, 'features', 'ui', 'components', 'SVGMasks.tsx')]); const NON_THEMEABLE_IDENTIFIERS = new Set([ + 'AppI18nProvider', 'Fragment', 'I18nProvider', 'Outlet', diff --git a/fluxer_app/src/app/App.tsx b/fluxer_app/src/app/App.tsx index 87ce8cd6c..4d959da4a 100644 --- a/fluxer_app/src/app/App.tsx +++ b/fluxer_app/src/app/App.tsx @@ -23,6 +23,7 @@ import {type LayoutVariant, LayoutVariantProvider} from '@app/features/app/state import RuntimeCrash from '@app/features/app/state/RuntimeCrash'; import {showMyselfTypingHelper} from '@app/features/devtools/utils/ShowMyselfTypingHelper'; import GatewayConnection from '@app/features/gateway/transport/GatewayConnection'; +import {AppI18nProvider} from '@app/features/i18n/components/AppI18nProvider'; import MemberSidebar from '@app/features/member/state/MemberSidebar'; import {startDeepLinkHandling} from '@app/features/navigation/utils/DeepLinkUtils'; import {Outlet, RouterProvider} from '@app/features/platform/components/router/RouterReact'; @@ -60,7 +61,6 @@ import {useStopFlashFrameOnFocus} from '@app/features/window/hooks/useStopFlashF import {useWindowEventListeners} from '@app/features/window/hooks/useWindowEventListeners'; import {i18n} from '@lingui/core'; import {msg} from '@lingui/core/macro'; -import {I18nProvider} from '@lingui/react'; import {useLingui} from '@lingui/react/macro'; import {IconContext} from '@phosphor-icons/react'; import {reaction} from 'mobx'; @@ -239,7 +239,7 @@ export const App = observer((): React.ReactElement => { return () => detach?.(); }, []); return ( - + @@ -250,6 +250,6 @@ export const App = observer((): React.ReactElement => { - + ); }); diff --git a/fluxer_app/src/env.d.ts b/fluxer_app/src/env.d.ts index c88ec00a4..1f1bf193d 100644 --- a/fluxer_app/src/env.d.ts +++ b/fluxer_app/src/env.d.ts @@ -18,6 +18,8 @@ interface FluxerDebugApi { getClientInfoObjectSync?: () => unknown; getVoiceSubscriptionDebug?: () => Promise; getVoiceSubscriptionDebugJson?: () => Promise; + getTranslationDomGuardStats?: () => unknown; + uninstallTranslationDomGuard?: () => boolean; } type FluxerDebugGlobal = Record & FluxerDebugApi; diff --git a/fluxer_app/src/features/app/components/layout/AuthLayout.tsx b/fluxer_app/src/features/app/components/layout/AuthLayout.tsx index 25bde5d66..853339106 100644 --- a/fluxer_app/src/features/app/components/layout/AuthLayout.tsx +++ b/fluxer_app/src/features/app/components/layout/AuthLayout.tsx @@ -12,6 +12,7 @@ import {AuthCardContainer} from '@app/features/auth/flow/AuthCardContainer'; import {useAuthBackground} from '@app/features/auth/hooks/useAuthBackground'; import {type AuthCardVariant, AuthLayoutContext} from '@app/features/auth/state/AuthLayoutContext'; import {AuthRegisterDraftContext, type AuthRegisterFormDraft} from '@app/features/auth/state/AuthRegisterDraftContext'; +import {AppI18nProvider} from '@app/features/i18n/components/AppI18nProvider'; import {useLocation} from '@app/features/platform/components/router/RouterReact'; import {FluxerWordmark} from '@app/features/ui/components/icons/FluxerWordmark'; import {Scroller, type ScrollerHandle} from '@app/features/ui/components/Scroller'; @@ -21,7 +22,6 @@ import {useNativeTitleBar} from '@app/features/window/hooks/useNativeTitleBar'; import foodPatternUrl from '@app/media/images/i-like-food.svg'; import type {GuildSplashCardAlignmentValue} from '@fluxer/constants/src/GuildConstants'; import {GuildSplashCardAlignment} from '@fluxer/constants/src/GuildConstants'; -import {I18nProvider} from '@lingui/react'; import clsx from 'clsx'; import {observer} from 'mobx-react-lite'; import {type ReactNode, useCallback, useEffect, useMemo, useRef, useState} from 'react'; @@ -258,8 +258,8 @@ export const AuthLayout = observer(function AuthLayout({children}: {children?: R return null; } return ( - + {children} - + ); }); diff --git a/fluxer_app/src/features/auth/components/modals/TermsAcceptanceModal.tsx b/fluxer_app/src/features/auth/components/modals/TermsAcceptanceModal.tsx index 9c1ff1784..5b22bb785 100644 --- a/fluxer_app/src/features/auth/components/modals/TermsAcceptanceModal.tsx +++ b/fluxer_app/src/features/auth/components/modals/TermsAcceptanceModal.tsx @@ -165,9 +165,11 @@ export const TermsAcceptanceModal = observer(() => { ref={primaryRef} data-flx="auth.terms-acceptance-modal.button.accept" > - {kind === 'terms' && i18n._(I_AGREE_TO_THE_UPDATED_TERMS_DESCRIPTOR)} - {kind === 'privacy' && i18n._(I_AGREE_TO_THE_UPDATED_PRIVACY_POLICY_DESCRIPTOR)} - {kind === 'both' && i18n._(I_AGREE_TO_THE_UPDATED_POLICIES_DESCRIPTOR)} + {kind === 'terms' + ? i18n._(I_AGREE_TO_THE_UPDATED_TERMS_DESCRIPTOR) + : kind === 'privacy' + ? i18n._(I_AGREE_TO_THE_UPDATED_PRIVACY_POLICY_DESCRIPTOR) + : i18n._(I_AGREE_TO_THE_UPDATED_POLICIES_DESCRIPTOR)} diff --git a/fluxer_app/src/features/auth/flow/AuthBottomLink.tsx b/fluxer_app/src/features/auth/flow/AuthBottomLink.tsx index cbf247ef2..4bbcbd09f 100644 --- a/fluxer_app/src/features/auth/flow/AuthBottomLink.tsx +++ b/fluxer_app/src/features/auth/flow/AuthBottomLink.tsx @@ -20,7 +20,7 @@ export function AuthBottomLink({variant, to}: AuthBottomLinkProps) { return (
- {variant === 'login' ? i18n._(ALREADY_HAVE_ACCOUNT_DESCRIPTOR) : i18n._(NEED_ACCOUNT_DESCRIPTOR)}{' '} + {`${variant === 'login' ? i18n._(ALREADY_HAVE_ACCOUNT_DESCRIPTOR) : i18n._(NEED_ACCOUNT_DESCRIPTOR)} `} {resendUsed ? Resent : Resend email} - {resendIn > 0 ? ` (${resendIn}s)` : ''} + + {resendIn > 0 ? ` (${resendIn}s)` : ''} + )} {onBack ? ( diff --git a/fluxer_app/src/features/channel/components/ChannelReplyBar.tsx b/fluxer_app/src/features/channel/components/ChannelReplyBar.tsx index 71da0c884..4ec9a510e 100644 --- a/fluxer_app/src/features/channel/components/ChannelReplyBar.tsx +++ b/fluxer_app/src/features/channel/components/ChannelReplyBar.tsx @@ -182,7 +182,9 @@ export const ReplyBar = observer(function ReplyBar({ data-flx="channel.reply-bar.switch.toggle-mention" > - {shouldMention ? i18n._(ON_DESCRIPTOR) : i18n._(OFF_DESCRIPTOR)} + + {shouldMention ? i18n._(ON_DESCRIPTOR) : i18n._(OFF_DESCRIPTOR)} + diff --git a/fluxer_app/src/features/channel/components/ReplyPreview.tsx b/fluxer_app/src/features/channel/components/ReplyPreview.tsx index 437e7d90e..98b2b03a3 100644 --- a/fluxer_app/src/features/channel/components/ReplyPreview.tsx +++ b/fluxer_app/src/features/channel/components/ReplyPreview.tsx @@ -223,8 +223,7 @@ export const ReplyPreview = observer( data-guild-id={resolvedGuildId} data-flx="channel.reply-preview.replied-username" > - {message.mentions.some((mention) => mention.id === referencedMessage.author.id) && '@'} - {NicknameUtils.getNickname(referencedMessage.author, resolvedGuildId)} + {`${message.mentions.some((mention) => mention.id === referencedMessage.author.id) ? '@' : ''}${NicknameUtils.getNickname(referencedMessage.author, resolvedGuildId)}`} diff --git a/fluxer_app/src/features/channel/components/channel_header_components/developer_tools/ResetOptions.ts b/fluxer_app/src/features/channel/components/channel_header_components/developer_tools/ResetOptions.ts index dbcca78aa..31a37f5ac 100644 --- a/fluxer_app/src/features/channel/components/channel_header_components/developer_tools/ResetOptions.ts +++ b/fluxer_app/src/features/channel/components/channel_header_components/developer_tools/ResetOptions.ts @@ -68,6 +68,7 @@ export const DEFAULT_DEVELOPER_OPTIONS = { mockTitlebarPlatformOverride: 'auto', mockAttachmentStates: {}, noOpInAppReports: false, + disableTranslationDomGuard: false, } satisfies DeveloperOptionsState; const PREMIUM_SCENARIO_OVERRIDE_KEYS = new Set([ 'premiumTypeOverride', diff --git a/fluxer_app/src/features/channel/components/embeds/attachments/CsvAttachmentTablePanel.tsx b/fluxer_app/src/features/channel/components/embeds/attachments/CsvAttachmentTablePanel.tsx index df4f327e6..716568fd9 100644 --- a/fluxer_app/src/features/channel/components/embeds/attachments/CsvAttachmentTablePanel.tsx +++ b/fluxer_app/src/features/channel/components/embeds/attachments/CsvAttachmentTablePanel.tsx @@ -81,10 +81,11 @@ export function CsvAttachmentTablePanel({ data-flx="channel.embeds.attachments.csv-attachment-table-panel.warning-circle-icon" /> - {previewError?.type === 'size' - ? i18n._(FILE_IS_TOO_LARGE_FOR_INLINE_PREVIEW_LIMIT_DESCRIPTOR, {previewLimitKb: PREVIEW_LIMIT_KB}) - : i18n._(UNABLE_TO_LOAD_PREVIEW_DESCRIPTOR)} - {previewError?.type === 'network' && previewError.message ? ` ${previewError.message}` : ''} + {`${ + previewError?.type === 'size' + ? i18n._(FILE_IS_TOO_LARGE_FOR_INLINE_PREVIEW_LIMIT_DESCRIPTOR, {previewLimitKb: PREVIEW_LIMIT_KB}) + : i18n._(UNABLE_TO_LOAD_PREVIEW_DESCRIPTOR) + }${previewError?.type === 'network' && previewError.message ? ` ${previewError.message}` : ''}`}
diff --git a/fluxer_app/src/features/channel/components/embeds/attachments/TextualAttachmentCodePanel.tsx b/fluxer_app/src/features/channel/components/embeds/attachments/TextualAttachmentCodePanel.tsx index 2f72c26e8..4e33998ad 100644 --- a/fluxer_app/src/features/channel/components/embeds/attachments/TextualAttachmentCodePanel.tsx +++ b/fluxer_app/src/features/channel/components/embeds/attachments/TextualAttachmentCodePanel.tsx @@ -64,10 +64,11 @@ export function TextualAttachmentCodePanel({ data-flx="channel.embeds.attachments.textual-attachment-code-panel.warning-circle-icon" /> - {previewError?.type === 'size' - ? i18n._(FILE_IS_TOO_LARGE_FOR_INLINE_PREVIEW_LIMIT_DESCRIPTOR, {previewLimitKb: PREVIEW_LIMIT_KB}) - : i18n._(UNABLE_TO_LOAD_PREVIEW_DESCRIPTOR)} - {previewError?.type === 'network' && previewError.message ? ` ${previewError.message}` : ''} + {`${ + previewError?.type === 'size' + ? i18n._(FILE_IS_TOO_LARGE_FOR_INLINE_PREVIEW_LIMIT_DESCRIPTOR, {previewLimitKb: PREVIEW_LIMIT_KB}) + : i18n._(UNABLE_TO_LOAD_PREVIEW_DESCRIPTOR) + }${previewError?.type === 'network' && previewError.message ? ` ${previewError.message}` : ''}`} diff --git a/fluxer_app/src/features/channel/components/message_search_bar/FilterOption.tsx b/fluxer_app/src/features/channel/components/message_search_bar/FilterOption.tsx index b1492325c..c3c8345f0 100644 --- a/fluxer_app/src/features/channel/components/message_search_bar/FilterOption.tsx +++ b/fluxer_app/src/features/channel/components/message_search_bar/FilterOption.tsx @@ -116,7 +116,9 @@ export const FiltersSection: React.FC = observer( size={remFromPx(12)} data-flx="channel.message-search-bar.filter-option.filters-section.funnel-icon" /> - {title || i18n._(SEARCH_FILTERS_DESCRIPTOR)} + + {title || i18n._(SEARCH_FILTERS_DESCRIPTOR)} + {options.map((option: SearchFilterOption, index) => ( diff --git a/fluxer_app/src/features/channel/components/message_search_bar/PlaintextSection.tsx b/fluxer_app/src/features/channel/components/message_search_bar/PlaintextSection.tsx index cbfaaee16..d875f7ec8 100644 --- a/fluxer_app/src/features/channel/components/message_search_bar/PlaintextSection.tsx +++ b/fluxer_app/src/features/channel/components/message_search_bar/PlaintextSection.tsx @@ -91,7 +91,9 @@ export const PlaintextSection: React.FC = observer( data-flx="channel.message-search-bar.plaintext-section.magnifying-glass-icon" /> )} - {group === 'filter-key' ? i18n._(SEARCH_FILTERS_DESCRIPTOR) : `${group}:`} + + {group === 'filter-key' ? i18n._(SEARCH_FILTERS_DESCRIPTOR) : `${group}:`} + {entries.map(({row, index}) => { diff --git a/fluxer_app/src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx b/fluxer_app/src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx index 7d00c077e..8ceebc699 100644 --- a/fluxer_app/src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx +++ b/fluxer_app/src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx @@ -84,7 +84,8 @@ export const UnaddableRecipientsConfirmModal = observer(
    {rows.map((row) => (
  • - {row.name}: {row.reasonText} + {row.name} + {`: ${row.reasonText}`}
  • ))}
diff --git a/fluxer_app/src/features/devtools/components/DeveloperOptionsToggleGroups.ts b/fluxer_app/src/features/devtools/components/DeveloperOptionsToggleGroups.ts index 14fa971ff..0d4186a95 100644 --- a/fluxer_app/src/features/devtools/components/DeveloperOptionsToggleGroups.ts +++ b/fluxer_app/src/features/devtools/components/DeveloperOptionsToggleGroups.ts @@ -34,6 +34,16 @@ const ALWAYS_DISPLAY_THE_VOICE_CONNECTION_STATUS_BAR_IN_DESCRIPTOR = msg({ comment: 'Developer / debug surface — keep terse and technical. Tooltip / description for forcing the voice connection status bar visible in mocked mode.', }); +const DISABLE_TRANSLATION_DOM_GUARD_DESCRIPTOR = msg({ + message: 'Disable translation DOM guard', + comment: 'Developer option label for turning off the page-translator DOM crash guard.', +}); +const STOP_PATCHING_NODE_PROTOTYPE_INSERTBEFORE_AND_DESCRIPTOR = msg({ + message: + 'Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds.', + comment: + 'Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch.', +}); const APP_STATE_DESCRIPTOR = msg({ message: 'App state', comment: 'Developer options group for overriding app/account state.', @@ -255,6 +265,11 @@ export const getToggleGroups = (): Array => [ label: NO_OP_IN_APP_REPORTS_DESCRIPTOR, description: NO_OP_IN_APP_REPORTS_DESC_DESCRIPTOR, }, + { + key: 'disableTranslationDomGuard', + label: DISABLE_TRANSLATION_DOM_GUARD_DESCRIPTOR, + description: STOP_PATCHING_NODE_PROTOTYPE_INSERTBEFORE_AND_DESCRIPTOR, + }, ], }, ]; diff --git a/fluxer_app/src/features/devtools/state/DeveloperOptions.ts b/fluxer_app/src/features/devtools/state/DeveloperOptions.ts index 25c5a0670..cd9f6e53f 100644 --- a/fluxer_app/src/features/devtools/state/DeveloperOptions.ts +++ b/fluxer_app/src/features/devtools/state/DeveloperOptions.ts @@ -96,6 +96,7 @@ export type DeveloperOptionsState = Readonly<{ } >; noOpInAppReports: boolean; + disableTranslationDomGuard: boolean; }>; type MutableDeveloperOptionsState = { -readonly [K in keyof DeveloperOptionsState]: DeveloperOptionsState[K]; @@ -179,6 +180,7 @@ class DeveloperOptions implements DeveloperOptionsState { mockGiftRedeemed: boolean | null = null; mockTitlebarPlatformOverride: DeveloperOptionsState['mockTitlebarPlatformOverride'] = 'auto'; noOpInAppReports = false; + disableTranslationDomGuard = false; constructor() { makeAutoObservable(this, {}, {autoBind: true}); @@ -250,6 +252,7 @@ class DeveloperOptions implements DeveloperOptionsState { 'mockTitlebarPlatformOverride', 'mockAttachmentStates', 'noOpInAppReports', + 'disableTranslationDomGuard', ]); } diff --git a/fluxer_app/src/features/i18n/components/AppI18nProvider.test.tsx b/fluxer_app/src/features/i18n/components/AppI18nProvider.test.tsx new file mode 100644 index 000000000..61bf4f654 --- /dev/null +++ b/fluxer_app/src/features/i18n/components/AppI18nProvider.test.tsx @@ -0,0 +1,198 @@ +// @vitest-environment happy-dom +// SPDX-License-Identifier: AGPL-3.0-or-later + +import {AppI18nProvider} from '@app/features/i18n/components/AppI18nProvider'; +import {commitUnderTranslation, isTranslationDomCrash} from '@app/features/i18n/testing/TranslationCommitHarness'; +import { + findTranslationUnsafeTextNodes, + TRANSLATION_MARKER, + TRANSLATOR_PIPELINE_NAMES, + TranslatorPipelines, +} from '@app/features/i18n/testing/TranslatorSimulation'; +import {i18n} from '@lingui/core'; +import {I18nProvider, Trans} from '@lingui/react'; +import {createElement, type ReactNode} from 'react'; +import {afterEach, beforeAll, describe, expect, it} from 'vitest'; + +const ENGLISH = { + simple: 'Monthly {price}', + rich: 'Renews on <0>{date}. Enjoy!', + nested: 'Renews on <0>{date} at <1>noon. Enjoy!', +}; +const GERMAN = { + simple: 'Monatlich {price}', + rich: '<0>{date} ist das Datum. Viel Spass!', + nested: 'Ende <0><1>mittags am {date}. Viel Spass!', +}; + +const visibleText = (html: string): string => html.replace(/<[^>]+>/g, '').replaceAll(TRANSLATION_MARKER, ''); + +const message = (id: keyof typeof ENGLISH): ReactNode => + createElement(Trans, { + id, + values: {date: 'Jan 1', price: '$5'}, + components: {0: createElement('strong'), 1: createElement('em')}, + }); + +const provided = (child: ReactNode, safe: boolean): ReactNode => + createElement(safe ? AppI18nProvider : I18nProvider, {i18n}, createElement('div', null, child)); + +const withBadge = (id: keyof typeof ENGLISH, on: boolean, safe: boolean): ReactNode => + provided( + createElement('div', null, on ? createElement('b', null, '!') : null, message(id), createElement('i', null, 'x')), + safe, + ); + +beforeAll(() => { + i18n.load('en', ENGLISH); + i18n.load('de', GERMAN); + i18n.activate('en'); +}); + +afterEach(() => { + i18n.activate('en'); + document.body.replaceChildren(); +}); + +describe('lingui without a translation-safe defaultComponent', () => { + for (const pipelineName of TRANSLATOR_PIPELINE_NAMES) { + it(`throws the production DOM error on a simple message under ${pipelineName}`, () => { + const result = commitUnderTranslation({ + before: withBadge('simple', false, false), + after: withBadge('simple', true, false), + pipeline: TranslatorPipelines[pipelineName], + }); + expect(result.unsafeTextNodesBeforeTranslation).toBeGreaterThan(0); + expect(result.htmlBeforeTranslation).toContain('Monthly $5x'); + expect(isTranslationDomCrash(result.error)).toBe(true); + }); + + it(`throws the production DOM error on a rich message under ${pipelineName}`, () => { + const result = commitUnderTranslation({ + before: withBadge('rich', false, false), + after: withBadge('rich', true, false), + pipeline: TranslatorPipelines[pipelineName], + }); + expect(result.unsafeTextNodesBeforeTranslation).toBeGreaterThan(0); + expect(isTranslationDomCrash(result.error)).toBe(true); + }); + } +}); + +describe('lingui under AppI18nProvider', () => { + for (const pipelineName of TRANSLATOR_PIPELINE_NAMES) { + if (pipelineName === 'chromeCompound') { + for (const id of ['simple', 'rich'] as const) { + it(`leaves the compound pipeline no text-and-element parent to rewrite in a ${id} message`, () => { + const unguarded = commitUnderTranslation({ + before: withBadge(id, false, false), + after: withBadge(id, false, false), + pipeline: TranslatorPipelines.chromeCompound, + }); + expect(unguarded.unsafeTextNodesBeforeTranslation).toBeGreaterThan(0); + expect(unguarded.htmlAfterTranslation).not.toBe(unguarded.htmlBeforeTranslation); + + const guarded = commitUnderTranslation({ + before: withBadge(id, false, true), + after: withBadge(id, true, true), + pipeline: TranslatorPipelines.chromeCompound, + }); + expect(guarded.unsafeTextNodesBeforeTranslation).toBe(0); + expect(guarded.htmlAfterTranslation).toBe(guarded.htmlBeforeTranslation); + expect(guarded.error).toBeNull(); + }); + } + continue; + } + + it(`renders a simple message safely under ${pipelineName}`, () => { + let unsafeTextNodes = -1; + const result = commitUnderTranslation({ + before: withBadge('simple', false, true), + after: withBadge('simple', true, true), + pipeline: TranslatorPipelines[pipelineName], + inspect: (host) => { + unsafeTextNodes = findTranslationUnsafeTextNodes(host).length; + }, + }); + expect(result.htmlAfterTranslation).not.toBe(result.htmlBeforeTranslation); + expect(result.htmlAfterTranslation).toContain(TRANSLATION_MARKER); + expect(result.error).toBeNull(); + expect(result.htmlBeforeTranslation).not.toContain('Monthly $5x'); + expect(result.unsafeTextNodesBeforeTranslation).toBe(0); + expect(unsafeTextNodes).toBe(0); + expect(visibleText(result.htmlAfterCommit)).toBe('!Monthly $5x'); + }); + + it(`renders a rich message safely under ${pipelineName}`, () => { + let unsafeTextNodes = -1; + const result = commitUnderTranslation({ + before: withBadge('rich', false, true), + after: withBadge('rich', true, true), + pipeline: TranslatorPipelines[pipelineName], + inspect: (host) => { + unsafeTextNodes = findTranslationUnsafeTextNodes(host).length; + }, + }); + expect(result.htmlAfterTranslation).not.toBe(result.htmlBeforeTranslation); + expect(result.htmlAfterTranslation).toContain(TRANSLATION_MARKER); + expect(result.error).toBeNull(); + expect(unsafeTextNodes).toBe(0); + expect(result.htmlAfterCommit).toContain(''); + expect(visibleText(result.htmlAfterCommit)).toBe('!Renews on Jan 1. Enjoy!x'); + }); + } +}); + +describe('locale switch while the page is translated', () => { + for (const id of ['rich', 'nested'] as const) { + it(`reorders the ${id} message segments without throwing`, () => { + const result = commitUnderTranslation({ + before: provided(message(id), true), + after: provided(message(id), true), + pipeline: TranslatorPipelines.chromeLegacyFont, + betweenCommits: () => { + i18n.activate('de'); + }, + }); + expect(result.htmlAfterTranslation).not.toBe(result.htmlBeforeTranslation); + expect(result.htmlAfterTranslation).toContain(TRANSLATION_MARKER); + expect(result.error).toBeNull(); + expect(visibleText(result.htmlAfterCommit)).toContain('Viel Spass!'); + }); + } +}); + +describe('translation-safe wrapping internals', () => { + it('recurses into nested rich message elements so no host element mixes text with element children', () => { + const result = commitUnderTranslation({ + before: provided(message('nested'), true), + after: provided(message('nested'), true), + pipeline: TranslatorPipelines.chromeLegacyFont, + }); + expect(result.unsafeTextNodesBeforeTranslation).toBe(0); + }); + + it('leaves nested rich message text unwrapped when it is not recursed into', () => { + const result = commitUnderTranslation({ + before: provided(message('nested'), false), + after: provided(message('nested'), false), + pipeline: TranslatorPipelines.chromeLegacyFont, + }); + expect(result.unsafeTextNodesBeforeTranslation).toBeGreaterThan(0); + }); + + it('remounts on a locale change so no stale translated segment survives', () => { + const result = commitUnderTranslation({ + before: provided(message('rich'), true), + after: provided(message('rich'), true), + pipeline: TranslatorPipelines.chromeLegacyFont, + betweenCommits: () => { + i18n.activate('de'); + }, + }); + expect(result.error).toBeNull(); + expect(visibleText(result.htmlAfterCommit)).toContain('Viel Spass!'); + expect(result.htmlAfterCommit.split(TRANSLATION_MARKER).length - 1).toBe(0); + }); +}); diff --git a/fluxer_app/src/features/i18n/components/AppI18nProvider.tsx b/fluxer_app/src/features/i18n/components/AppI18nProvider.tsx new file mode 100644 index 000000000..8d75b8f56 --- /dev/null +++ b/fluxer_app/src/features/i18n/components/AppI18nProvider.tsx @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +import {TranslationSafeMessage} from '@app/features/i18n/components/TranslationSafeMessage'; +import type {I18n} from '@lingui/core'; +import {I18nProvider} from '@lingui/react'; +import type {ReactNode} from 'react'; + +export function AppI18nProvider({i18n, children}: {i18n: I18n; children?: ReactNode}): ReactNode { + return ( + + {children} + + ); +} diff --git a/fluxer_app/src/features/i18n/components/TranslationSafeMessage.tsx b/fluxer_app/src/features/i18n/components/TranslationSafeMessage.tsx new file mode 100644 index 000000000..38eb819b7 --- /dev/null +++ b/fluxer_app/src/features/i18n/components/TranslationSafeMessage.tsx @@ -0,0 +1,33 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +import {useLingui} from '@lingui/react'; +import {cloneElement, Fragment, isValidElement, type ReactNode} from 'react'; + +function wrapTextSegments(node: ReactNode, key?: string): ReactNode { + if (typeof node === 'string' || typeof node === 'number') { + return ( + + {node} + + ); + } + if (Array.isArray(node)) { + return node.map((child, index) => wrapTextSegments(child as ReactNode, `flx-i18n-${index}`)); + } + if (isValidElement<{children?: ReactNode}>(node)) { + if (typeof node.type !== 'string' && node.type !== Fragment) { + return node; + } + const {children} = node.props; + if (children == null) { + return node; + } + return cloneElement(node, undefined, wrapTextSegments(children)); + } + return node; +} + +export function TranslationSafeMessage({children}: {children?: ReactNode}): ReactNode { + const {i18n} = useLingui(); + return {wrapTextSegments(children)}; +} diff --git a/fluxer_app/src/features/i18n/locales/ar/messages.po b/fluxer_app/src/features/i18n/locales/ar/messages.po index 5d516b16c..c04134f91 100644 --- a/fluxer_app/src/features/i18n/locales/ar/messages.po +++ b/fluxer_app/src/features/i18n/locales/ar/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "إعدادات التطبيق" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "حالة التطبيق" @@ -4580,7 +4580,7 @@ msgstr "بالخارج حاليًا" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "باستخدامك لـ {productName}، فإنك توافق على ال #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "تجاوز هيكل التحميل" @@ -9539,7 +9539,7 @@ msgstr "إنشاء دور" msgid "Create the administrator account" msgstr "إنشاء حساب المسؤول" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "إنشاء محادثة جماعية مع المستلمين المتبقين ({addableCount}) وتخطي الآخرين؟" @@ -11271,6 +11271,11 @@ msgstr "تعطيل الاختصار" msgid "Disable sounds" msgstr "تعطيل الأصوات" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "تعطيل حماية DOM للمترجم" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "تصدير السمات" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "عرض قسم المنطقة الزمنية المخصص للموظفين في إعدادات الملف الشخصي." @@ -14182,7 +14187,7 @@ msgstr "الميزة معطلة مؤقتًا" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "الميزات" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "مفعل قسريًا" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "فرض فشل تحميل الرسائل" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "فرض فشل إرسال الرسائل" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "فرض تحميل منتقي صور GIF" @@ -14641,7 +14646,7 @@ msgstr "إخفاء إجباري" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "فرض تحميل الهيكل العظمي" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "فرض عدم وجود إذن {permissionName}" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "فرض تحذير بيانات الملف الشخصي" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "فرض الهياكل العظمية للملف الشخصي" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "فرض الإظهار" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "فرض إظهار إخلاء مسؤولية عنوان URL المخصص" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "فرض إظهار حالة الاتصال الصوتي" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "تفعيل وضع التباطؤ الإجباري" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "فرض نوع رسالة غير معروف" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "فرض توفر تحديث" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "خطأ في الشبكة" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "الشبكة والأداء" @@ -21565,7 +21570,7 @@ msgstr "لم يتم تقديم سبب." msgid "No recent mentions" msgstr "لا توجد إشارات حديثة" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "لا يوجد مستلمون متبقون لإنشاء محادثة جماعية معهم." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "لا توجد Webhooks" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "تقارير داخل التطبيق لا تعمل" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "وضع الاستضافة الذاتية" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "تجاوز وضع الاستضافة الذاتية" @@ -29020,7 +29025,7 @@ msgstr "عرض مشاركة شاشتي" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "إظهار نفسي ككاتب" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "إظهار عناصر تحكم مستوى صوت المشاركين لكل جهاز في قوائم الصوت" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "عرض إعدادات المنطقة الزمنية للملف الشخصي (للموظفين فقط)" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "تجاوز تحذير الرابط الخارجي لجميع النطاقات" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "تجاوز استدعاء الشبكة عند إرسال تقرير داخل التطبيق. يستمر التدفق إلى شاشة النجاح حتى تتمكن من ممارسة واجهة المستخدم، ولكن لا يتم إرسال أي شيء فعليًا إلى فريق السلامة." @@ -29499,7 +29504,7 @@ msgstr "سلوفينيا" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "تحميل بطيء للمرفقات" @@ -29516,28 +29521,28 @@ msgstr "تمهل — انتظر لحظة قبل المحاولة مرة أخرى #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "تعديل رسالة بطيء" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "تحميل الرسائل ببطء" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "إرسال الرسائل ببطء" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "تحميل بطيء للملف الشخصي" @@ -30330,7 +30335,7 @@ msgstr "البدء من جديد" msgid "Start recording" msgstr "بدء التسجيل" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "ابدأ عمليات البحث بـ <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} لتضييق نطاق النتائج." @@ -30591,6 +30596,11 @@ msgstr "إيقاف الرسائل وطلبات الصداقة." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "إيقاف Neko عن مطاردة مؤشر الفأرة مع الحفاظ على إمكانية سحبه والتفاعل معه." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "إيقاف تعديل Node.prototype insertBefore و removeChild. سيتعطل التطبيق مرة أخرى عندما يقوم مترجم صفحة بإعادة إدخال عقد نصية لا يزال React يحتفظ بها." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "حالة الكتابة" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "مكونات واجهة المستخدم" 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 c1d2f1aa6..132002ac6 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 @@ -1491,6 +1491,9 @@ { "msgid": "Disable direct messages and friend requests" }, + { + "msgid": "Disable translation DOM guard" + }, { "msgid": "Drag members between voice channels they can access, and disconnect them from voice." }, diff --git a/fluxer_app/src/features/i18n/locales/bg/messages.po b/fluxer_app/src/features/i18n/locales/bg/messages.po index 4d2fb63df..2ee000d19 100644 --- a/fluxer_app/src/features/i18n/locales/bg/messages.po +++ b/fluxer_app/src/features/i18n/locales/bg/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "Настройки на приложението" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "Състояние на приложението" @@ -4580,7 +4580,7 @@ msgstr "В момента ме няма" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "Използвайки {productName}, вие се съгласявате #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "Заобикаляне на скелет за зареждане" @@ -9539,7 +9539,7 @@ msgstr "Създаване на роля" msgid "Create the administrator account" msgstr "Създайте администраторския акаунт" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "Да се създаде групов чат с останалите {addableCount} получател(и), а другите да се пропуснат?" @@ -11271,6 +11271,11 @@ msgstr "Деактивиране на бърз клавиш" msgid "Disable sounds" msgstr "Изключване на звуците" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "Деактивиране на защитата на DOM за превод" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "Експортиране на теми" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "Показване на секцията с часовите зони, достъпна само за служителите, в настройките на профила." @@ -14182,7 +14187,7 @@ msgstr "Функцията е временно деактивирана" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "Функции" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "Принудително активирано" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "Принудително неуспешно зареждане на съобщения" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "Принудително неуспешно изпращане на съобщения" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "Принудително зареждане на GIF инструмент за избор" @@ -14641,7 +14646,7 @@ msgstr "Принудително скриване" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "Принудително зареждане на скелет" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "Принудително без разрешение за {permissionName}" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "Принудително показване на предупреждение за данни от профила" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "Принудително показване на скелети на профили" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "Принудително показване" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "Принудително показване на отказа от отговорност за персонализиран URL адрес" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "Принудително показване на гласова връзка" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "Принудително активиране на забавен режим" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "Принудително неизвестен тип съобщение" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "Принудително готова актуализация" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "Мрежова грешка" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "Мрежа и производителност" @@ -21565,7 +21570,7 @@ msgstr "Не е посочена причина." msgid "No recent mentions" msgstr "Няма скорошни споменавания" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "Няма останали получатели, с които да създадете групов чат." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "Няма уебкуки" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "Бездействие при доклади в приложението" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "Самостоятелен режим" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "Принудителен режим на самостоятелно хостване" @@ -29020,7 +29025,7 @@ msgstr "Покажи моя екран" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "Покажи ме като пишещ" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "Показване на плъзгачи за силата на звука на участниците за всяко устройство в гласовите менюта" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "Показване на настройките за часова зона в профила (само за администратори)" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "Пропускане на предупреждението за външни връзки за всички домейни" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "Пропускане на мрежовото повикване при изпращане на доклад в приложението. Потокът все още преминава към екрана за успех, така че можете да упражните потребителския интерфейс, но нищо не се изпраща до екипа по безопасност." @@ -29499,7 +29504,7 @@ msgstr "Словения" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "Бавно качване на прикачен файл" @@ -29516,28 +29521,28 @@ msgstr "По-бавно — изчакайте малко, преди да оп #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "Бавно редактиране на съобщение" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "Бавно зареждане на съобщения" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "Бавно изпращане на съобщения" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "Бавно зареждане на профил" @@ -30330,7 +30335,7 @@ msgstr "Започване отначало" msgid "Start recording" msgstr "Записване" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "Започнете търсенето с <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix}, за да стесните резултатите." @@ -30591,6 +30596,11 @@ msgstr "Спиране на съобщенията и поканите за пр msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Спрете Неко да преследва курсора ви, като същевременно го запазите плъзгащ се и интерактивен." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Спри да пачваш Node.prototype insertBefore и removeChild. Приложението отново ще се срине, когато преводач на страници премести текстови възли, които React все още държи." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "Пише съобщение" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "Потребителски интерфейс" diff --git a/fluxer_app/src/features/i18n/locales/cs/messages.po b/fluxer_app/src/features/i18n/locales/cs/messages.po index 8f719a297..32e85fc32 100644 --- a/fluxer_app/src/features/i18n/locales/cs/messages.po +++ b/fluxer_app/src/features/i18n/locales/cs/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "Nastavení aplikace" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "Stav aplikace" @@ -4580,7 +4580,7 @@ msgstr "Momentálně pryč" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "Používáním služby {productName} souhlasíte s aktualizovanými zás #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "Přeskočit načítání skeletu" @@ -9539,7 +9539,7 @@ msgstr "Vytvořit roli" msgid "Create the administrator account" msgstr "Vytvořte účet správce" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "Vytvořit skupinovou zprávu se zbývajícím(i) {addableCount} příjemcem(i) a ostatní přeskočit?" @@ -11271,6 +11271,11 @@ msgstr "Zakázat zkratku" msgid "Disable sounds" msgstr "Vypnout zvuky" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "Zakázat ochranu DOM překladače" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "Exportovat motivy" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "Zobrazit sekci časových pásem určenou pouze pro zaměstnance v nastavení profilu." @@ -14182,7 +14187,7 @@ msgstr "Funkce dočasně vypnuta" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "Funkce" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "Vynuceně zapnuto" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "Vynutit selhání načítání zpráv" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "Vynutit selhání odesílání zpráv" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "Vynutit načítání výběru GIFů" @@ -14641,7 +14646,7 @@ msgstr "Vynutit skrytí" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "Vynutit načtení kostry" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "Vynutit oprávnění „{permissionName}\"" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "Vynutit upozornění na data profilu" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "Vynutit kostry profilu" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "Vynutit zobrazení" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "Vynutit zobrazení upozornění na vlastní URL" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "Vždy zobrazit stav hlasového připojení" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "Vynucený pomalý režim aktivní" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "Vynutit neznámý typ zprávy" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "Vynutit připravenost aktualizace" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "Chyba sítě" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "Síť a výkon" @@ -21565,7 +21570,7 @@ msgstr "Důvod nebyl uveden." msgid "No recent mentions" msgstr "Žádné nedávné zmínky" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "Nezůstali žádní příjemci, se kterými by bylo možné vytvořit skupinovou DM." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "Žádné webhooky" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "Zprávy v aplikaci bez operace" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "Režim self-hostingu" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "Přepsání režimu s vlastním hostováním" @@ -29020,7 +29025,7 @@ msgstr "Zobrazit sdílení mé obrazovky" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "Zobrazit, že píšu" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "Zobrazit posuvníky hlasitosti účastníků pro každé zařízení v nabídkách hlasu" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "Zobrazit nastavení časové zóny v profilu" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "Přeskočit upozornění na externí odkaz pro všechny domény" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "Přeskočit síťové volání při odeslání hlášení v aplikaci. Tok se stále posouvá na obrazovku úspěchu, takže můžete procvičit UI, ale nic se ve skutečnosti neodesílá bezpečnostnímu týmu." @@ -29499,7 +29504,7 @@ msgstr "Slovinsko" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "Pomalé nahrávání příloh" @@ -29516,28 +29521,28 @@ msgstr "Zpomalte – zkuste to znovu za chvíli." #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "Pomalá úprava zprávy" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "Pomalé načítání zpráv" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "Pomalé odesílání zpráv" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "Pomalé načítání profilu" @@ -30330,7 +30335,7 @@ msgstr "Začít znovu" msgid "Start recording" msgstr "Spustit nahrávání" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "Začněte vyhledáváním pomocí <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix}, abyste zúžili výsledky." @@ -30591,6 +30596,11 @@ msgstr "Zastavit zprávy a žádosti o přátelství." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Zastavte Neko, aby nehonilo vaše kurzor, ale zároveň ho nechte přetahovat a interaktivní." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Přestat upravovat Node.prototype insertBefore a removeChild. Aplikace znovu spadne, když překladač stránek přemístí textové uzly, které React stále drží." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "Stav psaní" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "Komponenty UI" diff --git a/fluxer_app/src/features/i18n/locales/da/messages.po b/fluxer_app/src/features/i18n/locales/da/messages.po index d0511680e..2712fdfed 100644 --- a/fluxer_app/src/features/i18n/locales/da/messages.po +++ b/fluxer_app/src/features/i18n/locales/da/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "Appindstillinger" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "App-tilstand" @@ -4580,7 +4580,7 @@ msgstr "Ikke til stede lige nu" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "Ved at bruge {productName} accepterer du de opdaterede politikker." #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "Spring over indlæsningsskelet" @@ -9539,7 +9539,7 @@ msgstr "Opret rolle" msgid "Create the administrator account" msgstr "Opret administratorkontoen" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "Opret gruppedialogen med de resterende {addableCount} modtagere og spring de andre over?" @@ -11271,6 +11271,11 @@ msgstr "Deaktiver genvej" msgid "Disable sounds" msgstr "Slå lyde fra" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "Deaktiver oversættelses-DOM-beskyttelse" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "Eksporter temaer" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "Vis tidszoneindstillingerne, som kun er tilgængelige for administratorer." @@ -14182,7 +14187,7 @@ msgstr "Funktionen er midlertidigt deaktiveret" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "Funktioner" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "Tvangsaktiveret" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "Gennemtving mislykkede indlæsninger af beskeder" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "Fremtving mislykkede beskeder" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "Gennemtving indlæsning af GIF-vælger" @@ -14641,7 +14646,7 @@ msgstr "Gennemtving skjul" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "Tving indlæsning af skelet" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "Gennemtving ingen {permissionName}-tilladelse" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "Gennemtving advarsel om profildata" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "Gennemtving profilskeletter" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "Gennemtving visning" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "Gennemtving visning af ansvarsfraskrivelse for tilpasset URL" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "Gennemtving visning af stemmeforbindelse" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "Tving slowmode aktiv" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "Gennemtving ukendt meddelelsestype" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "Tving opdatering klar" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "Netværksfejl" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "Netværk og ydeevne" @@ -21565,7 +21570,7 @@ msgstr "Ingen årsag angivet." msgid "No recent mentions" msgstr "Ingen nylige omtaler" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "Ingen tilbageværende modtagere at oprette en gruppe-DM med." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "Ingen webhooks" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "Deaktiver rapportering i appen" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "Selvhostet tilstand" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "Tilsidesæt selvhostet tilstand" @@ -29020,7 +29025,7 @@ msgstr "Vis min skærmdeling" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "Vis mig selv som skriver" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "Vis lydstyrkeskyderen for deltagere pr. enhed i stemmemenuer" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "Vis indstillinger for profilens tidszone" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "Spring advarsel om eksternt link over for alle domæner" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "Spring netværkskaldet over, når en rapport i appen indsendes. Flowet fortsætter stadig til succes-skærmen, så du kan afprøve brugerfladen, men intet sendes faktisk til sikkerhedsteamet." @@ -29499,7 +29504,7 @@ msgstr "Slovenien" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "Langsom vedhæftningsupload" @@ -29516,28 +29521,28 @@ msgstr "Sæt farten ned – vent et øjeblik, før du prøver igen." #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "Langsom redigering af besked" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "Langsom indlæsning af beskeder" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "Langsom afsendelse af beskeder" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "Langsom indlæsning af profil" @@ -30330,7 +30335,7 @@ msgstr "Start forfra" msgid "Start recording" msgstr "Start optagelse" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "Start søgninger med <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} for at indsnævre resultaterne." @@ -30591,6 +30596,11 @@ msgstr "Stop beskeder og venneanmodninger." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Stop Neko fra at jage din markør, mens den forbliver trækbar og interaktiv." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Stop med at patche Node.prototype insertBefore og removeChild. Appen vil crashe igen, når en sideoversætter genforælder tekstnoder, som React stadig holder fast i." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "Skrivestatus" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "UI-komponenter" diff --git a/fluxer_app/src/features/i18n/locales/de/messages.po b/fluxer_app/src/features/i18n/locales/de/messages.po index e5ae40ded..51bc9f8d7 100644 --- a/fluxer_app/src/features/i18n/locales/de/messages.po +++ b/fluxer_app/src/features/i18n/locales/de/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "App-Einstellungen" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "App-Status" @@ -4580,7 +4580,7 @@ msgstr "Gerade abwesend" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "Durch die Nutzung von {productName} stimmst du den aktualisierten Richtl #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "Lade-Skelett umgehen" @@ -9539,7 +9539,7 @@ msgstr "Rolle erstellen" msgid "Create the administrator account" msgstr "Administrator-Account erstellen" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "Gruppen-DM mit den verbleibenden {addableCount} Empfänger(n) erstellen und die anderen überspringen?" @@ -11271,6 +11271,11 @@ msgstr "Tastenkombination deaktivieren" msgid "Disable sounds" msgstr "Töne deaktivieren" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "Übersetzungs-DOM-Schutz deaktivieren" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "Designs exportieren" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "Zeige den Abschnitt für Zeitzoneneinstellungen, der nur für Mitarbeiter sichtbar ist, in den Profiloptionen an." @@ -14182,7 +14187,7 @@ msgstr "Funktion vorübergehend deaktiviert" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "Funktionen" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "Erzwungen aktiviert" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "Fehlerhaftes Laden von Nachrichten erzwingen" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "Fehlgeschlagene Nachrichtenübermittlungen erzwingen" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "GIF-Auswahl zum Laden zwingen" @@ -14641,7 +14646,7 @@ msgstr "Ausblenden erzwingen" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "Lade-Skelett erzwingen" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "Keine {permissionName}-Berechtigung erzwingen" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "Profil-Datenwarnung erzwingen" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "Profil-Skelette erzwingen" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "Einblenden erzwingen" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "Haftungsausschluss für Vanity-URL immer anzeigen erzwingen" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "Sprachverbindung immer anzeigen erzwingen" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "Slowmode erzwingen (aktiv)" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "Unbekannten Nachrichtentyp erzwingen" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "Update erzwingen (bereit)" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "Netzwerkfehler" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "Netzwerk und Leistung" @@ -21565,7 +21570,7 @@ msgstr "Kein Grund angegeben." msgid "No recent mentions" msgstr "Keine Erwähnungen" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "Keine verbleibenden Empfänger, um eine Gruppen-DM zu erstellen." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "Keine Webhooks" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "In-App-Meldungen ohne Funktion" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "Self-Hosted-Modus" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "Self-hosted-Modus überschreiben" @@ -29020,7 +29025,7 @@ msgstr "Eigene Bildschirmfreigabe anzeigen" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "Mich als \"tippt …\" anzeigen" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "Lautstärkeregler für einzelne Teilnehmer in Sprachmenüs anzeigen" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "Einstellungen für die Zeitzone im Profil anzeigen (nur für Administratoren)" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "Warnung für externe Links für alle Domains überspringen" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "Überspringt den Netzwerkaufruf, wenn ein In-App-Bericht gesendet wird. Der Ablauf geht trotzdem zum Erfolgsbildschirm über, damit die Benutzeroberfläche getestet werden kann, aber es wird nichts an das Sicherheitsteam gesendet." @@ -29499,7 +29504,7 @@ msgstr "Slowenien" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "Langsamer Anhang-Upload" @@ -29516,28 +29521,28 @@ msgstr "Langsamer – warte einen Moment, bevor du es erneut versuchst." #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "Langsames Bearbeiten von Nachrichten" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "Langsames Laden von Nachrichten" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "Langsamer Nachrichtenversand" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "Langsames Laden des Profils" @@ -30330,7 +30335,7 @@ msgstr "Neu beginnen" msgid "Start recording" msgstr "Aufnahme starten" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "Beginnen Sie Suchvorgänge mit <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix}, um die Ergebnisse einzugrenzen." @@ -30591,6 +30596,11 @@ msgstr "Nachrichten und Freundschaftsanfragen stoppen." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Verhindere, dass Neko deinem Mauszeiger folgt, während er weiterhin ziehbar und interaktiv bleibt." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Stoppe das Patchen von Node.prototype insertBefore und removeChild. Die App wird wieder abstürzen, wenn ein Seitenübersetzer Textknoten neu einhängt, die React noch hält." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "Tippstatus" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "UI-Komponenten" diff --git a/fluxer_app/src/features/i18n/locales/el/messages.po b/fluxer_app/src/features/i18n/locales/el/messages.po index 25aa3a38e..42b35e882 100644 --- a/fluxer_app/src/features/i18n/locales/el/messages.po +++ b/fluxer_app/src/features/i18n/locales/el/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "Ρυθμίσεις εφαρμογής" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "Κατάσταση εφαρμογής" @@ -4580,7 +4580,7 @@ msgstr "Εκτός τώρα" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "Χρησιμοποιώντας το {productName}, συμφωνείτε #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "Παράκαμψη σκελετού φόρτωσης" @@ -9539,7 +9539,7 @@ msgstr "Δημιουργία ρόλου" msgid "Create the administrator account" msgstr "Δημιουργήστε τον λογαριασμό διαχειριστή" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "Να δημιουργηθεί η ομαδική συνομιλία με τους {addableCount} παραλήπτες που απομένουν και να παραλειφθούν οι υπόλοιποι;" @@ -11271,6 +11271,11 @@ msgstr "Απενεργοποίηση συντόμευσης" msgid "Disable sounds" msgstr "Απενεργοποίηση ήχων" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "Απενεργοποίηση προστασίας DOM μεταφραστή" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "Εξαγωγή θεμάτων" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "Εμφάνιση της ενότητας των ρυθμίσεων ζώνης ώρας που είναι διαθέσιμη μόνο για το προσωπικό." @@ -14182,7 +14187,7 @@ msgstr "Η λειτουργία έχει απενεργοποιηθεί προσ #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "Λειτουργίες" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "Ενεργοποίηση με εξαναγκασμό" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "Εξαναγκασμός αποτυχημένων φορτώσεων μηνυμάτων" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "Εξαναγκασμός αποτυχημένων αποστολών μηνυμάτων" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "Εξαναγκασμός φόρτωσης επιλογέα GIF" @@ -14641,7 +14646,7 @@ msgstr "Αναγκαστική απόκρυψη" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "Εξαναγκαστική φόρτωση σκελετού" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "Εξαναγκασμός χωρίς άδεια {permissionName}" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "Να εμφανίζεται πάντα η προειδοποίηση δεδομένων προφίλ" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "Εξαναγκασμός σκελετών προφίλ" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "Να εμφανίζεται πάντα" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "Να εμφανίζεται πάντα η αποποίηση ευθύνης για προσαρμοσμένη διεύθυνση URL" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "Να εμφανίζεται πάντα η κατάσταση σύνδεσης φωνής" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "Ενεργοποίηση αργής λειτουργίας" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "Εξαναγκασμός άγνωστου τύπου μηνύματος" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "Εξαναγκασμός ετοιμότητας ενημέρωσης" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "Σφάλμα δικτύου" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "Δικτύωση και επιδόσεις" @@ -21565,7 +21570,7 @@ msgstr "Δεν δόθηκε λόγος." msgid "No recent mentions" msgstr "Καμία πρόσφατη αναφορά" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "Δεν υπάρχουν άλλοι παραλήπτες για να δημιουργήσετε ομαδική συνομιλία." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "Δεν υπάρχουν webhooks" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "Αναφορές εντός εφαρμογής χωρίς λειτουργία" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "Λειτουργία αυτο-φιλοξενίας" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "Παράκαμψη λειτουργίας αυτο-φιλοξενίας" @@ -29020,7 +29025,7 @@ msgstr "Εμφάνιση της κοινής χρήσης οθόνης μου" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "Εμφάνιση ότι πληκτρολογώ" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "Εμφάνιση ρυθμιστικών έντασης ήχου συμμετεχόντων ανά συσκευή στα μενού φωνής" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "Εμφάνιση ρυθμίσεων ζώνης ώρας προφίλ" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "Παράλειψη προειδοποίησης εξωτερικού συνδέσμου για όλους τους τομείς" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "Παράλειψη της κλήσης δικτύου κατά την υποβολή αναφοράς εντός εφαρμογής. Η ροή προχωρά στην οθόνη επιτυχίας, ώστε να μπορείτε να εξασκήσετε το UI, αλλά τίποτα δεν αποστέλλεται στην ομάδα ασφαλείας." @@ -29499,7 +29504,7 @@ msgstr "Σλοβενία" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "Αργή αποστολή συνημμένου" @@ -29516,28 +29521,28 @@ msgstr "Σιγά — περίμενε λίγο πριν προσπαθήσεις #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "Αργή επεξεργασία μηνύματος" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "Αργή φόρτωση μηνυμάτων" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "Αργή αποστολή μηνυμάτων" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "Αργή φόρτωση προφίλ" @@ -30330,7 +30335,7 @@ msgstr "Από την αρχή" msgid "Start recording" msgstr "Έναρξη εγγραφής" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "Ξεκινήστε τις αναζητήσεις με <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} για να περιορίσετε τα αποτελέσματα." @@ -30591,6 +30596,11 @@ msgstr "Διακοπή μηνυμάτων και αιτημάτων φιλίας msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Σταμάτα τη γάτα Νέκο να κυνηγάει τον κέρσορά σου, διατηρώντας τον σύρσιμο και την αλληλεπίδραση." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Διακοπή τροποποίησης των Node.prototype insertBefore και removeChild. Η εφαρμογή θα καταρρεύσει ξανά όταν ένας μεταφραστής σελίδας επανατοποθετήσει κόμβους κειμένου που το React εξακολουθεί να κατέχει." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "Κατάσταση πληκτρολόγησης" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "Στοιχεία διεπαφής χρήστη" 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 c46cf842e..f4b4dbf04 100644 --- a/fluxer_app/src/features/i18n/locales/en-GB/messages.po +++ b/fluxer_app/src/features/i18n/locales/en-GB/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "App settings" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "App state" @@ -4580,7 +4580,7 @@ msgstr "Away right now" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "By using {productName}, you agree to the updated policies." #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "Bypass loading skeleton" @@ -9539,7 +9539,7 @@ msgstr "Create role" msgid "Create the administrator account" msgstr "Create the administrator account" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" @@ -11271,6 +11271,12 @@ msgstr "Disable shortcut" msgid "Disable sounds" msgstr "Disable sounds" +# auto-i18n: reviewed unchanged +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "Disable translation DOM guard" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13686,7 @@ msgid "Export themes" msgstr "Export themes" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "Expose the staff-only timezone section in profile settings." @@ -14182,7 +14188,7 @@ msgstr "Feature temporarily disabled" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "Features" @@ -14619,17 +14625,17 @@ msgid "Force enabled" msgstr "Force enabled" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "Force failed message loads" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "Force failed message sends" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "Force GIF picker loading" @@ -14641,7 +14647,7 @@ msgstr "Force hide" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "Force loading skeleton" @@ -14661,12 +14667,12 @@ msgid "Force no {permissionName} permission" msgstr "Force no {permissionName} permission" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "Force profile data warning" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "Force profile skeletons" @@ -14676,12 +14682,12 @@ msgid "Force show" msgstr "Force show" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "Force show vanity URL disclaimer" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "Force show voice connection" @@ -14690,12 +14696,12 @@ msgid "Force slowmode active" msgstr "Force slowmode active" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "Force unknown message type" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "Force update ready" @@ -20952,7 +20958,7 @@ msgid "Network error" msgstr "Network error" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "Networking and performance" @@ -21565,7 +21571,7 @@ msgstr "No reason was provided." msgid "No recent mentions" msgstr "No recent mentions" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "No remaining recipients to create a group DM with." @@ -21754,7 +21760,7 @@ msgid "No webhooks" msgstr "No webhooks" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "No-op in-app reports" @@ -27876,7 +27882,7 @@ msgid "Self-hosted mode" msgstr "Self-hosted mode" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "Self-hosted mode override" @@ -29020,7 +29026,7 @@ msgstr "Show my screen share" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "Show myself typing" @@ -29074,7 +29080,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "Show per-device participant volume sliders in voice menus" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "Show profile timezone settings" @@ -29441,7 +29447,7 @@ msgid "Skip the external link warning for all domains" msgstr "Skip the external link warning for all domains" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." @@ -29499,7 +29505,7 @@ msgstr "Slovenia" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "Slow attachment upload" @@ -29516,28 +29522,28 @@ msgstr "Slow down – wait a moment before trying again." #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "Slow message edit" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "Slow message load" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "Slow message send" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "Slow profile load" @@ -30330,7 +30336,7 @@ msgstr "Start again" msgid "Start recording" msgstr "Start recording" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." @@ -30591,6 +30597,11 @@ msgstr "Stop messages and friend requests." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Stop Neko from chasing your cursor while keeping it draggable and interactive." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator reparents text nodes React still holds." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33644,7 @@ msgid "Typing state" msgstr "Typing status" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "UI components" 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 f8ab6febc..7994bbc27 100644 --- a/fluxer_app/src/features/i18n/locales/en-US/messages.po +++ b/fluxer_app/src/features/i18n/locales/en-US/messages.po @@ -3655,7 +3655,7 @@ msgid "App settings" msgstr "App settings" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "App state" @@ -4581,7 +4581,7 @@ msgstr "Away right now" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5465,7 +5465,7 @@ msgstr "By using {productName}, you agree to the updated policies." #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "Bypass loading skeleton" @@ -9540,7 +9540,7 @@ msgstr "Create role" msgid "Create the administrator account" msgstr "Create the administrator account" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" @@ -11272,6 +11272,11 @@ msgstr "Disable shortcut" msgid "Disable sounds" msgstr "Disable sounds" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "Disable translation DOM guard" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13681,7 +13686,7 @@ msgid "Export themes" msgstr "Export themes" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "Expose the staff-only timezone section in profile settings." @@ -14183,7 +14188,7 @@ msgstr "Feature temporarily disabled" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "Features" @@ -14620,17 +14625,17 @@ msgid "Force enabled" msgstr "Force enabled" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "Force failed message loads" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "Force failed message sends" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "Force GIF picker loading" @@ -14642,7 +14647,7 @@ msgstr "Force hide" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "Force loading skeleton" @@ -14662,12 +14667,12 @@ msgid "Force no {permissionName} permission" msgstr "Force no {permissionName} permission" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "Force profile data warning" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "Force profile skeletons" @@ -14677,12 +14682,12 @@ msgid "Force show" msgstr "Force show" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "Force show vanity URL disclaimer" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "Force show voice connection" @@ -14691,12 +14696,12 @@ msgid "Force slowmode active" msgstr "Force slowmode active" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "Force unknown message type" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "Force update ready" @@ -20953,7 +20958,7 @@ msgid "Network error" msgstr "Network error" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "Networking and performance" @@ -21566,7 +21571,7 @@ msgstr "No reason was provided." msgid "No recent mentions" msgstr "No recent mentions" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "No remaining recipients to create a group DM with." @@ -21755,7 +21760,7 @@ msgid "No webhooks" msgstr "No webhooks" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "No-op in-app reports" @@ -27877,7 +27882,7 @@ msgid "Self-hosted mode" msgstr "Self-hosted mode" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "Self-hosted mode override" @@ -29021,7 +29026,7 @@ msgstr "Show my screen share" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "Show myself typing" @@ -29075,7 +29080,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "Show per-device participant volume sliders in voice menus" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "Show profile timezone settings" @@ -29442,7 +29447,7 @@ msgid "Skip the external link warning for all domains" msgstr "Skip the external link warning for all domains" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." @@ -29500,7 +29505,7 @@ msgstr "Slovenia" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "Slow attachment upload" @@ -29517,28 +29522,28 @@ msgstr "Slow down — wait a moment before trying again." #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "Slow message edit" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "Slow message load" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "Slow message send" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "Slow profile load" @@ -30331,7 +30336,7 @@ msgstr "Start over" msgid "Start recording" msgstr "Start recording" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." @@ -30592,6 +30597,11 @@ msgstr "Stop messages and friend requests." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Stop Neko from chasing your cursor while keeping it draggable and interactive." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33634,7 +33644,7 @@ msgid "Typing state" msgstr "Typing state" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "UI components" 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 f53f2e51f..5e517b586 100644 --- a/fluxer_app/src/features/i18n/locales/es-419/messages.po +++ b/fluxer_app/src/features/i18n/locales/es-419/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "Configuración de la aplicación" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "Estado de la aplicación" @@ -4580,7 +4580,7 @@ msgstr "Ausente en este momento" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "Al usar {productName}, aceptas las políticas actualizadas." #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "Omitir esqueleto de carga" @@ -9539,7 +9539,7 @@ msgstr "Crear rol" msgid "Create the administrator account" msgstr "Crear la cuenta de administrador" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "¿Crear el grupo de MD con los {addableCount} destinatarios restantes y omitir a los demás?" @@ -11271,6 +11271,11 @@ msgstr "Desactivar atajo" msgid "Disable sounds" msgstr "Desactivar sonidos" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "Desactivar protección contra fallos del DOM del traductor" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "Exportar temas" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "Mostrar la sección de zona horaria reservada para el personal en la configuración del perfil." @@ -14182,7 +14187,7 @@ msgstr "Función deshabilitada temporalmente" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "Funciones" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "Activado forzosamente" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "Forzar cargas de mensajes fallidas" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "Forzar el envío de mensajes fallidos" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "Forzar carga del selector de GIF" @@ -14641,7 +14646,7 @@ msgstr "Forzar ocultar" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "Forzar carga de esqueleto" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "Forzar sin el permiso {permissionName}" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "Forzar advertencia de datos de perfil" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "Forzar esqueletos de perfil" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "Forzar mostrar" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "Forzar la visualización del aviso de URL personalizada" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "Forzar la visualización de la conexión de voz" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "Forzar modo lento activo" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "Forzar tipo de mensaje desconocido" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "Forzar actualización lista" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "Error de red" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "Red y rendimiento" @@ -21565,7 +21570,7 @@ msgstr "No se proporcionó ningún motivo." msgid "No recent mentions" msgstr "No hay menciones recientes" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "No quedan destinatarios para crear un grupo de MD." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "No hay webhooks" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "Informes en la aplicación sin operación" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "Modo autohospedado" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "Anulación del modo autohospedado" @@ -29020,7 +29025,7 @@ msgstr "Mostrar mi pantalla compartida" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "Mostrarme escribiendo" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "Mostrar controles deslizantes de volumen por participante en los menús de voz" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "Mostrar la configuración de zona horaria del perfil" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "Omitir la advertencia de enlace externo para todos los dominios" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "Omite la llamada de red cuando se envía un informe en la aplicación. El flujo avanza a la pantalla de éxito para que puedas probar la interfaz de usuario, pero en realidad no se envía nada al equipo de seguridad." @@ -29499,7 +29504,7 @@ msgstr "Eslovenia" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "Carga lenta de archivos adjuntos" @@ -29516,28 +29521,28 @@ msgstr "Ve más despacio, espera un momento antes de volver a intentarlo." #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "Edición lenta de mensajes" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "Carga lenta de mensajes" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "Envío lento de mensajes" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "Carga lenta de perfil" @@ -30330,7 +30335,7 @@ msgstr "Volver a empezar" msgid "Start recording" msgstr "Iniciar grabación" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "Comienza las búsquedas con <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} para reducir los resultados." @@ -30591,6 +30596,11 @@ msgstr "Detener mensajes y solicitudes de amistad." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Evita que Neko persiga tu cursor, pero mantenlo arrastrable e interactivo." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Dejar de parchear Node.prototype insertBefore y removeChild. La app volverá a fallar cuando un traductor de páginas reasigne nodos de texto que React aún mantiene." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "Estado de escritura" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "Componentes de la interfaz de usuario" 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 376276bbd..420c12f98 100644 --- a/fluxer_app/src/features/i18n/locales/es-ES/messages.po +++ b/fluxer_app/src/features/i18n/locales/es-ES/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "Configuración de la aplicación" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "Estado de la aplicación" @@ -4580,7 +4580,7 @@ msgstr "Ausente ahora mismo" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "Al usar {productName}, aceptas las políticas actualizadas." #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "Omitir esqueleto de carga" @@ -9539,7 +9539,7 @@ msgstr "Crear rol" msgid "Create the administrator account" msgstr "Crear la cuenta de administrador" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "¿Crear el grupo de MD con los {addableCount} destinatarios restantes y omitir a los demás?" @@ -11271,6 +11271,11 @@ msgstr "Desactivar atajo" msgid "Disable sounds" msgstr "Desactivar sonidos" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "Desactivar protección contra fallos del DOM del traductor" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "Exportar temas" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "Mostrar la sección de zona horaria reservada para el personal en la configuración del perfil." @@ -14182,7 +14187,7 @@ msgstr "Función temporalmente desactivada" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "Funciones" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "Forzado a activarse" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "Forzar error al cargar mensajes" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "Forzar el envío de mensajes fallidos" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "Forzar la carga del selector de GIF" @@ -14641,7 +14646,7 @@ msgstr "Forzar ocultación" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "Forzar carga de esqueleto" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "Forzar la ausencia del permiso {permissionName}" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "Forzar advertencia de datos de perfil" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "Forzar esqueletos de perfil" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "Forzar mostrar" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "Forzar la visualización del aviso de URL personalizada" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "Forzar la visualización de la conexión de voz" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "Forzar modo lento activo" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "Forzar tipo de mensaje desconocido" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "Forzar actualización lista" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "Error de red" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "Red y rendimiento" @@ -21565,7 +21570,7 @@ msgstr "No se proporcionó ningún motivo." msgid "No recent mentions" msgstr "No hay menciones recientes" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "No quedan destinatarios para crear un grupo de MD." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "Ningún webhook" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "Informes en la aplicación sin operación" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "Modo autoalojado" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "Anular modo autohospedado" @@ -29020,7 +29025,7 @@ msgstr "Mostrar mi pantalla compartida" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "Mostrarme escribiendo" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "Mostrar controles deslizantes de volumen por participante y dispositivo en los menús de voz" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "Mostrar la configuración de zona horaria del perfil" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "Omitir la advertencia de enlace externo para todos los dominios" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "Omite la llamada de red cuando se envía un informe en la aplicación. El flujo avanza a la pantalla de éxito para que puedas probar la interfaz de usuario, pero no se envía nada al equipo de seguridad." @@ -29499,7 +29504,7 @@ msgstr "Eslovenia" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "Subida lenta de archivos adjuntos" @@ -29516,28 +29521,28 @@ msgstr "Ve más despacio: espera un momento antes de volver a intentarlo." #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "Edición lenta de mensajes" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "Carga lenta de mensajes" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "Envío lento de mensajes" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "Carga lenta del perfil" @@ -30330,7 +30335,7 @@ msgstr "Empezar de nuevo" msgid "Start recording" msgstr "Iniciar grabación" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "Comienza las búsquedas con <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} para reducir los resultados." @@ -30591,6 +30596,11 @@ msgstr "Detener mensajes y solicitudes de amistad." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Evita que Neko persiga tu cursor, pero mantenlo arrastrable e interactivo." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Dejar de parchear Node.prototype insertBefore y removeChild. La aplicación volverá a fallar cuando un traductor de páginas reasigne nodos de texto que React todavía mantiene." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "Estado de escritura" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "Componentes de la interfaz de usuario" diff --git a/fluxer_app/src/features/i18n/locales/fi/messages.po b/fluxer_app/src/features/i18n/locales/fi/messages.po index 19a7bb9bf..4bb071848 100644 --- a/fluxer_app/src/features/i18n/locales/fi/messages.po +++ b/fluxer_app/src/features/i18n/locales/fi/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "Sovelluksen asetukset" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "Sovelluksen tila" @@ -4580,7 +4580,7 @@ msgstr "Poissa juuri nyt" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "Käyttämällä palvelua {productName} hyväksyt päivitetyt käytännö #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "Ohita latausluuranko" @@ -9539,7 +9539,7 @@ msgstr "Luo rooli" msgid "Create the administrator account" msgstr "Luo pääkäyttäjätili" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "Luodaanko ryhmäkeskustelu jäljelle jääneiden {addableCount} vastaanottajan kanssa ja ohitetaan muut?" @@ -11271,6 +11271,11 @@ msgstr "Poista pikanäppäin käytöstä" msgid "Disable sounds" msgstr "Poista äänet käytöstä" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "Poista käännöksen DOM-suojaus käytöstä" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "Vie teemat" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "Näytä henkilökunnalle tarkoitettu aikavyöhykeosio profiiliasetuksissa." @@ -14182,7 +14187,7 @@ msgstr "Ominaisuus poissa käytöstä" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "Ominaisuudet" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "Pakotettu käyttöön" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "Pakota viestien lataus epäonnistumaan" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "Pakota viestien lähetyksen epäonnistuminen" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "Pakota GIF-valitsimen lataus" @@ -14641,7 +14646,7 @@ msgstr "Pakota piilottaminen" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "Pakota luurangon lataus" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "Pakota ei {permissionName}-oikeutta" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "Pakota profiilitietovaroitus" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "Pakota profiilirungot" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "Pakota näyttämään" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "Näytä aina vanity-URL-vastuuvapauslauseke" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "Näytä puheyhteys pakotetusti" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "Pakota hidastettu tila käyttöön" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "Pakota tuntematon viestityyppi" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "Pakota päivitys valmiiksi" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "Verkkovirhe" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "Verkko ja suorituskyky" @@ -21565,7 +21570,7 @@ msgstr "Syytä ei annettu." msgid "No recent mentions" msgstr "Ei viimeaikaisia mainintoja" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "Ei jäljellä olevia vastaanottajia ryhmäkeskustelun luomiseen." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "Ei webhookeja" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "Ei-toimivat sovelluksen sisäiset ilmoitukset" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "Itsehostattu tila" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "Itseisännöidyn tilan ohitus" @@ -29020,7 +29025,7 @@ msgstr "Näytä oma näyttöni" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "Näytä itseni kirjoittamassa" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "Näytä laitekohtaiset osallistujien äänenvoimakkuuden liukusäätimet äänivalikoissa" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "Näytä profiilin aikavyöhykeasetukset (vain henkilökunnalle)" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "Ohita ulkoisen linkin varoitus kaikille verkkotunnuksille" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "Ohita verkkokutsu, kun sovelluksen sisäinen ilmoitus lähetetään. Työnkulku etenee silti onnistumisnäyttöön, jotta voit harjoitella käyttöliittymää, mutta mitään ei todellisuudessa lähetetä turvallisuustiimille." @@ -29499,7 +29504,7 @@ msgstr "Slovenia" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "Hidas liitteen lähetys" @@ -29516,28 +29521,28 @@ msgstr "Hidasta – odota hetki ennen kuin yrität uudelleen." #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "Hidas viestin muokkaus" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "Hidas viestien lataus" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "Hidas viestin lähetys" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "Hidas profiilin lataus" @@ -30330,7 +30335,7 @@ msgstr "Aloita alusta" msgid "Start recording" msgstr "Aloita nauhoitus" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "Aloita haut käyttämällä <0>{peoplePrefix}, <1>{textChannelPrefix}, <2>{voiceChannelPrefix} ja <3>{communityPrefix}, jotta voit rajata hakutuloksia." @@ -30591,6 +30596,11 @@ msgstr "Estä viestit ja kaveripyynnöt." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Estä Nekoa jahtaamasta osoitintasi, mutta pidä se silti vedettävänä ja interaktiivisena." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Lopeta Node.prototype insertBefore- ja removeChild-metodien paikkaaminen. Sovellus kaatuu uudelleen, kun sivun kääntäjä siirtää Reactin edelleen pitämiä tekstisolmuja." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "Kirjoitustila" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "Käyttöliittymäkomponentit" diff --git a/fluxer_app/src/features/i18n/locales/fr/messages.po b/fluxer_app/src/features/i18n/locales/fr/messages.po index 31c057849..386cccfd7 100644 --- a/fluxer_app/src/features/i18n/locales/fr/messages.po +++ b/fluxer_app/src/features/i18n/locales/fr/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "Paramètres de l’application" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "État de l'app" @@ -4580,7 +4580,7 @@ msgstr "Absent(e) pour le moment" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "En utilisant {productName}, vous acceptez les politiques mises à jour." #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "Ignorer le squelette de chargement" @@ -9539,7 +9539,7 @@ msgstr "Créer un rôle" msgid "Create the administrator account" msgstr "Créer le compte administrateur" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "Créer le groupe de discussion avec les {addableCount} destinataire(s) restant(s) et ignorer les autres ?" @@ -11271,6 +11271,11 @@ msgstr "Désactiver le raccourci" msgid "Disable sounds" msgstr "Désactiver les sons" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "Désactiver la protection DOM du traducteur" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "Exporter les thèmes" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "Afficher la section des paramètres de fuseau horaire réservés aux membres du personnel." @@ -14182,7 +14187,7 @@ msgstr "Fonctionnalité temporairement désactivée" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "Fonctionnalités" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "Activé de force" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "Forcer l'échec du chargement des messages" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "Forcer l'échec de l'envoi des messages" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "Forcer le chargement du sélecteur de GIF" @@ -14641,7 +14646,7 @@ msgstr "Forcer le masquage" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "Forcer le chargement du squelette" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "Forcer l'absence d'autorisation {permissionName}" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "Forcer l'avertissement sur les données de profil" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "Forcer les squelettes de profil" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "Forcer l'affichage" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "Forcer l'affichage de l'avertissement sur l'URL personnalisée" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "Forcer l'affichage de la connexion vocale" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "Forcer le mode lent" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "Forcer le type de message inconnu" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "Forcer la mise à jour prête" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "Erreur réseau" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "Réseau et performances" @@ -21565,7 +21570,7 @@ msgstr "Aucune raison n'a été fournie." msgid "No recent mentions" msgstr "Aucune mention récente" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "Il ne reste plus de destinataires pour créer un groupe de discussion." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "Aucun webhook" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "Rapports intégrés sans opération" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "Mode auto-hébergé" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "Forcer le mode auto-hébergé" @@ -29020,7 +29025,7 @@ msgstr "Afficher mon partage d'écran" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "M'afficher en train d'écrire" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "Afficher les curseurs de volume des participants par appareil dans les menus vocaux" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "Afficher les paramètres de fuseau horaire du profil" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "Ignorer l'avertissement de lien externe pour tous les domaines" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "Ignore l'appel réseau lorsqu'un signalement est envoyé depuis l'application. Le flux avance toujours vers l'écran de succès pour que vous puissiez tester l'interface utilisateur, mais rien n'est réellement envoyé à l'équipe de sécurité." @@ -29499,7 +29504,7 @@ msgstr "Slovénie" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "Chargement lent des pièces jointes" @@ -29516,28 +29521,28 @@ msgstr "Du calme, attendez un instant avant de réessayer." #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "Modification lente des messages" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "Chargement lent des messages" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "Envoi lent des messages" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "Chargement lent du profil" @@ -30330,7 +30335,7 @@ msgstr "Recommencer" msgid "Start recording" msgstr "Démarrer l’enregistrement" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "Commencez vos recherches avec <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} pour affiner les résultats." @@ -30591,6 +30596,11 @@ msgstr "Arrêter les messages et les demandes d'amis." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Empêchez Neko de suivre votre curseur tout en le gardant déplaçable et interactif." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Arrêter de patcher Node.prototype insertBefore et removeChild. L’application plantera à nouveau lorsqu’un traducteur de page déplacera des nœuds de texte que React détient toujours." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "État de saisie" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "Composants de l'interface utilisateur" diff --git a/fluxer_app/src/features/i18n/locales/he/messages.po b/fluxer_app/src/features/i18n/locales/he/messages.po index 917a29c2c..0d4cce344 100644 --- a/fluxer_app/src/features/i18n/locales/he/messages.po +++ b/fluxer_app/src/features/i18n/locales/he/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "הגדרות אפליקציה" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "מצב האפליקציה" @@ -4580,7 +4580,7 @@ msgstr "מחוץ למשרד כרגע" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "בשימוש ב- {productName}, אתה מסכים למדיניות המ #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "עקיפת שלד טעינה" @@ -9539,7 +9539,7 @@ msgstr "יצירת תפקיד" msgid "Create the administrator account" msgstr "צור את חשבון המנהל" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "ליצור את הצ'אט הקבוצתי עם {addableCount} הנמענים הנותרים ולדלג על האחרים?" @@ -11271,6 +11271,11 @@ msgstr "השבת קיצור דרך" msgid "Disable sounds" msgstr "השבתת צלילים" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "בטל הגנת DOM של מתרגם הדפים" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "ייצוא ערכות נושא" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "הצג את סעיף אזור הזמן המיועד רק למנהלים בהגדרות הפרופיל." @@ -14182,7 +14187,7 @@ msgstr "התכונה מושבתת זמנית" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "תכונות" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "מופעל בכפייה" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "כפה טעינת הודעות שנכשלה" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "כפה שליחת הודעות שנכשלה" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "כפה טעינת בורר GIF" @@ -14641,7 +14646,7 @@ msgstr "הסתר בכוח" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "טעינת שלד בכוח" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "אל תאכוף הרשאת {permissionName}" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "הצג תמיד אזהרת נתוני פרופיל" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "הצג שלדי פרופיל בכפייה" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "הצגה בכפייה" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "הצג תמיד את אזהרת כתובת ה-URL המותאמת אישית" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "הצג תמיד את מצב החיבור הקולי" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "הפעלת מצב איטי בכפייה" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "הצג סוג הודעה לא ידוע" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "כפה עדכון זמין" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "שגיאת רשת" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "רשת וביצועים" @@ -21565,7 +21570,7 @@ msgstr "לא ניתנה סיבה." msgid "No recent mentions" msgstr "אין אזכורים אחרונים" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "אין נמענים שנותרו כדי ליצור איתם קבוצת צ'אט." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "אין Webhooks" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "דיווחים פנימיים לא פעילים" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "מצב באירוח עצמי" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "עקיפת מצב אירוח עצמי" @@ -29020,7 +29025,7 @@ msgstr "הצג את שיתוף המסך שלי" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "הצג אותי כמקליד/ה" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "הצג פקדי עוצמת קול למשתתפים לפי מכשיר בתפריטי קול" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "הצג הגדרות אזור זמן בפרופיל (אפשרות למפתחים, מיועדת לצוות בלבד)" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "דלג על אזהרת הקישור החיצוני עבור כל הדומיינים" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "דלג על קריאת הרשת בעת שליחת דיווח מתוך האפליקציה. התהליך עדיין יתקדם למסך ההצלחה כדי שתוכלו לבדוק את ממשק המשתמש, אך שום דבר לא יישלח בפועל לצוות הבטיחות." @@ -29499,7 +29504,7 @@ msgstr "סלובניה" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "העלאת קבצים איטית" @@ -29516,28 +29521,28 @@ msgstr "האט קצת — המתן רגע לפני שתנסה שוב." #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "עריכת הודעה איטית" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "טעינת הודעות איטית" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "שליחת הודעות איטית" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "טעינת פרופיל איטית" @@ -30330,7 +30335,7 @@ msgstr "התחל מחדש" msgid "Start recording" msgstr "התחל להקליט" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "התחל חיפושים עם <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} כדי לצמצם את התוצאות." @@ -30591,6 +30596,11 @@ msgstr "הפסקת הודעות ובקשות חברות." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "מנע מ\"נֶקוֹ\" לרדוף אחרי הסמן שלך, תוך שמירה על יכולת הגרירה והאינטראקטיביות שלו." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "הפסק לתקן את Node.prototype insertBefore ו-removeChild. האפליקציה תקרוס שוב כאשר מתרגם דפים ימקם מחדש צמתי טקסט ש-React עדיין מחזיק." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "סטטוס הקלדה" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "רכיבי ממשק משתמש" diff --git a/fluxer_app/src/features/i18n/locales/hi/messages.po b/fluxer_app/src/features/i18n/locales/hi/messages.po index 868cbd91b..bef1e2589 100644 --- a/fluxer_app/src/features/i18n/locales/hi/messages.po +++ b/fluxer_app/src/features/i18n/locales/hi/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "ऐप सेटिंग्स" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "ऐप की स्थिति" @@ -4580,7 +4580,7 @@ msgstr "अभी दूर हैं" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "{productName} का उपयोग करके, आप अपडे #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "लोडिंग स्केलेटन को बायपास करें" @@ -9539,7 +9539,7 @@ msgstr "भूमिका बनाएँ" msgid "Create the administrator account" msgstr "व्यवस्थापक खाता बनाएँ" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "बाकी बचे {addableCount} सदस्य के साथ ग्रुप DM बनाएँ और दूसरों को छोड़ दें?" @@ -11271,6 +11271,11 @@ msgstr "शॉर्टकट बंद करें" msgid "Disable sounds" msgstr "ध्वनि बंद करें" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "ट्रांसलेशन DOM गार्ड अक्षम करें" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "थीम एक्सपोर्ट करें" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "प्रोफ़ाइल सेटिंग्स में केवल कर्मचारियों के लिए समय क्षेत्र अनुभाग दिखाएँ।" @@ -14182,7 +14187,7 @@ msgstr "सुविधा अस्थायी रूप से बंद ह #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "सुविधाएँ" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "ज़बरदस्ती चालू किया गया" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "मैसेज लोड होने में ज़बरदस्ती गड़बड़ी करें" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "मैसेज भेजने में विफलता को फ़ोर्स करें" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "GIF पिकर लोडिंग को फ़ोर्स करें" @@ -14641,7 +14646,7 @@ msgstr "ज़बरदस्ती छिपाएं" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "फोर्स लोडिंग स्केलेटन" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "{permissionName} अनुमति नहीं है लागू करें" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "प्रोफ़ाइल डेटा चेतावनी को ज़बरदस्ती दिखाएँ" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "प्रोफ़ाइल स्केलेटन को फ़ोर्स करें" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "ज़बरदस्ती दिखाएँ" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "वैनिटी यूआरएल अस्वीकरण दिखाने के लिए बाध्य करें" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "वॉइस कनेक्शन को हमेशा दिखाएँ" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "स्लोमोड सक्रिय करें" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "मैसेज के प्रकार को अज्ञात करने के लिए फ़ोर्स करें" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "अपडेट तैयार करने के लिए बाध्य करें" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "नेटवर्क त्रुटि" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "नेटवर्किंग और परफ़ॉर्मेंस" @@ -21565,7 +21570,7 @@ msgstr "कोई वजह नहीं बताई गई।" msgid "No recent mentions" msgstr "कोई हालिया ज़िक्र नहीं" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "ग्रुप DM बनाने के लिए कोई और प्राप्तकर्ता नहीं बचा है।" @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "कोई वेबहुक नहीं" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "इन-ऐप रिपोर्ट को नो-ऑप करें" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "सेल्फ़-होस्टेड मोड" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "सेल्फ़-होस्टेड मोड ओवरराइड" @@ -29020,7 +29025,7 @@ msgstr "मेरी स्क्रीन शेयर दिखाएं" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "खुद को टाइप करते हुए दिखाएं" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "वॉयस मेन्यू में प्रति-डिवाइस पार्टिसिपेंट वॉल्यूम स्लाइडर दिखाएं" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "प्रोफ़ाइल सेटिंग्स में केवल-कर्मचारी प्रोफ़ाइल टाइमज़ोन अनुभाग को प्रदर्शित करें" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "सभी डोमेन के लिए बाहरी लिंक चेतावनी को छोड़ें" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "जब कोई इन-ऐप रिपोर्ट सबमिट की जाती है, तो नेटवर्क कॉल को छोड़ दें। फ़्लो अभी भी सफलता स्क्रीन पर आगे बढ़ता है ताकि आप UI का अभ्यास कर सकें, लेकिन सुरक्षा टीम को वास्तव में कुछ भी नहीं भेजा जाता है।" @@ -29499,7 +29504,7 @@ msgstr "स्लोवेनिया" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "अटैचमेंट अपलोड धीमा करें" @@ -29516,28 +29521,28 @@ msgstr "धीमे चलें — दोबारा कोशिश कर #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "मैसेज एडिट धीमा करें" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "मैसेज धीरे लोड करें" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "मैसेज धीरे भेजें" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "प्रोफ़ाइल धीमी गति से लोड करें" @@ -30330,7 +30335,7 @@ msgstr "फिर से शुरू करें" msgid "Start recording" msgstr "रिकॉर्डिंग शुरू करें" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "खोजों को <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} से शुरू करें ताकि परिणामों को सीमित किया जा सके।" @@ -30591,6 +30596,11 @@ msgstr "मैसेज और फ्रेंड रिक्वेस्ट msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "अपने कर्सर का पीछा करने से नेको को रोकें, जबकि उसे ड्रैग करने योग्य और इंटरैक्टिव बनाए रखें।" +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Node.prototype insertBefore और removeChild को पैच करना बंद करें। जब कोई पेज ट्रांसलेटर उन टेक्स्ट नोड्स को फिर से पैरेंट करेगा जिन्हें React अभी भी होल्ड करता है, तो ऐप फिर से क्रैश हो जाएगा।" + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "टाइपिंग स्थिति" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "यूआई कॉम्पोनेंट" diff --git a/fluxer_app/src/features/i18n/locales/hr/messages.po b/fluxer_app/src/features/i18n/locales/hr/messages.po index 00f881439..ae3807787 100644 --- a/fluxer_app/src/features/i18n/locales/hr/messages.po +++ b/fluxer_app/src/features/i18n/locales/hr/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "Postavke aplikacije" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "Stanje aplikacije" @@ -4580,7 +4580,7 @@ msgstr "Trenutno odsutan" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "Korištenjem aplikacije {productName} prihvaćate ažurirana pravila." #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "Zaobiđi učitavanje kostura" @@ -9539,7 +9539,7 @@ msgstr "Stvori ulogu" msgid "Create the administrator account" msgstr "Stvori administratorski račun" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "Želite li stvoriti grupnu izravnu poruku s preostalih {addableCount} primatelja, a ostale preskočiti?" @@ -11271,6 +11271,11 @@ msgstr "Onemogući prečac" msgid "Disable sounds" msgstr "Isključi zvukove" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "Onemogući zaštitu DOM-a za prijevod" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "Izvezi teme" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "Prikaži odjeljak s vremenskom zonom rezerviran za osoblje u postavkama profila." @@ -14182,7 +14187,7 @@ msgstr "Značajka je privremeno onemogućena" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "Značajke" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "Prisilno omogućeno" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "Prisilno učitavanje neuspjelih poruka" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "Prisili neuspješno slanje poruka" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "Prisilno učitavanje GIF birača" @@ -14641,7 +14646,7 @@ msgstr "Prisilno sakrij" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "Prisilno učitavanje skela" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "Prisilno bez dopuštenja {permissionName}" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "Uvijek prikaži upozorenje o podacima profila" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "Prisilno učitavanje okvira profila" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "Prisilno prikaži" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "Prisilno prikaži odricanje odgovornosti za prilagođeni URL" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "Uvijek prikaži status glasovne veze" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "Prisilno aktiviraj spori način rada" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "Prisilno postavi nepoznatu vrstu poruke" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "Prisilno ažuriranje spremno" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "Mrežna pogreška" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "Mreža i performanse" @@ -21565,7 +21570,7 @@ msgstr "Razlog nije naveden." msgid "No recent mentions" msgstr "Nema nedavnih spominjanja" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "Nema preostalih primatelja za stvaranje grupne izravne poruke." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "Nema web-dojavnika" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "Izvješća u aplikaciji bez operacije" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "Samostalni način rada" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "Nadjačavanje načina samostalnog hostinga" @@ -29020,7 +29025,7 @@ msgstr "Prikaži moj prikaz zaslona" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "Prikaži da tipkam" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "Prikaži klizače glasnoće sudionika za svaki uređaj u izbornicima za glasnoću" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "Prikaži postavke vremenske zone profila" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "Preskoči upozorenje za vanjske poveznice za sve domene" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "Preskoči mrežni poziv kada se pošalje izvješće unutar aplikacije. Tok i dalje napreduje do zaslona uspjeha tako da možete vježbati korisničko sučelje, ali ništa se zapravo ne šalje sigurnosnom timu." @@ -29499,7 +29504,7 @@ msgstr "Slovenija" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "Spora privitak datoteke" @@ -29516,28 +29521,28 @@ msgstr "Usporite — pričekajte trenutak prije nego što pokušate ponovno." #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "Usporena izmjena poruke" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "Sporo učitavanje poruka" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "Sporo slanje poruka" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "Sporo učitavanje profila" @@ -30330,7 +30335,7 @@ msgstr "Počni ispočetka" msgid "Start recording" msgstr "Započni snimanje" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "Započnite pretraživanje s <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} kako biste suzili rezultate." @@ -30591,6 +30596,11 @@ msgstr "Zaustavi poruke i zahtjeve za prijateljstvo." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Zaustavite Neko da ne prati vaš pokazivač, a da pritom ostane povlačiv i interaktivan." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Zaustavi \"patchiranje\" metoda Node.prototype insertBefore i removeChild. Aplikacija će ponovno pasti kada prevoditelj stranice premjesti čvorove teksta koje React još uvijek drži." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "Status tipkanja" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "Komponente korisničkog sučelja" diff --git a/fluxer_app/src/features/i18n/locales/hu/messages.po b/fluxer_app/src/features/i18n/locales/hu/messages.po index 939f62a2b..b7af97d97 100644 --- a/fluxer_app/src/features/i18n/locales/hu/messages.po +++ b/fluxer_app/src/features/i18n/locales/hu/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "Alkalmazásbeállítások" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "Alkalmazás állapota" @@ -4580,7 +4580,7 @@ msgstr "Jelenleg távol" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "A {productName} használatával elfogadja a frissített szabályzatokat. #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "Betöltési vázlat mellőzése" @@ -9539,7 +9539,7 @@ msgstr "Szerepkör létrehozása" msgid "Create the administrator account" msgstr "Hozd létre az adminisztrátori fiókot" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "Létrehozod a csoportos DM-et a megmaradt {addableCount} résztvevővel, a többieket pedig kihagyod?" @@ -11271,6 +11271,11 @@ msgstr "Gyorsbillentyű letiltása" msgid "Disable sounds" msgstr "Hangok kikapcsolása" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "Fordítás DOM védő kikapcsolása" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "Témák exportálása" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "Mutassa a profilbeállításokban a csak a munkatársak számára elérhető időzóna-szekciót." @@ -14182,7 +14187,7 @@ msgstr "Funkció átmenetileg letiltva" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "Funkciók" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "Kényszerített engedélyezés" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "Üzenetbetöltések hibájának kényszerítése" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "Üzenetküldések sikertelenségének kényszerítése" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "GIF-választó betöltésének kényszerítése" @@ -14641,7 +14646,7 @@ msgstr "Kényszerített elrejtés" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "Kényszerített betöltési vázlat" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "Nincs kényszerített {permissionName} engedély" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "Profiladat-figyelmeztetés kényszerítése" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "Profilvázak kényszerítése" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "Kényszerített megjelenítés" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "Vanity URL-figyelmeztetés kényszerített megjelenítése" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "Hangkapcsolat kényszerített megjelenítése" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "Kényszerített lassú mód aktív" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "Ismeretlen üzenettípus kényszerítése" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "Frissítés kényszerítése (kész)" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "Hálózati hiba" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "Hálózat és teljesítmény" @@ -21565,7 +21570,7 @@ msgstr "Nincs megadva ok." msgid "No recent mentions" msgstr "Nincsenek legutóbbi említések" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "Nincs több címzett, akivel csoportos közvetlen üzenetet hozhatnál létre." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "Nincsenek webhookok" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "Jelentések kihagyása" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "Saját üzemeltetésű mód" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "Saját üzemeltetésű mód felülbírálása" @@ -29020,7 +29025,7 @@ msgstr "Saját képernyőmegosztásom megjelenítése" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "Mutassam magam gépelés közben" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "Mutasd az eszközspecifikus hangerőszabályzókat a hangmenükben" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "Mutassa a profil időzóna beállításait (csak a rendszergazdák számára)" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "Külső linkre figyelmeztetés kihagyása minden domainhez" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "Kihagyja a hálózati hívást, amikor egy alkalmazáson belüli jelentés be van küldve. A folyamat továbbra is a sikeres képernyőre lép, így gyakorolhatja a felhasználói felületet, de valójában semmi sem kerül elküldésre a biztonsági csapatnak." @@ -29499,7 +29504,7 @@ msgstr "Szlovénia" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "Lassú mellékletfeltöltés" @@ -29516,28 +29521,28 @@ msgstr "Lassíts – várj egy pillanatot, mielőtt újra megpróbálnád." #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "Lassú üzenetszerkesztés" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "Lassú üzenetbetöltés" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "Lassú üzenetküldés" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "Lassú profilbetöltés" @@ -30330,7 +30335,7 @@ msgstr "Újrakezdés" msgid "Start recording" msgstr "Felvétel indítása" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "Kezdd a kereséseket az alábbiak szerint: <0>{peoplePrefix}, <1>{textChannelPrefix}, <2>{voiceChannelPrefix}, <3>{communityPrefix}, hogy szűkítsd az eredményeket." @@ -30591,6 +30596,11 @@ msgstr "Üzenetek és ismerősjelölések leállítása." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Állítsd le a Neko-t, hogy ne kövesse az egeret, miközben az továbbra is húzható és interaktív marad." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Állítsd le a Node.prototype insertBefore és removeChild metódusok patchelését. Az alkalmazás újra összeomlik, ha egy oldalfordító átcsoportosítja a React által még mindig birtokolt szöveges csomópontokat." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "Gépelés állapota" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "Felhasználói felület összetevői" diff --git a/fluxer_app/src/features/i18n/locales/id/messages.po b/fluxer_app/src/features/i18n/locales/id/messages.po index f691adc24..7994b12ec 100644 --- a/fluxer_app/src/features/i18n/locales/id/messages.po +++ b/fluxer_app/src/features/i18n/locales/id/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "Pengaturan aplikasi" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "Status aplikasi" @@ -4580,7 +4580,7 @@ msgstr "Sedang tidak di tempat" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "Dengan menggunakan {productName}, Anda menyetujui kebijakan yang diperba #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "Lewati kerangka pemuatan" @@ -9539,7 +9539,7 @@ msgstr "Buat peran" msgid "Create the administrator account" msgstr "Buat akun administrator" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "Buat DM grup dengan {addableCount} penerima yang tersisa dan lewati yang lain?" @@ -11271,6 +11271,11 @@ msgstr "Nonaktifkan pintasan" msgid "Disable sounds" msgstr "Nonaktifkan suara" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "Nonaktifkan pelindung DOM terjemahan" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "Ekspor tema" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "Tampilkan bagian zona waktu khusus staf di pengaturan profil." @@ -14182,7 +14187,7 @@ msgstr "Fitur dinonaktifkan sementara" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "Fitur" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "Paksa diaktifkan" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "Paksa pesan gagal dimuat" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "Paksa pengiriman pesan gagal" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "Paksa pemuatan pemilih GIF" @@ -14641,7 +14646,7 @@ msgstr "Paksa sembunyikan" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "Paksa memuat kerangka" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "Paksa tidak ada izin {permissionName}" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "Paksa peringatan data profil" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "Paksa kerangka profil" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "Paksa tampilkan" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "Paksa tampilkan penafian URL kustom" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "Paksa tampilkan koneksi suara" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "Paksa mode lambat aktif" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "Paksa jenis pesan tidak dikenal" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "Paksa pembaruan siap" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "Kesalahan jaringan" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "Jaringan dan performa" @@ -21565,7 +21570,7 @@ msgstr "Tidak ada alasan yang diberikan." msgid "No recent mentions" msgstr "Tidak ada sebutan terbaru" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "Tidak ada penerima tersisa untuk membuat DM grup." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "Tidak ada webhook" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "Laporan dalam aplikasi no-op" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "Mode di-hosting sendiri" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "Timpa mode di-hosting sendiri" @@ -29020,7 +29025,7 @@ msgstr "Tampilkan berbagi layar saya" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "Tampilkan saya mengetik" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "Tampilkan penggeser volume peserta per perangkat di menu suara" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "Tampilkan pengaturan zona waktu profil" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "Lewati peringatan tautan eksternal untuk semua domain" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "Lewati panggilan jaringan saat laporan dalam aplikasi dikirim. Alur tetap berlanjut ke layar sukses sehingga Anda dapat melatih UI, tetapi tidak ada yang benar-benar dikirim ke tim keamanan." @@ -29499,7 +29504,7 @@ msgstr "Slovenia" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "Unggah lampiran lambat" @@ -29516,28 +29521,28 @@ msgstr "Pelan-pelan — tunggu sebentar sebelum mencoba lagi." #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "Edit pesan lambat" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "Muat pesan lambat" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "Kirim pesan lambat" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "Muat profil lambat" @@ -30330,7 +30335,7 @@ msgstr "Mulai lagi" msgid "Start recording" msgstr "Mulai merekam" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "Mulai pencarian dengan <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} untuk mempersempit hasil." @@ -30591,6 +30596,11 @@ msgstr "Hentikan pesan dan permintaan pertemanan." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Hentikan Neko mengejar kursor Anda sambil tetap membuatnya dapat diseret dan interaktif." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Berhenti menambal Node.prototype insertBefore dan removeChild. Aplikasi akan kembali macet saat penerjemah halaman memindahkan ulang node teks yang masih dipegang React." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "Status mengetik" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "Komponen UI" diff --git a/fluxer_app/src/features/i18n/locales/it/messages.po b/fluxer_app/src/features/i18n/locales/it/messages.po index abbe3591b..8ee46d64a 100644 --- a/fluxer_app/src/features/i18n/locales/it/messages.po +++ b/fluxer_app/src/features/i18n/locales/it/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "Impostazioni app" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "Stato dell'app" @@ -4580,7 +4580,7 @@ msgstr "Assente in questo momento" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "Usando {productName}, accetti le norme aggiornate." #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "Ignora scheletro di caricamento" @@ -9539,7 +9539,7 @@ msgstr "Crea ruolo" msgid "Create the administrator account" msgstr "Crea l'account amministratore" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "Creare la chat di gruppo con i {addableCount} destinatari rimanenti e saltare gli altri?" @@ -11271,6 +11271,11 @@ msgstr "Disabilita scorciatoia" msgid "Disable sounds" msgstr "Disattiva suoni" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "Disabilita la protezione DOM del traduttore" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "Esporta temi" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "Mostra la sezione delle impostazioni del fuso orario riservata agli amministratori nel profilo." @@ -14182,7 +14187,7 @@ msgstr "Funzione temporaneamente disabilitata" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "Funzionalità" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "Forzato" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "Forza caricamento messaggi non riuscito" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "Forza l'invio di messaggi non riuscito" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "Forza caricamento selettore GIF" @@ -14641,7 +14646,7 @@ msgstr "Forza la chiusura" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "Forza caricamento scheletro" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "Forza nessun permesso {permissionName}" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "Forza avviso dati profilo" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "Forza scheletri profilo" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "Forza visualizzazione" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "Forza la visualizzazione dell'avviso sull'URL personalizzato" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "Forza visualizzazione connessione vocale" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "Modalità lenta forzata attiva" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "Forza tipo di messaggio sconosciuto" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "Forza aggiornamento pronto" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "Errore di rete" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "Rete e prestazioni" @@ -21565,7 +21570,7 @@ msgstr "Nessun motivo fornito." msgid "No recent mentions" msgstr "Nessuna menzione recente" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "Nessun altro destinatario con cui creare una chat di gruppo." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "Nessun webhook" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "Segnalazioni in-app no-op" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "Modalità self-hosted" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "Forza modalità self-hosted" @@ -29020,7 +29025,7 @@ msgstr "Mostra la mia condivisione schermo" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "Mostrami come se stessi digitando" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "Mostra i controlli del volume dei partecipanti per dispositivo nei menu vocali" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "Mostra le impostazioni del fuso orario del profilo (solo per il personale)" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "Salta l'avviso per i link esterni per tutti i domini" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "Salta la chiamata di rete quando viene inviata una segnalazione in-app. Il flusso avanza comunque alla schermata di successo, così puoi testare l'interfaccia utente, ma nulla viene effettivamente inviato al team di sicurezza." @@ -29499,7 +29504,7 @@ msgstr "Slovenia" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "Caricamento lento allegati" @@ -29516,28 +29521,28 @@ msgstr "Rallenta: attendi un momento prima di riprovare." #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "Modifica messaggio lenta" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "Caricamento lento dei messaggi" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "Invio lento dei messaggi" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "Caricamento lento del profilo" @@ -30330,7 +30335,7 @@ msgstr "Ricominciamo" msgid "Start recording" msgstr "Avvia registrazione" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "Inizia le ricerche con <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} per restringere i risultati." @@ -30591,6 +30596,11 @@ msgstr "Interrompi messaggi e richieste di amicizia." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Impedisci a Neko di inseguire il cursore, mantenendolo trascinabile e interattivo." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Smetti di applicare patch a Node.prototype insertBefore e removeChild. L'app si bloccherà di nuovo quando un traduttore di pagine riposizionerà i nodi di testo che React detiene ancora." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "Stato digitazione" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "Componenti dell'interfaccia utente" diff --git a/fluxer_app/src/features/i18n/locales/ja/messages.po b/fluxer_app/src/features/i18n/locales/ja/messages.po index 39929cc78..f90273d66 100644 --- a/fluxer_app/src/features/i18n/locales/ja/messages.po +++ b/fluxer_app/src/features/i18n/locales/ja/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "アプリ設定" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "アプリの状態" @@ -4580,7 +4580,7 @@ msgstr "現在離席中" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "{productName}のご利用により、更新されたポリシーに同 #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "ローディングスケルトンをバイパス" @@ -9539,7 +9539,7 @@ msgstr "ロールを作成" msgid "Create the administrator account" msgstr "管理者アカウントを作成" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "追加可能な{addableCount}人のメンバーでグループDMを作成し、他のメンバーはスキップしますか?" @@ -11271,6 +11271,11 @@ msgstr "ショートカットを無効にする" msgid "Disable sounds" msgstr "サウンドをオフにする" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "翻訳DOMガードを無効にする" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "テーマをエクスポート" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "プロフィール設定で、スタッフ専用のタイムゾーンセクションを表示します。" @@ -14182,7 +14187,7 @@ msgstr "この機能は一時的に利用できません" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "機能" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "強制的に有効" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "メッセージの読み込み失敗を強制する" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "メッセージ送信の失敗を強制する" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "GIFピッカーの読み込みを強制する" @@ -14641,7 +14646,7 @@ msgstr "強制的に非表示" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "スケルトンの強制読み込み" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "{permissionName}の権限がない状態を強制する" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "プロフィールデータの警告を強制表示" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "プロフィールスケルトンを強制" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "強制的に表示" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "カスタムURLの免責事項を常に表示" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "音声接続を強制的に表示" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "スローモードを強制的に有効にする" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "不明なメッセージタイプを強制する" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "アップデートの準備完了を強制" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "ネットワークエラー" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "ネットワークとパフォーマンス" @@ -21565,7 +21570,7 @@ msgstr "理由が入力されていません。" msgid "No recent mentions" msgstr "最近のメンションはありません" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "グループDMを作成できる相手がいません。" @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "ウェブフックなし" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "アプリ内レポートを無効化" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "セルフホストモード" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "セルフホストモードを強制" @@ -29020,7 +29025,7 @@ msgstr "自分の画面共有を表示" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "自分を「入力中」と表示" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "デバイスごとの参加者の音量スライダーを音声メニューに表示" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "プロファイル設定で、スタッフ専用のプロファイルタイムゾーンセクションを表示します" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "すべてのドメインで外部リンクの警告をスキップ" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "アプリ内レポートが送信されてもネットワーク呼び出しをスキップします。フローは成功画面に進むためUIを試すことはできますが、実際には安全チームには何も送信されません。" @@ -29499,7 +29504,7 @@ msgstr "スロベニア" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "添付ファイルのアップロードを低速化" @@ -29516,28 +29521,28 @@ msgstr "落ち着いてください。しばらく待ってからもう一度お #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "メッセージ編集を低速化" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "メッセージの読み込みを遅くする" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "メッセージ送信を遅くする" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "プロフィールの読み込みを遅くする" @@ -30330,7 +30335,7 @@ msgstr "最初からやり直す" msgid "Start recording" msgstr "録音を開始" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "検索を始めるには、<0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} を使用して、結果を絞り込みます。" @@ -30591,6 +30596,11 @@ msgstr "メッセージと友達リクエストを停止." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "カーソルをドラッグ可能かつインタラクティブなまま、ネコがカーソルを追いかけるのを止めます。" +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Node.prototype の insertBefore と removeChild のパッチを停止します。ページ翻訳者が React がまだ保持しているテキストノードを再親子化すると、アプリは再びクラッシュします。" + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "入力中" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "UIコンポーネント" diff --git a/fluxer_app/src/features/i18n/locales/ko/messages.po b/fluxer_app/src/features/i18n/locales/ko/messages.po index 33b90e367..814ed6c9c 100644 --- a/fluxer_app/src/features/i18n/locales/ko/messages.po +++ b/fluxer_app/src/features/i18n/locales/ko/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "앱 설정" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "앱 상태" @@ -4580,7 +4580,7 @@ msgstr "지금은 부재중" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "{productName}을(를) 이용하면 업데이트된 정책에 동의하 #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "로딩 스켈레톤 건너뛰기" @@ -9539,7 +9539,7 @@ msgstr "역할 만들기" msgid "Create the administrator account" msgstr "관리자 계정 만들기" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "추가 가능한 친구 {addableCount}명으로 그룹 DM을 만들고, 나머지는 건너뛸까요?" @@ -11271,6 +11271,11 @@ msgstr "단축키 비활성화" msgid "Disable sounds" msgstr "소리 끄기" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "번역 DOM 가드 비활성화" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "테마 내보내기" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "프로필 설정에서 직원 전용 시간대 섹션을 표시합니다." @@ -14182,7 +14187,7 @@ msgstr "일시적으로 비활성화된 기능" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "기능" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "강제 활성화됨" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "메시지 로드 실패 강제 실행" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "메시지 전송 실패 강제 실행" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "GIF 선택기 로딩 강제 실행" @@ -14641,7 +14646,7 @@ msgstr "강제 숨기기" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "스켈레톤 강제 로드" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "{permissionName} 권한 없음 강제 적용" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "프로필 데이터 경고 강제 표시" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "프로필 스켈레톤 강제 적용" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "강제로 표시" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "꾸밈 URL 고지 사항 강제 표시" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "음성 연결 강제 표시" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "슬로우 모드 강제 활성화" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "알 수 없는 메시지 유형 강제 적용" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "업데이트 준비 강제 실행" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "네트워크 오류" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "네트워킹 및 성능" @@ -21565,7 +21570,7 @@ msgstr "사유가 제공되지 않았습니다." msgid "No recent mentions" msgstr "최근 멘션 없음" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "그룹 DM을 만들 수 있는 수신자가 없습니다." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "웹훅 없음" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "앱 내 신고 무효화" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "자체 호스팅 모드" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "자체 호스팅 모드 재정의" @@ -29020,7 +29025,7 @@ msgstr "내 화면 공유 표시" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "내가 입력 중으로 표시" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "음성 메뉴에서 기기별 참가자 볼륨 슬라이더 표시" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "프로필 설정에서 직원 전용 프로필 시간대 섹션을 표시합니다" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "모든 도메인에서 외부 링크 경고 건너뛰기" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "앱 내 신고 제출 시 네트워크 호출을 건너뜁니다. UI를 테스트할 수 있도록 성공 화면으로 계속 진행되지만, 안전팀에는 아무것도 전송되지 않습니다." @@ -29499,7 +29504,7 @@ msgstr "슬로베니아" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "첨부 파일 업로드 속도 저하" @@ -29516,28 +29521,28 @@ msgstr "속도를 늦춰주세요. 잠시 후 다시 시도해 주세요." #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "메시지 편집 속도 저하" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "메시지 로드 속도 저하" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "메시지 전송 속도 저하" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "느린 프로필 로드" @@ -30330,7 +30335,7 @@ msgstr "다시 시작" msgid "Start recording" msgstr "녹음 시작" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "검색을 시작할 때 <0>{peoplePrefix}, <1>{textChannelPrefix}, <2>{voiceChannelPrefix}, <3>{communityPrefix}을 사용하여 검색 범위를 좁힐 수 있습니다." @@ -30591,6 +30596,11 @@ msgstr "메시지 및 친구 요청 중단." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Neko가 커서를 따라다니지 않도록 하면서도 드래그 및 상호작용은 유지합니다." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Node.prototype insertBefore 및 removeChild 패치를 중지합니다. React가 여전히 보유하고 있는 텍스트 노드를 페이지 번역기가 다시 부모로 지정하면 앱이 다시 충돌합니다." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "입력 상태" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "UI 구성 요소" diff --git a/fluxer_app/src/features/i18n/locales/lt/messages.po b/fluxer_app/src/features/i18n/locales/lt/messages.po index f25266aa8..9f891e8d3 100644 --- a/fluxer_app/src/features/i18n/locales/lt/messages.po +++ b/fluxer_app/src/features/i18n/locales/lt/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "Programos nustatymai" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "Programos būsena" @@ -4580,7 +4580,7 @@ msgstr "Šiuo metu nesu prie kompiuterio" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "Naudodami „{productName}\", sutinkate su atnaujintomis taisyklėmis." #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "Praleisti pakrovimo skeletą" @@ -9539,7 +9539,7 @@ msgstr "Kurti vaidmenį" msgid "Create the administrator account" msgstr "Sukurti administratoriaus paskyrą" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "Sukurti grupės tiesioginį pranešimą su likusiu (-iais) {addableCount} gavėju (-ais) ir praleisti kitus?" @@ -11271,6 +11271,11 @@ msgstr "Išjungti nuorodą" msgid "Disable sounds" msgstr "Išjungti garsus" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "Apsaugos nuo DOM vertimo išjungimas" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "Eksportuoti temas" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "Rodyti personalo skirtą laiko juostos skyrių profilio nustatymuose." @@ -14182,7 +14187,7 @@ msgstr "Funkcija laikinai išjungta" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "Funkcijos" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "Priverstinai įjungta" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "Priverstinai įkelti nepavykusius pranešimus" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "Priverstinai siųsti nepavykusius pranešimus" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "Priverstinai įkelti GIF parinkiklį" @@ -14641,7 +14646,7 @@ msgstr "Priverstinai slėpti" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "Priverstinis skeletų įkėlimas" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "Priverstinai netaikyti {permissionName} leidimo" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "Visada rodyti profilio duomenų įspėjimą" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "Priverstiniai profilio griaučiai" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "Priverstinai rodyti" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "Visada rodyti pasirinktinio URL atsisakymą" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "Visada rodyti balso ryšį" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "Priverstinai įjungti lėtąjį režimą" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "Priverstinai nustatyti nežinomą pranešimo tipą" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "Priverstinai paruošti naujinimą" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "Tinklo klaida" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "Tinklas ir našumas" @@ -21565,7 +21570,7 @@ msgstr "Nenurodyta priežastis." msgid "No recent mentions" msgstr "Nėra naujų paminėjimų" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "Nebėra gavėjų, su kuriais būtų galima sukurti grupės tiesioginį pranešimą." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "Nėra \"webhook\" nuorodų" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "Ataskaitos programoje be operacijos" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "Savarankiškai priglobtas režimas" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "Savęs talpinimo režimo nepaisymas" @@ -29020,7 +29025,7 @@ msgstr "Rodyti mano ekrano bendrinimą" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "Rodyti, kad rašau" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "Rodyti dalyvių garsumo slankiklius balsiniuose meniu kiekvienam įrenginiui" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "Rodyti profilio laiko zonos nustatymus" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "Praleisti išorinių nuorodų įspėjimą visiems domenams" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "Praleisti tinklo iškvietimą, kai pateikiama ataskaita programoje. Srautas vis tiek pereina prie sėkmės ekrano, kad galėtumėte išbandyti vartotojo sąsają, bet nieko iš tikrųjų nesiunčiama saugos komandai." @@ -29499,7 +29504,7 @@ msgstr "Slovėnija" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "Lėtas priedų įkėlimas" @@ -29516,28 +29521,28 @@ msgstr "Sulėtinkite tempą – prieš bandydami dar kartą palaukite." #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "Lėtas pranešimo redagavimas" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "Lėtas pranešimų įkėlimas" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "Lėtas žinučių siuntimas" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "Lėtas profilio įkėlimas" @@ -30330,7 +30335,7 @@ msgstr "Pradėti iš naujo" msgid "Start recording" msgstr "Pradėti įrašymą" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "Pradėkite paieškas nuo <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix}, kad susiaurintumėte paieškos rezultatus." @@ -30591,6 +30596,11 @@ msgstr "Stabdyti žinutes ir draugų užklausas." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Sustabdykite Neko nuo jūsų žymeklio vaikymosi, bet palikite jį vilkamą ir interaktyvų." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Nustoti taisyti Node.prototype insertBefore ir removeChild. Programa vėl suges, kai puslapio vertėjas perkels teksto mazgus, kuriuos React vis dar laiko." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "Rašymo būsena" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "UI komponentai" diff --git a/fluxer_app/src/features/i18n/locales/nl/messages.po b/fluxer_app/src/features/i18n/locales/nl/messages.po index e3a6d94a5..525facb15 100644 --- a/fluxer_app/src/features/i18n/locales/nl/messages.po +++ b/fluxer_app/src/features/i18n/locales/nl/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "App-instellingen" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "Appstatus" @@ -4580,7 +4580,7 @@ msgstr "Nu afwezig" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "Door {productName} te gebruiken, ga je akkoord met het bijgewerkte belei #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "Laad-skelet omzeilen" @@ -9539,7 +9539,7 @@ msgstr "Rol aanmaken" msgid "Create the administrator account" msgstr "Maak het beheerdersaccount aan" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "Groeps-DM aanmaken met de overige {addableCount} ontvanger(s) en de anderen overslaan?" @@ -11271,6 +11271,11 @@ msgstr "Sneltoets uitschakelen" msgid "Disable sounds" msgstr "Geluiden uitschakelen" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "DOM-vertalingsbeveiliging uitschakelen" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "Thema's exporteren" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "Toon de tijdzone-instellingen voor beheerders in het profiel." @@ -14182,7 +14187,7 @@ msgstr "Functie tijdelijk uitgeschakeld" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "Functies" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "Geforceerd ingeschakeld" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "Berichtladen forceren mislukken" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "Mislukte berichtverzendingen forceren" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "Laden van GIF-kiezer forceren" @@ -14641,7 +14646,7 @@ msgstr "Verbergen forceren" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "Geforceerd laden skelet" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "Forceer geen {permissionName}-toestemming" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "Profielgegevenswaarschuwing forceren" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "Profielskeletons forceren" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "Tonen forceren" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "Disclaimer voor vanity-URL altijd tonen" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "Spraakverbinding altijd weergeven forceren" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "Slowmode forceren" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "Onbekend berichttype forceren" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "Update forceren (gereed)" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "Netwerkfout" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "Netwerk en prestaties" @@ -21565,7 +21570,7 @@ msgstr "Geen reden opgegeven." msgid "No recent mentions" msgstr "Geen recente vermeldingen" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "Geen ontvangers meer om een groeps-DM mee te starten." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "Geen webhooks" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "In-app-rapporten overslaan" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "Zelf-gehoste modus" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "Overschrijving zelf-gehoste modus" @@ -29020,7 +29025,7 @@ msgstr "Mijn scherm delen tonen" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "Toon mezelf als typend" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "Laat volumeregelaars per apparaat zien in stemmenu's" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "Toon instellingen voor tijdzone in profiel (alleen voor beheerders)" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "Externe linkwaarschuwing overslaan voor alle domeinen" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "Sla de netwerkoproep over wanneer een in-app rapport wordt ingediend. De flow gaat nog steeds door naar het succes scherm, zodat je de UI kunt testen, maar er wordt niets naar het veiligheidsteam gestuurd." @@ -29499,7 +29504,7 @@ msgstr "Slovenië" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "Trage bijlage-upload" @@ -29516,28 +29521,28 @@ msgstr "Rustig aan — wacht even voordat je het opnieuw probeert." #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "Trage bewerking van bericht" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "Trage berichtlading" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "Berichten langzaam verzenden" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "Langzaam profiel laden" @@ -30330,7 +30335,7 @@ msgstr "Opnieuw beginnen" msgid "Start recording" msgstr "Opname starten" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "Begin zoekopdrachten met <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} om de resultaten te verfijnen." @@ -30591,6 +30596,11 @@ msgstr "Berichten en vriendschapsverzoeken stoppen." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Stop Neko met het najagen van je cursor, terwijl deze wel verplaatsbaar en interactief blijft." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Stop met het patchen van Node.prototype insertBefore en removeChild. De app crasht opnieuw wanneer een paginavertaal de tekstnodes opnieuw ouder maakt waar React nog steeds naar verwijst." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "Typstatus" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "UI-componenten" diff --git a/fluxer_app/src/features/i18n/locales/no/messages.po b/fluxer_app/src/features/i18n/locales/no/messages.po index 6095f6344..4678f7aa8 100644 --- a/fluxer_app/src/features/i18n/locales/no/messages.po +++ b/fluxer_app/src/features/i18n/locales/no/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "Appinnstillinger" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "Apptilstand" @@ -4580,7 +4580,7 @@ msgstr "Borte akkurat nå" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "Ved å bruke {productName} godtar du de oppdaterte retningslinjene." #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "Omgå lasteskjelett" @@ -9539,7 +9539,7 @@ msgstr "Opprett rolle" msgid "Create the administrator account" msgstr "Opprett administratorkontoen" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "Opprette gruppe-DM med de {addableCount} gjenværende mottakerne og hoppe over de andre?" @@ -11271,6 +11271,11 @@ msgstr "Deaktiver snarvei" msgid "Disable sounds" msgstr "Slå av lyder" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "Deaktiver oversetter-DOM-vakt" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "Eksporter temaer" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "Vis tidszoneseksjonen som kun er tilgjengelig for ansatte i profilinnstillingene." @@ -14182,7 +14187,7 @@ msgstr "Funksjonen er midlertidig deaktivert" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "Funksjoner" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "Tvangsaktivert" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "Fremtving mislykkede meldingsinnlastinger" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "Fremtving mislykkede meldingssendinger" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "Tving lasting av GIF-velger" @@ -14641,7 +14646,7 @@ msgstr "Tving frem skjul" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "Tving lasting av skjelett" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "Tving ingen {permissionName}-tillatelse" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "Tving advarsel om profildata" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "Tving profilskjeletter" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "Tving frem visning" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "Tving frem visning av ansvarsfraskrivelse for tilpasset URL" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "Vis alltid taletilkobling" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "Tving sakte modus aktiv" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "Tving ukjent meldingstype" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "Tving frem klar oppdatering" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "Nettverksfeil" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "Nettverk og ytelse" @@ -21565,7 +21570,7 @@ msgstr "Ingen grunn ble oppgitt." msgid "No recent mentions" msgstr "Ingen nylige omtaler" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "Ingen gjenværende mottakere å opprette en gruppe-DM med." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "Ingen webhooks" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "Ikke-operativ rapportering i appen" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "Selvhostet modus" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "Tving selvbetjent modus" @@ -29020,7 +29025,7 @@ msgstr "Vis skjermdelingen min" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "Vis meg selv som skriver" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "Vis volumkontroller for deltakere per enhet i stemmemenyer" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "Vis innstillinger for tidssone i profil" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "Hopp over advarsel om ekstern lenke for alle domener" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "Hopper over nettverkskallet når en rapport i appen sendes inn. Flyten går fortsatt videre til suksess-skjermen slik at du kan teste brukergrensesnittet, men ingenting sendes faktisk til sikkerhetsteamet." @@ -29499,7 +29504,7 @@ msgstr "Slovenia" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "Treg opplasting av vedlegg" @@ -29516,28 +29521,28 @@ msgstr "Sakte ned – vent et øyeblikk før du prøver igjen." #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "Treg meldingsredigering" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "Treg meldingsinnlasting" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "Send meldinger sakte" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "Treg profilinnlasting" @@ -30330,7 +30335,7 @@ msgstr "Start på nytt" msgid "Start recording" msgstr "Start opptak" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "Start søk med <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} for å begrense resultatene." @@ -30591,6 +30596,11 @@ msgstr "Stopp meldinger og venneforespørsler." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Stopp Neko fra å jage musepekeren din, samtidig som den forblir dra- og klikkbar." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Slutt å patche Node.prototype insertBefore og removeChild. Appen vil krasje igjen når en sidestøtte overordner tekstnoder som React fortsatt holder." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "Skrivestatus" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "UI-komponenter" diff --git a/fluxer_app/src/features/i18n/locales/pl/messages.po b/fluxer_app/src/features/i18n/locales/pl/messages.po index cf37754a3..e20ae9d4c 100644 --- a/fluxer_app/src/features/i18n/locales/pl/messages.po +++ b/fluxer_app/src/features/i18n/locales/pl/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "Ustawienia aplikacji" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "Stan aplikacji" @@ -4580,7 +4580,7 @@ msgstr "Teraz jestem niedostępny(-a)" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "Korzystając z {productName}, akceptujesz zaktualizowane zasady." #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "Pomiń szkielet ładowania" @@ -9539,7 +9539,7 @@ msgstr "Utwórz rolę" msgid "Create the administrator account" msgstr "Utwórz konto administratora" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "Utworzyć czat grupowy z pozostałymi {addableCount} osobami, a pominąć resztę?" @@ -11271,6 +11271,11 @@ msgstr "Wyłącz skrót" msgid "Disable sounds" msgstr "Wyłącz dźwięki" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "Wyłącz ochronę DOM tłumacza" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "Eksportuj motywy" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "Udostępnij sekcję ustawień strefy czasowej tylko dla pracowników." @@ -14182,7 +14187,7 @@ msgstr "Funkcja tymczasowo wyłączona" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "Funkcje" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "Wymuszone włączenie" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "Wymuś nieudane ładowanie wiadomości" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "Wymuś nieudane wysyłanie wiadomości" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "Wymuś ładowanie selektora GIF-ów" @@ -14641,7 +14646,7 @@ msgstr "Wymuś ukrycie" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "Wymuś ładowanie szkieletu" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "Wymuś brak uprawnienia {permissionName}" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "Wymuś ostrzeżenie o danych profilu" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "Wymuś szkielety profilu" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "Wymuś pokazanie" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "Wymuś wyświetlanie zastrzeżenia dotyczącego niestandardowego adresu URL" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "Wymuś wyświetlanie połączenia głosowego" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "Wymuś aktywny tryb slowmode" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "Wymuś nieznany typ wiadomości" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "Wymuś gotowość aktualizacji" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "Błąd sieci" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "Sieć i wydajność" @@ -21565,7 +21570,7 @@ msgstr "Nie podano powodu." msgid "No recent mentions" msgstr "Brak ostatnich wzmianek" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "Brak pozostałych odbiorców, z którymi można utworzyć grupową wiadomość." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "Brak webhooków" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "Wyłącz zgłoszenia w aplikacji" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "Tryb samodzielnego hostowania" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "Wymuś tryb samodzielnego hostowania" @@ -29020,7 +29025,7 @@ msgstr "Pokaż mój udostępniony ekran" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "Pokaż, że piszę" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "Pokaż suwaki głośności uczestników dla poszczególnych urządzeń w menu głosowych" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "Pokaż sekcję strefy czasowej w ustawieniach profilu (opcja dla administratorów)" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "Pomiń ostrzeżenie o linkach zewnętrznych dla wszystkich domen" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "Pomiń wywołanie sieciowe po przesłaniu zgłoszenia w aplikacji. Przepływ nadal przechodzi do ekranu sukcesu, dzięki czemu możesz ćwiczyć interfejs użytkownika, ale nic nie jest faktycznie wysyłane do zespołu bezpieczeństwa." @@ -29499,7 +29504,7 @@ msgstr "Słowenia" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "Wolne wysyłanie załączników" @@ -29516,28 +29521,28 @@ msgstr "Zwolnij — poczekaj chwilę, zanim spróbujesz ponownie." #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "Wolna edycja wiadomości" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "Wolne ładowanie wiadomości" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "Wolne wysyłanie wiadomości" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "Wolne ładowanie profilu" @@ -30330,7 +30335,7 @@ msgstr "Zacznij od nowa" msgid "Start recording" msgstr "Rozpocznij nagrywanie" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "Zacznij wyszukiwanie od <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix}, aby zawęzić wyniki." @@ -30591,6 +30596,11 @@ msgstr "Zatrzymaj wiadomości i zaproszenia do znajomych." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Zatrzymaj Neko przed gonieniem kursora, jednocześnie pozwalając na jego przeciąganie i interakcję." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Przestań łatać Node.prototype insertBefore i removeChild. Aplikacja ponownie się zawiesi, gdy tłumacz stron zmieni kolejność węzłów tekstowych, które React nadal przechowuje." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "Status pisania" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "Komponenty interfejsu" 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 acc049745..caa7343ca 100644 --- a/fluxer_app/src/features/i18n/locales/pt-BR/messages.po +++ b/fluxer_app/src/features/i18n/locales/pt-BR/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "Configurações do aplicativo" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "Estado do aplicativo" @@ -4580,7 +4580,7 @@ msgstr "Ausente no momento" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "Ao usar o {productName}, você concorda com as políticas atualizadas." #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "Ignorar esqueleto de carregamento" @@ -9539,7 +9539,7 @@ msgstr "Criar função" msgid "Create the administrator account" msgstr "Criar a conta de administrador" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "Criar o grupo de DM com {addableCount} destinatário(s) restante(s) e pular os outros?" @@ -11271,6 +11271,11 @@ msgstr "Desativar atalho" msgid "Disable sounds" msgstr "Desativar sons" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "Desativar proteção contra travamento do DOM do tradutor" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "Exportar temas" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "Mostrar a seção de fuso horário acessível apenas para funcionários nas configurações do perfil." @@ -14182,7 +14187,7 @@ msgstr "Recurso temporariamente desativado" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "Recursos" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "Ativado à força" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "Forçar falha no carregamento de mensagens" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "Forçar falha no envio de mensagens" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "Forçar carregamento do seletor de GIFs" @@ -14641,7 +14646,7 @@ msgstr "Forçar ocultar" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "Forçar carregamento do esqueleto" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "Forçar sem a permissão {permissionName}" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "Forçar aviso de dados do perfil" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "Forçar esqueletos de perfil" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "Forçar exibição" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "Forçar exibição do aviso de URL personalizada" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "Forçar exibição da conexão de voz" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "Forçar modo lento ativo" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "Forçar tipo de mensagem desconhecido" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "Forçar atualização pronta" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "Erro de rede" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "Rede e desempenho" @@ -21565,7 +21570,7 @@ msgstr "Nenhum motivo foi informado." msgid "No recent mentions" msgstr "Nenhuma menção recente" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "Não há mais destinatários para criar um grupo de DM." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "Nenhum webhook" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "Relatórios no app sem operação" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "Modo auto-hospedado" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "Substituir modo auto-hospedado" @@ -29020,7 +29025,7 @@ msgstr "Mostrar minha tela" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "Mostrar que estou digitando" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "Mostrar controles deslizantes de volume por participante por dispositivo nos menus de voz" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "Mostrar configurações de fuso horário do perfil" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "Pular o aviso de link externo para todos os domínios" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "Pula a chamada de rede quando um relatório no aplicativo é enviado. O fluxo ainda avança para a tela de sucesso para que você possa testar a interface, mas nada é realmente enviado para a equipe de segurança." @@ -29499,7 +29504,7 @@ msgstr "Eslovênia" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "Upload lento de anexo" @@ -29516,28 +29521,28 @@ msgstr "Vá com calma — espere um momento antes de tentar novamente." #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "Edição lenta de mensagem" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "Carregamento lento de mensagens" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "Envio lento de mensagens" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "Carregamento lento de perfil" @@ -30330,7 +30335,7 @@ msgstr "Começar de novo" msgid "Start recording" msgstr "Iniciar gravação" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "Comece as pesquisas com <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} para refinar os resultados." @@ -30591,6 +30596,11 @@ msgstr "Parar mensagens e pedidos de amizade." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Impede que o Neko persiga seu cursor, mantendo-o arrastável e interativo." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Parar de aplicar patches em Node.prototype insertBefore e removeChild. O app vai travar novamente quando um tradutor de página reparentar nós de texto que o React ainda mantém." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "Digitando" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "Componentes da interface" diff --git a/fluxer_app/src/features/i18n/locales/ro/messages.po b/fluxer_app/src/features/i18n/locales/ro/messages.po index 2335b55e7..bef3cfef0 100644 --- a/fluxer_app/src/features/i18n/locales/ro/messages.po +++ b/fluxer_app/src/features/i18n/locales/ro/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "Setări aplicație" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "Stare aplicație" @@ -4580,7 +4580,7 @@ msgstr "Plecat(ă) acum" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "Prin utilizarea {productName}, ești de acord cu politicile actualizate. #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "Ignorare schelet de încărcare" @@ -9539,7 +9539,7 @@ msgstr "Creează rol" msgid "Create the administrator account" msgstr "Creează contul de administrator" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "Creezi grupul de chat cu ceilalți {addableCount} destinatari și îi omiți pe ceilalți?" @@ -11271,6 +11271,11 @@ msgstr "Dezactivează scurtătura" msgid "Disable sounds" msgstr "Dezactivează sunetele" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "Dezactivează protecția DOM pentru traducere" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "Exportă teme" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "Afișează secțiunea cu setările de fus orar disponibile doar pentru personal." @@ -14182,7 +14187,7 @@ msgstr "Funcție dezactivată temporar" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "Funcționalități" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "Forțat activat" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "Forțează eșecul încărcării mesajelor" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "Forțează eșecul trimiterii mesajelor" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "Forțează încărcarea selectorului GIF" @@ -14641,7 +14646,7 @@ msgstr "Forțează ascunderea" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "Forțare încărcare schelet" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "Forțează fără permisiunea {permissionName}" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "Forțează avertismentul privind datele de profil" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "Forțează scheletele de profil" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "Afișare forțată" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "Forțează afișarea avertismentului privind URL-ul personalizat" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "Forțează afișarea conexiunii vocale" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "Forțează modul lent activ" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "Forțează tipul de mesaj necunoscut" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "Forțează actualizarea disponibilă" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "Eroare de rețea" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "Rețea și performanță" @@ -21565,7 +21570,7 @@ msgstr "Nu a fost furnizat niciun motiv." msgid "No recent mentions" msgstr "Fără mențiuni recente" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "Nu mai sunt destinatari pentru a crea un grup de mesaje directe." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "Niciun webhook" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "Rapoarte în aplicație fără operație" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "Mod auto-găzduit" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "Suprascriere mod auto-găzduit" @@ -29020,7 +29025,7 @@ msgstr "Afișează ecranul meu" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "Arată-mă că tastez" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "Afișează glisoare de volum pentru participanți pe dispozitiv în meniurile vocale" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "Afișează setările pentru fusul orar al profilului (disponibil doar pentru personal)" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "Omitere avertisment link extern pentru toate domeniile" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "Omiterea apelului de rețea la trimiterea unui raport în aplicație. Fluxul avansează în continuare la ecranul de succes, astfel încât să poți exersa interfața de utilizare, dar nimic nu este trimis echipei de siguranță." @@ -29499,7 +29504,7 @@ msgstr "Slovenia" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "Încărcare lentă atașament" @@ -29516,28 +29521,28 @@ msgstr "Mai încet — așteaptă un moment înainte de a încerca din nou." #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "Editare lentă mesaj" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "Încărcare lentă mesaje" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "Trimitere lentă mesaje" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "Încărcare lentă profil" @@ -30330,7 +30335,7 @@ msgstr "Ia-o de la capăt" msgid "Start recording" msgstr "Începe înregistrarea" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "Începeți căutările cu <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} pentru a restrânge rezultatele." @@ -30591,6 +30596,11 @@ msgstr "Oprește mesajele și cererile de prietenie." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Oprește-l pe Neko să-ți urmărească cursorul, păstrându-l în același timp trasabil și interactiv." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Oprește patch-urile pentru Node.prototype insertBefore și removeChild. Aplicația se va bloca din nou când un traducător de pagină va re-părinți noduri de text pe care React încă le deține." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "Stare tastare" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "Componente UI" diff --git a/fluxer_app/src/features/i18n/locales/ru/messages.po b/fluxer_app/src/features/i18n/locales/ru/messages.po index 9da2df13e..07fb553a7 100644 --- a/fluxer_app/src/features/i18n/locales/ru/messages.po +++ b/fluxer_app/src/features/i18n/locales/ru/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "Настройки приложения" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "Состояние приложения" @@ -4580,7 +4580,7 @@ msgstr "Сейчас нет на месте" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "Используя {productName}, вы соглашаетесь с об #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "Пропустить скелет загрузки" @@ -9539,7 +9539,7 @@ msgstr "Создать роль" msgid "Create the administrator account" msgstr "Создайте учетную запись администратора" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "Создать групповой чат с оставшимися {addableCount} участниками, пропустив остальных?" @@ -11271,6 +11271,11 @@ msgstr "Отключить сочетание клавиш" msgid "Disable sounds" msgstr "Отключить звуки" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "Отключить защиту DOM от переводчика" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "Экспорт тем" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "Показывать раздел с настройками часового пояса, доступный только сотрудникам." @@ -14182,7 +14187,7 @@ msgstr "Функция временно отключена" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "Функции" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "Принудительно включено" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "Принудительная загрузка неудачных сообщений" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "Принудительно сбойные отправки сообщений" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "Принудительная загрузка GIF-стикеров" @@ -14641,7 +14646,7 @@ msgstr "Принудительно скрыть" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "Принудительная загрузка скелета" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "Принудительно отключить разрешение «{permissionName}»" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "Всегда показывать предупреждение о данных профиля" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "Принудительно показывать скелеты профилей" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "Принудительно показать" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "Всегда показывать отказ от ответственности для пользовательских URL" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "Принудительно показывать голосовое подключение" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "Принудительно включить медленный режим" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "Принудительно неизвестный тип сообщения" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "Принудительное обновление готово" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "Ошибка сети" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "Сеть и производительность" @@ -21565,7 +21570,7 @@ msgstr "Причина не указана." msgid "No recent mentions" msgstr "Нет недавних упоминаний" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "Не осталось получателей для создания группового чата." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "Вебхуков нет" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "Отчеты в приложении без операций" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "Режим самостоятельного хостинга" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "Принудительный режим самостоятельного размещения" @@ -29020,7 +29025,7 @@ msgstr "Показывать мой экран" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "Показывать, что я печатаю" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "Показывать ползунки громкости участников для каждого устройства в голосовых меню" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "Показать настройки часового пояса в профиле" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "Пропускать предупреждение о внешних ссылках для всех доменов" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "Пропускать сетевой вызов при отправке отчёта в приложении. Процесс всё равно переходит на экран успешной отправки, чтобы вы могли протестировать интерфейс, но ничего не отправляется команде безопасности." @@ -29499,7 +29504,7 @@ msgstr "Словения" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "Медленная загрузка вложений" @@ -29516,28 +29521,28 @@ msgstr "Притормозите — подождите немного, преж #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "Медленное редактирование сообщений" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "Медленная загрузка сообщений" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "Медленная отправка сообщений" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "Медленная загрузка профиля" @@ -30330,7 +30335,7 @@ msgstr "Начать сначала" msgid "Start recording" msgstr "Начать запись" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "Начните поиск с <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix}, чтобы сузить область поиска." @@ -30591,6 +30596,11 @@ msgstr "Остановить сообщения и запросы на доба msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Запретить Неко преследовать курсор, но оставить его перетаскиваемым и интерактивным." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Прекратить патчить Node.prototype insertBefore и removeChild. Приложение снова упадет, когда переводчик страниц перепривяжет текстовые узлы, которые React все еще удерживает." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "Статус набора сообщения" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "Компоненты интерфейса" 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 3e656cbc1..72ab5c9d9 100644 --- a/fluxer_app/src/features/i18n/locales/sv-SE/messages.po +++ b/fluxer_app/src/features/i18n/locales/sv-SE/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "Appinställningar" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "Appstatus" @@ -4580,7 +4580,7 @@ msgstr "Borta just nu" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "Genom att använda {productName} godkänner du de uppdaterade policyerna #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "Hoppa över laddningsskelett" @@ -9539,7 +9539,7 @@ msgstr "Skapa roll" msgid "Create the administrator account" msgstr "Skapa administratörskontot" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "Skapa gruppmeddelandet med de återstående {addableCount} mottagarna och hoppa över de andra?" @@ -11271,6 +11271,11 @@ msgstr "Inaktivera genväg" msgid "Disable sounds" msgstr "Stäng av ljud" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "Inaktivera DOM-skydd för översättning" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "Exportera teman" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "Visa tidszonsinställningarna för personal i profilinställningarna." @@ -14182,7 +14187,7 @@ msgstr "Funktionen är tillfälligt inaktiverad" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "Funktioner" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "Tvinga aktivering" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "Tvinga misslyckade meddelandeladdningar" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "Tvinga misslyckade meddelanden" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "Tvinga laddning av GIF-väljare" @@ -14641,7 +14646,7 @@ msgstr "Tvinga dölj" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "Tvinga laddning av skelett" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "Tvinga ingen behörighet för {permissionName}" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "Tvinga fram varning för profildata" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "Tvinga profilskelett" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "Visa alltid" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "Tvinga fram visning av friskrivning för anpassad URL" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "Visa röstanslutning alltid" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "Tvinga långsamt läge aktivt" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "Tvinga okänd meddelandetyp" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "Tvinga fram uppdatering redo" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "Nätverksfel" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "Nätverk och prestanda" @@ -21565,7 +21570,7 @@ msgstr "Ingen anledning angavs." msgid "No recent mentions" msgstr "Inga omnämnanden nyligen" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "Inga återstående mottagare att skapa en gruppchatt med." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "Inga webhooks" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "Inaktivera rapporter i appen" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "Självhostat läge" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "Åsidosätt egenvärdsläge" @@ -29020,7 +29025,7 @@ msgstr "Visa min skärmdelning" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "Visa mig själv som skriver" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "Visa volymreglage för deltagare per enhet i röstmenyer" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "Visa inställningar för profilens tidszon" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "Hoppa över varningen för externa länkar för alla domäner" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "Hoppa över nätverksanropet när en rapport i appen skickas. Flödet går fortfarande vidare till skärmen för lyckad åtgärd så att du kan öva på gränssnittet, men inget skickas faktiskt till säkerhetsteamet." @@ -29499,7 +29504,7 @@ msgstr "Slovenien" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "Långsam bilageuppladdning" @@ -29516,28 +29521,28 @@ msgstr "Sakta ner – vänta ett ögonblick innan du försöker igen." #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "Långsam meddelanderedigering" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "Långsam inläsning av meddelanden" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "Långsam meddelandesändning" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "Långsam profilinläsning" @@ -30330,7 +30335,7 @@ msgstr "Börja om" msgid "Start recording" msgstr "Starta inspelning" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "Börja sökningar med <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} för att begränsa resultaten." @@ -30591,6 +30596,11 @@ msgstr "Stoppa meddelanden och vänförfrågningar." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Sluta låta Neko jaga muspekaren, men behåll den dra- och interaktiv." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Sluta patcha Node.prototype insertBefore och removeChild. Appen kraschar igen när en sidöversättare flyttar om textnoder som React fortfarande håller i." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "Skrivstatus" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "Gränssnittskomponenter" diff --git a/fluxer_app/src/features/i18n/locales/th/messages.po b/fluxer_app/src/features/i18n/locales/th/messages.po index d3b168cc5..50213a736 100644 --- a/fluxer_app/src/features/i18n/locales/th/messages.po +++ b/fluxer_app/src/features/i18n/locales/th/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "การตั้งค่าแอป" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "สถานะแอป" @@ -4580,7 +4580,7 @@ msgstr "ไม่อยู่ตอนนี้" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "การใช้ {productName} ถือว่าคุณยอมร #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "ข้ามโครงร่างการโหลด" @@ -9539,7 +9539,7 @@ msgstr "สร้างบทบาท" msgid "Create the administrator account" msgstr "สร้างบัญชีผู้ดูแลระบบ" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "สร้างกลุ่ม DM กับผู้รับที่เหลืออีก {addableCount} คนและข้ามคนอื่นใช่หรือไม่" @@ -11271,6 +11271,11 @@ msgstr "ปิดใช้งานปุ่มลัด" msgid "Disable sounds" msgstr "ปิดเสียงแจ้งเตือน" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "ปิดการป้องกัน DOM ของตัวแปล" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "ส่งออกธีม" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "แสดงส่วนการตั้งค่าเขตเวลาสำหรับผู้ดูแลระบบในโปรไฟล์" @@ -14182,7 +14187,7 @@ msgstr "ปิดใช้งานฟีเจอร์ชั่วคราว #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "คุณสมบัติ" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "บังคับเปิดใช้งาน" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "บังคับโหลดข้อความไม่สำเร็จ" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "บังคับส่งข้อความไม่สำเร็จ" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "บังคับโหลดตัวเลือก GIF" @@ -14641,7 +14646,7 @@ msgstr "ซ่อน" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "บังคับโหลดโครงร่าง" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "บังคับไม่มีสิทธิ์ {permissionName}" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "บังคับแสดงคำเตือนข้อมูลโปรไฟล์" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "บังคับโครงร่างโปรไฟล์" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "บังคับแสดง" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "บังคับแสดงข้อจำกัดความรับผิดชอบ URL ที่กำหนดเอง" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "บังคับแสดงการเชื่อมต่อเสียง" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "บังคับเปิดโหมดหน่วงเวลา" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "บังคับให้เป็นประเภทข้อความที่ไม่รู้จัก" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "บังคับอัปเดตพร้อมใช้งาน" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "ข้อผิดพลาดเครือข่าย" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "เครือข่ายและประสิทธิภาพ" @@ -21565,7 +21570,7 @@ msgstr "ไม่ได้ระบุเหตุผล" msgid "No recent mentions" msgstr "ไม่มีการกล่าวถึงล่าสุด" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "ไม่มีผู้รับที่เหลือให้สร้างกลุ่ม DM ด้วย" @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "ไม่มี Webhook" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "รายงานในแอปแบบไม่ดำเนินการ" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "โหมดโฮสต์เอง" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "โหมดโฮสต์เอง" @@ -29020,7 +29025,7 @@ msgstr "แสดงการแชร์หน้าจอของฉัน" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "แสดงว่าฉันกำลังพิมพ์" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "แสดงแถบเลื่อนระดับเสียงของผู้เข้าร่วมตามอุปกรณ์ในเมนูเสียง" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "แสดงการตั้งค่าเขตเวลาในโปรไฟล์" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "ข้ามคำเตือนลิงก์ภายนอกสำหรับทุกโดเมน" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "ข้ามการเรียกเครือข่ายเมื่อส่งรายงานในแอป โฟลว์จะยังคงดำเนินการต่อไปยังหน้าจอสำเร็จเพื่อให้คุณสามารถทดสอบ UI ได้ แต่จะไม่มีการส่งสิ่งใดไปยังทีมความปลอดภัยจริง" @@ -29499,7 +29504,7 @@ msgstr "สโลวีเนีย" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "อัปโหลดไฟล์แนบช้า" @@ -29516,28 +29521,28 @@ msgstr "ช้าลงหน่อย — โปรดรอสักครู #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "แก้ไขข้อความช้า" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "โหลดข้อความช้า" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "ส่งข้อความช้า" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "โหลดโปรไฟล์ช้า" @@ -30330,7 +30335,7 @@ msgstr "เริ่มใหม่" msgid "Start recording" msgstr "เริ่มบันทึก" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "เริ่มค้นหาด้วย <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} เพื่อจำกัดผลลัพธ์ให้แคบลง" @@ -30591,6 +30596,11 @@ msgstr "หยุดรับข้อความและคำขอเป็ msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "หยุดไม่ให้ Neko ไล่ตามเคอร์เซอร์ของคุณ แต่ยังคงลากและโต้ตอบได้" +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "หยุดแก้ไข Node.prototype insertBefore และ removeChild แอปจะล่มอีกครั้งเมื่อตัวแปลหน้าเว็บจัดเรียงโหนดข้อความใหม่ที่ React ยังคงอ้างถึง" + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "สถานะกำลังพิมพ์" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "ส่วนประกอบ UI" diff --git a/fluxer_app/src/features/i18n/locales/tr/messages.po b/fluxer_app/src/features/i18n/locales/tr/messages.po index 4ca1382c9..cd2ae74fc 100644 --- a/fluxer_app/src/features/i18n/locales/tr/messages.po +++ b/fluxer_app/src/features/i18n/locales/tr/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "Uygulama ayarları" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "Uygulama durumu" @@ -4580,7 +4580,7 @@ msgstr "Şu an çevrimdışı" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "{productName} uygulamasını kullanarak güncellenmiş politikaları kab #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "Yükleme iskeletini atla" @@ -9539,7 +9539,7 @@ msgstr "Rol oluştur" msgid "Create the administrator account" msgstr "Yönetici hesabını oluştur" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "Kalan {addableCount} kişiyle grup DM'i oluşturup diğerlerini atlamak ister misiniz?" @@ -11271,6 +11271,11 @@ msgstr "Kısayolu devre dışı bırak" msgid "Disable sounds" msgstr "Sesleri kapat" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "Çeviri DOM koruyucusunu devre dışı bırak" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "Temaları dışa aktar" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "Profil ayarlarında yalnızca çalışanlara özel zaman dilimi bölümünü göster." @@ -14182,7 +14187,7 @@ msgstr "Özellik geçici olarak devre dışı bırakıldı" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "Özellikler" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "Zorla etkinleştirildi" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "Mesaj yüklemelerinin başarısız olmasını zorla" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "Mesaj göndermeyi başarısız olarak zorla" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "GIF seçici yüklemesini zorla" @@ -14641,7 +14646,7 @@ msgstr "Gizlemeye zorla" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "İskeleti zorla yükle" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "{permissionName} iznini zorla" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "Profil verileri uyarısını zorla" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "Profil iskeletlerini zorla" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "Gösterimi zorla" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "Özel URL sorumluluk reddini her zaman göster" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "Ses bağlantısını her zaman göster" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "Yavaş modu etkinleştirmeye zorla" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "Bilinmeyen mesaj türünü zorla" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "Güncellemeyi hazır olarak zorla" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "Ağ hatası" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "Ağ ve performans" @@ -21565,7 +21570,7 @@ msgstr "Neden belirtilmedi." msgid "No recent mentions" msgstr "Yakın zamanda bahsedilmediniz" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "Grup DM oluşturmak için başka alıcı kalmadı." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "Web Kancası yok" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "Uygulama içi raporları atla" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "Kendi kendine barındırılan mod" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "Kendi kendine barındırılan mod geçersiz kılma" @@ -29020,7 +29025,7 @@ msgstr "Ekran paylaşımımı göster" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "Yazıyor olarak göster" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "Ses menülerinde cihaza özel katılımcı ses seviyesi kaydırıcılarını göster" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "Profil ayarlarında yalnızca personel için olan profil zaman dilimi bölümünü göster" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "Tüm alan adları için harici bağlantı uyarısını atla" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "Uygulama içi bir rapor gönderildiğinde ağ çağrısını atla. Akış yine de başarı ekranına ilerler, böylece kullanıcı arayüzünü kullanabilirsin, ancak güvenlik ekibine hiçbir şey gönderilmez." @@ -29499,7 +29504,7 @@ msgstr "Slovenya" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "Yavaş ek yükleme" @@ -29516,28 +29521,28 @@ msgstr "Yavaşla — tekrar denemeden önce bir süre bekle." #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "Yavaş mesaj düzenleme" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "Yavaş mesaj yüklemesi" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "Yavaş mesaj gönderme" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "Yavaş profil yüklemesi" @@ -30330,7 +30335,7 @@ msgstr "Baştan başla" msgid "Start recording" msgstr "Kaydı başlat" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "Aramalara <0>{peoplePrefix}, <1>{textChannelPrefix}, <2>{voiceChannelPrefix} ve <3>{communityPrefix} ile başlayarak sonuçları daraltın." @@ -30591,6 +30596,11 @@ msgstr "Mesajları ve arkadaşlık isteklerini durdur." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "İmleci sürükleyip etkileşimli tutarken Neko'nun imleci takip etmesini durdurun." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Node.prototype insertBefore ve removeChild'ı yamalamayı durdur. Bir sayfa çevirmeni, React'ın hala tuttuğu metin düğümlerini yeniden ebeveynleştirdiğinde uygulama tekrar çökecektir." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "Yazma durumu" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "Kullanıcı arayüzü bileşenleri" diff --git a/fluxer_app/src/features/i18n/locales/uk/messages.po b/fluxer_app/src/features/i18n/locales/uk/messages.po index 227ecbb4b..a52888e1e 100644 --- a/fluxer_app/src/features/i18n/locales/uk/messages.po +++ b/fluxer_app/src/features/i18n/locales/uk/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "Налаштування програми" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "Стан застосунку" @@ -4580,7 +4580,7 @@ msgstr "Зараз відсутній" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "Користуючись {productName}, ви погоджуєтеся з #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "Пропустити завантаження скелета" @@ -9539,7 +9539,7 @@ msgstr "Створити роль" msgid "Create the administrator account" msgstr "Створити обліковий запис адміністратора" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "Створити груповий чат з {addableCount} учасником(-ами), а інших пропустити?" @@ -11271,6 +11271,11 @@ msgstr "Вимкнути комбінацію клавіш" msgid "Disable sounds" msgstr "Вимкнути звуки" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "Вимкнути захист DOM від перекладу" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "Експортувати теми" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "Показувати розділ із налаштуваннями часового поясу, доступний лише для співробітників." @@ -14182,7 +14187,7 @@ msgstr "Функцію тимчасово вимкнено" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "Функції" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "Примусово ввімкнено" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "Примусово завантажувати невдалі повідомлення" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "Примусово надсилати невдалі повідомлення" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "Примусово завантажити вибір GIF" @@ -14641,7 +14646,7 @@ msgstr "Примусово приховати" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "Примусове завантаження скелета" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "Примусово вимкнути дозвіл «{permissionName}»" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "Примусове попередження про дані профілю" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "Примусово показувати скелети профілів" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "Примусово показати" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "Завжди показувати попередження про власну URL-адресу" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "Завжди показувати голосове з'єднання" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "Примусово ввімкнути повільний режим" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "Примусово невідомий тип повідомлення" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "Примусове оновлення готове" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "Помилка мережі" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "Мережа та продуктивність" @@ -21565,7 +21570,7 @@ msgstr "Причину не вказано." msgid "No recent mentions" msgstr "Немає недавніх згадок" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "Не залишилося одержувачів, щоб створити груповий чат." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "Вебхуків немає" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "Звіти в застосунку без операцій" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "Самостійний режим" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "Примусовий режим самостійного розміщення" @@ -29020,7 +29025,7 @@ msgstr "Показувати мій екран" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "Показувати, що я друкую" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "Показувати повзунки гучності учасників для кожного пристрою в меню голосу" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "Показувати налаштування часового поясу профілю в налаштуваннях профілю (лише для адміністраторів)" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "Пропускати попередження про зовнішні посилання для всіх доменів" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "Пропускати мережевий виклик під час надсилання звіту в застосунку. Процес все одно переходить до екрана успішного виконання, щоб ви могли перевірити інтерфейс, але насправді нічого не надсилається команді безпеки." @@ -29499,7 +29504,7 @@ msgstr "Словенія" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "Повільне завантаження вкладень" @@ -29516,28 +29521,28 @@ msgstr "Зачекайте трохи, перш ніж повторити спр #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "Повільне редагування повідомлень" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "Повільне завантаження повідомлень" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "Повільна відправка повідомлень" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "Повільне завантаження профілю" @@ -30330,7 +30335,7 @@ msgstr "Почати спочатку" msgid "Start recording" msgstr "Почати запис" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "Почніть пошук з <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix}, щоб звузити результати." @@ -30591,6 +30596,11 @@ msgstr "Зупинити повідомлення та запити на дод msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Зупиніть Неко від переслідування вашого курсора, зберігаючи його перетягуваним та інтерактивним." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Припинити патчити Node.prototype insertBefore та removeChild. Додаток знову впаде, коли перекладач сторінки перепризначить текстові вузли, які React все ще тримає." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "Стан набору" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "Компоненти інтерфейсу" diff --git a/fluxer_app/src/features/i18n/locales/vi/messages.po b/fluxer_app/src/features/i18n/locales/vi/messages.po index 5c1a24fe7..6b02fa75c 100644 --- a/fluxer_app/src/features/i18n/locales/vi/messages.po +++ b/fluxer_app/src/features/i18n/locales/vi/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "Cài đặt ứng dụng" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "Trạng thái ứng dụng" @@ -4580,7 +4580,7 @@ msgstr "Đang vắng mặt" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "Bằng cách sử dụng {productName}, bạn đồng ý với các chí #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "Bỏ qua khung tải" @@ -9539,7 +9539,7 @@ msgstr "Tạo vai trò" msgid "Create the administrator account" msgstr "Tạo tài khoản quản trị viên" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "Tạo nhóm chat với {addableCount} người còn lại và bỏ qua những người khác?" @@ -11271,6 +11271,11 @@ msgstr "Tắt phím tắt" msgid "Disable sounds" msgstr "Tắt âm thanh" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "Tắt trình bảo vệ DOM dịch" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "Xuất chủ đề" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "Hiển thị phần cài đặt múi giờ dành riêng cho nhân viên trong cài đặt hồ sơ." @@ -14182,7 +14187,7 @@ msgstr "Tính năng tạm thời bị tắt" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "Tính năng" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "Buộc bật" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "Buộc tải tin nhắn không thành công" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "Buộc gửi tin nhắn thất bại" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "Buộc tải trình chọn GIF" @@ -14641,7 +14646,7 @@ msgstr "Buộc ẩn" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "Buộc tải khung xương" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "Buộc không có quyền {permissionName}" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "Buộc hiển thị cảnh báo dữ liệu hồ sơ" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "Buộc hiển thị khung hồ sơ" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "Buộc hiển thị" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "Luôn hiển thị cảnh báo URL tùy chỉnh" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "Luôn hiển thị trạng thái kết nối thoại" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "Buộc bật chế độ chậm" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "Buộc loại tin nhắn không xác định" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "Buộc cập nhật sẵn sàng" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "Lỗi mạng" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "Mạng và hiệu suất" @@ -21565,7 +21570,7 @@ msgstr "Không có lý do nào được cung cấp." msgid "No recent mentions" msgstr "Không có lượt nhắc gần đây" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "Không còn người nhận nào để tạo tin nhắn nhóm." @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "Không có webhook nào" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "Báo cáo trong ứng dụng không hoạt động" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "Chế độ tự host" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "Ghi đè chế độ tự lưu trữ" @@ -29020,7 +29025,7 @@ msgstr "Hiển thị chia sẻ màn hình của tôi" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "Hiển thị tôi đang nhập" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "Hiển thị thanh trượt âm lượng người tham gia theo từng thiết bị trong menu thoại" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "Hiển thị cài đặt múi giờ trong hồ sơ (chỉ dành cho nhân viên)" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "Bỏ qua cảnh báo liên kết ngoài cho tất cả các miền" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "Bỏ qua lệnh gọi mạng khi báo cáo trong ứng dụng được gửi. Luồng vẫn chuyển sang màn hình thành công để bạn có thể thực hành giao diện người dùng, nhưng không có gì thực sự được gửi đến nhóm an toàn." @@ -29499,7 +29504,7 @@ msgstr "Slovenia" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "Tải tệp đính kèm chậm" @@ -29516,28 +29521,28 @@ msgstr "Chậm lại — đợi một lát trước khi thử lại." #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "Chỉnh sửa tin nhắn chậm" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "Tải tin nhắn chậm" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "Gửi tin nhắn chậm" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "Tải hồ sơ chậm" @@ -30330,7 +30335,7 @@ msgstr "Bắt đầu lại" msgid "Start recording" msgstr "Bắt đầu ghi âm" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "Bắt đầu tìm kiếm bằng <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} để thu hẹp kết quả." @@ -30591,6 +30596,11 @@ msgstr "Dừng tin nhắn và lời mời kết bạn." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "Ngăn Neko đuổi theo con trỏ chuột của bạn trong khi vẫn giữ cho nó có thể kéo và tương tác." +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "Ngừng vá Node.prototype insertBefore và removeChild. Ứng dụng sẽ lại gặp sự cố khi trình dịch trang di chuyển lại các nút văn bản mà React vẫn đang giữ." + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "Trạng thái đang nhập" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "Thành phần giao diện người dùng" 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 1ebf345d1..a57120bdf 100644 --- a/fluxer_app/src/features/i18n/locales/zh-CN/messages.po +++ b/fluxer_app/src/features/i18n/locales/zh-CN/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "应用设置" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "应用状态" @@ -4580,7 +4580,7 @@ msgstr "当前离开" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "使用 {productName} 即表示您同意更新后的政策。" #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "跳过加载骨架" @@ -9539,7 +9539,7 @@ msgstr "创建身份组" msgid "Create the administrator account" msgstr "创建管理员账户" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "创建包含其余 {addableCount} 位成员的群聊,并跳过其他成员?" @@ -11271,6 +11271,11 @@ msgstr "禁用快捷方式" msgid "Disable sounds" msgstr "关闭声音" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "禁用翻译 DOM 保护程序" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "导出主题" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "在个人资料设置中显示仅供员工访问的时区部分。" @@ -14182,7 +14187,7 @@ msgstr "功能暂时停用" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "功能" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "强制启用" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "强制消息加载失败" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "强制消息发送失败" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "强制加载 GIF 选择器" @@ -14641,7 +14646,7 @@ msgstr "强制隐藏" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "强制加载骨架" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "强制无 {permissionName} 权限" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "强制显示个人资料数据警告" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "强制显示资料骨架屏" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "强制显示" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "强制显示自定义网址免责声明" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "强制显示语音连接" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "强制慢速模式开启" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "强制显示未知消息类型" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "强制更新就绪" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "网络错误" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "网络和性能" @@ -21565,7 +21570,7 @@ msgstr "未提供理由。" msgid "No recent mentions" msgstr "暂无提及" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "没有其他收件人可以创建群聊。" @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "无 Webhook" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "空操作应用内举报" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "自托管模式" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "自托管模式覆盖" @@ -29020,7 +29025,7 @@ msgstr "显示我的屏幕共享" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "显示我正在输入" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "在语音菜单中显示每个设备的参与者音量滑块" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "显示个人资料时区设置(仅限管理员)" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "跳过所有域名的外部链接警告" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "提交应用内报告时跳过网络调用。流程仍会跳转到成功界面,以便您测试 UI,但实际上不会向安全团队发送任何内容。" @@ -29499,7 +29504,7 @@ msgstr "斯洛文尼亚" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "慢速附件上传" @@ -29516,28 +29521,28 @@ msgstr "慢一点 — 请稍后再试。" #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "慢速消息编辑" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "慢速加载消息" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "慢速发送消息" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "慢速加载个人资料" @@ -30330,7 +30335,7 @@ msgstr "重新开始" msgid "Start recording" msgstr "开始录音" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "从 <0>{peoplePrefix}、<1>{textChannelPrefix}、<2>{voiceChannelPrefix} 和 <3>{communityPrefix} 开始搜索,以缩小结果范围。" @@ -30591,6 +30596,11 @@ msgstr "停止接收消息和好友请求." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "停止Neko追逐你的光标,同时保持其可拖动和交互性。" +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "停止修补 Node.prototype 的 insertBefore 和 removeChild。当页面翻译器重新挂载 React 仍持有的文本节点时,应用将再次崩溃。" + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "正在输入" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "界面组件" 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 cc69b2e8b..4bf163f66 100644 --- a/fluxer_app/src/features/i18n/locales/zh-TW/messages.po +++ b/fluxer_app/src/features/i18n/locales/zh-TW/messages.po @@ -3654,7 +3654,7 @@ msgid "App settings" msgstr "應用程式設定" #. Developer options group for overriding app/account state. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:47 msgid "App state" msgstr "應用程式狀態" @@ -4580,7 +4580,7 @@ msgstr "目前不在線上" #. OAuth authorization secondary button. Returns to the previous carousel step. #: src/features/app/components/setup/SelfHostedSetupWizardGate.tsx:77 #: src/features/auth/components/pages/oauth_authorize_page/OAuthAuthorizeActions.tsx:14 -#: src/features/auth/flow/IpAuthorizationScreen.tsx:150 +#: src/features/auth/flow/IpAuthorizationScreen.tsx:152 #: src/features/channel/components/channel_header/shared.ts:27 #: src/features/connection/components/modals/AddConnectionModal.tsx:397 #: src/features/guild/components/modals/add_guild_modal/GuildCreateForm.tsx:164 @@ -5464,7 +5464,7 @@ msgstr "使用 {productName} 即表示您同意更新後的政策。" #. Developer option label. #. 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:41 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:51 msgid "Bypass loading skeleton" msgstr "略過載入骨架" @@ -9539,7 +9539,7 @@ msgstr "建立角色" msgid "Create the administrator account" msgstr "建立管理員帳號" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:93 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:94 msgid "Create the group DM with the remaining {addableCount} recipient(s) and skip the others?" msgstr "要建立包含其餘 {addableCount} 位收件者的群組訊息,並略過其他人嗎?" @@ -11271,6 +11271,11 @@ msgstr "停用捷徑" msgid "Disable sounds" msgstr "關閉音效" +#. Developer option label for turning off the page-translator DOM crash guard. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:37 +msgid "Disable translation DOM guard" +msgstr "停用翻譯 DOM 防護罩" + #. Button or menu action label in the links tab. Keep it concise. #: src/features/user/components/modals/tabs/chat_settings_tab/ChatSettingsTabLinksTab.tsx:35 msgid "Disable trust all" @@ -13680,7 +13685,7 @@ msgid "Export themes" msgstr "匯出主題" #. Developer / debug surface — keep terse and technical. Tooltip / description for the profile timezone settings toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:129 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 msgid "Expose the staff-only timezone section in profile settings." msgstr "在個人資料設定中顯示僅限管理員使用的時區部分。" @@ -14182,7 +14187,7 @@ msgstr "功能暫時停用" #. Developer options group for feature behavior overrides. #. Settings search synonym. Used to match this term when the user types it in the settings search bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:113 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:123 #: src/features/user/components/settings_utils/search_index/PlutoniumIndex.ts:137 msgid "Features" msgstr "功能" @@ -14619,17 +14624,17 @@ msgid "Force enabled" msgstr "強制啟用" #. Developer option label for simulating failed message loads. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:109 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:119 msgid "Force failed message loads" msgstr "強制訊息載入失敗" #. Developer option label for simulating failed message sends. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:105 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:115 msgid "Force failed message sends" msgstr "強制訊息傳送失敗" #. Developer option label for simulating a loading GIF picker. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:65 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:75 msgid "Force GIF picker loading" msgstr "強制載入 GIF 選擇器" @@ -14641,7 +14646,7 @@ msgstr "強制隱藏" #. Developer tools debug menu label. Internal-only surface for developers; translators may keep this terse. #. 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:45 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:45 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:55 msgid "Force loading skeleton" msgstr "強制載入骨架" @@ -14661,12 +14666,12 @@ msgid "Force no {permissionName} permission" msgstr "強制不授予「{permissionName}」權限" #. Developer option label for always showing profile data warnings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:101 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:111 msgid "Force profile data warning" msgstr "強制顯示個人資料警告" #. Developer option label for forcing user profile loading skeletons. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:97 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:107 msgid "Force profile skeletons" msgstr "強制顯示個人檔案骨架" @@ -14676,12 +14681,12 @@ msgid "Force show" msgstr "強制顯示" #. Developer option label for always showing a community settings warning. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:69 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:79 msgid "Force show vanity URL disclaimer" msgstr "強制顯示自訂網址免責聲明" #. Developer option label for always showing the voice connection status bar. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:121 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:131 msgid "Force show voice connection" msgstr "強制顯示語音連線" @@ -14690,12 +14695,12 @@ msgid "Force slowmode active" msgstr "強制慢速模式已啟用" #. Developer option label for rendering messages as unknown message types. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:117 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:127 msgid "Force unknown message type" msgstr "強制顯示為未知訊息類型" #. Developer option label for simulating an available update. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:49 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:59 msgid "Force update ready" msgstr "強制更新就緒" @@ -20952,7 +20957,7 @@ msgid "Network error" msgstr "網路錯誤" #. Developer options group for simulated slow or failed operations. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:73 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:83 msgid "Networking and performance" msgstr "網路與效能" @@ -21565,7 +21570,7 @@ msgstr "未提供原因。" msgid "No recent mentions" msgstr "沒有提及你的訊息" -#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:97 +#: src/features/channel/components/modals/UnaddableRecipientsConfirmModal.tsx:98 msgid "No remaining recipients to create a group DM with." msgstr "沒有可建立群組私訊的剩餘收件人。" @@ -21754,7 +21759,7 @@ msgid "No webhooks" msgstr "沒有網路掛鉤" #. Developer option label for short-circuiting the in-app reporting (IAR) flow. When enabled, submitting a report skips the network call. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:134 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:144 msgid "No-op in-app reports" msgstr "停用應用程式內檢舉" @@ -27876,7 +27881,7 @@ msgid "Self-hosted mode" msgstr "自管模式" #. Developer option label for forcing self-hosted client mode. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:57 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:67 msgid "Self-hosted mode override" msgstr "自託管模式覆寫" @@ -29020,7 +29025,7 @@ msgstr "顯示我的螢幕分享" #. Developer option label for showing the current user as typing. #. 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:89 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:53 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:63 msgid "Show myself typing" msgstr "顯示我正在輸入" @@ -29074,7 +29079,7 @@ msgid "Show per-device participant volume sliders in voice menus" msgstr "在語音選單中顯示個別裝置的參與者音量滑桿" #. Developer option label for exposing the staff-only profile timezone section in profile settings. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:125 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:135 msgid "Show profile timezone settings" msgstr "顯示個人檔案時區設定" @@ -29441,7 +29446,7 @@ msgid "Skip the external link warning for all domains" msgstr "略過所有網域的外部連結警告" #. Developer / debug surface — keep terse and technical. Tooltip / description for the no-op in-app reports toggle. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:139 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:149 msgid "Skip the network call when an in-app report is submitted. The flow still advances to the success screen so you can exercise the UI, but nothing is actually sent to the safety team." msgstr "提交應用程式內報告時,跳過網路呼叫。流程仍會進展到成功畫面,讓您可以操作使用者介面,但實際上不會傳送任何內容給安全團隊。" @@ -29499,7 +29504,7 @@ msgstr "斯洛維尼亞" #. Developer option label for simulating slow file uploads. #. 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:93 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:89 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:99 msgid "Slow attachment upload" msgstr "附件上傳速度慢" @@ -29516,28 +29521,28 @@ msgstr "慢一點 — 請稍候再試一次。" #. Developer option label for simulating slow message edits. #. 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:105 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:85 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:95 msgid "Slow message edit" msgstr "訊息編輯速度慢" #. Developer option label for simulating slow message loading. #. 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:97 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:77 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:87 msgid "Slow message load" msgstr "訊息載入緩慢" #. Developer option label for simulating slow message sending. #. 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:101 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:81 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:91 msgid "Slow message send" msgstr "訊息傳送速度慢" #. Developer option label for simulating slow profile loading. #. 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:109 -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:93 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:103 msgid "Slow profile load" msgstr "載入個人檔案緩慢" @@ -30330,7 +30335,7 @@ msgstr "重新開始" msgid "Start recording" msgstr "開始錄音" -#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:585 +#: src/features/search/components/quick_switcher/QuickSwitcherModal.tsx:586 msgid "Start searches with <0>{peoplePrefix} <1>{textChannelPrefix} <2>{voiceChannelPrefix} <3>{communityPrefix} to narrow down results." msgstr "以 <0>{peoplePrefix}、<1>{textChannelPrefix}、<2>{voiceChannelPrefix} 和 <3>{communityPrefix} 開頭的搜尋,以縮小搜尋範圍。" @@ -30591,6 +30596,11 @@ msgstr "停止接收訊息和好友邀請." msgid "Stop Neko from chasing your cursor while keeping it draggable and interactive." msgstr "停止 Neko 追蹤您的游標,同時仍可拖曳和互動。" +#. Developer / debug surface — keep terse and technical. Tooltip / description for the translation DOM guard kill switch. +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:41 +msgid "Stop patching Node.prototype insertBefore and removeChild. The app will crash again when a page translator re-parents text nodes React still holds." +msgstr "停止修補 Node.prototype 的 insertBefore 和 removeChild。當頁面翻譯器重新父系化 React 仍持有的文字節點時,應用程式將再次崩潰。" + #. Action that stops ringing the selected participant in a voice call. #: src/features/ui/action_menu/items/CallMenuItems.tsx:29 msgid "Stop ringing" @@ -33633,7 +33643,7 @@ msgid "Typing state" msgstr "輸入狀態" #. Developer options group for forcing UI component states. -#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:61 +#: src/features/devtools/components/DeveloperOptionsToggleGroups.ts:71 msgid "UI components" msgstr "UI 元件" diff --git a/fluxer_app/src/features/i18n/testing/TranslationCommitHarness.ts b/fluxer_app/src/features/i18n/testing/TranslationCommitHarness.ts new file mode 100644 index 000000000..3d1485391 --- /dev/null +++ b/fluxer_app/src/features/i18n/testing/TranslationCommitHarness.ts @@ -0,0 +1,75 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +import {findTranslationUnsafeTextNodes} from '@app/features/i18n/testing/TranslatorSimulation'; +import type {ReactNode} from 'react'; +import {flushSync} from 'react-dom'; +import {createRoot} from 'react-dom/client'; + +export interface TranslationCommitOptions { + before: ReactNode; + after: ReactNode; + pipeline: (root: Element) => void; + betweenCommits?: () => void; + inspect?: (host: HTMLElement) => void; +} + +export interface TranslationCommitResult { + error: Error | null; + htmlBeforeTranslation: string; + htmlAfterTranslation: string; + htmlAfterCommit: string; + unsafeTextNodesBeforeTranslation: number; +} + +export function commitUnderTranslation({ + before, + after, + pipeline, + betweenCommits, + inspect, +}: TranslationCommitOptions): TranslationCommitResult { + const host = document.createElement('div'); + document.body.appendChild(host); + let error: Error | null = null; + const root = createRoot(host, { + onUncaughtError: (caught) => { + error ??= caught as Error; + }, + onCaughtError: (caught) => { + error ??= caught as Error; + }, + onRecoverableError: () => {}, + }); + flushSync(() => root.render(before)); + const htmlBeforeTranslation = host.innerHTML; + const unsafeTextNodesBeforeTranslation = findTranslationUnsafeTextNodes(host).length; + pipeline(host); + const htmlAfterTranslation = host.innerHTML; + try { + betweenCommits?.(); + } catch (caught) { + error ??= caught as Error; + } + try { + flushSync(() => root.render(after)); + } catch (caught) { + error ??= caught as Error; + } + const htmlAfterCommit = host.innerHTML; + inspect?.(host); + try { + root.unmount(); + } catch {} + host.remove(); + return {error, htmlBeforeTranslation, htmlAfterTranslation, htmlAfterCommit, unsafeTextNodesBeforeTranslation}; +} + +export function isTranslationDomCrash(error: Error | null): boolean { + if (error == null) { + return false; + } + return ( + error.message.includes("Failed to execute 'insertBefore' on 'Node'") || + error.message.includes("Failed to execute 'removeChild' on 'Node'") + ); +} diff --git a/fluxer_app/src/features/i18n/testing/TranslatorSimulation.test.tsx b/fluxer_app/src/features/i18n/testing/TranslatorSimulation.test.tsx new file mode 100644 index 000000000..22cb54c1d --- /dev/null +++ b/fluxer_app/src/features/i18n/testing/TranslatorSimulation.test.tsx @@ -0,0 +1,232 @@ +// @vitest-environment happy-dom +// SPDX-License-Identifier: AGPL-3.0-or-later + +import {commitUnderTranslation, isTranslationDomCrash} from '@app/features/i18n/testing/TranslationCommitHarness'; +import { + chromeFaithfulCompoundPipeline, + findTranslationUnsafeTextNodes, + TRANSLATION_MARKER, + TRANSLATOR_PIPELINE_NAMES, + TranslatorPipelines, +} from '@app/features/i18n/testing/TranslatorSimulation'; +import {createElement, Fragment, type ReactNode} from 'react'; +import {afterEach, describe, expect, it} from 'vitest'; + +const badge = (on: boolean): ReactNode => (on ? createElement('b', null, '!') : null); +const tail = createElement('i', null, 'x'); + +const BareLabel = (): ReactNode => 'Hello'; +const WrappedLabel = (): ReactNode => createElement('flx-i18n', null, 'Hello'); + +const wrap = (text: string): ReactNode => createElement('flx-i18n', null, text); +const row = (...children: Array): ReactNode => createElement('div', null, ...children); + +const visibleText = (html: string): string => html.replace(/<[^>]+>/g, '').replaceAll(TRANSLATION_MARKER, ''); + +interface Scenario { + name: string; + unsafe: (on: boolean) => ReactNode; + fixed: (on: boolean) => ReactNode; + beforeState: boolean; + afterState: boolean; + expectedText: string; + expectedFirstTag: string; +} + +const scenarios: Array = [ + { + name: 'placement before a bare text sibling', + unsafe: (on) => row(badge(on), 'Hello', tail), + fixed: (on) => row(badge(on), wrap('Hello'), tail), + beforeState: false, + afterState: true, + expectedText: '!Hellox', + expectedFirstTag: 'B', + }, + { + name: 'deletion of a bare text sibling', + unsafe: (on) => row(on ? 'Hello' : null, tail), + fixed: (on) => row(on ? wrap('Hello') : null, tail), + beforeState: true, + afterState: false, + expectedText: 'x', + expectedFirstTag: 'I', + }, + { + name: 'placement between adjacent text nodes', + unsafe: (on) => row('A', badge(on), 'B', tail), + fixed: (on) => row(wrap('A'), badge(on), wrap('B'), tail), + beforeState: false, + afterState: true, + expectedText: 'A!Bx', + expectedFirstTag: 'FLX-I18N', + }, + { + name: 'placement before text inside a fragment', + unsafe: (on) => row(createElement(Fragment, null, badge(on), 'Hello'), tail), + fixed: (on) => row(createElement(Fragment, null, badge(on), wrap('Hello')), tail), + beforeState: false, + afterState: true, + expectedText: '!Hellox', + expectedFirstTag: 'B', + }, + { + name: 'placement before a component that returns a bare string', + unsafe: (on) => row(badge(on), createElement(BareLabel), tail), + fixed: (on) => row(badge(on), createElement(WrappedLabel), tail), + beforeState: false, + afterState: true, + expectedText: '!Hellox', + expectedFirstTag: 'B', + }, +]; + +afterEach(() => { + document.body.replaceChildren(); +}); + +for (const pipelineName of TRANSLATOR_PIPELINE_NAMES) { + const pipeline = TranslatorPipelines[pipelineName]; + describe(`${pipelineName} pipeline`, () => { + for (const scenario of scenarios) { + it(`throws the production DOM error on ${scenario.name}`, () => { + const result = commitUnderTranslation({ + before: scenario.unsafe(scenario.beforeState), + after: scenario.unsafe(scenario.afterState), + pipeline, + }); + expect(result.unsafeTextNodesBeforeTranslation).toBeGreaterThan(0); + expect(result.htmlAfterTranslation).not.toBe(result.htmlBeforeTranslation); + expect(isTranslationDomCrash(result.error)).toBe(true); + }); + + if (pipelineName === 'chromeCompound') { + it(`leaves the compound pipeline no text-and-element parent to rewrite in ${scenario.name}`, () => { + const unsafe = commitUnderTranslation({ + before: scenario.unsafe(scenario.beforeState), + after: scenario.unsafe(scenario.beforeState), + pipeline, + }); + expect(unsafe.unsafeTextNodesBeforeTranslation).toBeGreaterThan(0); + expect(unsafe.htmlAfterTranslation).not.toBe(unsafe.htmlBeforeTranslation); + + const fixed = commitUnderTranslation({ + before: scenario.fixed(scenario.beforeState), + after: scenario.fixed(scenario.afterState), + pipeline, + }); + expect(fixed.unsafeTextNodesBeforeTranslation).toBe(0); + expect(fixed.htmlAfterTranslation).toBe(fixed.htmlBeforeTranslation); + expect(fixed.error).toBeNull(); + }); + continue; + } + + it(`survives ${scenario.name} once the text is a sole child`, () => { + let firstTag: string | null = null; + let unsafeTextNodes = -1; + const result = commitUnderTranslation({ + before: scenario.fixed(scenario.beforeState), + after: scenario.fixed(scenario.afterState), + pipeline, + inspect: (host) => { + firstTag = host.querySelector('div')?.firstElementChild?.tagName ?? null; + unsafeTextNodes = findTranslationUnsafeTextNodes(host).length; + }, + }); + expect(result.htmlAfterTranslation).not.toBe(result.htmlBeforeTranslation); + expect(result.htmlAfterTranslation).toContain(TRANSLATION_MARKER); + expect(result.error).toBeNull(); + expect(result.unsafeTextNodesBeforeTranslation).toBe(0); + expect(unsafeTextNodes).toBe(0); + expect(firstTag).toBe(scenario.expectedFirstTag); + expect(visibleText(result.htmlAfterCommit)).toBe(scenario.expectedText); + }); + } + }); +} + +describe('faithful compound pipeline', () => { + const inlineWrap = (text: string): ReactNode => createElement('span', null, text); + const contentsWrap = (text: string): ReactNode => createElement('flx-i18n', {style: {display: 'contents'}}, text); + + it('defeats a bare text sibling', () => { + const result = commitUnderTranslation({ + before: row(badge(false), 'Hello', tail), + after: row(badge(true), 'Hello', tail), + pipeline: chromeFaithfulCompoundPipeline, + }); + expect(isTranslationDomCrash(result.error)).toBe(true); + }); + + it('defeats an inline sole-child wrapper', () => { + const result = commitUnderTranslation({ + before: row(badge(false), inlineWrap('Hello'), tail), + after: row(badge(true), inlineWrap('Hello'), tail), + pipeline: chromeFaithfulCompoundPipeline, + }); + expect(isTranslationDomCrash(result.error)).toBe(true); + }); + + it('defeats the display:contents wrapper the app ships', () => { + const result = commitUnderTranslation({ + before: row(badge(false), contentsWrap('Hello'), tail), + after: row(badge(true), contentsWrap('Hello'), tail), + pipeline: chromeFaithfulCompoundPipeline, + }); + expect(isTranslationDomCrash(result.error)).toBe(true); + }); + + it('defeats a pure element tree that holds no text node of its own', () => { + let reassembledChildren = false; + const pureElementRow = (on: boolean): ReactNode => + row(badge(on), createElement('i', null, 'a'), createElement('em', null, 'y')); + const result = commitUnderTranslation({ + before: pureElementRow(false), + after: pureElementRow(true), + pipeline: (host) => { + const before = Array.from(host.querySelector('div')?.childNodes ?? []); + chromeFaithfulCompoundPipeline(host); + const after = Array.from(host.querySelector('div')?.childNodes ?? []); + reassembledChildren = before.some((node, index) => node !== after[index]); + }, + }); + expect(reassembledChildren).toBe(true); + expect(result.unsafeTextNodesBeforeTranslation).toBe(0); + expect(isTranslationDomCrash(result.error)).toBe(true); + }); + + it('is survived only by translate="no"', () => { + const result = commitUnderTranslation({ + before: createElement('div', {translate: 'no'}, badge(false), contentsWrap('Hello'), tail), + after: createElement('div', {translate: 'no'}, badge(true), contentsWrap('Hello'), tail), + pipeline: chromeFaithfulCompoundPipeline, + }); + expect(result.htmlAfterTranslation).toBe(result.htmlBeforeTranslation); + expect(result.error).toBeNull(); + expect(result.htmlAfterCommit).toContain('!'); + expect(visibleText(result.htmlAfterCommit)).toBe('!Hellox'); + }); +}); + +describe('shapes that were never at risk', () => { + it('does not throw when only elements are siblings', () => { + const result = commitUnderTranslation({ + before: row(badge(false), createElement('i', null, 'a')), + after: row(badge(true), createElement('i', null, 'a')), + pipeline: TranslatorPipelines.chromeLegacyFont, + }); + expect(result.htmlAfterTranslation).not.toBe(result.htmlBeforeTranslation); + expect(result.error).toBeNull(); + }); + + it('does not throw when a sibling is appended after the text', () => { + const result = commitUnderTranslation({ + before: row('Hello', badge(false)), + after: row('Hello', badge(true)), + pipeline: TranslatorPipelines.chromeLegacyFont, + }); + expect(result.htmlAfterTranslation).not.toBe(result.htmlBeforeTranslation); + expect(result.error).toBeNull(); + }); +}); diff --git a/fluxer_app/src/features/i18n/testing/TranslatorSimulation.ts b/fluxer_app/src/features/i18n/testing/TranslatorSimulation.ts new file mode 100644 index 000000000..a72e4d794 --- /dev/null +++ b/fluxer_app/src/features/i18n/testing/TranslatorSimulation.ts @@ -0,0 +1,259 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +const ELEMENT_NODE = 1; +const TEXT_NODE = 3; + +export const TRANSLATION_MARKER = '~'; + +const NEVER_TRANSLATED_TAGS = new Set([ + 'SCRIPT', + 'STYLE', + 'BR', + 'WBR', + 'CODE', + 'KBD', + 'MAP', + 'OBJECT', + 'PARAM', + 'RP', + 'svg', +]); +const VALUE_ONLY_TAGS = new Set(['INPUT', 'TEXTAREA', 'TITLE']); +const BLOCK_CONTAINER_TAGS = new Set([ + 'UL', + 'OL', + 'DL', + 'TABLE', + 'THEAD', + 'TBODY', + 'TFOOT', + 'TR', + 'SELECT', + 'OPTGROUP', + 'MENU', + 'NAV', + 'HEADER', + 'FOOTER', + 'SECTION', + 'ARTICLE', + 'ASIDE', + 'MAIN', + 'FORM', + 'FIELDSET', + 'BODY', + 'HTML', +]); +const INLINE_TAGS = new Set([ + 'A', + 'ABBR', + 'ACRONYM', + 'B', + 'BASEFONT', + 'BDO', + 'BIG', + 'CITE', + 'DFN', + 'EM', + 'FONT', + 'I', + 'LABEL', + 'NOBR', + 'Q', + 'S', + 'SMALL', + 'SPAN', + 'STRIKE', + 'STRONG', + 'SUB', + 'SUP', + 'TT', + 'U', + 'VAR', +]); + +function isElement(node: Node): node is Element { + return node.nodeType === ELEMENT_NODE; +} + +function isNonBlankText(node: Node): boolean { + return node.nodeType === TEXT_NODE && (node.nodeValue?.trim().length ?? 0) > 0; +} + +export function isTranslationOptedOut(element: Element): boolean { + return ( + NEVER_TRANSLATED_TAGS.has(element.tagName) || + element.classList.contains('notranslate') || + element.classList.contains('skiptranslate') || + element.getAttribute('translate') === 'no' + ); +} + +export function isInlineElement(element: Element): boolean { + const view = element.ownerDocument.defaultView; + const display = view?.getComputedStyle ? view.getComputedStyle(element).display : ''; + if (display === 'inline' || display === 'contents') { + return true; + } + return display === '' && INLINE_TAGS.has(element.tagName); +} + +export function isCompoundRoot(element: Element): boolean { + if (VALUE_ONLY_TAGS.has(element.tagName) || BLOCK_CONTAINER_TAGS.has(element.tagName)) { + return false; + } + if (element.tagName === 'PRE' || element.tagName === 'RUBY') { + return false; + } + if (isInlineElement(element) || isTranslationOptedOut(element)) { + return false; + } + let hasInlineContent = false; + for (const child of Array.from(element.childNodes)) { + if (isElement(child)) { + if (isTranslationOptedOut(child)) { + continue; + } + if (!isInlineElement(child)) { + return false; + } + hasInlineContent = true; + } else if (isNonBlankText(child)) { + hasInlineContent = true; + } + } + return hasInlineContent; +} + +function walkTranslatable(element: Element, visit: (element: Element) => boolean): void { + if (isTranslationOptedOut(element)) { + return; + } + if (!visit(element)) { + return; + } + for (const child of Array.from(element.childNodes)) { + if (isElement(child) && child.tagName !== 'FONT') { + walkTranslatable(child, visit); + } + } +} + +function translatedTextNode(document: Document, source: Node): Text { + return document.createTextNode(TRANSLATION_MARKER + (source.nodeValue ?? '')); +} + +function reassembledFragment(element: Element, children: ReadonlyArray): DocumentFragment { + const document = element.ownerDocument; + const fragment = document.createDocumentFragment(); + for (const child of children) { + fragment.appendChild(child.nodeType === TEXT_NODE ? translatedTextNode(document, child) : child.cloneNode(true)); + } + return fragment; +} + +function wrapTextNodesInFont(element: Element): void { + const document = element.ownerDocument; + for (const child of Array.from(element.childNodes)) { + if (child.nodeType !== TEXT_NODE || !isNonBlankText(child)) { + continue; + } + const outer = document.createElement('font'); + const inner = document.createElement('font'); + outer.setAttribute('style', 'vertical-align: inherit;'); + inner.setAttribute('style', 'vertical-align: inherit;'); + outer.appendChild(inner); + element.insertBefore(outer, child); + child.nodeValue = TRANSLATION_MARKER + (child.nodeValue ?? ''); + inner.appendChild(child); + } +} + +export function chromeLegacyFontPipeline(root: Element): void { + walkTranslatable(root, (element) => { + wrapTextNodesInFont(element); + return true; + }); +} + +export function chromeCompoundPipeline(root: Element): void { + walkTranslatable(root, (element) => { + const children = Array.from(element.childNodes); + const hasText = children.some(isNonBlankText); + const hasElement = children.some(isElement); + if (!hasText || !hasElement) { + return true; + } + element.replaceChildren(reassembledFragment(element, children)); + return false; + }); +} + +export function chromeFaithfulCompoundPipeline(root: Element): void { + walkTranslatable(root, (element) => { + if (!isCompoundRoot(element)) { + return true; + } + element.replaceChildren(reassembledFragment(element, Array.from(element.childNodes))); + return false; + }); +} + +export function chromeRevertPipeline(root: Element): void { + const savedChildren = new Map>(); + walkTranslatable(root, (element) => { + const children = Array.from(element.childNodes); + if (children.some(isNonBlankText)) { + savedChildren.set(element, children); + } + return true; + }); + chromeLegacyFontPipeline(root); + for (const [element, children] of savedChildren) { + element.replaceChildren(...children.map((child) => child.cloneNode(true))); + } +} + +export function firefoxMergePipeline(root: Element): void { + walkTranslatable(root, (element) => { + const children = Array.from(element.childNodes); + if (children.length === 0 || !children.some(isNonBlankText)) { + return true; + } + while (element.firstChild) { + element.removeChild(element.firstChild); + } + for (const child of children) { + element.appendChild( + child.nodeType === TEXT_NODE ? translatedTextNode(element.ownerDocument, child) : child.cloneNode(true), + ); + } + return false; + }); +} + +export const TranslatorPipelines = { + chromeLegacyFont: chromeLegacyFontPipeline, + chromeCompound: chromeCompoundPipeline, + chromeRevert: chromeRevertPipeline, + firefoxMerge: firefoxMergePipeline, +} as const; + +export type TranslatorPipelineName = keyof typeof TranslatorPipelines; + +export const TRANSLATOR_PIPELINE_NAMES = Object.keys(TranslatorPipelines) as Array; + +export function findTranslationUnsafeTextNodes(root: Element): Array { + const unsafe: Array = []; + const visit = (element: Element): void => { + const children = Array.from(element.childNodes); + for (const child of children) { + if (isElement(child)) { + visit(child); + } else if (isNonBlankText(child) && children.length > 1) { + unsafe.push(child as Text); + } + } + }; + visit(root); + return unsafe; +} diff --git a/fluxer_app/src/features/i18n/utils/TranslationDomGuard.test.ts b/fluxer_app/src/features/i18n/utils/TranslationDomGuard.test.ts new file mode 100644 index 000000000..900fc2501 --- /dev/null +++ b/fluxer_app/src/features/i18n/utils/TranslationDomGuard.test.ts @@ -0,0 +1,343 @@ +// @vitest-environment happy-dom +// SPDX-License-Identifier: AGPL-3.0-or-later + +import {commitUnderTranslation, isTranslationDomCrash} from '@app/features/i18n/testing/TranslationCommitHarness'; +import {TranslatorPipelines} from '@app/features/i18n/testing/TranslatorSimulation'; +import {createElement, type ReactNode} from 'react'; +import {afterEach, beforeEach, describe, expect, it, vi} from 'vitest'; + +type GuardModule = typeof import('@app/features/i18n/utils/TranslationDomGuard'); +type DeveloperOptionsModule = typeof import('@app/features/devtools/state/DeveloperOptions'); + +interface LoadedGuard { + guard: GuardModule; + developerOptions: DeveloperOptionsModule['default']; +} + +let loaded: LoadedGuard | null = null; +let originalInsertBefore: typeof Node.prototype.insertBefore; +let originalRemoveChild: typeof Node.prototype.removeChild; + +async function loadGuard(options: {electron?: boolean; disabled?: boolean} = {}): Promise { + vi.resetModules(); + const {Platform} = await import('@app/features/platform/types/Platform'); + Platform.isElectron = options.electron === true; + const developerOptions = (await import('@app/features/devtools/state/DeveloperOptions')).default; + developerOptions.updateOption('disableTranslationDomGuard', options.disabled === true); + const guard = await import('@app/features/i18n/utils/TranslationDomGuard'); + loaded = {guard, developerOptions}; + return loaded; +} + +function translatorDisplacedText(): {container: HTMLElement; text: Text} { + const container = document.createElement('div'); + container.setAttribute('data-flx', 'guard-fixture'); + const outer = document.createElement('font'); + const inner = document.createElement('font'); + const text = document.createTextNode('Hello'); + inner.appendChild(text); + outer.appendChild(inner); + container.appendChild(outer); + document.body.appendChild(container); + return {container, text}; +} + +function detachedTranslatedText(): {container: HTMLElement; text: Text} { + const container = document.createElement('div'); + const outer = document.createElement('font'); + const inner = document.createElement('font'); + const text = document.createTextNode('Hello'); + inner.appendChild(text); + outer.appendChild(inner); + container.appendChild(outer); + document.body.appendChild(container); + document.documentElement.classList.add('translated-ltr'); + outer.replaceChildren(); + inner.replaceChildren(); + return {container, text}; +} + +function unrelatedSubtreeText(): {container: HTMLElement; other: HTMLElement; text: Text} { + const container = document.createElement('div'); + const other = document.createElement('div'); + other.id = 'other'; + const font = document.createElement('font'); + const text = document.createTextNode('Hello'); + font.appendChild(text); + other.appendChild(font); + document.body.append(container, other); + return {container, other, text}; +} + +function foreignParentText(): {container: HTMLElement; text: Text} { + const container = document.createElement('div'); + const elsewhere = document.createElement('div'); + const text = document.createTextNode('Hello'); + elsewhere.appendChild(text); + document.body.append(container, elsewhere); + return {container, text}; +} + +const badge = (on: boolean): ReactNode => (on ? createElement('b', null, '!') : null); +const tail = createElement('i', null, 'x'); +const unsafeRow = (on: boolean): ReactNode => + createElement('div', null, badge(on), 'Hello', createElement('i', null, 'x')); + +beforeEach(() => { + originalInsertBefore = Node.prototype.insertBefore; + originalRemoveChild = Node.prototype.removeChild; +}); + +afterEach(() => { + loaded?.guard.uninstallTranslationDomGuard(); + loaded?.developerOptions.updateOption('disableTranslationDomGuard', false); + loaded = null; + Node.prototype.insertBefore = originalInsertBefore; + Node.prototype.removeChild = originalRemoveChild; + document.body.replaceChildren(); + document.documentElement.className = ''; + vi.restoreAllMocks(); +}); + +describe('installation', () => { + it('patches both prototype methods and restores them by identity on uninstall', async () => { + const {guard} = await loadGuard(); + guard.installTranslationDomGuard(); + expect(Node.prototype.insertBefore).not.toBe(originalInsertBefore); + expect(Node.prototype.removeChild).not.toBe(originalRemoveChild); + expect(guard.getTranslationDomGuardStats().installed).toBe(true); + + guard.installTranslationDomGuard(); + expect(guard.uninstallTranslationDomGuard()).toBe(true); + expect(Node.prototype.insertBefore).toBe(originalInsertBefore); + expect(Node.prototype.removeChild).toBe(originalRemoveChild); + expect(guard.uninstallTranslationDomGuard()).toBe(false); + expect(guard.getTranslationDomGuardStats().installed).toBe(false); + }); + + it('never installs in Electron', async () => { + const {guard} = await loadGuard({electron: true}); + guard.installTranslationDomGuard(); + expect(Node.prototype.insertBefore).toBe(originalInsertBefore); + expect(guard.getTranslationDomGuardStats().installed).toBe(false); + }); + + it('never installs when the Electron native context is unavailable', async () => { + vi.spyOn(navigator, 'userAgent', 'get').mockReturnValue( + 'Mozilla/5.0 (Macintosh) fluxer/1.0.0 Chrome/140.0.0.0 Electron/38.2.1 Safari/537.36', + ); + const {guard} = await loadGuard({electron: false}); + guard.installTranslationDomGuard(); + expect(Node.prototype.insertBefore).toBe(originalInsertBefore); + expect(Node.prototype.removeChild).toBe(originalRemoveChild); + expect(guard.getTranslationDomGuardStats().installed).toBe(false); + }); + + it('never patches while the kill switch is already set', async () => { + const {guard} = await loadGuard({disabled: true}); + guard.installTranslationDomGuard(); + expect(Node.prototype.insertBefore).toBe(originalInsertBefore); + expect(guard.getTranslationDomGuardStats().installed).toBe(false); + }); + + it('uninstalls and reinstalls live when the kill switch is toggled', async () => { + const {guard, developerOptions} = await loadGuard(); + guard.installTranslationDomGuard(); + expect(guard.getTranslationDomGuardStats().installed).toBe(true); + + developerOptions.updateOption('disableTranslationDomGuard', true); + expect(Node.prototype.insertBefore).toBe(originalInsertBefore); + expect(guard.getTranslationDomGuardStats().installed).toBe(false); + + developerOptions.updateOption('disableTranslationDomGuard', false); + expect(Node.prototype.insertBefore).not.toBe(originalInsertBefore); + expect(guard.getTranslationDomGuardStats().installed).toBe(true); + }); + + it('exposes stats and a live uninstall on the debug object', async () => { + const {guard} = await loadGuard(); + guard.installTranslationDomGuard(); + const debug = window.__FLUXER_DEBUG__; + const getStats = debug?.getTranslationDomGuardStats as + | (() => ReturnType) + | undefined; + expect(getStats?.().installed).toBe(true); + expect(debug?.uninstallTranslationDomGuard?.()).toBe(true); + expect(Node.prototype.insertBefore).toBe(originalInsertBefore); + }); +}); + +describe('reporting', () => { + it('counts and logs every repaired insertBefore', async () => { + const {guard} = await loadGuard(); + const consoleError = vi.spyOn(console, 'error').mockImplementation(() => {}); + guard.installTranslationDomGuard(); + const {container, text} = translatorDisplacedText(); + + expect(() => container.insertBefore(document.createElement('b'), text)).not.toThrow(); + + const stats = guard.getTranslationDomGuardStats(); + expect(stats.insertBefore).toBe(1); + expect(stats.removeChild).toBe(0); + expect(stats.declined).toBe(0); + expect(stats.firstFireAt).not.toBeNull(); + expect(stats.lastPath).toBe('guard-fixture'); + const logged = consoleError.mock.calls.flat().join(' '); + expect(logged).toContain('TranslationDomGuard'); + expect(logged).toContain('insertBefore'); + }); + + it('counts and logs every repaired removeChild', async () => { + const {guard} = await loadGuard(); + const consoleError = vi.spyOn(console, 'error').mockImplementation(() => {}); + guard.installTranslationDomGuard(); + const {container, text} = translatorDisplacedText(); + + expect(() => container.removeChild(text)).not.toThrow(); + + const stats = guard.getTranslationDomGuardStats(); + expect(stats.removeChild).toBe(1); + expect(stats.insertBefore).toBe(0); + expect(text.parentNode).toBeNull(); + expect(container.innerHTML).toBe(''); + expect(consoleError.mock.calls.flat().join(' ')).toContain('removeChild'); + }); + + it('keeps counting after it stops logging', async () => { + const {guard} = await loadGuard(); + const consoleError = vi.spyOn(console, 'error').mockImplementation(() => {}); + guard.installTranslationDomGuard(); + for (let attempt = 0; attempt < 5; attempt += 1) { + const {container, text} = translatorDisplacedText(); + container.insertBefore(document.createElement('b'), text); + } + expect(guard.getTranslationDomGuardStats().insertBefore).toBe(5); + expect(consoleError).toHaveBeenCalledTimes(3); + }); + + it('leaves calls on the original path alone', async () => { + const {guard} = await loadGuard(); + guard.installTranslationDomGuard(); + const parent = document.createElement('div'); + const child = document.createElement('span'); + parent.appendChild(child); + parent.insertBefore(document.createElement('b'), child); + parent.removeChild(child); + expect(parent.innerHTML).toBe(''); + const stats = guard.getTranslationDomGuardStats(); + expect(stats.insertBefore).toBe(0); + expect(stats.removeChild).toBe(0); + expect(stats.declined).toBe(0); + }); + + it('declines to repair a displacement no translator caused', async () => { + const {guard} = await loadGuard(); + guard.installTranslationDomGuard(); + const {container, text} = foreignParentText(); + + expect(() => container.insertBefore(document.createElement('b'), text)).toThrow( + /Failed to execute 'insertBefore' on 'Node'/, + ); + expect(() => container.removeChild(text)).toThrow(/Failed to execute 'removeChild' on 'Node'/); + + const stats = guard.getTranslationDomGuardStats(); + expect(stats.insertBefore).toBe(0); + expect(stats.removeChild).toBe(0); + expect(stats.declined).toBe(2); + }); +}); + +describe('the guard behind the structural fix', () => { + it('turns the production crash into a reported fire', async () => { + const {guard} = await loadGuard(); + vi.spyOn(console, 'error').mockImplementation(() => {}); + const unguarded = commitUnderTranslation({ + before: unsafeRow(false), + after: unsafeRow(true), + pipeline: TranslatorPipelines.chromeLegacyFont, + }); + expect(isTranslationDomCrash(unguarded.error)).toBe(true); + + guard.installTranslationDomGuard(); + const guarded = commitUnderTranslation({ + before: unsafeRow(false), + after: unsafeRow(true), + pipeline: TranslatorPipelines.chromeLegacyFont, + }); + expect(guarded.error).toBeNull(); + expect(guard.getTranslationDomGuardStats().insertBefore).toBeGreaterThan(0); + }); + + it('repairs the placement at the position the translator displaced', async () => { + const {guard} = await loadGuard(); + vi.spyOn(console, 'error').mockImplementation(() => {}); + guard.installTranslationDomGuard(); + let firstTag: string | null = null; + const result = commitUnderTranslation({ + before: unsafeRow(false), + after: unsafeRow(true), + pipeline: TranslatorPipelines.chromeLegacyFont, + inspect: (host) => { + firstTag = host.querySelector('div')?.firstElementChild?.tagName ?? null; + }, + }); + expect(result.error).toBeNull(); + expect(firstTag).toBe('B'); + expect(result.htmlAfterCommit.replace(/<[^>]+>/g, '')).toBe('!~Hello~x'); + }); + + it('leaves no empty husk behind after a repaired deletion', async () => { + const {guard} = await loadGuard(); + vi.spyOn(console, 'error').mockImplementation(() => {}); + guard.installTranslationDomGuard(); + let html = ''; + let fontCount = -1; + let emptyFontCount = -1; + const result = commitUnderTranslation({ + before: createElement('div', null, 'Hello', tail), + after: createElement('div', null, null, tail), + pipeline: TranslatorPipelines.chromeLegacyFont, + inspect: (host) => { + html = host.innerHTML; + const fonts = Array.from(host.querySelectorAll('font')); + fontCount = fonts.length; + emptyFontCount = fonts.filter((font) => font.childNodes.length === 0).length; + }, + }); + expect(result.error).toBeNull(); + expect(guard.getTranslationDomGuardStats().removeChild).toBeGreaterThan(0); + expect(html.replace(/<[^>]+>/g, '')).toBe('~x'); + expect(html).not.toContain('Hello'); + expect(emptyFontCount).toBe(0); + expect(fontCount).toBe(2); + }); + + it('no-ops a removeChild of a node the translator already detached', async () => { + const {guard} = await loadGuard(); + const consoleError = vi.spyOn(console, 'error').mockImplementation(() => {}); + guard.installTranslationDomGuard(); + const {container, text} = detachedTranslatedText(); + expect(text.parentNode).toBeNull(); + + expect(container.removeChild(text)).toBe(text); + + expect(text.parentNode).toBeNull(); + expect(guard.getTranslationDomGuardStats().removeChild).toBe(1); + expect(consoleError.mock.calls.flat().join(' ')).toContain('removeChild'); + }); + + it('does not unwind husks outside the container the removal was addressed to', async () => { + const {guard} = await loadGuard(); + vi.spyOn(console, 'error').mockImplementation(() => {}); + guard.installTranslationDomGuard(); + const {container, other, text} = unrelatedSubtreeText(); + + expect(container.removeChild(text)).toBe(text); + + expect(text.parentNode).toBeNull(); + expect(other.parentNode).toBe(document.body); + expect(document.getElementById('other')).toBe(other); + expect(other.innerHTML).toBe(''); + expect(guard.getTranslationDomGuardStats().removeChild).toBe(1); + }); +}); diff --git a/fluxer_app/src/features/i18n/utils/TranslationDomGuard.ts b/fluxer_app/src/features/i18n/utils/TranslationDomGuard.ts new file mode 100644 index 000000000..78d7f82cc --- /dev/null +++ b/fluxer_app/src/features/i18n/utils/TranslationDomGuard.ts @@ -0,0 +1,183 @@ +// SPDX-License-Identifier: AGPL-3.0-or-later + +import DeveloperOptions from '@app/features/devtools/state/DeveloperOptions'; +import {Platform} from '@app/features/platform/types/Platform'; +import {Logger} from '@app/features/platform/utils/AppLogger'; +import {getFluxerDebugObject} from '@app/features/platform/utils/FluxerDebugGlobal'; +import {hasUnavailableElectronNativeContext} from '@app/features/ui/utils/NativeUtils'; +import {reaction} from 'mobx'; + +const logger = new Logger('TranslationDomGuard'); +const MAX_LOGGED_FIRES_PER_KIND = 3; +const TRANSLATED_ROOT_CLASS_PATTERN = /(^|\s)translated-(ltr|rtl)(\s|$)/; +const MICROSOFT_TRANSLATOR_ATTRIBUTES = ['_msttexthash', '_msthash']; + +type GuardedMethod = 'insertBefore' | 'removeChild'; + +export interface TranslationDomGuardStats { + installed: boolean; + insertBefore: number; + removeChild: number; + declined: number; + firstFireAt: number | null; + lastPath: string | null; +} + +const stats: TranslationDomGuardStats = { + installed: false, + insertBefore: 0, + removeChild: 0, + declined: 0, + firstFireAt: null, + lastPath: null, +}; +const loggedByKind: Record = {insertBefore: 0, removeChild: 0}; +let restorePrototypes: (() => void) | null = null; +let stopWatchingKillSwitch: (() => void) | null = null; + +function describe(node: Node | null): string | null { + const element = node instanceof Element ? node : (node?.parentElement ?? null); + if (!element) { + return null; + } + return element.closest('[data-flx]')?.getAttribute('data-flx') ?? element.tagName.toLowerCase(); +} + +function isTranslatorDisplacement(subject: Node, container: Node): boolean { + let node: Node | null = subject; + while (node != null && node !== container) { + if (node instanceof Element) { + const element = node; + if (element.tagName === 'FONT') { + return true; + } + if (MICROSOFT_TRANSLATOR_ATTRIBUTES.some((attribute) => element.hasAttribute(attribute))) { + return true; + } + } + node = node.parentNode; + } + const root = subject.ownerDocument?.documentElement; + return root != null && TRANSLATED_ROOT_CLASS_PATTERN.test(root.className); +} + +function recordFire(kind: GuardedMethod, container: Node, subject: Node): void { + stats[kind] += 1; + stats.firstFireAt ??= Date.now(); + const path = describe(container) ?? describe(subject) ?? 'unknown'; + stats.lastPath = path; + if (loggedByKind[kind] < MAX_LOGGED_FIRES_PER_KIND) { + loggedByKind[kind] += 1; + logger.error( + `Repaired a ${kind} against a node a page translator re-parented at ${path}. A translation-unsafe text node is still rendered there; fix the component instead of relying on this guard.`, + ); + } +} + +function patchPrototypes(): void { + if (restorePrototypes != null) { + return; + } + const originalInsertBefore = Node.prototype.insertBefore; + const originalRemoveChild = Node.prototype.removeChild; + const guardedInsertBefore = function insertBefore(this: Node, node: T, child: Node | null): T { + if (child == null || child.parentNode === this) { + return originalInsertBefore.call(this, node, child) as T; + } + if (!isTranslatorDisplacement(child, this)) { + stats.declined += 1; + return originalInsertBefore.call(this, node, child) as T; + } + recordFire('insertBefore', this, child); + let anchor: Node | null = child; + while (anchor != null && anchor.parentNode !== this) { + anchor = anchor.parentNode; + } + return originalInsertBefore.call(this, node, anchor) as T; + }; + const guardedRemoveChild = function removeChild(this: Node, child: T): T { + const actualParent = child.parentNode; + if (actualParent === this) { + return originalRemoveChild.call(this, child) as T; + } + if (!isTranslatorDisplacement(child, this)) { + stats.declined += 1; + return originalRemoveChild.call(this, child) as T; + } + recordFire('removeChild', this, child); + if (actualParent == null) { + return child; + } + const removed = originalRemoveChild.call(actualParent, child) as T; + if (!(this instanceof Node) || !this.contains(actualParent)) { + return removed; + } + let husk: Node | null = actualParent; + while (husk != null && husk !== this && husk.childNodes.length === 0) { + const parent: Node | null = husk.parentNode; + if (parent == null) { + break; + } + originalRemoveChild.call(parent, husk); + husk = parent; + } + return removed; + }; + Node.prototype.insertBefore = guardedInsertBefore; + Node.prototype.removeChild = guardedRemoveChild; + restorePrototypes = () => { + if (Node.prototype.insertBefore !== guardedInsertBefore || Node.prototype.removeChild !== guardedRemoveChild) { + logger.warn('Node prototype methods were replaced after install; restoring the originals anyway.'); + } + Node.prototype.insertBefore = originalInsertBefore; + Node.prototype.removeChild = originalRemoveChild; + }; + stats.installed = true; +} + +function unpatchPrototypes(): void { + if (restorePrototypes == null) { + return; + } + restorePrototypes(); + restorePrototypes = null; + stats.installed = false; +} + +export function getTranslationDomGuardStats(): TranslationDomGuardStats { + return {...stats}; +} + +export function uninstallTranslationDomGuard(): boolean { + const wasInstalled = restorePrototypes != null; + stopWatchingKillSwitch?.(); + stopWatchingKillSwitch = null; + unpatchPrototypes(); + return wasInstalled; +} + +export function installTranslationDomGuard(): void { + if (stopWatchingKillSwitch != null || restorePrototypes != null) { + return; + } + if (typeof Node === 'undefined' || Platform.isElectron || hasUnavailableElectronNativeContext()) { + return; + } + stopWatchingKillSwitch = reaction( + () => DeveloperOptions.disableTranslationDomGuard, + (disabled) => { + if (disabled) { + unpatchPrototypes(); + logger.info('Translation DOM guard disabled by developer option.'); + } else { + patchPrototypes(); + } + }, + {fireImmediately: true}, + ); + const debug = getFluxerDebugObject(); + if (debug) { + debug.getTranslationDomGuardStats = getTranslationDomGuardStats; + debug.uninstallTranslationDomGuard = uninstallTranslationDomGuard; + } +} diff --git a/fluxer_app/src/features/messaging/components/markdown/renderers/MentionLabel.tsx b/fluxer_app/src/features/messaging/components/markdown/renderers/MentionLabel.tsx index a856a8e59..71298e360 100644 --- a/fluxer_app/src/features/messaging/components/markdown/renderers/MentionLabel.tsx +++ b/fluxer_app/src/features/messaging/components/markdown/renderers/MentionLabel.tsx @@ -14,7 +14,9 @@ export function MentionLabel({icon, children}: MentionLabelProps): React.ReactEl return ( <> {icon} - {icon == null ? null : ICON_LABEL_JOINER} + {icon == null ? null : ( + {ICON_LABEL_JOINER} + )} {children} diff --git a/fluxer_app/src/features/messaging/components/markdown/renderers/MentionRenderer.tsx b/fluxer_app/src/features/messaging/components/markdown/renderers/MentionRenderer.tsx index def29c080..6579916ad 100644 --- a/fluxer_app/src/features/messaging/components/markdown/renderers/MentionRenderer.tsx +++ b/fluxer_app/src/features/messaging/components/markdown/renderers/MentionRenderer.tsx @@ -123,7 +123,7 @@ export const MentionRenderer = observer(function MentionRenderer({ const genericMention = ( - @{name || kind.id} + {`@${name || kind.id}`} ); @@ -138,7 +138,7 @@ export const MentionRenderer = observer(function MentionRenderer({ data-flx="messaging.markdown.renderers.mention-renderer.span--2" > - @{name || user.displayName} + {`@${name || user.displayName}`} ); @@ -166,7 +166,7 @@ export const MentionRenderer = observer(function MentionRenderer({ data-flx="messaging.markdown.renderers.mention-renderer.button.stop-propagation" > - @{name || user.displayName} + {`@${name || user.displayName}`} diff --git a/fluxer_app/src/features/permissions/system/components/modals/MacPermissionsModal.tsx b/fluxer_app/src/features/permissions/system/components/modals/MacPermissionsModal.tsx index 0e21bb774..b9b330c44 100644 --- a/fluxer_app/src/features/permissions/system/components/modals/MacPermissionsModal.tsx +++ b/fluxer_app/src/features/permissions/system/components/modals/MacPermissionsModal.tsx @@ -247,7 +247,9 @@ export const MacPermissionsModal: React.FC = observer( data-flx="permissions.system.mac-permissions-modal.check-icon" /> )} - {i18n._(statusDescriptorForStatus(status))} + + {i18n._(statusDescriptorForStatus(status))} + {hasAction && (
diff --git a/fluxer_app/src/features/platform/utils/ClientInfo.ts b/fluxer_app/src/features/platform/utils/ClientInfo.ts index 4d9f5fd4c..64cca231b 100644 --- a/fluxer_app/src/features/platform/utils/ClientInfo.ts +++ b/fluxer_app/src/features/platform/utils/ClientInfo.ts @@ -2,6 +2,7 @@ import i18n from '@app/app/I18n'; import Config from '@app/features/app/config/Config'; +import {getTranslationDomGuardStats} from '@app/features/i18n/utils/TranslationDomGuard'; import {Logger} from '@app/features/platform/utils/AppLogger'; import {getFluxerDebugObject} from '@app/features/platform/utils/FluxerDebugGlobal'; import {getElectronAPI, isDesktop} from '@app/features/ui/utils/NativeUtils'; @@ -290,6 +291,15 @@ export async function getClientInfo(): Promise { return {...base, ...getOsContextFromInfo(desktopInfo), ...getDesktopContextFromInfo(desktopInfo)}; } +function formatTranslationDomGuardFires(): string { + const guard = getTranslationDomGuardStats(); + const fires = guard.insertBefore + guard.removeChild; + if (fires === 0) { + return ''; + } + return `Translation guard ${fires} (${guard.lastPath ?? 'unknown'})`; +} + export function formatClientBuildInfo(info: ClientInfo, options: {unknownLabel?: string} = {}): string { const releaseChannel = formatReleaseChannelLabel(Config.PUBLIC_RELEASE_CHANNEL); const buildVersion = Config.PUBLIC_BUILD_VERSION || 'dev'; @@ -314,6 +324,7 @@ export function formatClientBuildInfo(info: ClientInfo, options: {unknownLabel?: info.desktopChromeVersion ? `Chrome ${info.desktopChromeVersion}` : '', info.desktopNodeVersion ? `Node ${info.desktopNodeVersion}` : '', i18n.locale ? `Locale ${i18n.locale}` : '', + formatTranslationDomGuardFires(), ]; return parts.filter(Boolean).join(', '); } diff --git a/fluxer_app/src/features/search/components/bottomsheets/QuickSwitcherBottomSheet.tsx b/fluxer_app/src/features/search/components/bottomsheets/QuickSwitcherBottomSheet.tsx index 8a31c66f5..704347b22 100644 --- a/fluxer_app/src/features/search/components/bottomsheets/QuickSwitcherBottomSheet.tsx +++ b/fluxer_app/src/features/search/components/bottomsheets/QuickSwitcherBottomSheet.tsx @@ -165,6 +165,7 @@ const ResultRow = observer( onConfirm(executableResult); }; const iconRendered = renderIcon(executableResult, isHighlight, styles.optionIcon, styles.optionIconHighlight); + const iconContent: React.ReactElement = iconRendered.content; const key = getViewContext(executableResult) ? `${executableResult.type}-${getViewContext(executableResult)}-${executableResult.id}` : `${executableResult.type}-${executableResult.id}`; @@ -194,14 +195,14 @@ const ResultRow = observer(
{iconRendered.type === 'avatar' ? (
- {iconRendered.content} + {iconContent}
) : iconRendered.type === 'guild' ? (
- {iconRendered.content} + {iconContent}
) : ( - iconRendered.content + iconContent )}
- {iconRendered.content} + {iconContent}
) : iconRendered.type === 'guild' ? (
- {iconRendered.content} + {iconContent}
) : ( - iconRendered.content + iconContent )}
{ {entry.name} - {(entry.durationMs / 1000).toFixed(1)}s - {isActiveHere ? ` · ${i18n._(ACTIVE_BADGE_DESCRIPTOR)}` : ''} + {`${(entry.durationMs / 1000).toFixed(1)}s${isActiveHere ? ` · ${i18n._(ACTIVE_BADGE_DESCRIPTOR)}` : ''}`}
diff --git a/fluxer_app/src/features/voice/components/EntranceSoundTrimmerModal.tsx b/fluxer_app/src/features/voice/components/EntranceSoundTrimmerModal.tsx index 3665cea3c..28b63cb01 100644 --- a/fluxer_app/src/features/voice/components/EntranceSoundTrimmerModal.tsx +++ b/fluxer_app/src/features/voice/components/EntranceSoundTrimmerModal.tsx @@ -341,7 +341,9 @@ export const EntranceSoundTrimmerModal: React.FC ) : ( )} - {isPlaying ? i18n._(PAUSE_SELECTION_DESCRIPTOR) : i18n._(PLAY_SELECTION_DESCRIPTOR)} + + {isPlaying ? i18n._(PAUSE_SELECTION_DESCRIPTOR) : i18n._(PLAY_SELECTION_DESCRIPTOR)} +
diff --git a/fluxer_app/src/features/voice/components/VoiceMessageComposerModal.tsx b/fluxer_app/src/features/voice/components/VoiceMessageComposerModal.tsx index 7be288366..42d0d51bd 100644 --- a/fluxer_app/src/features/voice/components/VoiceMessageComposerModal.tsx +++ b/fluxer_app/src/features/voice/components/VoiceMessageComposerModal.tsx @@ -592,7 +592,9 @@ export const VoiceMessageComposerModal: React.FC data-flx="voice.voice-message-composer-modal.play-icon" /> )} - {isPlaying ? i18n._(PAUSE_DESCRIPTOR) : i18n._(PLAY_DESCRIPTOR)} + + {isPlaying ? i18n._(PAUSE_DESCRIPTOR) : i18n._(PLAY_DESCRIPTOR)} +